Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refine versioned dependencies on -bridge/-shell RPM binary packages #6001

Closed
wants to merge 4 commits into from

Commits on Mar 1, 2017

  1. tools: Adjust min-base-version to manifest.json → .in rename

    Commit 15dc531 renamed the manifest.json files to *.json.in, so follow
    suit in min-base-version to actually compute correct package
    dependencies. Prevent this from happening again by erroring out if we
    could not determine the version.
    
    Also fix KeyError crash if a manifest file does not have a "requires"
    object.
    martinpitt committed Mar 1, 2017
    Configuration menu
    Copy the full SHA
    8b4191a View commit details
    Browse the repository at this point in the history
  2. tools: Teach min-base-version to compute dependency for a subset of p…

    …ackages
    
    We will use that to compute dependencies for binary packages
    individually, instead of using a global maximum for all of them.
    martinpitt committed Mar 1, 2017
    Configuration menu
    Copy the full SHA
    98a4ff8 View commit details
    Browse the repository at this point in the history
  3. tools: Generate correct rpm binary package dependencies

    We don't want every binary RPM package to depend on the global maximum
    of requires["cockpit"] of all our pkg/*, as this is too strict for e. g.
    RHEL. Instead, for a plugin package cockpit-foo we only want the
    required version from pkg/foo/manifest.json.in.
    
    Add tools/gen-spec-dependencies which iterates over a spec file and
    replaces %{required_base} with the correct dependency (via
    min-base-version <pkg>), and call that during "make dist" so that the
    distributed spec file is correct.
    
    This introduces the assumption that we use %{required_base} *only* for
    binary packages which actually correspond to a pkg/* module. For our
    base packages (-ws, -system) we still need to specify the dependencies
    manually, which is fine as we can't represent them in our pkg/*
    manifests anyway.
    
    Fixes cockpit-project#5997
    martinpitt committed Mar 1, 2017
    Configuration menu
    Copy the full SHA
    ad1b9da View commit details
    Browse the repository at this point in the history
  4. tools: Remove hardcoded dependencies in cockpit.spec

    Now that we compute the individual binary package dependencies from the
    manifests, stop duplicating/hardcoding them in the spec file and replace
    them with %{required_base}.
    
    Don't use %{required_base} for -tests though, as this does not
    correspond to any actual pkg/* module and thus gen-spec-dependencies
    fails on that. For the installed tests to actually succeed we expect the
    matching (current) base packages.
    
    Closes cockpit-project#6001
    martinpitt committed Mar 1, 2017
    Configuration menu
    Copy the full SHA
    abdefb0 View commit details
    Browse the repository at this point in the history