Clean way to override Alpine's packages (maybe with repository pinning?)
We could add support for repository pinning in pmbootstrap to provide a cleaner way of overriding packages from Alpine's repositories. Currently we are just setting pkgver=9999
.
From Alpine's wiki:
You can specify additional "tagged" repositories in
/etc/apk/repositories
:
http://nl.alpinelinux.org/alpine/v3.7/main
http://nl.alpinelinux.org/alpine/v3.7/community
@edge http://nl.alpinelinux.org/alpine/edge/main
@edgecommunity http://nl.alpinelinux.org/alpine/edge/community
@testing http://nl.alpinelinux.org/alpine/edge/testing
After which you can "pin" dependencies to these tags using:
apk add stableapp newapp@edge bleedingapp@testing
Apk will now by default only use the untagged repositories, but adding a tag to specific package:
will prefer the repository with that tag for the named package, even if a later version of the package is available in another repository
allows pulling in dependencies for the tagged package from the tagged repository (though it prefers to use untagged repositories to satisfy dependencies if possible)