Summary: | sys-apps/portage-2.2.0_alpha55 --depclean wants to remove $package (such as pysqlite) and emerge @world -uDN wants to remerge it | ||
---|---|---|---|
Product: | Portage Development | Reporter: | Niko Böckerman <gentoo.cart9> |
Component: | Core | Assignee: | Portage team <dev-portage> |
Status: | CONFIRMED --- | ||
Severity: | normal | CC: | esigra, gentoo |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 155723 | ||
Attachments: |
Contents of /var/db/pkg/dev-lang/python-2.7.1-r1
Contents of /var/db/pkg/dev-lang/python-2.7.1-r1 which python from main tree Output of emerge @world -uDN --pretend --debug &> debug.log Contents of /var/db/pkg/dev-lang/python-3.1.3-r1 |
Description
Niko Böckerman
2011-09-12 22:37:16 UTC
Can you make a tarball of /var/db/pkg/dev-lang/python-2.7.1-r1 in case we need if for later analysis, and rebuild python-2.7.1-r1 to see if that helps? Created attachment 286295 [details]
Contents of /var/db/pkg/dev-lang/python-2.7.1-r1
Created attachment 286299 [details]
Contents of /var/db/pkg/dev-lang/python-2.7.1-r1 which python from main tree
I just noticed while rebuilding python that I had python installed from sage-on-gentoo overlay. Rebuilding that did not help with the situation.
Then I changed sage dependencies so that I managed to build the python from main tree. That python version didn't help either.
Please attach --pretend --debug output for the update command that pulls in pysqlite: emerge @world -uDN --pretend --debug &> debug.log Created attachment 286353 [details]
Output of emerge @world -uDN --pretend --debug &> debug.log
Right after that debug command I ran this command to show that the pysqlite wants to get merged:
# emerge @world -uDNp
These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild N ] dev-python/pysqlite [2.6.3] USE="-examples"
Your debug log shows that it's trying to choose python-3.1.3-r1, and then rejects it: Parent: (dev-python/sqlalchemy-0.6.7::gentoo, installed) Depstring: || ( >=dev-lang/python-2.5[sqlite] dev-python/pysqlite ) Priority: runtime installed: dev-lang/python-3.1.3-r1::gentoo ebuild: dev-python/pysqlite-2.6.3::gentoo ebuild: dev-python/pysqlite-2.6.3::gentoo Candidates: ['dev-python/pysqlite'] I suspect that this is related to the patch that triggered bug 382557: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=21330075f07248765016e104b3ba8216903f1ecb You can try reverting that patch to see if it helps. Can you please attach a tarball of the /var/db/pkg/dev-lang/python-3.1.3-r1 directory? (In reply to comment #6) > I suspect that this is related to the patch that triggered bug 382557: > > http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=21330075f07248765016e104b3ba8216903f1ecb > > You can try reverting that patch to see if it helps. Actually, disregard the above patch, because python is not a virtual. Please do give us a /var/db/pkg/dev-lang/python-3.1.3-r1 tarball though. Created attachment 286355 [details]
Contents of /var/db/pkg/dev-lang/python-3.1.3-r1
It's probably triggered by the fact that you don't have USE=sqlite enabled for python-3.1.3-r1. Oh yes, that might obviously be the case. But shouldn't it still be satisfied as I have python:2.7 installed with USE=sqlite? As far as I can see that should fulfil the first dependency >=dev-lang/python-2.5[sqlite]. Yes, we need to fix it to search all slots. We can use an approach similar to the one that we use for virtual slots to solve bug #141118 and bug #382557. (In reply to comment #9) > It's probably triggered by the fact that you don't have USE=sqlite enabled for > python-3.1.3-r1. I get hit with this issue as well: portage 2.1.10.44 python 2.7.2-r3 from the sage-on-gentoo overlay, with sqlite useflag python 3.1.4-r3 from portage, without the sqlite useflag Let me know if you want more specific info. The problem is that portage's dep_zapdeps function only matches the highest available slot for each choice of an || dependency like the one shown in comment #6: || ( >=dev-lang/python-2.5[sqlite] dev-python/pysqlite ) If python-3.x is installed with USE=-sqlite, that this causes dep_zapdeps to choose pysqlite instead of python-2*[sqlite]. Its not really easy to fix, given the way that the code currently works. However, if you experience this problem then a simple workaround is to enable USE=sqlite for python-3.x. dev-python/pysqlite has been removed, see bug #408835. Marking as fixed. Re-opening, since this issue could affect similarly expressed dependencies. |