With sys-libs/readline-7.0_p1-r1 installed and the corresponding ebuild unavailable, and with app-shells/bash-4.4_p12, endless rebuilds are triggered with --autounmask=n for packages with slot operator dependencies on readline: > # emerge -puvD @world > > These are the packages that would be merged, in order: > > Calculating dependencies... done! > [ebuild rR ] dev-db/sqlite-3.17.0:3::gentoo USE="readline -debug -doc -icu -secure-delete -static-libs -tcl {-test} -tools" 0 KiB > [ebuild rR ] sys-apps/gawk-4.1.3::gentoo USE="readline -mpfr (-nls)" 0 KiB > [ebuild rR ] net-misc/socat-1.7.3.1::gentoo USE="ipv6 readline ssl tcpd" 0 KiB > [ebuild rR ] sys-apps/ipmitool-1.8.17-r1::gentoo USE="(-libressl) -openipmi -static" 0 KiB > [ebuild rR ] app-crypt/gnupg-2.1.21::gentoo USE="bzip2 readline smartcard -doc -gnutls -ldap (-nls) (-selinux) -tofu -tools -usb -wks-server" 0 KiB > [ebuild rR ] dev-lang/python-2.7.12:2.7::gentoo USE="gdbm ipv6 ncurses readline sqlite ssl (threads) (wide-unicode) xml (-berkdb) -build -doc -examples -hardened (-libressl) -tk -wininst" 0 KiB > [ebuild rR ] dev-lang/python-3.4.5:3.4/3.4m::gentoo USE="gdbm ipv6 ncurses readline sqlite ssl (threads) xml -build -examples -hardened (-libressl) -tk -wininst" 0 KiB > [ebuild rR ] dev-libs/libpcre-8.40-r1:3::gentoo USE="bzip2 cxx jit readline recursion-limit (unicode) zlib -libedit -pcre16 -pcre32 -static-libs" 0 KiB > [ebuild rR ] net-dns/bind-tools-9.11.0_p5::gentoo USE="ipv6 readline seccomp ssl -doc -gost -gssapi -idn (-libressl) -urandom -xml" 0 KiB > [ebuild rR ] sys-apps/util-linux-2.28.2::gentoo USE="caps cramfs ncurses pam python readline tty-helpers udev unicode -build -fdformat -kill (-nls) (-selinux) -slang -static-libs -suid -systemd {-test}" PYTHON_SINGLE_TARGET="python3_4 -python2_7 (-python3_5) (-python3_6)" PYTHON_TARGETS="python2_7 python3_4 (-python3_5) (-python3_6)" 0 KiB > [ebuild rR ] dev-libs/libxml2-2.9.4-r1:2::gentoo USE="ipv6 lzma python readline -debug -examples -icu -static-libs {-test}" PYTHON_TARGETS="python2_7 python3_4 (-python3_5) (-python3_6)" 0 KiB > [ebuild rR ] net-misc/ntp-4.2.8_p10-r1::gentoo USE="caps ipv6 readline snmp ssl threads vim-syntax -debug (-libressl) -openntpd -parse-clocks -samba (-selinux) -zeroconf" 0 KiB > [ebuild rR ] sys-fs/lvm2-2.02.145-r2::gentoo USE="device-mapper-only readline udev (-clvm) (-cman) -corosync -lvm1 -lvm2create_initrd -openais (-selinux) -static -static-libs -systemd -thin" 0 KiB > [ebuild rR ] sys-fs/xfsprogs-4.5.0::gentoo USE="readline -libedit (-nls) -static -static-libs" 0 KiB > > Total: 14 packages (14 reinstalls), Size of downloads: 0 KiB The debug log shows that it wants to downgrade to sys-libs/readline-6.3_p8-r3, but it can't because app-shells/bash-4.4_p12 requires a newer version: > slot_operator_update_probe: > existing child package: (sys-libs/readline-7.0_p1-r1-3:0/7::gentoo, installed) > existing parent package: (net-misc/socat-1.7.3.1-18:0/0::gentoo, installed) > new child package: (sys-libs/readline-6.3_p8-r3:0/0::gentoo, ebuild scheduled for merge) > new parent package: (net-misc/socat-1.7.3.1:0/0::gentoo, ebuild scheduled for merge) With --autounmask, emerge gives a reasonable upgrade to go with the rebuilds: > # emerge -puvD --autounmask=y @world > > These are the packages that would be merged, in order: > > Calculating dependencies... done! > [ebuild r U ~] sys-libs/readline-7.0_p3:0/7::gentoo [7.0_p1-r1:0/7::gentoo] USE="-static-libs -utils" 5 KiB > [ebuild rR ] dev-db/sqlite-3.17.0:3::gentoo USE="readline -debug -doc -icu -secure-delete -static-libs -tcl {-test} -tools" 0 KiB > [ebuild rR ] sys-apps/gawk-4.1.3::gentoo USE="readline -mpfr (-nls)" 0 KiB > [ebuild rR ] dev-libs/libpcre-8.40-r1:3::gentoo USE="bzip2 cxx jit readline recursion-limit (unicode) zlib -libedit -pcre16 -pcre32 -static-libs" 0 KiB > [ebuild rR ] net-misc/socat-1.7.3.1::gentoo USE="ipv6 readline ssl tcpd" 0 KiB > [ebuild rR ] sys-apps/ipmitool-1.8.17-r1::gentoo USE="(-libressl) -openipmi -static" 0 KiB > [ebuild rR ] net-dns/bind-tools-9.11.0_p5::gentoo USE="ipv6 readline seccomp ssl -doc -gost -gssapi -idn (-libressl) -urandom -xml" 0 KiB > [ebuild rR ] app-crypt/gnupg-2.1.21::gentoo USE="bzip2 readline smartcard -doc -gnutls -ldap (-nls) (-selinux) -tofu -tools -usb -wks-server" 0 KiB > [ebuild rR ] dev-lang/python-3.4.5:3.4/3.4m::gentoo USE="gdbm ipv6 ncurses readline sqlite ssl (threads) xml -build -examples -hardened (-libressl) -tk -wininst" 0 KiB > [ebuild rR ] dev-lang/python-2.7.12:2.7::gentoo USE="gdbm ipv6 ncurses readline sqlite ssl (threads) (wide-unicode) xml (-berkdb) -build -doc -examples -hardened (-libressl) -tk -wininst" 0 KiB > [ebuild rR ] sys-apps/util-linux-2.28.2::gentoo USE="caps cramfs ncurses pam python readline tty-helpers udev unicode -build -fdformat -kill (-nls) (-selinux) -slang -static-libs -suid -systemd {-test}" PYTHON_SINGLE_TARGET="python3_4 -python2_7 (-python3_5) (-python3_6)" PYTHON_TARGETS="python2_7 python3_4 (-python3_5) (-python3_6)" 0 KiB > [ebuild rR ] dev-libs/libxml2-2.9.4-r1:2::gentoo USE="ipv6 lzma python readline -debug -examples -icu -static-libs {-test}" PYTHON_TARGETS="python2_7 python3_4 (-python3_5) (-python3_6)" 0 KiB > [ebuild rR ] net-misc/ntp-4.2.8_p10-r1::gentoo USE="caps ipv6 readline snmp ssl threads vim-syntax -debug (-libressl) -openntpd -parse-clocks -samba (-selinux) -zeroconf" 0 KiB > [ebuild rR ] sys-fs/lvm2-2.02.145-r2::gentoo USE="device-mapper-only readline udev (-clvm) (-cman) -corosync -lvm1 -lvm2create_initrd -openais (-selinux) -static -static-libs -systemd -thin" 0 KiB > [ebuild rR ] sys-fs/xfsprogs-4.5.0::gentoo USE="readline -libedit (-nls) -static -static-libs" 0 KiB > > Total: 15 packages (1 upgrade, 14 reinstalls), Size of downloads: 5 KiB > > The following keyword changes are necessary to proceed: > (see "package.accept_keywords" in the portage(5) man page for more details) > # required by app-shells/bash-4.4_p12::gentoo > # required by @system > # required by @world (argument) > =sys-libs/readline-7.0_p3 ~amd64 Alternatively, with app-shells/bash-4.4_p12 masked, emerge gives a reasonable downgrade to go with the rebuilds: > # emerge -puvD @world > > These are the packages that would be merged, in order: > > Calculating dependencies... done! > [ebuild r UD ] sys-libs/readline-6.3_p8-r3:0/0::gentoo [7.0_p1-r1:0/7::gentoo] USE="-static-libs -utils" 0 KiB > [ebuild UD ] app-shells/bash-4.3_p48-r1::gentoo [4.4_p12::gentoo] USE="net (readline) -afs -bashlogger -examples -mem-scramble (-nls) -plugins" 0 KiB > [ebuild rR ] dev-db/sqlite-3.17.0:3::gentoo USE="readline -debug -doc -icu -secure-delete -static-libs -tcl {-test} -tools" 0 KiB > [ebuild rR ] sys-apps/gawk-4.1.3::gentoo USE="readline -mpfr (-nls)" 0 KiB > [ebuild rR ] dev-libs/libpcre-8.40-r1:3::gentoo USE="bzip2 cxx jit readline recursion-limit (unicode) zlib -libedit -pcre16 -pcre32 -static-libs" 0 KiB > [ebuild rR ] net-misc/socat-1.7.3.1::gentoo USE="ipv6 readline ssl tcpd" 0 KiB > [ebuild rR ] net-dns/bind-tools-9.11.0_p5::gentoo USE="ipv6 readline seccomp ssl -doc -gost -gssapi -idn (-libressl) -urandom -xml" 0 KiB > [ebuild rR ] sys-apps/ipmitool-1.8.17-r1::gentoo USE="(-libressl) -openipmi -static" 0 KiB > [ebuild rR ] app-crypt/gnupg-2.1.21::gentoo USE="bzip2 readline smartcard -doc -gnutls -ldap (-nls) (-selinux) -tofu -tools -usb -wks-server" 0 KiB > [ebuild rR ] dev-lang/python-3.4.5:3.4/3.4m::gentoo USE="gdbm ipv6 ncurses readline sqlite ssl (threads) xml -build -examples -hardened (-libressl) -tk -wininst" 0 KiB > [ebuild rR ] dev-lang/python-2.7.12:2.7::gentoo USE="gdbm ipv6 ncurses readline sqlite ssl (threads) (wide-unicode) xml (-berkdb) -build -doc -examples -hardened (-libressl) -tk -wininst" 0 KiB > [ebuild rR ] sys-apps/util-linux-2.28.2::gentoo USE="caps cramfs ncurses pam python readline tty-helpers udev unicode -build -fdformat -kill (-nls) (-selinux) -slang -static-libs -suid -systemd {-test}" PYTHON_SINGLE_TARGET="python3_4 -python2_7 (-python3_5) (-python3_6)" PYTHON_TARGETS="python2_7 python3_4 (-python3_5) (-python3_6)" 0 KiB > [ebuild rR ] dev-libs/libxml2-2.9.4-r1:2::gentoo USE="ipv6 lzma python readline -debug -examples -icu -static-libs {-test}" PYTHON_TARGETS="python2_7 python3_4 (-python3_5) (-python3_6)" 0 KiB > [ebuild rR ] net-misc/ntp-4.2.8_p10-r1::gentoo USE="caps ipv6 readline snmp ssl threads vim-syntax -debug (-libressl) -openntpd -parse-clocks -samba (-selinux) -zeroconf" 0 KiB > [ebuild rR ] sys-fs/lvm2-2.02.145-r2::gentoo USE="device-mapper-only readline udev (-clvm) (-cman) -corosync -lvm1 -lvm2create_initrd -openais (-selinux) -static -static-libs -systemd -thin" 0 KiB > [ebuild rR ] sys-fs/xfsprogs-4.5.0::gentoo USE="readline -libedit (-nls) -static -static-libs" 0 KiB > > Total: 16 packages (2 downgrades, 14 reinstalls), Size of downloads: 0 KiB
An implementation of --autounmask-backtrack=n that works with --autounmask=n would be helpful here, as proposed in bug 618228.