Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 198129 - binutils multislot and the world file
Summary: binutils multislot and the world file
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: All Linux
: High minor
Assignee: Gentoo Toolchain Maintainers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 198097
  Show dependency tree
 
Reported: 2007-11-05 04:41 UTC by Ryan Hill (RETIRED)
Modified: 2008-10-18 15:19 UTC (History)
3 users (show)

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


Attachments
improve world file handling for multislot packages (multislot.patch,2.54 KB, patch)
2007-11-06 07:47 UTC, Zac Medico
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Ryan Hill (RETIRED) gentoo-dev 2007-11-05 04:41:32 UTC
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.
Comment 1 Jakub Moc (RETIRED) gentoo-dev 2007-11-05 07:29:55 UTC
(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.
Comment 2 Ryan Hill (RETIRED) gentoo-dev 2007-11-05 13:31:56 UTC
(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
Comment 3 Jakub Moc (RETIRED) gentoo-dev 2007-11-05 16:20:39 UTC
(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
Comment 4 Zac Medico gentoo-dev 2007-11-06 07:47:08 UTC
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.
Comment 5 Jakub Moc (RETIRED) gentoo-dev 2007-11-06 07:58:01 UTC
(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. ;)
Comment 6 Zac Medico gentoo-dev 2007-11-06 18:32:54 UTC
(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.
Comment 7 Ryan Hill (RETIRED) gentoo-dev 2007-11-07 04:35:28 UTC
2.1.3.19 works.  thanks everyone.