ebuild ebuild kde-base/libkpimidentities-3.4.2 is missing, 3.4.1 is present so portage wants to downgrade kdelibs-3.4.2: [ebuild U ] kde-base/konqueror-akregator-3.4.2 [3.4.1] [ebuild U ] kde-base/akregator-3.4.2 [3.4.1-r1] [ebuild U ] kde-base/kontact-3.4.2 [3.4.1] [ebuild U ] kde-base/libkdepim-3.4.2 [3.4.1] [ebuild U ] kde-base/libkcal-3.4.2 [3.4.1] [ebuild U ] kde-base/ktnef-3.4.2 [3.4.1] [nomerge ] kde-base/libkpimidentities-3.4.1 [nomerge ] kde-base/certmanager-3.4.1 [ebuild UD] kde-base/kdelibs-3.4.1-r2 [3.4.2] [ebuild UD] kde-base/arts-3.4.1-r2 [3.4.2] Reproducible: Always Steps to Reproduce:
Not all ebuilds were updated to 3.4.2 because not all of them changed from 3.4.1, this is correct. There shouldn't be downgrades, though. Can you try to do a "emerge -uDpt akregator" (if you didn't use -D before), maybe the problem is that portage does not upgrade certmanager to 3.4.2?
*** Bug 101069 has been marked as a duplicate of this bug. ***
The same thing does happen at other places too, but it is possible to work around this one. With an "emerge -avuND -tree world" and looking for downgrades of kdelibs I get something like the following (some details cut): [ebuild U ] kde-base/kdegraphics-meta-3.4.2 [3.4.1] [ebuild U ] kde-base/kdvi-3.4.2 [3.4.1] [ebuild U ] kde-base/kviewshell-3.4.2 [3.4.1] [ebuild U ] kde-base/ksvg-3.4.2 [3.4.1] [ebuild U ] kde-base/kview-3.4.2 [3.4.1] [nomerge ] kde-base/kfax-3.4.1 [nomerge ] kde-base/kviewshell-3.4.1 [ebuild UD] kde-base/kdelibs-3.4.1-r2 [3.4.2] [ebuild UD] kde-base/arts-3.4.1-r2 [3.4.2] So, kdelibs and arts are downgraded because of kviewshell-3.4.1. But if I "emerge -avuD --oneshot kviewshell" (which does an update to version 3.4.2) manually first the following emerge world is happy and does not try to downgrade kdelibs and arts (at this point). Of course, as this effect does occur several times on the tree you will have to repeat this steps until there is nothing left that wants to downgrade. I think the root cause of the problem lies within portage, because if you look at the above emerge tree snippet, it first states that kviewshell will be updated to 3.4.2, but then four lines below it still calculates the dependencies against the currently installed version 3.4.1, although at this point in the actual emerge process (when it reaches the "old" kfax package) kviewshell-3.4.2 will be already merged and "current". But this does not seem to be considered properly by portage.
Oh, and just for the specific case of this bug report: Yes, manually doing an emerge of kde-base/certmanager first will update it to 3.4.2 and fix the "wants to downgrade" behavior of the next emerge world (for the "old" libkpimidentities package). But you will still have to rule out the other cases as explained above until there is nothing left that causes kdelibs to be downgraded.
So this is the same problem that we saw in bug 100278, with worse consequences here: the ebuild have dependencies on e.g. "|| ( ~kviewshell-3.4.2 ~kviewshell-3.4.1 )" but kviewshell-3.4.2 is ignored if kviewshell-3.4.1 is installed. Anyone knows a way to workaround it?
For the problem at hand (emerging KDE 3.4.2), for me the following solved all "downgrade" traps when done before the emerge world: emerge -avuD certmanager libkdepim kviewshell (But be shure to see bug http://bugs.gentoo.org/show_bug.cgi?id=101120#c1 if you should have problems downloading gnupg (needed by certmanager) ;-) After that my tree no longer wanted to do any downgrades. But of course that does not cure the cause, but only the sympthom ;-)
Ooops, please add "--oneshot" to the emerge commandline above. Sorry.
bit more interested in the log from emerge -d <some-package-that-exhibits-this> (eg, kindly attach it) :) I'm betting this is actually a dupe of bug 74311 behaviour, which was a dupe of bug 13632 ...
*** Bug 101364 has been marked as a duplicate of this bug. ***
I used emerge kde[modules]-meta for all major kde segments. In reviewing kdepim-meta-3.4.2.ebuild, I noticed the following: RDEPEND=" $(deprange $PV $MAXKDEVER kde-base/certmanager) $(deprange $PV $MAXKDEVER kde-base/kaddressbook) $(deprange $PV $MAXKDEVER kde-base/kalarm) $(deprange $PV $MAXKDEVER kde-base/kandy) $(deprange $PV $MAXKDEVER kde-base/karm) $(deprange $PV $MAXKDEVER kde-base/kdepim-kioslaves) $(deprange $PV $MAXKDEVER kde-base/kdepim-kresources) $(deprange $PV $MAXKDEVER kde-base/kdepim-wizards) $(deprange $PV $MAXKDEVER kde-base/kitchensync) $(deprange $PV $MAXKDEVER kde-base/kmail) $(deprange 3.4.1 $MAXKDEVER kde-base/kmailcvt) $(deprange $PV $MAXKDEVER kde-base/knode) $(deprange 3.4.1 $MAXKDEVER kde-base/knotes) $(deprange 3.4.1 $MAXKDEVER kde-base/kode) $(deprange $PV $MAXKDEVER kde-base/konsolekalendar) $(deprange $PV $MAXKDEVER kde-base/kontact) $(deprange $PV $MAXKDEVER kde-base/kontact-specialdates) $(deprange $PV $MAXKDEVER kde-base/korganizer) $(deprange $PV $MAXKDEVER kde-base/korn) pda? ( $(deprange $PV $MAXKDEVER kde-base/kpilot) ) $(deprange 3.4.1 $MAXKDEVER kde-base/ksync) $(deprange $PV $MAXKDEVER kde-base/ktnef) $(deprange $PV $MAXKDEVER kde-base/libkcal) $(deprange 3.4.1 $MAXKDEVER kde-base/libkdenetwork) $(deprange $PV $MAXKDEVER kde-base/libkdepim) $(deprange $PV $MAXKDEVER kde-base/libkholidays) $(deprange 3.4.1 $MAXKDEVER kde-base/libkmime) $(deprange 3.4.1 $MAXKDEVER kde-base/libkpgp) $(deprange 3.4.1 $MAXKDEVER kde-base/libkpimexchange) $(deprange 3.4.1 $MAXKDEVER kde-base/libkpimidentities) $(deprange 3.4.1 $MAXKDEVER kde-base/libksieve) $(deprange $PV $MAXKDEVER kde-base/mimelib) $(deprange $PV $MAXKDEVER kde-base/networkstatus)" Notice all the 3.4.1's. Now, when I do, for example: mars peter # emerge -puND --tree world These are the packages that I would merge, in reverse order: Calculating world dependencies ...done! [ebuild R ] gnome-base/control-center-2.10.1-r1 [nomerge ] kde-base/kdepim-meta-3.4.2 [nomerge ] kde-base/kontact-specialdates-3.4.2 [nomerge ] kde-base/kmail-3.4.2-r1 [nomerge ] kde-base/kmailcvt-3.4.1 [ebuild UD] kde-base/kdelibs-3.4.1-r1 [3.4.2] [ebuild UD] kde-base/arts-3.4.1-r2 [3.4.2] ... Notice how kmail 3.4.1 is already emerged. Apparently, it does not get upgraded even though it IS in package.keywords as 3.4.2. HTH
Appears there _is_ no kmailcvt-3.4.2.ebuild at the moment. That's the problem in my case.
*** Bug 101796 has been marked as a duplicate of this bug. ***
*** Bug 102069 has been marked as a duplicate of this bug. ***
These methods appear to be working for me, however this is a serious problem. I have had to add over 13 packages to portage.keywords with ~amd64 and upgrade packages that I did not wish to upgrade (for example quanta) just to get KDE to stop upgrading/downgrading.
*** Bug 102269 has been marked as a duplicate of this bug. ***
*** Bug 102270 has been marked as a duplicate of this bug. ***
Released in 2.1_pre1.