Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 125126 (kde-missing-ebuilds) - Misleading error message when KDE split packages are masked and there are dependency problems
Summary: Misleading error message when KDE split packages are masked and there are dep...
Status: RESOLVED FIXED
Alias: kde-missing-ebuilds
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] KDE (show other bugs)
Hardware: All Linux
: High normal
Assignee: Gentoo KDE team
URL:
Whiteboard:
Keywords:
: 109818 110433 112513 112709 121915 124665 126911 127933 130468 130662 132998 134300 134408 180752 181245 181295 184171 185034 (view as bug list)
Depends on:
Blocks:
 
Reported: 2006-03-05 13:20 UTC by email_deleted_GqKU
Modified: 2008-04-26 19:42 UTC (History)
18 users (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 email_deleted_GqKU 2006-03-05 13:20:23 UTC
When a KDE split package is masked, and its version hasn't been bumped because there were no change since the previous version (e.g.: libkpgp-3.5.0), and this package is required by another package, the error message is:


################################################################

Calculating world dependencies -
emerge: there are no ebuilds to satisfy "~kde-base/libkpgp-3.5.1".
(dependency required by "kde-base/certmanager-3.5.1" [ebuild])



!!! Problem resolving dependencies for kde-base/kdepim-meta
!!! Depgraph creation failed.

################################################################


There is no mention to the fact the needed ebuild just as to be unmasked, and people think the needed ebuild really is missing... (see bug #124665 and bug #121915, for example).

In my case, when I installed KDE 3.5, I just unmasked every "3.5.0" KDE packages, in my package.keyword files... a few days ago, when I wanted to upgrade to KDE 3.5.1, I replace every "-3.5.0" in my package.keyword file, by "-3.5.1"... the result is that every packages which were not updated since KDE 3.5.0, were remasked, and couldn't satisfy dependencies...

The error message, in this case, should be changed to the standard error message when a package needed to satisfy a dependency is masked...

More details should also be added to the http://www.gentoo.org/doc/en/kde-split-ebuilds.xml document, in the "Split ebuilds FAQ" section, "Why are some split packages missing the newest ebuild versions?" subsection...

Something like:


################################################################

If you want to unmask every KDE ebuilds of a specific version, be sure to also unmask older ebuilds, if they were not updated in the version you want to install... (e.g.: if you want to install "kde-base/certmanager-3.5.1", and it it still masked, be sure to also unmask "kde-base/libkpgp-3.5.0" -if it also is still masked-, as "libkpgp" was not updated since KDE 3.5.0, so there are no "libkpgp-3.5.1" ebuild, and the "libkpgp-3.5.0" will be used to satisfy the dependency).

################################################################
Comment 1 Carsten Lohrke (RETIRED) gentoo-dev 2006-04-30 17:53:55 UTC
*** Bug 121915 has been marked as a duplicate of this bug. ***
Comment 2 Carsten Lohrke (RETIRED) gentoo-dev 2006-04-30 17:54:09 UTC
*** Bug 130468 has been marked as a duplicate of this bug. ***
Comment 3 Carsten Lohrke (RETIRED) gentoo-dev 2006-04-30 17:58:45 UTC
Haven't looked at the guide for a while, but probabaly some more explanations would help.

For now adding it here: When adding the split kde ebuilds to a package.* file, use e.g.

kde-base/<foo>

or 

<=kde-base/<foo>-3.5.2-r99

but avoid hardcoding specific ebuild versions/revisions.
Comment 4 Jakub Moc (RETIRED) gentoo-dev 2006-05-25 03:20:12 UTC
*** Bug 134300 has been marked as a duplicate of this bug. ***
Comment 5 Jakub Moc (RETIRED) gentoo-dev 2006-05-25 03:45:06 UTC
*** Bug 130662 has been marked as a duplicate of this bug. ***
Comment 6 Jakub Moc (RETIRED) gentoo-dev 2006-05-25 03:46:12 UTC
*** Bug 127933 has been marked as a duplicate of this bug. ***
Comment 7 Jakub Moc (RETIRED) gentoo-dev 2006-05-25 03:46:57 UTC
*** Bug 126911 has been marked as a duplicate of this bug. ***
Comment 8 Jakub Moc (RETIRED) gentoo-dev 2006-05-25 03:47:49 UTC
*** Bug 124665 has been marked as a duplicate of this bug. ***
Comment 9 Jakub Moc (RETIRED) gentoo-dev 2006-05-25 03:50:04 UTC
*** Bug 112709 has been marked as a duplicate of this bug. ***
Comment 10 Jakub Moc (RETIRED) gentoo-dev 2006-05-25 03:50:55 UTC
*** Bug 112513 has been marked as a duplicate of this bug. ***
Comment 11 Jakub Moc (RETIRED) gentoo-dev 2006-05-25 03:52:57 UTC
*** Bug 110433 has been marked as a duplicate of this bug. ***
Comment 12 Jakub Moc (RETIRED) gentoo-dev 2006-05-25 03:53:52 UTC
*** Bug 109818 has been marked as a duplicate of this bug. ***
Comment 13 Jakub Moc (RETIRED) gentoo-dev 2006-05-25 03:56:30 UTC
*** Bug 132998 has been marked as a duplicate of this bug. ***
Comment 14 Jakub Moc (RETIRED) gentoo-dev 2006-05-25 03:59:14 UTC
So... now that we have most of the dupes here - can we finally document this stupid message in the split ebuilds howto? ;)
Comment 15 Carsten Lohrke (RETIRED) gentoo-dev 2006-05-25 04:33:16 UTC
Jakub, please do us the favor not to reopen old bugs to dupe them. Thanks for the bug spam.
Comment 16 Jakub Moc (RETIRED) gentoo-dev 2006-05-26 05:45:55 UTC
*** Bug 134408 has been marked as a duplicate of this bug. ***
Comment 17 Jakub Moc (RETIRED) gentoo-dev 2006-06-06 08:17:02 UTC
*** Bug 135777 has been marked as a duplicate of this bug. ***
Comment 18 Jakub Moc (RETIRED) gentoo-dev 2006-06-06 08:17:23 UTC
*** Bug 135776 has been marked as a duplicate of this bug. ***
Comment 19 Jakub Moc (RETIRED) gentoo-dev 2006-06-12 23:51:21 UTC
*** Bug 136613 has been marked as a duplicate of this bug. ***
Comment 20 Jakub Moc (RETIRED) gentoo-dev 2007-06-03 16:26:55 UTC
*** Bug 180752 has been marked as a duplicate of this bug. ***
Comment 21 Jakub Moc (RETIRED) gentoo-dev 2007-06-07 21:08:10 UTC
*** Bug 181245 has been marked as a duplicate of this bug. ***
Comment 22 Jakub Moc (RETIRED) gentoo-dev 2007-06-08 13:29:53 UTC
*** Bug 181295 has been marked as a duplicate of this bug. ***
Comment 23 nm (RETIRED) gentoo-dev 2007-06-26 06:07:09 UTC
It sounds like the original reporter was trying to merge ~arch or hardmasked packages, which we don't encourage in our docs. It's up to the user to properly add every ~arch or hard-masked dependency themselves to package.* files....am I understanding this correctly? If so, then there's nothing for the GDP to add.

Or does the KDE team routinely mask older version numbers but without fixing dependencies? (I doubt this is the case, but I guess I don't really know.)
Comment 24 email_deleted_GqKU 2007-06-26 09:16:30 UTC
(In reply to comment #23)
> It sounds like the original reporter was trying to merge ~arch or hardmasked
> packages, which we don't encourage in our docs. It's up to the user to
> properly add every ~arch or hard-masked dependency themselves to package.*
> files....am I understanding this correctly? If so, then there's nothing for
> the GDP to add.
> 
> Or does the KDE team routinely mask older version numbers but without fixing
> dependencies? (I doubt this is the case, but I guess I don't really know.)
> 


They do not. If the user do not use ~arch or hardmasked packages, there is no problem.

However, while this might not be encouraged, the current behaviour is counterintuitive, and, as such, should be better documented (at least when trying to emerge the ebuilds, but it probably would help some users, if it was also documented in the KDE split ebuilds howto).

The problem, as described in the original report, is that, when, for example:

- the user want to install kde-meta-3.5.1;
- libkpgp-3.5.0 is masked;
- libkpgp-3.5.1 ebuild does not exist (because there was not change, since kde-meta-3.5.0);
- some ebuild depend on libkgpg-3.5.0 (using the `deprange` function)...

... the user will generally unmask all ~kde-base/*-3.5.1 ebuilds (a script to do this, should probably be documented, for the users who do not know how to automatize this, but this is not the purpose of this report).

The problem is, when he will try to emerge the package depending on libkpgp-3.5.0, instead of the usual error message, listing the ebuilds, which are masked, but would satisfy the dependency, if unmasked, the user will get a message telling him there are no ebuilds to satisfy "~kde-base/libkpgp-3.5.1"... and there sure are not, because libkpgp-3.5.1 does not exist.

To solve this, use user has to unmask libkpgp-3.5.0, and to find this solution, he either has to unmask all masked libkpgp packages (and all other KDE packages, because the problem will repeat itself), "to try if this works", or open the ebuild depending on libkpgp, to try to understand what is going on inside...

... or report the "missing ebuild" problem (if he cannot find a duplicate), because `emerge` is telling him that the ebuild is missing :)


Instead, as said in the original report, `emerge` should properly list the ebuilds which could satisfy the original dependency (I guess the problem comes from using `deprange`, to defines {R,}DEPEND atoms), and there should be some documentation, in the KDE split ebuilds howto, to tell the user, who want to use masked ebuilds of KDE, that he might have to unmask previous versions too, if he get a missing dependency problem (well, if the `emerge` error message listed the ebuilds which need to be unmasked, there is probably no need to add anything more than something like "Note that, because of this, if you want to install masked versions of KDE, you might also need to unmask the previous versions of KDE, if they are also masked.", at the end of the "Why are some split packages missing the newest ebuild versions?" section). 
Comment 25 Xavier Neys (RETIRED) gentoo-dev 2007-06-27 13:34:43 UTC
(In reply to comment #24)
> If the user do not use ~arch or hardmasked packages, there is no
> problem.

Good to know.
Comment 26 Wulf Krueger (RETIRED) gentoo-dev 2007-07-05 17:54:23 UTC
*** Bug 184171 has been marked as a duplicate of this bug. ***
Comment 27 Jakub Moc (RETIRED) gentoo-dev 2007-07-12 06:03:13 UTC
*** Bug 185034 has been marked as a duplicate of this bug. ***
Comment 28 Marcus D. Hanwell (RETIRED) gentoo-dev 2007-07-15 17:34:36 UTC
If the user chooses to use the stable branch or the testing branch there will not be an issue. If packages are selectively unmasked then the error message given by portage can be misleading. Whilst we don't encourage this it couldn't hurt to add a short note about the behaviour. Something like,

Please note: whilst we do not encourage mixing ~arch packages with stable packages if some dependencies are missed then the error message indicates the dependency is missing. This is nut the case, it is simply a lower version number. Simply unmask that dependency too, i.e. kde-base/foo.
Comment 29 Wulf Krueger (RETIRED) gentoo-dev 2008-04-26 19:42:20 UTC
I've fixed this by adding a note to the document.