Skip to content

Implement cb-depsolver #4

@schaefi

Description

@schaefi

The cb-depsolver service should be used to trigger build requests if the dependencies to build a package/image has changed. The information about dependencies is already present for built packages/images in the .solver.json file and can always be directly calculated via cb-ctl --build-dependencies-local --arch ... --dist ...

The dependency information is presented in a json like format of the form

{
    "image": "xsnow",
    "resolved-packages": {
        "adduser": {
            "arch": "all",
            "installsize_bytes": 869376,
            "source": "http://ftp.halifax.rwth-aachen.de/debian/dists/unstable/main/binary-amd64",
            "status": "added_by_dependency_solver",
            "version": "3.118"
        },
        "adwaita-icon-theme": {
            "arch": "all",
            "installsize_bytes": 27046912,
            "source": "http://ftp.halifax.rwth-aachen.de/debian/dists/unstable/main/binary-amd64",
            "status": "added_by_dependency_solver",
            "version": "41.0-1"
        },
        ...
}

The implementation of the cb-depsolver service should perform the following steps

  • Calculate the solver result via the existing satsolver based dependency solver for each package/image
    basically what cb-ctl --build-dependencies-local --arch ... --dist ... does
  • Compare the former result of a solver operation with the current one and provide a diff information if there are changes
  • From the changes decide to create a build request for the package
  • Periodically run this solver operation

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions