Fix #731: Create symlinks for noarch-subpackages (#740)

* apkindex:
  * Also parse the architecture field
* symlink_noarch_package:
  * Renamed to symlink_noarch_packages
  * Always work on all packages (so we don't need to guess which
    subpackages have been generated after a certain build)
  * Get invoked when running 'pmbootstrap index'
  * Use 'apk index' to generate one index, where the architecture
    does not get rewritten (abuild does that by default, due to
    Alpine's repos not having a 'noarch' folder and diverging from
    that doesn't make things easier for us). That goes super fast,
    and then we know which packages are noarch packages and can
    create the symlinks.
* Made output less verbose:
  * Use -q for 'apk index' when calling it directly (when it gets
    called by abuild we can't control that)
  * Output that the APKINDEXes get reindexed only to the 'pmbootstrap
    log'.
This commit is contained in:
Oliver Smith 2017-10-11 15:11:25 +00:00 committed by GitHub
parent 0cc7869576
commit 1285f74c5f
6 changed files with 45 additions and 18 deletions

View file

@ -124,9 +124,9 @@ def package(args, pkgname, carch, force=False, buildinfo=False, strict=False):
pmb.build.buildinfo.write(args, output, carch_buildenv, suffix,
apkbuild)
# Symlink noarch packages
# Symlink noarch package (and subpackages)
if "noarch" in apkbuild["arch"]:
pmb.build.symlink_noarch_package(args, output)
pmb.build.symlink_noarch_packages(args)
# Clean up (APKINDEX cache, depends when strict)
pmb.parse.apkindex.clear_cache(args, args.work + "/packages/" +