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

Bug 173053

Summary: FEATURES=buildsyspkg should include all packages in system and their dependencies
Product: Portage Development Reporter: Arfrever Frehtes Taifersar Arahesis (RETIRED) <arfrever>
Component: CoreAssignee: Portage team <dev-portage>
Status: CONFIRMED ---    
Severity: normal CC: esigra
Priority: High    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 155723    

Description Arfrever Frehtes Taifersar Arahesis (RETIRED) gentoo-dev 2007-04-01 22:01:01 UTC
When virtual/A belongs to the system set and FEATURES="-buildpkg buildsyspkg", package B/C PROVIDing virtual/A should be treated as system package. It should be done when emerge is invoked with virtual/A OR B/C.

# cd /usr/portage
# grep -E "gcc|libc" profiles/base/{packages,virtuals}
profiles/base/packages:*sys-devel/gcc
profiles/base/packages:*virtual/libc
profiles/base/virtuals:virtual/libc		sys-libs/glibc

Actual results:
# FEATURES="-buildpkg buildsyspkg" emerge gcc
Calculating dependencies... done!
>>> Verifying ebuild Manifests...

>>> Emerging (1 of 1) sys-devel/gcc-4.1.2 to /
>>> This is a system package, let's pack a rescue tarball.
 * gcc-4.1.2-patches-1.0.tar.bz2 RMD160 ;-) ...       [ ok ]
 * gcc-4.1.2-patches-1.0.tar.bz2 SHA1 ;-) ...         [ ok ]
 * gcc-4.1.2-patches-1.0.tar.bz2 SHA256 ;-) ...       [ ok ]
 * gcc-4.1.2-patches-1.0.tar.bz2 size ;-) ...         [ ok ]


Exiting on signal 2
# FEATURES="-buildpkg buildsyspkg" emerge glibc
Calculating dependencies... done!
>>> Verifying ebuild Manifests...

>>> Emerging (1 of 1) sys-libs/glibc-2.5-r1 to /
 * glibc-linuxthreads-2.5.tar.bz2 RMD160 ;-) ...      [ ok ]
 * glibc-linuxthreads-2.5.tar.bz2 SHA1 ;-) ...        [ ok ]
 * glibc-linuxthreads-2.5.tar.bz2 SHA256 ;-) ...      [ ok ]
 * glibc-linuxthreads-2.5.tar.bz2 size ;-) ...        [ ok ]


Exiting on signal 2
#

Expected results:
# FEATURES="-buildpkg buildsyspkg" emerge gcc
Calculating dependencies... done!
>>> Verifying ebuild Manifests...

>>> Emerging (1 of 1) sys-devel/gcc-4.1.2 to /
>>> This is a system package, let's pack a rescue tarball.
 * gcc-4.1.2-patches-1.0.tar.bz2 RMD160 ;-) ...       [ ok ]
 * gcc-4.1.2-patches-1.0.tar.bz2 SHA1 ;-) ...         [ ok ]
 * gcc-4.1.2-patches-1.0.tar.bz2 SHA256 ;-) ...       [ ok ]
 * gcc-4.1.2-patches-1.0.tar.bz2 size ;-) ...         [ ok ]


Exiting on signal 2
# FEATURES="-buildpkg buildsyspkg" emerge glibc
Calculating dependencies... done!
>>> Verifying ebuild Manifests...

>>> Emerging (1 of 1) sys-libs/glibc-2.5-r1 to /
>>> This is a system package, let's pack a rescue tarball.
 * glibc-linuxthreads-2.5.tar.bz2 RMD160 ;-) ...      [ ok ]
 * glibc-linuxthreads-2.5.tar.bz2 SHA1 ;-) ...        [ ok ]
 * glibc-linuxthreads-2.5.tar.bz2 SHA256 ;-) ...      [ ok ]
 * glibc-linuxthreads-2.5.tar.bz2 size ;-) ...        [ ok ]


Exiting on signal 2
#
Comment 1 Arfrever Frehtes Taifersar Arahesis (RETIRED) gentoo-dev 2007-04-11 14:15:57 UTC
It should also concern direct dependencies of new-style virtuals.
Comment 2 Zac Medico gentoo-dev 2007-04-11 15:35:18 UTC
(In reply to comment #1)
> It should also concern direct dependencies of new-style virtuals.

For the general case, this will require recursive expansion of new-style virtuals (for cases like virtual/jre -> virtual/jdk).  This particular problem is related to bug 157357.
Comment 3 Arfrever Frehtes Taifersar Arahesis (RETIRED) gentoo-dev 2007-05-14 10:32:42 UTC
I suggest also something partially related to this bug:
Actual results:
 # grep -E "gcc|glibc" /var/lib/portage/world
 # emerge -n gcc glibc &>/dev/null
 # grep -E "gcc|glibc" /var/lib/portage/world
sys-libs/glibc
 # 

Expected results:
 # grep -E "gcc|glibc" /var/lib/portage/world
 # emerge -n gcc glibc &>/dev/null
 # grep -E "gcc|glibc" /var/lib/portage/world
 # 
Comment 4 Marius Mauch (RETIRED) gentoo-dev 2007-10-06 15:32:14 UTC
Please lets avoid special cases for virtuals, either include all dependencies or none.