i really don't want to drag bug #174184 up out of the muck so i'm opening a new one. since portage has started recording SLOT information in the world file emerging two versions of binutils with USE=multislot makes it cry. after first version: $ grep binutils /var/lib/portage/world sys-devel/binutils sys-devel/binutils-config after second version: $ grep binutils /var/lib/portage/world sys-devel/binutils sys-devel/binutils-config sys-devel/binutils:0 $ emerge -p world Calculating world dependencies \ !!! Problems have been detected with your world file !!! Please run emaint --check world There is also this message before the binutils merge phase: !!! WARNING: Expected SLOT='0', got 'i686-pc-linux-gnu-2.18.50.0.2' I know this is both hard to avoid and not intended for general use, but as this is now a user-visible problem it would be nice if we could figure out some way to prevent it.
(In reply to comment #0) > after second version: > $ grep binutils /var/lib/portage/world > sys-devel/binutils > sys-devel/binutils-config > sys-devel/binutils:0 $ emerge --info | grep binutils sys-devel/binutils: 2.17, 2.18, 2.18.50.0.2 $ grep binutils /var/lib/portage/world sys-devel/binutils How did you get slot 0 there? $ cat /var/db/pkg/sys-devel/binutils-2*/SLOT i686-pc-linux-gnu-2.17 i686-pc-linux-gnu-2.18.50.0.2 i686-pc-linux-gnu-2.18 > There is also this message before the binutils merge phase: > !!! WARNING: Expected SLOT='0', got 'i686-pc-linux-gnu-2.18.50.0.2' Added to portage for Bug 195375 and thus impossible to avoid in binutils ebuilds/eclass.
(In reply to comment #1) > > There is also this message before the binutils merge phase: > > !!! WARNING: Expected SLOT='0', got 'i686-pc-linux-gnu-2.18.50.0.2' > > Added to portage for Bug 195375 and thus impossible to avoid in binutils > ebuilds/eclass. Ah, missed that one. This might just be a dup then. > $ grep binutils /var/lib/portage/world > sys-devel/binutils > > How did you get slot 0 there? I'm using unkeyworded versions, maybe that makes a difference? # sed -i -e '/binutils/ d' /var/lib/portage/world # ACCEPT_KEYWORDS="**" USE=multislot emerge -av =binutils-2.18.50.0.2 # ACCEPT_KEYWORDS="**" USE=multislot emerge -av =binutils-2.18.50.0.3 # grep binutils /var/lib/portage/world sys-devel/binutils:0
(In reply to comment #2) > I'm using unkeyworded versions, maybe that makes a difference? > > # sed -i -e '/binutils/ d' /var/lib/portage/world > # ACCEPT_KEYWORDS="**" USE=multislot emerge -av =binutils-2.18.50.0.2 > # ACCEPT_KEYWORDS="**" USE=multislot emerge -av =binutils-2.18.50.0.3 > # grep binutils /var/lib/portage/world > sys-devel/binutils:0 Can't reproduce at all; emerge 2.18.50.0.3 and this is what I get: $ grep binutils /var/lib/portage/world sys-devel/binutils $ cat /var/db/pkg/sys-devel/binutils-2*/SLOT i686-pc-linux-gnu-2.17 i686-pc-linux-gnu-2.18.50.0.2 i686-pc-linux-gnu-2.18.50.0.3 i686-pc-linux-gnu-2.18
Created attachment 135317 [details, diff] improve world file handling for multislot packages This fixes a few things: 1) Prevents useless SLOT atoms like sys-devel/binutils:0 from being recorded in the world file. 2) Allows multislot SLOT atoms to be added to the world file via commands such as `emerge --norepace sys-devel/binutils:i686-pc-linux-gnu-2.18.50.0.2`. 3) Prevents `emerge -uD world` from suggesting that you run emaint just because your world file contains a multislot SLOT atom.
(In reply to comment #4) > Created an attachment (id=135317) [edit] > improve world file handling for multislot packages Works nicely for 2/ and 3/. I never could reproduce 1/ so I can't say if it makes a difference or not. Good job. ;)
(In reply to comment #4) > Created an attachment (id=135317) [edit] > improve world file handling for multislot packages This has been released in portage-2.1.3.19.
2.1.3.19 works. thanks everyone.