Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 764764 - virtual/dist-kernel: dependency conflict when using --deep parameter
Summary: virtual/dist-kernel: dependency conflict when using --deep parameter
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords: InVCS
Depends on:
Blocks: 764923
  Show dependency tree
 
Reported: 2021-01-10 09:00 UTC by poncho
Modified: 2024-01-07 07:38 UTC (History)
4 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
emerge --info + emerge --debug -pvuUD @world log (debug.log.xz,72.09 KB, application/x-xz)
2021-01-10 15:16 UTC, Ionen Wolkens
Details

Note You need to log in before you can comment on or make changes to this bug.
Description poncho 2021-01-10 09:00:31 UTC
emerge --deep --newuse --newrepo --update --keep-going @world

These are the packages that would be merged, in reverse order:

Calculating dependencies... done!

Total: 0 packages, Size of downloads: 0 KiB

WARNING: One or more updates/rebuilds have been skipped due to a dependency conflict:

virtual/dist-kernel:0

  (virtual/dist-kernel-5.10.6:0/5.10.6::gentoo, ebuild scheduled for merge) USE="" ABI_X86="(64)" conflicts with
    virtual/dist-kernel:0/5.10.5= required by (x11-drivers/nvidia-drivers-460.27.04:0/460::gentoo, installed) USE="X dist-kernel driver gtk3 kms (libglvnd) multilib static-libs tools uvm -compat -wayland" ABI_X86="32 (64) (-x32)"
                       ^^^^^^^^^^
    virtual/dist-kernel:0/5.10.5= required by (app-emulation/virtualbox-modules-6.1.16-r1:0/6.1::gentoo, installed) USE="dist-kernel -pax_kernel" ABI_X86="(64)"
                       ^^^^^^^^^^
    =virtual/dist-kernel-5.10.5 required by (x11-drivers/nvidia-drivers-460.27.04:0/460::gentoo, installed) USE="X dist-kernel driver gtk3 kms (libglvnd) multilib static-libs tools uvm -compat -wayland" ABI_X86="32 (64) (-x32)"
    ^                    ^^^^^^
    =virtual/dist-kernel-5.10.5 required by (app-emulation/virtualbox-modules-6.1.16-r1:0/6.1::gentoo, installed) USE="dist-kernel -pax_kernel" ABI_X86="(64)"
    ^                    ^^^^^^


Nothing to merge; quitting.




Dropping the "--deep" parameter and it works as it should:




emerge --newuse --newrepo --update --keep-going @world 

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild  NS   ~] sys-kernel/gentoo-kernel-5.10.6:5.10.6::gentoo [5.9.13:5.9.13::gentoo, 5.9.14:5.9.14::gentoo, 5.10.2:5.10.2::gentoo, 5.10.3:5.10.3::gentoo, 5.10.4:5.10.4::gentoo, 5.10.5:5.10.5::gentoo] USE="initramfs -debug -savedconfig -test" 236 KiB
[ebuild  r  U ~] virtual/dist-kernel-5.10.6:0/5.10.6::gentoo [5.10.5:0/5.10.5::gentoo] 0 KiB
[ebuild  rR    ] app-emulation/virtualbox-modules-6.1.16-r1:0/6.1::gentoo  USE="dist-kernel -pax_kernel" 0 KiB
[ebuild  rR   ~] x11-drivers/nvidia-drivers-460.27.04:0/460::gentoo  USE="X dist-kernel driver gtk3 kms (libglvnd) multilib static-libs tools uvm -compat -wayland" ABI_X86="32 (64) (-x32)" 0 KiB

Total: 4 packages (1 upgrade, 1 in new slot, 2 reinstalls), Size of downloads: 236 KiB

The following packages are causing rebuilds:

  (virtual/dist-kernel-5.10.6:0/5.10.6::gentoo, ebuild scheduled for merge) causes rebuilds for:
    (x11-drivers/nvidia-drivers-460.27.04:0/460::gentoo, ebuild scheduled for merge)
    (app-emulation/virtualbox-modules-6.1.16-r1:0/6.1::gentoo, ebuild scheduled for merge)

