Skip to content

(binary repo reated) Don't specify pkgnames from "provides" as dependencies

postmarketOS Bot requested to merge fix/no-provides-packages-in-buildinfo into master

Created by: ollieparanoid

One good review and testing would really be appreaciated (and bring us one step closer to the binary repo)!

Context

In a nutshell, I'm working on a binary repository, for which all packages get reproduced by Travis CI (and verified if the binaries in the package are identical!) before they get published. To do that, the packages in the "staging repo" get built with a buildinfo.json file, which lists all installed versions of all dependencies. Currently that file also contains some so: entries automatically added by Alpine as dependency (which causes the breakage for re-building weston, becase pmbootstrap will not know that weston provides so:libweston when it gets built from the aports folder).

The changes

Always use the regular pkgname. That way, we avoid listing all kinds of so: files as dependencies (because Alpine automatically adds them as depends= to the package database). This fixes building weston, and reproducing the build with pmbootstrap challenge.

Additional changes.

  • Clear the parsed APKINDEX cache for the current pmbootstrap session after building a package
  • Avoid rebuilding a package, in case it was already built due to circular dependenices

This will fix: https://github.com/postmarketOS/binary-package-repo/issues/7

I've tested it, and built weston successfully for the up-coming binary repo.

How to test

If you have the CPU power, to simply test if this introduced any breakage with building packages, use:

pmbootstrap zap -p # WARNING: will delete your precious binary packages! backup if necessary
pmbootstrap install

... and see if it runs through.

Merge request reports