apk add --repositories /dev/null --virtual .foo fails
abuild fails to bootstrap a new repo. Problem occur when either
apk add --virtual .foo
is called with no dependencies or when the
dependencies given does not exist in any repo, but are installed.
This command fails:
sudo src/apk --repositories /dev/null --root /tmp/apk --initdb add --virtual .foo
To test install a package that not exist in repository but is installed:
sudo src/apk --repositories /dev/null \
--repository http://nl.alpinelinux.org/alpine/v2.4/main \
--keys-dir /etc/apk/keys \
--root /tmp/apk --initdb add -U busybox \
&& \
sudo src/apk --repositories /dev/null \
--root /tmp/apk \
add --virtual .foo busybox
I bisected it to:
c7bd973367ee5acfda7875ae4ab65ea5f1789900 is the first bad commit
commit c7bd973367ee5acfda7875ae4ab65ea5f1789900
Author: Timo Teräs <timo.teras@iki.fi>
Date: Tue Feb 28 11:27:56 2012 +0200
solver: do not consider non-allowed packages in main loop
Instead cache the allowed pinning decision, and use it. Update
install decision heuristic to also use this cached information.
Would be nice to add a testcase in the testsuite for this.
(from redmine: issue id 1617, created on 2013-02-15, closed on 2013-10-12)
- Changesets:
- Revision aec93ee7 by Timo Teräs on 2013-05-30T07:48:32Z:
db: unify handling of special packages
make cache a special kind of repository, and automatically cache
special packages (virtual packages, or ones installed from command
line). add test cases for handling virtual packages. fixes #1617.