(binary repo reated) Don't specify pkgnames from "provides" as dependencies
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.