Currently, emerge triggers rebuilds for changed subslots lazily. It would be nice to have an option to trigger these rebuilds explicitly, especially for use in building stage3 and stage4 images. Theses bzip2 and zlib subslot changes are examples of the kinds of changes that it's useful for: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b5f0471fe97de820f888702e1938989b9fd25522 https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=84fe49cbda355b53354c11432e54ec7ea15671f1 Since emerge is lazy about triggering the rebuilds, it's possible for a user of a fresh stage3 or stage4 image to experience unexpected rebuilds like these: The following packages are causing rebuilds: (app-arch/bzip2-1.0.6-r8:0/1::gentoo, ebuild scheduled for merge) causes rebuilds for: (dev-lang/python-2.7.12:2.7/2.7::gentoo, ebuild scheduled for merge) (dev-lang/python-3.4.5:3.4/3.4m::gentoo, ebuild scheduled for merge) (sys-libs/zlib-1.2.11:0/1::gentoo, ebuild scheduled for merge) causes rebuilds for: (sys-fs/btrfs-progs-4.12:0/0::gentoo, ebuild scheduled for merge) (x11-libs/libpciaccess-0.13.4:0/0::gentoo, ebuild scheduled for merge) (dev-lang/python-3.4.5:3.4/3.4m::gentoo, ebuild scheduled for merge) (net-misc/openssh-7.5_p1-r2:0/0::gentoo, ebuild scheduled for merge) (dev-lang/python-2.7.12:2.7/2.7::gentoo, ebuild scheduled for merge) (dev-libs/libxml2-2.9.4-r3:2/2::gentoo, ebuild scheduled for merge) This situation can be avoided by using the proposed --changed-slot option when building stage3 or stage4 images.
Patch posted for review: https://archives.gentoo.org/gentoo-portage-dev/message/7d79f6cd5bcc87bc6dd5214ddaea09fe https://github.com/gentoo/portage/pull/283
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/proj/portage.git/commit/?id=1879d3ca019ebe4b870c3ee8d80910a90a8e4408 commit 1879d3ca019ebe4b870c3ee8d80910a90a8e4408 Author: Zac Medico <zmedico@gentoo.org> AuthorDate: 2018-03-26 20:59:57 +0000 Commit: Zac Medico <zmedico@gentoo.org> CommitDate: 2018-03-28 05:51:50 +0000 emerge: add --changed-slot [ y | n ] option (bug 631358) This is similar to --changed-deps, but for SLOT metadata. Bug: https://bugs.gentoo.org/631358 man/emerge.1 | 7 +++++++ pym/_emerge/create_depgraph_params.py | 6 ++++++ pym/_emerge/depgraph.py | 11 +++++++++++ pym/_emerge/main.py | 13 +++++++++++++ .../resolver/test_slot_change_without_revbump.py | 19 +++++++++++++++++++ 5 files changed, 56 insertions(+)}
Fixed in portage-2.3.40-r1.