Would you like to merge these packages? [Yes/No] n

Quitting.



emerge --info
Portage 3.0.12 (python 3.8.6-final-0, default/linux/amd64/17.1/desktop/gnome/systemd, gcc-9.3.0, glibc-2.32-r5, 5.10.5 x86_64)
=================================================================
System uname: Linux-5.10.5-x86_64-Intel-R-_Core-TM-_i7-9700K_CPU_@_3.60GHz-with-glibc2.2.5
KiB Mem:    32813252 total,  25280912 free
KiB Swap:   33554428 total,  33554428 free
Head commit of repository gnome-next: da31ad36b30f4b929e62ffe8178127127db1f6e7

Head commit of repository steam-overlay: 6ed5630096d43208168572264f204d40e6b2a5c0

Timestamp of repository gentoo: Sun, 10 Jan 2021 07:35:42 +0000
Head commit of repository gentoo: 65bde6d95ed861707fa78f72665166cde1ef0740

Head commit of repository poncho: 23e652e6337843989df5784a57461ddeb48b43f8

Head commit of repository torbrowser: b529e9dfc005b6e8fea935e38cc6f4a4b36af8e3

sh bash 5.0_p18
ld GNU ld (Gentoo 2.34 p6) 2.34.0
distcc 3.3.3 x86_64-pc-linux-gnu [disabled]
app-shells/bash:          5.0_p18::gentoo
dev-lang/perl:            5.30.3::gentoo
dev-lang/python:          2.7.18-r5::gentoo, 3.8.6-r1::gentoo, 3.9.0-r1::gentoo
dev-util/cmake:           3.17.4-r1::gentoo
sys-apps/baselayout:      2.7::gentoo
sys-apps/sandbox:         2.20::gentoo
sys-devel/autoconf:       2.13-r1::gentoo, 2.69-r5::gentoo
sys-devel/automake:       1.13.4-r2::gentoo, 1.16.2-r1::gentoo
sys-devel/binutils:       2.34-r2::gentoo
sys-devel/gcc:            9.3.0-r2::gentoo
sys-devel/gcc-config:     2.3.2-r1::gentoo
sys-devel/libtool:        2.4.6-r6::gentoo
sys-devel/make:           4.3::gentoo
sys-kernel/linux-headers: 5.4-r1::gentoo (virtual/os-headers)
sys-libs/glibc:           2.32-r5::gentoo
Repositories:

gnome-next
    location: /var/db/repos/gnome-next
    sync-type: git
    sync-uri: https://github.com/MeisterP/gnome-overlay.git
    sync-user: poncho
    masters: gentoo
    priority: 50

steam-overlay
    location: /var/db/repos/steam
    sync-type: git
    sync-uri: https://github.com/anyc/steam-overlay.git
    masters: gentoo
    priority: 50

gentoo
    location: /var/db/repos/gentoo
    sync-type: git
    sync-uri: https://anongit.gentoo.org/git/repo/sync/gentoo.git
    sync-user: poncho
    priority: 1000
    sync-git-verify-commit-signature: true

poncho
    location: /var/db/repos/poncho
    sync-type: git
    sync-uri: https://github.com/MeisterP/poncho-overlay.git
    sync-user: poncho
    masters: gentoo
    priority: 1050

torbrowser
    location: /var/db/repos/torbrowser
    sync-type: git
    sync-uri: https://github.com/MeisterP/torbrowser-overlay.git
    sync-user: poncho
    masters: gentoo
    priority: 1050

