Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 150377 - portage 2.1.2_pre2 does not respect the profile's virtuals while merging ROOT=/something
Summary: portage 2.1.2_pre2 does not respect the profile's virtuals while merging ROOT...
Status: RESOLVED FIXED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords: InVCS
Depends on:
Blocks: 147007
  Show dependency tree
 
Reported: 2006-10-07 06:56 UTC by Diego Elio Pettenò (RETIRED)
Modified: 2006-10-07 18:24 UTC (History)
2 users (show)

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


Attachments
virtual preferences in a profile override the preferences of parents (virtual_override.patch,465 bytes, patch)
2006-10-07 15:24 UTC, Zac Medico
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Diego Elio Pettenò (RETIRED) gentoo-dev 2006-10-07 06:56:29 UTC
root@defiant / # ROOT=tmp/prova emerge -pv virtual/libc

These are the packages that would be merged, in order:

Calculating dependencies
!!! All ebuilds that could satisfy "virtual/libc" have been masked.
!!! One of the following masked packages is required to complete your request:
- sys-libs/glibc-2.4-r3 (masked by: package.mask, missing keyword)
# Mask out the GNU versions of various packages.
# We want BSD versions wherever possible
# Also mask packages that are depending on Linux kernel

- sys-libs/glibc-2.3.4.20041102-r2 (masked by: package.mask, missing keyword)
- sys-libs/glibc-2.3.4.20041102-r1 (masked by: package.mask, missing keyword)
- sys-libs/glibc-2.3.6-r3 (masked by: package.mask, missing keyword)
- sys-libs/glibc-2.3.3.20040420-r2 (masked by: package.mask, missing keyword)
- sys-libs/glibc-2.3.6-r4 (masked by: package.mask, missing keyword)
- sys-libs/glibc-2.3.6-r5 (masked by: package.mask, missing keyword)
- sys-libs/glibc-2.3.2-r12 (masked by: package.mask, missing keyword)
- sys-libs/glibc-2.3.4.20040619-r2 (masked by: package.mask, missing keyword)
- sys-libs/glibc-2.3.4.20040808-r1 (masked by: package.mask, missing keyword)
- sys-libs/glibc-2.3.5-r3 (masked by: package.mask, missing keyword)
- sys-libs/glibc-2.3.5-r2 (masked by: package.mask, missing keyword)
- sys-libs/glibc-2.2.5-r10 (masked by: package.mask, missing keyword)
- sys-libs/glibc-2.3.4.20050125-r1 (masked by: package.mask, missing keyword)
- sys-libs/glibc-2.5 (masked by: package.mask, missing keyword)
- sys-libs/glibc-2.4-r4 (masked by: package.mask, missing keyword)

For more information, see MASKED PACKAGES section in the emerge man page or
refer to the Gentoo Handbook.

root@defiant / # emerge --version
Portage 2.1.2_pre2-r5 (default-bsd/fbsd/6.2/x86, gcc-4.1.1, freebsd-lib-6.1-r0, 6.2-BETA1 i386)

While merging ROOT=somethingelse, portage seems to ignore at least the virtuals for the profile, breaking catalyst run for instance.
This worked fine on at least 2.1.1_pre4-r1 (not sure for the in-between because these I have at hand).
Comment 1 Zac Medico gentoo-dev 2006-10-07 15:24:13 UTC
Created attachment 99085 [details, diff]
virtual preferences in a profile override the preferences of parents

The problem is that "virtual/libc sys-libs/glibc" is inherited from the base profile and the order of preference is reversed.  This patch corrects the order so that the preferences of parent profiles are properly overridden.

Note that, as a workaround, it's possible for a child profile to negate virtuals that have been defined by parent profiles. You'd simply add a line to default-bsd/fbsd/6.2/x86/virtuals like this:

virtual/libc -sys-libs/glibc
Comment 2 Zac Medico gentoo-dev 2006-10-07 18:24:14 UTC
This has been released in 2.1.2_pre2-r6.