Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 631358

Summary: sys-apps/portage: add emerge --changed-slot option
Product: Portage Development Reporter: Zac Medico <zmedico>
Component: Core - Interface (emerge)Assignee: Portage team <dev-portage>
Status: RESOLVED FIXED    
Severity: normal CC: chutzpah, esigra, tsmksubc
Priority: Normal Keywords: InVCS
Version: unspecified   
Hardware: All   
OS: All   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 155723, 651804    

Description Zac Medico gentoo-dev 2017-09-19 01:56:06 UTC
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.
Comment 2 Larry the Git Cow gentoo-dev 2018-03-28 05:56:41 UTC
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(+)}
Comment 3 Zac Medico gentoo-dev 2018-07-02 18:40:47 UTC
Fixed in portage-2.3.40-r1.