Summary: | portage-2.2.20.1 incomplete dependency resolution on emerge -uDN @world | ||
---|---|---|---|
Product: | Portage Development | Reporter: | Matthias Maier <tamiko> |
Component: | Core - Dependencies | Assignee: | Portage team <dev-portage> |
Status: | CONFIRMED --- | ||
Severity: | normal | CC: | esigra |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 155723 | ||
Attachments: | emerge --info |
This code plays a leading role: https://gitweb.gentoo.org/proj/portage.git/tree/pym/_emerge/Package.py?h=v2.2.20.1#n425 This is related: https://gitweb.gentoo.org/proj/portage.git/tree/pym/_emerge/depgraph.py?h=v2.2.20.1#n8944 I just hit another instance of this issue (I believe): jackdaw ~ # emerge --noreplace @basesystem These are the packages that would be merged, in order: Calculating dependencies... done! Nothing to merge; quitting. jackdaw ~ # emerge -1 @basesystem These are the packages that would be merged, in order: [...] The following keyword changes are necessary to proceed: (see "package.accept_keywords" in the portage(5) man page for more details) # required by @basesystem (argument) =net-firewall/nftables-0.4 ~amd64 And indeed: jackdaw ~ # eix -I nftables [?] net-firewall/nftables Available versions: ~0.4{tbz2} {debug +readline} Installed versions: 0.4{tbz2}(10:57:39 PM 09/17/2015)(readline -debug) I have preserved a snapshot of this userland for further investigation. |
Created attachment 410666 [details] emerge --info I ended up with the following dependency chain on my userland: @virtualization (selected, i.e., listed in world_sets) app-emulation/qemu-2.4.0:0/0::gentoo in ebuild: >=virtual/libusb-1-r2:1/1::gentoo in vdb: (dependency on dev-libs/libusb) (and multiple others depending on virtual/libusb:1) and with virtual/libusb-1-r2 (which is ~amd64) installed on my system without an entry in package.accept_keywords (due to whatever reason I lost the entry...): jackdaw ~ # eix -I virtual/libusb [?] virtual/libusb Available versions: (0) 0-r2{tbz2} (1) 1-r1 ~1-r2{tbz2} Installed versions: 0-r2{tbz2}(03:19:19 AM 06/19/2014)(...) 1-r2(1){tbz2}(12:24:09 AM 08/14/2015)(...) However, portage is happy with this situation: jackdaw ~ # emerge --with-bdeps=y -uDN @world Calculating dependencies... done! Nothing to merge; quitting. Trying to reemerge the virtual results in an error (as it should do): jackdaw ~ # emerge -1 "virtual/libusb:1" These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild R ~] virtual/libusb-1-r2 The following keyword changes are necessary to proceed: (see "package.accept_keywords" in the portage(5) man page for more details) # required by virtual/libusb:1 (argument) =virtual/libusb-1-r2 ~amd64 Would you like to add these changes to your config files? [Yes/No] Also unmerging and reemerging: jackdaw ~ # emerge --unmerge virtual/libusb:1 jackdaw ~ # emerge -uDN @world These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild NS ~] virtual/libusb-1-r2 [0-r2] USE="udev" ABI_X86="(64) -32 (-x32)" The following keyword changes are necessary to proceed: (see "package.accept_keywords" in the portage(5) man page for more details) # required by app-text/calibre-2.35.0::gentoo # required by @desktop # required by @selected # required by @world (argument) =virtual/libusb-1-r2 ~amd64 I have preserved a snapshot of this userland for further investigation.