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

Bug 180714

Summary: app-portage/autounmask does not correct interpret deprange function used in ebuilds
Product: Portage Development Reporter: Jakub Stiller <jakstiller>
Component: ToolsAssignee: Christian Hartmann (RETIRED) <ian>
Status: RESOLVED WONTFIX    
Severity: major CC: dev-portage
Priority: High    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Jakub Stiller 2007-06-03 11:36:59 UTC
For example in kdebase-meta-3.5.7 is line: Code:

$(deprange 3.5.6 $MAXKDEVER kde-base/kcheckpass) 


Autounmask wants to unmask kcheckpass-3.5.7, but this version does not exist in portage, so it end (but without any warning!). But version 3.5.6 is in portage, so version 3.5.6 should be unmasked because it is valid version.

Reproducible: Always

Steps to Reproduce:
1. autounmask --pretend kde-base/kdebase-meta-3.5.7

Actual Results:  
 * Using repositories:
     /usr/portage
     /usr/portage/local/portage

 * Using package.keywords file: /etc/portage/package.keywords
 * Using package.unmask file: /etc/portage/package.unmask

 * Unmasking kde-base/kde-meta-3.5.7 and its dependencies.. this might take a while..

 * Added '=kde-base/kde-meta-3.5.7 ~x86' to /etc/portage/package.keywords
 * Added '=kde-base/kdenetwork-meta-3.5.7 ~x86' to /etc/portage/package.keywords
 * Added '=kde-base/krdc-3.5.7 ~x86' to /etc/portage/package.keywords
 * Added '=kde-base/kdelibs-3.5.7 ~x86' to /etc/portage/package.keywords
 * Added '=kde-base/kopete-3.5.7 ~x86' to /etc/portage/package.keywords
 * Added '=kde-base/kwifimanager-3.5.7 ~x86' to /etc/portage/package.keywords
 * Added '=kde-base/ktalkd-3.5.7 ~x86' to /etc/portage/package.keywords
 * Added '=kde-base/kdenetwork-filesharing-3.5.7 ~x86' to /etc/portage/package.keywords
 * Added '=kde-base/kdict-3.5.7 ~x86' to /etc/portage/package.keywords
 * Added '=kde-base/dcoprss-3.5.7 ~x86' to /etc/portage/package.keywords
 * done!


Expected Results:  
Unmask all related package, so emerge kde-meta will install kde-3.5.7
Comment 1 Jakub Stiller 2007-06-03 11:38:47 UTC
Fix in description:
Ofcourse run "autounmask kde-base/kdebase-meta-3.5.7" (without --pretend)
Comment 2 Christian Hartmann (RETIRED) gentoo-dev 2007-06-03 14:18:04 UTC
Actually this look more like a portage bug to me. (autounmask uses portage to determine which packages to unmask.)

ea ~ (0) # autounmask kde-base/kde-meta-3.5.7

 autounmask version 0.21 (using PortageXS-0.02.07 and portage-2.1.2.9)

 * Using repositories:
     /usr/portage
     /home/ian/my_development/gentoo/gentoo-x86

 * Using package.keywords file: /etc/portage/package.keywords
 * Using package.unmask file: /etc/portage/package.unmask

 * Unmasking kde-base/kde-meta-3.5.7 and its dependencies.. this might take a while..

 * Added '=kde-base/kde-meta-3.5.7 ~x86' to /etc/portage/package.keywords
 * Added '=kde-base/kdenetwork-meta-3.5.7 ~x86' to /etc/portage/package.keywords
 * Added '=kde-base/krdc-3.5.7 ~x86' to /etc/portage/package.keywords
 * Added '=kde-base/kopete-3.5.7 ~x86' to /etc/portage/package.keywords
 * Added '=kde-base/kwifimanager-3.5.7 ~x86' to /etc/portage/package.keywords
 * Added '=kde-base/ktalkd-3.5.7 ~x86' to /etc/portage/package.keywords
 * Added '=kde-base/kdenetwork-filesharing-3.5.7 ~x86' to /etc/portage/package.keywords
 * Added '=kde-base/kdict-3.5.7 ~x86' to /etc/portage/package.keywords
 * Added '=kde-base/dcoprss-3.5.7 ~x86' to /etc/portage/package.keywords
 * done!

ea ~ (0) # emerge -pv =kde-base/kde-meta-3.5.7

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

Calculating dependencies /
emerge: there are no ebuilds to satisfy "~kde-base/librss-3.5.7".
(dependency required by "kde-base/dcoprss-3.5.7" [ebuild])

As you can see here portage complains that there is no "~kde-base/librss-3.5.7" which is right. On the other hand kde-base/librss-3.5.6 exists and should be used by portage as a dependency instead:

ea (0) # head -n1 /usr/portage/metadata/cache/kde-base/dcoprss-3.5.7
|| ( ~kde-base/librss-3.5.7 ~kde-base/librss-3.5.6 ) =sys-devel/automake-1.9* >=sys-devel/autoconf-2.59 sys-devel/libtool sys-devel/make dev-util/pkgconfig dev-lang/perl x11-libs/libXt x11-proto/xf86vidmodeproto xinerama? ( x11-proto/xineramaproto ) arts? ( kde-base/arts ) ~kde-base/kdelibs-3.5.7 =x11-libs/qt-3.3* !=kde-base/kdenetwork-3.5*

CC'ing the portage-folks with request for help and comments.
(I'm using portage-2.1.2.9 btw.)