Installed sets: @fonts, @kernels, @python-modules, @virtualbox
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA FraunhoferFDK NVIDIA-CUDA PUEL"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt /usr/share/thumbnailers/ffmpegthumbnailer.thumbnailer"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-march=native -O2 -pipe"
DISTDIR="/var/cache/distfiles"
EMERGE_DEFAULT_OPTS="--with-bdeps=y --ask --jobs=8 --load-average=8 --verbose"
ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR"
FCFLAGS="-march=native -O2 -pipe"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs cgroup config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync mount-sandbox multilib-strict network-sandbox news parallel-fetch parallel-install pid-sandbox preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-march=native -O2 -pipe"
GENTOO_MIRRORS="https://mirror.init7.net/gentoo/ 	https://mirrors.evowise.com/gentoo/ 	http://distfiles.gentoo.org"
INSTALL_MASK=" /etc/init.d /etc/conf.d"
LANG="en_US.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="en en_US"
MAKEOPTS="-j16 -l8"
PKGDIR="/var/cache/binpkgs"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
USE="X a52 aac acl acpi aften alsa amd64 argyllcms bash-completion berkdb bluetooth bzip2 cairo cdda cdio cdr cli colord crypt cryptsetup css cuda cups dav1d dbus device-mapper dist-kernel dri drm dts dvd dvdr emboss encode evo exif fdk ffmpeg flac fontconfig fortran gif gnome gnome-keyring gnome-online-accounts gstreamer gtk gtk3 gui iconv icu id3tag introspection ipv6 jpeg kms lame lcms libass libglvnd libkms libnotify libproxy libsecret libtirpc lm-sensors mad mng mp3 mp4 mpeg multilib nautilus ncurses networkmanager nls nptl nss nvenc nvidia ogg opengl openmp opus pam pango pcre pdf png policykit postscript ppds pulseaudio raw readline rtmp sdl seccomp sndfile speex spell split-usr ssl startup-notification svg sysprof systemd tcpd theora threads tiff tracker truetype udev udisks unicode upower usb user-session v4l vaapi vdpau vorbis vpx wavpack webp x264 x265 xattr xcb xinerama xml xmp xps xv xvid zlib zsh-completion" ABI_X86="64" ADA_TARGET="gnat_2018" ALSA_CARDS="hda-intel" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx avx2 f16c fma3 mmx mmxext pclmul popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="libinput" KERNEL="linux" L10N="en en_US" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-3 php7-4" POSTGRES_TARGETS="postgres10 postgres11" PYTHON_SINGLE_TARGET="python3_8" PYTHON_TARGETS="python2_7 python3_8" RUBY_TARGETS="ruby25 ruby26" SANE_BACKENDS="hp" USERLAND="GNU" VIDEO_CARDS="nvidia" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CC, CPPFLAGS, CTARGET, CXX, LC_ALL, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Ionen Wolkens gentoo-dev 2021-01-10 15:16:48 UTC
Created attachment 682267 [details]
emerge --info + emerge --debug -pvuUD @world log

I've run into the same while having two 3rd party modules, works fine if I have only one, `emerge -1 gentoo-kernel` (or dist-kernel) on its own, or do as aforementioned and remove --deep

