Skip to content
  • Oliver Smith's avatar
    new action: 'pmbootstrap repo_missing' · 933c4d0f
    Oliver Smith authored and Martijn Braam's avatar Martijn Braam committed
    Add a new action that lists all aports, for which no binary packages
    exist. Only list packages that can be built for the relevant arch
    (specified with --arch). This works recursively: when a package can be
    built for a certain arch, but one of its dependencies
    (or their depends) can not be built for that arch, then don't list it.
    
    This action will be used for the new sr.ht based build infrastructure,
    to figure out which packages need to be built ahead of time (so we can
    trigger each of them as single build job). Determining the order of the
    packages to be built is not determined with pmbootstrap, the serverside
    code of build.postmarketos.org takes care of that.
    
    For testing purposes, a single package can also be specified and the
    action will list if it can be built for that arch with its
    dependencies, and what needs to be built exactly.
    
    Add pmb/helpers/package.py to hold functions that work on both pmaports
    and (binary package) repos - in contrary to the existing
    pmb/helpers/pmaports.py (see previous commit) and pmb/helpers/repo.py,
    which only work with one of those.
    
    Refactoring:
    * pmb/helpers/pmaports.py: add a get_list() function, which lists all
      aports and use it instead of writing the same glob loop over and over
    * add pmb.helpers.pmaports.get(), which finds an APKBUILD and parses it
      in one step.
    * rename pmb.build._package.check_arch to ...check_arch_abort to
      distinguish it from the other check_arch function
    933c4d0f