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

Bug 340983

Summary: sys-apps/portage-2.2_rc94 prints wrong conflict atoms in "missed update" message
Product: Portage Development Reporter: Bernardo Costa <bernardofpc>
Component: CoreAssignee: Portage team <dev-portage>
Status: RESOLVED FIXED    
Severity: normal    
Priority: High    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 335925    
Attachments: Result of "emerge -vuDN world --pretend --debug", gzipped

Description Bernardo Costa 2010-10-14 13:53:57 UTC
With sys-apps/portage-2.2_rc94, as well as sys-apps/portage-2.2_rc91, with latest tree, doing emerge -vauDN world results in python-2.6.6-r1 being a blocker for many programs depending on >=python-2.5 or =python-2*, and then portage wants to downgrade it to resolve these dependency issues.

Reproducible: Always

Steps to Reproduce:
1. Have hard-unmasked sys-apps/portage-2.2 and dev-lang/python-2.6.6-r1
2. emerge --sync
3. emerge -vauDN world

Actual Results:  
emerge then says

[ebuild     UD]   dev-lang/python-2.6.5-r103 [2.6.6-r1] USE="ncurses readline sqlite ssl threads (wide-unicode) xml -berkdb -build -doc -examples -gdbm -ipv6 -tk -wi

!!! One or more updates have been skipped due to a dependency conflict:

dev-lang/python:2.6

  (dev-lang/python-2.6.6-r1::gentoo, ebuild scheduled for merge) conflicts with
    =dev-lang/python-2* required by (net-analyzer/nmap-5.35::gentoo, installed)
  (dev-lang/python-2.6.6-r1::gentoo, ebuild scheduled for merge) conflicts with
    =dev-lang/python-2*[threads] required by (app-editors/vim-7.3::gentoo, installed)
  (dev-lang/python-2.6.6-r1::gentoo, ebuild scheduled for merge) conflicts with
    =dev-lang/python-2* required by (app-editors/vim-7.3::gentoo, installed)
  (dev-lang/python-2.6.6-r1::gentoo, ebuild scheduled for merge) conflicts with
    >=dev-lang/python-2.6.5-r99:2.6 required by (sci-mathematics/sage-4.5.3::sage-on-gentoo, installed)
  (dev-lang/python-2.6.6-r1::gentoo, ebuild scheduled for merge) conflicts with
    =dev-lang/python-2* required by (app-admin/webapp-config-1.50.16-r3::gentoo, installed)
  (dev-lang/python-2.6.6-r1::gentoo, ebuild scheduled for merge) conflicts with
    =dev-lang/python-2* required by (media-gfx/exiv2-0.20::gentoo, installed)
  (dev-lang/python-2.6.6-r1::gentoo, ebuild scheduled for merge) conflicts with
    =dev-lang/python-2* required by (media-libs/alsa-lib-1.0.23::gentoo, installed)



Expected Results:  
Use python-2.6.6-r1

I have replaced the line of /usr/portage/net-analyzer/nmap/nmap-5.35.ebuild that said "=dev-lang/python-2.5[sqlite]" with "=dev-lang/python-2.6[sqlite]" and it got out of the blocking list. So I suppose this could be a bug with (newer) portage-2.2.
Comment 1 Sebastian Luther (few) 2010-10-14 14:37:19 UTC
There are some differences between what you wrote and what you pasted. 

The summary say it wants to downgrade to python-2.5, but your merge list contain 2.6.5.

(In reply to comment #0)
> I have replaced the line of /usr/portage/net-analyzer/nmap/nmap-5.35.ebuild
> that said "=dev-lang/python-2.5[sqlite]" with "=dev-lang/python-2.6[sqlite]"
> and it got out of the blocking list. 

The nmap-5.35 ebuild doesn't contain "=dev-lang/python-2.5[sqlite]", only ">=dev-lang/python-2.5[sqlite]" and there are no blockers in the output you pasted.
Comment 2 Bernardo Costa 2010-10-14 15:07:45 UTC
Sorry for the double mistake. You're absolutely right about the version portage wants to downgrade to. And, as I have tested editing nmap, emerge -vauDN ; revert edit ; emerge -vauDN I have simply copied the bad one... thus with a standard portage tree this would downgrade from 2.6.6 to 2.6.5 (in my case, I have sage-on-gentoo overlay providing 2.6.5-r103, but otherwise I think it's juste 2.6.5-r3) and indeed I get 

  (dev-lang/python-2.6.6-r1::gentoo, ebuild scheduled for merge) conflicts with
    =dev-lang/python-2* required by (net-analyzer/nmap-5.35::gentoo, installed)

along with the others. And the incriminated part of nmap-5.35.ebuild I have is (as you said, again)

    gtk? ( >=x11-libs/gtk+-2.6 
           >=dev-python/pygtk-2.6 
           || ( >=dev-lang/python-2.5[sqlite] 
                >=dev-python/pysqlite-2 ) 
         ) 

which shows that some strange thing is going into portage (as it says =python-2* just above). Perhaps some inherit is going there?

Well, now I found out that indeed sage-4.5.3 requires 

CDEPEND=">=dev-lang/python-2.6.5-r99:2.6 
    ~dev-lang/python-2.6.5:2.6 

so perhaps this is WHY portage does not want a 2.6.6 merged.

If that's the case, then this should probably go to sage maintainers (for requesting 2.6.6 also good...). But anyway, portage should not show non-blockers such as =python-2* for python-2.6.6-r1, should it? So this remains a bug?
Comment 3 Sebastian Luther (few) 2010-10-14 15:59:26 UTC
(In reply to comment #2)
> But anyway, portage should not show
> non-blockers such as =python-2* for python-2.6.6-r1, should it? So this remains
> a bug?
> 

Agreed.
Comment 4 Zac Medico gentoo-dev 2010-10-14 17:27:59 UTC
Please create debug.log like this and post it:

  emerge -vuDN world --pretend --debug &> debug.log
Comment 5 Bernardo Costa 2010-10-14 19:28:15 UTC
Created attachment 250613 [details]
Result of "emerge -vuDN world --pretend --debug", gzipped
Comment 7 Zac Medico gentoo-dev 2010-10-14 19:46:38 UTC
For the moment I'm not labeling this as a regression because I doubt that portage-2.1.8.3 handles this any better.
Comment 8 Zac Medico gentoo-dev 2010-10-16 03:38:56 UTC
This is fixed in 2.1.9.19 and 2.2_rc97.