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

Bug 35895

Summary: qpkg doesn't handle renamed packages correctly
Product: Gentoo Linux Reporter: Paul Varner (RETIRED) <fuzzyray>
Component: Current packagesAssignee: Portage Tools Team <tools-portage>
Status: RESOLVED FIXED    
Severity: normal    
Priority: High    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: Patch to list current package name
Updated patch
updated patch to list current package name

Description Paul Varner (RETIRED) gentoo-dev 2003-12-15 13:50:07 UTC
Recently, several packages have been renamed in Portage.  When using qpkg, qpkg uses the name of the package when installed.  This causes problems when using qpkg for various tasks, .  One such package is apps-admin/fam.  Until recently it was apps-admin/fam-oss.  This can cause confusion when using qpkg to identify packages.

Example:
beldin root # qpkg -I -v fam
app-admin/fam-oss-2.6.10-r1 *
media-libs/libfame-0.9.0 *
beldin root # etcat -v fam-oss
[ Results for search key : fam-oss ]
[ Applications found : 0 ]

beldin root # emerge -pv fam-oss

These are the packages that I would merge, in order:

Calculating dependencies
emerge: there are no masked or unmasked ebuilds to satisfy "fam-oss".

!!! Error calculating dependencies. Please correct.

The cause of this problem is that qpkg takes the name from the ebuild file located in /var/db/pkg/<group>/<package>

Since /var/db/pkg/<group>/<package> is the correct name of the package as it is currently known in the portage system.  The solution is to use that as the name when locating installed packages. Here is the ouput using my patched version:

beldin root # qpkg -I -v fam
app-admin/fam-2.6.10-r1 *
media-libs/libfame-0.9.0 *
beldin root # etcat -u fam
[ Colour Code : set unset ]
[ Legend      : (U) Col 1 - Current USE flags        ]
[             : (I) Col 2 - Installed With USE flags ]
[ No USE flags found for : app-admin/fam ]
[ No USE flags found for : media-libs/libfame ]

 U I [ Found these USE variables in : media-video/fame-0.9.0 ]
 + - mmx : Adds support for optimizations for Pentium MMX and Athlon class processors
 + - sse : fast floating point optimisation for Pentium class chips
beldin root # emerge -pv fam

These are the packages that I would merge, in order:

Calculating dependencies ...done!
[ebuild   R   ] app-admin/fam-2.6.10-r1

beldin root #

I am including a patch that fixes this problem using that approach

Reproducible: Always
Steps to Reproduce:
1. See details.  Another package that exhibits the same behavior is vixie-cron which was known as vcron
2.
3.

Actual Results:  
qpkg lists package names that are unknown to portage.

Expected Results:  
List the package name as currently known to portage

beldin root # emerge info
Portage 2.0.49-r15 (default-x86-1.4, gcc-3.2.3, glibc-2.3.2-r3, 2.6.0-test11)
=================================================================
System uname: 2.6.0-test11 i686 Pentium III (Coppermine)
Gentoo Base System version 1.4.3.10
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CFLAGS="-O3 -march=pentium3 -fprefetch-loop-arrays -funroll-loops -pipe"
CHOST="i686-pc-linux-gnu"
COMPILER="gcc3"
CONFIG_PROTECT="/etc /var/qmail/control /usr/kde/2/share/config
/usr/kde/3/share/config /var/bind /usr/X11R6/lib/X11/xkb
/usr/kde/3.1/share/config /usr/share/config"
CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d"
CXXFLAGS="-O2 -mcpu=i686 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs sandbox ccache fixpackages"
GENTOO_MIRRORS="http://gentoo.oregonstate.edu
http://distro.ibiblio.org/pub/Linux/distributions/gentoo"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="x86 oss apm avi crypt cups encode foomaticdb gif gtk2 jpeg libg++ libwww
mad mikmod mpeg ncurses nls pdflib png spell truetype xml2 xmms xv zlib alsa
gdbm berkdb slang readline arts svga tcltk X sdl tcpd pam ssl perl python esd
imlib oggvorbis gtk qt kde motif opengl acpi i8x0 java mbox mmx mozilla pda ppds
samba sse tiff usb -gpm -gnome -quicktime"
Comment 1 Paul Varner (RETIRED) gentoo-dev 2003-12-15 13:50:39 UTC
Created attachment 22263 [details, diff]
Patch to list current package name
Comment 2 Paul Varner (RETIRED) gentoo-dev 2003-12-17 08:52:14 UTC
Created attachment 22359 [details, diff]
Updated patch

updated patch to fix bug with patched version. I missed setting the 'd'
variable correctly in the first version of the patch.
Comment 3 Paul Varner (RETIRED) gentoo-dev 2003-12-17 09:22:00 UTC
Comment on attachment 22359 [details, diff]
Updated patch

I'm finding more problems with this approach. This is actually beginning to
look like something that should be addressed with portage-ng
Comment 4 Paul Varner (RETIRED) gentoo-dev 2003-12-17 12:33:31 UTC
Created attachment 22376 [details, diff]
updated patch to list current package name

Stepping back and reevaluating, I realized that I was trying to fix much more
than needed to be touched.  The actual solution was simple, and I am including
that patch. I have tested it with all of the options and it appears to be
working correctly.
Comment 5 Paul Varner (RETIRED) gentoo-dev 2004-01-09 08:55:27 UTC
Since this is fixed with equery (qpkg's replacement) in gentoolkit 0.2.0, I'm marking this as fixed.