May not be the best test case given my own modules are in a local overlay (xpadneo and bumped nvidia-drivers) among a few other things, but
attaching debug log in case of any use.
Comment 2 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2021-01-10 17:27:16 UTC
@dev-portage, any clue?
Comment 3 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2021-01-10 20:43:07 UTC
I have updated my kernel manually, so I can't test it anymore.  However, if someone is still in the blocked state, could you try if removing PDEPEND from the newest version of gentoo-kernel changes anything?
Comment 4 Kobboi 2021-01-10 20:55:32 UTC
(In reply to Michał Górny from comment #3)
> I have updated my kernel manually, so I can't test it anymore.  However, if
> someone is still in the blocked state, could you try if removing PDEPEND
> from the newest version of gentoo-kernel changes anything?

Commenting out the PDEPEND section in gentoo-kernel-5.4.88:

[ebuild  NS   ] sys-kernel/gentoo-kernel-5.4.88 [5.4.87] USE="initramfs -debug -savedconfig -test"

I.e. an upgrade of gentoo-kernel (without the modules being rebuilt)
Comment 5 Kobboi 2021-01-10 20:57:54 UTC
> Commenting out the PDEPEND section in gentoo-kernel-5.4.88:
> 
> [ebuild  NS   ] sys-kernel/gentoo-kernel-5.4.88 [5.4.87] USE="initramfs
> -debug -savedconfig -test"
> 
> I.e. an upgrade of gentoo-kernel (without the modules being rebuilt)

This was with -qvuDN --complete-graph --with-bdeps=y
Comment 6 Ionen Wolkens gentoo-dev 2021-01-10 21:03:07 UTC
Yeah, I reverted to a broken state in an overlayfs and all removing PDEPEND does is that nothing is pulling dist-kernel anymore so modules don't rebuild.

I tried to entertain replacing gentoo-kernel by dist-kernel in my world file but it just brings back the earlier error.
Comment 7 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2021-01-10 21:06:07 UTC
(In reply to Ionen Wolkens from comment #6)
> Yeah, I reverted to a broken state in an overlayfs and all removing PDEPEND
> does is that nothing is pulling dist-kernel anymore so modules don't rebuild.

This is weird because a --deep update of your installed kernel modules should pull in virtual/dist-kernel update.
Comment 8 Zac Medico gentoo-dev 2021-01-10 23:45:41 UTC
(In reply to Ionen Wolkens from comment #1)
> Created attachment 682267 [details]
> emerge --info + emerge --debug -pvuUD @world log
> 
> I've run into the same while having two 3rd party modules, works fine if I
> have only one, `emerge -1 gentoo-kernel` (or dist-kernel) on its own, or do
> as aforementioned and remove --deep
> 
> May not be the best test case given my own modules are in a local overlay
> (xpadneo and bumped nvidia-drivers) among a few other things, but
> attaching debug log in case of any use.

It looks like there's probably an issue in the slot_operator_update_probe method (probably related to its internal check_reverse_dependencies function which is very fragile) that causes is to miss the slot operator rebuild here:

slot_operator_update_probe:
   existing child package:  (virtual/dist-kernel-5.10.5:0/5.10.5::gentoo, installed)
   existing parent package: (x11-drivers/nvidia-drivers-460.32.03:0/460::local, installed)
   new child package:  None
   new parent package: None

After that the logic related to related to bug 743115 causes it to mask the update here:

backtracking due to slot conflict:
   first package:  (virtual/dist-kernel-5.10.5:0/5.10.5::gentoo, installed)
  package(s) to mask: [<Package ('ebuild', '/', 'virtual/dist-kernel-5.10.4', 'merge', 'gentoo')>, <Package ('ebuild', '/', 'virtual/dist-kernel-5.4.88', 'merge', 'gentoo')>, <Package ('ebuild', '/', 'virtual/dist-kernel-5.4.87', 'merge', 'gentoo')>, <Package ('ebuild', '/', 'virtual/dist-kernel-5.4.86', 'merge', 'gentoo')>, <Package ('ebuild', '/', 'virtual/dist-kernel-5.10.6', 'merge', 'gentoo')>]
      slot: virtual/dist-kernel:0
   parents: ((games-util/xpadneo-9999:0/0::local, installed), '=virtual/dist-kernel-5.10.5'), ((sys-kernel/gentoo-kernel-5.10.5:5.10.5/5.10.5::gentoo, installed), '>=virtual/dist-kernel-5.10.5'), ((x11-drivers/nvidia-drivers-460.32.03:0/460::local, installed), 'virtual/dist-kernel:='), ((sys-kernel/gentoo-kernel-5.10.6:5.10.6/5.10.6::gentoo, ebuild scheduled for merge), '>=virtual/dist-kernel-5.10.6'), ((games-util/xpadneo-9999:0/0::local, installed), 'virtual/dist-kernel:0/5.10.5='), ((x11-drivers/nvidia-drivers-460.32.03:0/460::local, installed), '=virtual/dist-kernel-5.10.5'), ((sys-kernel/gentoo-kernel-5.10.6:5.10.6/5.10.6::gentoo, ebuild scheduled for merge), '=virtual/dist-kernel-5.10.6'), ((games-util/xpadneo-9999:0/0::local, installed), 'virtual/dist-kernel:='), ((x11-drivers/nvidia-drivers-460.32.03:0/460::local, installed), 'virtual/dist-kernel:0/5.10.5=')

I'll try to create a unit test case to reproduce the undesirable slot_operator_update_probe behavior.
Comment 9 Zac Medico gentoo-dev 2021-01-11 00:03:39 UTC
I think that check_reverse_dependencies rejects the update specifically because of the =virtual/dist-kernel-5.10.5 atom that's generated by this virtual expansion:

Virtual Parent:      (virtual/dist-kernel-5.10.5:0/5.10.5::gentoo, installed)
Virtual Depstring:   || ( ~sys-kernel/gentoo-kernel-5.10.5 ~sys-kernel/gentoo-kernel-bin-5.10.5 ~sys-kernel/vanilla-kernel-5.10.5 )
Candidates: ['=virtual/dist-kernel-5.10.6', 'virtual/dist-kernel:=', '=virtual/linux-sources-3-r5', 'virtual/linux-sources', '=virtual/libelf-3', 'virtual/libelf', '=virtual/dist-kernel-5.10.5', 'virtual/dist-kernel:0/5.10.5=']

We haven't seen this problem before because it's only triggered when slot operator deps are used with virtuals.
Comment 10 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2021-01-11 00:06:02 UTC
Is there any good workaround you'd suggest?
Comment 11 Zac Medico gentoo-dev 2021-01-11 00:17:06 UTC
(In reply to Michał Górny from comment #10)
> Is there any good workaround you'd suggest?

I don't have a workaround aside from --ignore-built-slot-operator-deps=y, but I have a patch that's similar to the fix for bug 717140 that I'll attach in a moment.
Comment 12 Larry the Git Cow gentoo-dev 2021-01-11 03:40:29 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/proj/portage.git/commit/?id=9b6417f527aa98742a51d7859051342b6fb1383f

commit 9b6417f527aa98742a51d7859051342b6fb1383f
Author:     Zac Medico <zmedico@gentoo.org>
AuthorDate: 2021-01-11 01:57:44 +0000
Commit:     Zac Medico <zmedico@gentoo.org>
CommitDate: 2021-01-11 03:04:28 +0000

    Add unit test demonstrating bug 764764
    
    Bug: https://bugs.gentoo.org/764764
    Signed-off-by: Zac Medico <zmedico@gentoo.org>

 .../resolver/test_slot_operator_reverse_deps.py    | 98 +++++++++++++++++++++-
 1 file changed, 97 insertions(+), 1 deletion(-)
Comment 14 Larry the Git Cow gentoo-dev 2021-01-11 07:27:29 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/proj/portage.git/commit/?id=4c25c0d7af7ad71fccbfafe1e5019116c691968e

commit 4c25c0d7af7ad71fccbfafe1e5019116c691968e
Author:     Zac Medico <zmedico@gentoo.org>
AuthorDate: 2021-01-11 00:19:06 +0000
Commit:     Zac Medico <zmedico@gentoo.org>
CommitDate: 2021-01-11 03:32:45 +0000

    check_reverse_dependencies: dereference virtual expansions (bug 764764)
    
    If an atom is the result of virtual expansion, then derefrence it to
    _orig_atom in check_reverse_dependencies so that it will be correctly
    handled as a built slot operator dependency when appropriate. This
    solves a case triggered in bug 764764 where a virtual expansion from
    virtual/dist-kernel:0/5.10.5= to =virtual/dist-kernel-5.10.5 prevented
    the atom from being handled as a built slot operator dependency, which
    prevented rebuilds from being triggered.
    
    Bug: https://bugs.gentoo.org/764764
    Signed-off-by: Zac Medico <zmedico@gentoo.org>

 lib/_emerge/depgraph.py                            | 22 ++++++++++++++++++++++
 .../resolver/test_slot_operator_reverse_deps.py    |  2 +-
 2 files changed, 23 insertions(+), 1 deletion(-)
Comment 15 Larry the Git Cow gentoo-dev 2021-01-11 09:54:10 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2d9df956e086c0766ee352320ecc346c27d23df3

commit 2d9df956e086c0766ee352320ecc346c27d23df3
Author:     Zac Medico <zmedico@gentoo.org>
AuthorDate: 2021-01-11 09:45:19 +0000
Commit:     Zac Medico <zmedico@gentoo.org>
CommitDate: 2021-01-11 09:47:00 +0000

    sys-apps/portage: Bump to version 3.0.13
    
     #763339 always allow event loops to run in threads
     #764764 fix virtual/dist-kernel slot operator rebuilds
     #764905 wrap asyncio child watcher for thread safety
    
    Bug: https://bugs.gentoo.org/764923
    Bug: https://bugs.gentoo.org/763339
    Bug: https://bugs.gentoo.org/764764
    Bug: https://bugs.gentoo.org/764905
    Package-Manager: Portage-3.0.13, Repoman-3.0.2
    Signed-off-by: Zac Medico <zmedico@gentoo.org>

 sys-apps/portage/Manifest              |   1 +
 sys-apps/portage/portage-3.0.13.ebuild | 268 +++++++++++++++++++++++++++++++++
 2 files changed, 269 insertions(+)
Comment 16 Kobboi 2021-01-11 10:43:56 UTC
With portage-3.0.13, I seem to correctly get

$ sudo emerge -avuDN @kobboi-all --with-bdeps=y --complete-graph 

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild  NS    ] sys-kernel/gentoo-kernel-5.4.88:5.4.88::gentoo [5.4.87:5.4.87::gentoo] USE="initramfs -debug -savedconfig -test" 0 KiB
[ebuild  r  U  ] virtual/dist-kernel-5.4.88:0/5.4.88::gentoo [5.4.87:0/5.4.87::gentoo] 0 KiB
[ebuild  rR    ] app-emulation/virtualbox-modules-6.1.16-r1:0/6.1::gentoo  USE="dist-kernel -pax_kernel" 0 KiB
[ebuild  rR    ] net-misc/openvswitch-2.14.0::gentoo  USE="dist-kernel ssl -debug -modules -monitor" PYTHON_TARGETS="python3_7 python3_8 (-python3_6) -python3_9" 0 KiB
[ebuild  rR    ] x11-drivers/nvidia-drivers-390.138-r5:0/390::gentoo  USE="X dist-kernel driver gtk3 kms (libglvnd) multilib tools uvm wayland -compat -static-libs" ABI_X86="32 (64) (-x32)" 0 KiB
CPU_FLAGS_X86="sse2 sse3 sse4_1 sse4_2 ssse3 -aes -avx -avx2 -avx512f -f16c" PYTHON_SINGLE_TARGET="python3_8 (-python3_6) -python3_7 -python3_9" 28,531 KiB

(...)

The following packages are causing rebuilds:

  (virtual/dist-kernel-5.4.88:0/5.4.88::gentoo, ebuild scheduled for merge) causes rebuilds for:
    (x11-drivers/nvidia-drivers-390.138-r5:0/390::gentoo, ebuild scheduled for merge)
    (net-misc/openvswitch-2.14.0:0/0::gentoo, ebuild scheduled for merge)
    (app-emulation/virtualbox-modules-6.1.16-r1:0/6.1::gentoo, ebuild scheduled for merge)
Comment 17 Zac Medico gentoo-dev 2021-01-18 11:08:59 UTC
Opened bug 765895 for early stabilization.
Comment 18 Chang Liu 2024-01-06 22:30:16 UTC
I still got this error when enabling binary packages,

#emerge --deep --newuse --newrepo --update --keep-going --getbinpkg @world

Local copy of remote index is up-to-date and will be used.
Calculating dependencies... done!
Dependency resolution took 759.29 s (backtrack: 20/20).

[binary     U  ] x11-misc/xkeyboard-config-2.40-r1-1 [2.40]
[ebuild     U  ] dev-util/cmake-3.27.9 [3.27.7]
[ebuild     U  ] media-libs/gmmlib-22.3.14 [22.3.12]
[binary     U  ] x11-base/xwayland-23.2.3-2 [23.2.2]
[binary     U  ] kde-plasma/kwin-5.27.10-r2-1 [5.27.10-r1]

!!! Multiple package instances within a single package slot have been pulled
!!! into the dependency graph, resulting in a slot conflict:

virtual/dist-kernel:0

  (virtual/dist-kernel-6.6.9:0/6.6.9::gentoo, installed) USE="" ABI_X86="(64)" pulled in by
    virtual/dist-kernel:0/6.6.9= required by (sys-fs/zfs-2.2.2-r1:0/5::gentoo, installed) USE="dist-kernel nls pam rootfs -custom-cflags -debug -kernel-builtin -minimal -python (-selinux) (-split-usr) -test-suite -verify-sig" ABI_X86="(64)" PYTHON_TARGETS="python3_11 -python3_10"
                       ^^^^^^^^^                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
    =virtual/dist-kernel-6.6.9 required by (sys-fs/zfs-kmod-2.2.2:0/2.2.2::gentoo, installed) USE="dist-kernel dist-kernel-cap rootfs strip -custom-cflags -debug -modules-compress -modules-sign -verify-sig" ABI_X86="(64)"
    ^                    ^^^^^                                                                                                                                                                                                                                                                                                                                                                            
    (and 4 more with the same problems)

  (virtual/dist-kernel-6.6.10:0/6.6.10::gentoo, ebuild scheduled for merge) USE="" ABI_X86="(64)" pulled in by
    >=virtual/dist-kernel-6.6.10 required by (sys-kernel/gentoo-kernel-bin-6.6.10:6.6.10/6.6.10::gentoo, ebuild scheduled for merge) USE="initramfs -generic-uki -modules-compress -secureboot -test" ABI_X86="(64)"
    ^^                    ^^^^^^                                                                                                                                                                     
    =virtual/dist-kernel-6.6.10 required by (sys-kernel/gentoo-kernel-bin-6.6.10:6.6.10/6.6.10::gentoo, ebuild scheduled for merge) USE="initramfs -generic-uki -modules-compress -secureboot -test" ABI_X86="(64)"
    ^                    ^^^^^^                                                                                                                                                                      

NOTE: Use the '--verbose-conflicts' option to display parents omitted above

It may be possible to solve this problem by using package.mask to
prevent one of those packages from being selected. However, it is also
possible that conflicting dependencies exist such that they are
impossible to satisfy simultaneously.  If such a conflict exists in
the dependencies of two different packages, then those packages can
not be installed simultaneously. You may want to try a larger value of
the --backtrack option, such as --backtrack=30, in order to see if
that will solve this conflict automatically.

For more information, see MASKED PACKAGES section in the emerge man
page or refer to the Gentoo Handbook.

Dropping the "--deep" parameter and it works as expected.
Comment 19 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2024-01-07 07:38:00 UTC
(In reply to Chang Liu from comment #18)
> I still got this error when enabling binary packages,
> 
> #emerge --deep --newuse --newrepo --update --keep-going --getbinpkg @world
> 
> Local copy of remote index is up-to-date and will be used.
> Calculating dependencies... done!
> Dependency resolution took 759.29 s (backtrack: 20/20).

Try more backtracking (it hit the limit).