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

Bug 289147

Summary: emerge --depclean doesn't respect select python slot
Product: Portage Development Reporter: R.I.P. <riphome>
Component: CoreAssignee: Portage team <dev-portage>
Status: CONFIRMED ---    
Severity: normal CC: esigra
Priority: High    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on: 283587    
Bug Blocks: 144480    

Description R.I.P. 2009-10-15 02:07:28 UTC
running emerge --depclean while removing older versions of python sets symlink /usr/bin/python to python 3.1

Reproducible: Always

Steps to Reproduce:
1. python 2.4.x, 2.6.3, 3.1 installed
2. eselect python list:

$ eselect python list
Available python interpreters:
  [1]   python2.4
  [2]   python2.6 *
  [3]   python3.1

3. run emerge --depclean:

$ emerge --depclean
...
>>> Unmerging dev-lang/python-2.4.4-r13...
 * Linking /usr/bin/python3.1 to /usr/bin/python (relative)
 * Linking /usr/bin/python2.6 to /usr/bin/python2 (relative)
 * Linking /usr/bin/idle3.1 to /usr/bin/idle (relative)
 * Linking /usr/bin/pydoc3.1 to /usr/bin/pydoc (relative)
 * Linking /usr/bin/python-config-3.1 to /usr/bin/python-config (relative)
 * Linking /usr/share/man/man1/python3.1.1.bz2 to /usr/share/man/man1/python.1.bz2 (relative)
 * Cleaning orphaned Python bytecode from /usr/lib/python2.4 ..
...


Actual Results:  
after this:

$ eselect python list
Available python interpreters:
  [1]   python2.6 *
  [2]   python3.1
$ python --version
Python 3.1.1
$ eselect python set 1
$ python --version
Python 2.6.3


Expected Results:  
expected:

$ eselect python list
Available python interpreters:
  [1]   python2.6 *
  [2]   python3.1
$ python --version
Python 2.6.3
Comment 1 Zac Medico gentoo-dev 2009-10-15 03:45:45 UTC
For this, we can re-use same class that will be used to solve bug 283587. The only difference will be that the /usr/bin/python symlink will be used instead of the /usr/src/linux symlink.
Comment 2 Arfrever Frehtes Taifersar Arahesis (RETIRED) gentoo-dev 2009-10-15 21:09:49 UTC
(In reply to comment #0)
> running emerge --depclean while removing older versions of python sets
> symlink /usr/bin/python to python 3.1

pkg_postrm() functions from all dev-lang/python ebuilds currently existing in the tree don't activate Python 3.* when it wasn't active earlier. You were unmerging 2.4.4-r13 which had older version of pkg_postrm().

(In reply to comment #1)
> /usr/bin/python symlink will be used

In current times, /usr/bin/python is a symlink to python-wrapper :) .
You can check /etc/env.d/python/config.
Comment 3 Dirkjan Ochtman (RETIRED) gentoo-dev 2010-01-18 07:37:01 UTC
I get:

djc@planck ~ $ sudo emerge -p --depclean
 * Dependencies could not be completely resolved due to
 * the following required packages not being installed:
 * 
 *   >=app-admin/eselect-python-20091230 pulled in by:
 *     dev-lang/python-3.1.1-r1

But also:

djc@planck ~ $ sudo emerge -upvDN world

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild     U ] dev-python/setuptools-0.6.10 [0.6.8-r1] 377 kB

Total: 1 package (1 upgrade), Size of downloads: 377 kB

That's the same as this bug, right?
Comment 4 Zac Medico gentoo-dev 2010-01-19 00:17:42 UTC
(In reply to comment #3)
> That's the same as this bug, right?

No, that looks like something different. Please file a new bug.
Comment 5 Dirkjan Ochtman (RETIRED) gentoo-dev 2010-01-19 08:24:14 UTC
Filed as separate bug 301498.