Skip to content
Snippets Groups Projects

Rewrite repo_missing for bpo + systemd split repo

Merged Imported Administrator requested to merge repo_missing_systemd into master
  1. Jan 10, 2025
    • Oliver Smith's avatar
      repo_missing: if abuild is forked, add it as dep (MR 2410) · 02591cfd
      Oliver Smith authored
      In the systemd repository, we currently have a forked version of
      abuild, which needs to be used to build all other packages. Check if we
      have a forked abuild, and if it is the case, add it to the dependencies
      of all other packages.
      
      Closes: issue 2401
      Unverified
      02591cfd
    • Oliver Smith's avatar
      Rewrite repo_missing for bpo + systemd split repo (MR 2410) · 8d446c2a
      Oliver Smith authored
      The "pmbootstrap repo_missing" action is used exclusively by bpo. It
      calls it only with these arguments:
      
        pmbootstrap repo_missing --built --arch "$ARCH"
      
      A blocker for merging systemd into pmaports master is, that the
      current repo_missing code cannot display packages that are both in
      extra-repos/systemd and in another path. I have considered just not
      supporting this and discussed doing that with Caleb and Clayton, but we
      figured it would be a major obstacle in the future to not be able to
      easily override packages with systemd specific versions (currently we
      need this for 3 packages).
      
      Integrating this into the existing repo_missing code would be hacks upon
      hacks. Also the scope of the current repo_missing code has many extra
      features that are not used and would be extra effort to carry along:
      * Allow specifying a pkgname
      * Running without --built
      * --overview
      
      So I decided to replace the repo_missing code with a much simpler, more
      modern implementation, that does exactly what is needed:
      * Duplicate packages in systemd and non-systemd dirs are displayed
      * The output always include all packages, no matter if they are already
        built or not (same behavior as with --built)
      * Removed --overview and selecting specific packages too
      * The code for filling "repo" (either "systemd" or None) is more
        resilient now, as it can use proper relative paths to the root of
        pmaports. Unlike the previous implementation, it will not fail if
        subdirs are added to the systemd dir.
      
      I have made sure that the output is exactly the same as before on
      current pmaports master.
      
      Related: bpo issue 144
      Related: bpo issue 140
      Unverified
      8d446c2a
Loading