Hello!
In the mean time I have sent the attached patch to people involved with building Gentoo stages. Before further taking action on/with that patch I am waiting for their response. I am now posting it here in order to let you know about this change in status and to give potentially interested parties a chance to join with review. Best, Sebastian
Index: python-2.7.1.ebuild =================================================================== RCS file: /var/cvsroot/gentoo-x86/dev-lang/python/python-2.7.1.ebuild,v retrieving revision 1.3 diff -u -r1.3 python-2.7.1.ebuild --- python-2.7.1.ebuild 1 Dec 2010 19:53:20 -0000 1.3 +++ python-2.7.1.ebuild 3 Dec 2010 13:43:05 -0000 @@ -356,10 +356,35 @@ fi } -ensure_python_symlink() { - if [[ -z "$(eselect python show --python${PV%%.*})" ]]; then - eselect python update --python${PV%%.*} - fi +repair_python_integration() { + case "$1" in + pkg_postinst) + # Ensure active python on our line (either 2.x or 3.x) + # If unset, use us + if [[ -z "$(eselect python show --python${PV%%.*})" ]]; then + eselect python set --python${PV%%.*} python${SLOT} || die + fi + + # Ensure two symlinks are in place + for symlink in ${EROOT%/}/usr/bin/python{,${PV%%.*}}; do + [[ -f "${symlink}" ]] && continue + einfo "Creating symlink: ${symlink}" + ln -s python-wrapper "${symlink}" || die + done + ;; + + pkg_postrm) + # Ensure active python on our line (either 2.x or 3.x) + # If unset, use latest + if [[ -z "$(eselect python show --python${PV%%.*})" ]]; then + eselect python update --python${PV%%.*} --if-unset || die + fi + ;; + + *) + die 'unsupported usage of repair_python_integration()' + ;; + esac } pkg_preinst() { @@ -372,7 +397,7 @@ pkg_postinst() { restore_active_python_version - ensure_python_symlink + repair_python_integration ${FUNCNAME} python_mod_optimize -f -x "/(site-packages|test|tests)/" $(python_get_libdir) @@ -390,7 +415,7 @@ } pkg_postrm() { - ensure_python_symlink + repair_python_integration ${FUNCNAME} python_mod_cleanup $(python_get_libdir) }