Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 100876 - Dependencies like "|| ( foo-2 foo-1 )" are not properly upgraded
Summary: Dependencies like "|| ( foo-2 foo-1 )" are not properly upgraded
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All All
: High major (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords:
: 101069 101364 101796 102069 102269 102270 (view as bug list)
Depends on:
Blocks: 115839
  Show dependency tree
 
Reported: 2005-07-31 03:37 UTC by spiralvoice
Modified: 2005-12-17 03:41 UTC (History)
11 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 spiralvoice 2005-07-31 03:37:05 UTC
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:
Comment 1 Gregorio Guidi (RETIRED) gentoo-dev 2005-08-02 03:29:17 UTC
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? 
Comment 2 Gregorio Guidi (RETIRED) gentoo-dev 2005-08-02 03:29:26 UTC
*** Bug 101069 has been marked as a duplicate of this bug. ***
Comment 3 Michael Schnake 2005-08-03 03:17:55 UTC
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. 
Comment 4 Michael Schnake 2005-08-03 03:24:24 UTC
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. 
Comment 5 Gregorio Guidi (RETIRED) gentoo-dev 2005-08-03 03:38:51 UTC
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? 
Comment 6 Michael Schnake 2005-08-03 03:54:27 UTC
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 ;-)   
Comment 7 Michael Schnake 2005-08-03 03:57:46 UTC
Ooops, please add "--oneshot" to the emerge commandline above. Sorry. 
Comment 8 Brian Harring (RETIRED) gentoo-dev 2005-08-04 00:49:57 UTC
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 ...
Comment 9 Gregorio Guidi (RETIRED) gentoo-dev 2005-08-04 11:45:43 UTC
*** Bug 101364 has been marked as a duplicate of this bug. ***
Comment 10 Peter Hyman 2005-08-08 05:53:42 UTC
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
Comment 11 Peter Hyman 2005-08-08 05:57:11 UTC
Appears there _is_ no kmailcvt-3.4.2.ebuild at the moment. That's the problem in
my case.
Comment 12 Carsten Lohrke (RETIRED) gentoo-dev 2005-08-08 16:26:23 UTC
*** Bug 101796 has been marked as a duplicate of this bug. ***
Comment 13 Gregorio Guidi (RETIRED) gentoo-dev 2005-08-11 02:41:11 UTC
*** Bug 102069 has been marked as a duplicate of this bug. ***
Comment 14 Steve B. 2005-08-11 04:04:54 UTC
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.  
Comment 15 Gregorio Guidi (RETIRED) gentoo-dev 2005-08-14 06:08:06 UTC
*** Bug 102269 has been marked as a duplicate of this bug. ***
Comment 16 Gregorio Guidi (RETIRED) gentoo-dev 2005-08-14 07:07:35 UTC
*** Bug 102270 has been marked as a duplicate of this bug. ***
Comment 17 Jason Stubbs (RETIRED) gentoo-dev 2005-12-17 03:41:50 UTC
Released in 2.1_pre1.