Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 221999 - has_version/best_version do not honor package.provided
Summary: has_version/best_version do not honor package.provided
Status: CONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: All All
: High normal (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-05-13 21:12 UTC by Adam Higerd
Modified: 2010-11-18 20:13 UTC (History)
1 user (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Adam Higerd 2008-05-13 21:12:54 UTC
Since Qt 4.4.0 is not yet in the Portage tree due to KDE 4 build problems, I built it from source and added the new modular Qt entries to package.provided. Installed Qt4-based applications still work, but I can't emerge new ones due to spurious errors about missing subpackages. (See "Actual Results.") I inspected one such ebuild (net-im/psi-0.11) and qt4.eclass and tracked the problem down to has_version returning failure status.

Reproducible: Always

Steps to Reproduce:
What I did:
1. Install Qt 4.4.0 from source
2. Add entries for x11-libs/qt-4.4.0_rc1 and all of its subpackages to package.provided
3. Attempt to install a package that depends on Qt 4 (i.e. net-im/psi-0.11)

Alternative I researched while writing this bug report:
1. Install lua from source
2. Add dev-lang/lua-5.1.2-r2 (or similar atom) to package.provided
3. Attempt to install net-mail/freepops
Actual Results:  
For net-im/psi:
 * You must first install the x11-libs/qt-qt3support package.
 * 
 * ERROR: net-im/psi-0.11 failed.
 * Call stack:
 *               ebuild.sh, line   49:  Called pkg_setup
 *               ebuild.sh, line 1244:  Called qt4_pkg_setup
 *              qt4.eclass, line  106:  Called die
 * The specific snippet of code:
 *                                      die "Install x11-libs/qt-${x}"
 *  The die message:
 *   Install x11-libs/qt-qt3support
 * 
 * If you need support, post the topmost build error, and the call stack if relevant.
 * A complete build log is located at '/var/tmp/portage/net-im/psi-0.11/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/net-im/psi-0.11/temp/die.env'.
 * 

For net-mail/freepops:
 * 
 * ERROR: net-mail/freepops-0.2.5 failed.
 * Call stack:
 *               ebuild.sh, line   49:  Called pkg_setup
 *   freepops-0.2.5.ebuild, line   24:  Called built_with_use 'pkg_setup' 'pkg_setup'
 *           eutils.eclass, line 1698:  Called die
 * The specific snippet of code:
 *      [[ -z ${PKG} ]] && die "Unable to resolve $1 to an installed package"
 *  The die message:
 *   Unable to resolve dev-lang/lua to an installed package
 * 
 * If you need support, post the topmost build error, and the call stack if relevant.
 * A complete build log is located at '/var/tmp/portage/net-mail/freepops-0.2.5/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/net-mail/freepops-0.2.5/temp/die.env'.
 * 


Expected Results:  
Since x11-libs/qt-qt3support (or in the alternative, dev-lang/lua) IS actually installed, just not by Portage, I expected the installation to proceed as normal. 

emerge -p considers the dependencies satisfied. I short-circuited has_version() in /usr/lib/portage/bin/portageq in order to test the actual build process; it worked fine. Note that Qt 4 (and the slight version mismatch between 4.4.0 and 4.4.0_rc1) are irrelevant and other packages have related problems.
Comment 1 Zac Medico gentoo-dev 2008-05-13 22:23:36 UTC
(In reply to comment #0)
> For net-mail/freepops:
>  * 
>  * ERROR: net-mail/freepops-0.2.5 failed.
>  * Call stack:
>  *               ebuild.sh, line   49:  Called pkg_setup
>  *   freepops-0.2.5.ebuild, line   24:  Called built_with_use

This particular case overlaps with bug 142941, but the has_version/best_version request is a more general case.
Comment 2 Adam Walker 2010-11-18 20:13:18 UTC
Another example of this problem is custom patching php, adding it to package.provided, and then trying to add dev-php/PEAR-PEAR. It essentially prevents you from installing security updates to various pecl and pear packages.