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

Bug 282575

Summary: python unmerge failed to run postrm
Product: Gentoo Linux Reporter: Honza <hkmaly>
Component: Current packagesAssignee: Python Gentoo Team <python>
Status: VERIFIED CANTFIX    
Severity: normal    
Priority: High    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Honza 2009-08-24 14:48:59 UTC
While unmerging dev-lang/python-2.6.2-r1, error was reported in postrm phase

Reproducible: Always

Steps to Reproduce:
1. emerge python (in new slot)
2. unmerge it


Actual Results:  
ERROR: postrm

ERROR: dev-lang/python-2.6.2-r1 failed.
Call stack:
              ebuild.sh, line 1776:  Called die
The specific snippet of code:
        preprocess_ebuild_env || \
                die "error processing environment"
 The die message:
  error processing environment

If you need support, post the topmost build error, and the call stack if relevant.
A complete build log is located at '/var/log/portage/dev-lang:python-2.6.2-r1:20090824-143029.log'.
The ebuild environment file is located at '/var/tmp/binpkgs/dev-lang/python-2.6.2-r1/temp/environment'.


The 'postrm' phase of the 'dev-lang/python-2.6.2-r1' package has failed
with exit value 1.

The problem occurred while executing the ebuild file named
'python-2.6.2-r1.ebuild' located in the '/var/db/pkg/dev-
lang/python-2.6.2-r1' directory. If necessary, manually remove the
environment.bz2 file and/or the ebuild file located in that directory.
  
Removal of the environment.bz2 file is preferred since it may allow the
removal phases to execute successfully. The ebuild will be sourced and
the eclasses from the current portage tree will be used when necessary.
Removal of the ebuild file will cause the pkg_prerm() and pkg_postrm()
removal phases to be skipped entirely.

....

There is also error
/usr/bin/env: python: No such file or directory
in the build log.

Expected Results:  
The python should be unmerged cleanly. It's not like I don't have any python to unmerge it with, actually I have both 2.4 and 2.5 installed.


There is line
eselect python update --ignore 3.0 --ignore 3.1 --ignore 3.2
in pkg_postrm ... maybe it should be moved into pkg_prerm (with ignore for unmerged version added) or something like that?
Comment 1 Patrick Lauer gentoo-dev 2009-08-26 07:22:34 UTC
Why did you unmerge 2.6 ?
Comment 2 Honza 2009-08-26 07:34:15 UTC
Why not?

I did emerged it by mistake (wanted to upgrade the 2.5 to the newest one and overlooked that 2.6 is already stable).
Comment 3 Arfrever Frehtes Taifersar Arahesis (RETIRED) gentoo-dev 2009-08-30 18:44:34 UTC
Post the output of:
emerge --info
emerge -ptv eselect-python
Comment 4 Honza 2009-08-31 06:50:51 UTC
Portage 2.1.6.13 (default/linux/amd64/2008.0, gcc-3.4.6, glibc-2.5-r4, 2.6.23-gentoo-r9-64 x86_64)
=================================================================
System uname: Linux-2.6.23-gentoo-r9-64-x86_64-AMD_Athlon-tm-_64_Processor_3000+-with-glibc2.2.5
Timestamp of tree: Mon, 24 Aug 2009 09:15:02 +0000
app-shells/bash:     3.2_p17
dev-java/java-config: 1.3.7-r1, 2.1.7
dev-lang/python:     2.4.6, 2.5.4-r3
dev-python/pycrypto: 2.0.1-r8
dev-util/cmake:      2.4.8
sys-apps/baselayout: 1.12.11.1
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.13, 2.61-r2
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10
sys-devel/binutils:  2.16.1-r3, 2.18-r3
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.23-r3
ACCEPT_KEYWORDS="amd64"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe -mtune=athlon64"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/X11/xkb"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/php/apache2-php4/ext-active/ /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php4/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php4/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-O2 -pipe -mtune=athlon64"
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks fixpackages metadata-transfer parallel-fetch protect-owned sandbox sfperms unmerge-orphans userfetch"
GENTOO_MIRRORS="ftp://ftp.tu-clausthal.de/pub/linux/gentoo http://ftp.sh.cvut.cz/MIRRORS/gentoo/gentoo/ http://www.mirror.ac.uk/sites/www.ibiblio.org/gentoo/ http://gentoo.oregonstate.edu http://www.ibiblio.org/pub/Linux/distributions/gentoo"
LDFLAGS="-Wl,-O1"
LINGUAS="en cs en_GB"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="3dnow 3dnowex X Xaw3d aalib acl acpi alsa amd64 apache2 apm audiofile avi berkdb browserplugin bzip2 bzlib caps cdr cli cracklib crypt cups curl dbase dbm dbx dga directfb divx4linux doc dri dvd dvdr encode esd ethereal exif fbcon flac flash fortran gd gdbm ggi gif gpm gtk iconv imagemagick imlib innodb ipv6 isdnlog java jpeg lcms lesstif libcaca libwww lirc lzo mad mailwrapper mbox mcal memlimit mhash mikmod mime ming mmap mmx mmx2 mng motif mozilla mp3 mpeg mudflap multilib multislot mysql ncurses nls nptl nptlonly offensive oggvorbis openal opengl openmp oss pam pcntl pcre pdflib perl php plotutils png posix pppd python qt quicktime readline reflection rtc samba sdl session shared sharedmem slang sndfile snmp sockets spell spl sqlite sse sse2 ssl sysfs sysvipc tcpd tetex theora tiff truetype unicode usb v4l v4l2 vhosts videos wmf xml xorg xosd xpm xsl xv xvid zip zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="access auth auth_dbm auth_anon auth_digest alias file-cache echo charset-lite cache disk-cache mem-cache ext-filter case_filter case-filter-in deflate mime-magic cern-meta expires headers usertrack unique-id proxy proxy-connect proxy-ftp proxy-http info include cgi cgid dav dav-fs vhost-alias speling rewrite log_config logio env setenvif mime status autoindex asis negotiation dir imap actions userdir so filter unique_id authz_host auth_basic authn_dbd authn_file authz_owner authz_user charset_lite dbd mem_cache" APACHE2_MPMS="prefork" ELIBC="glibc" INPUT_DEVICES="evdev keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en cs en_GB" USERLAND="GNU" VIDEO_CARDS="nv nvidia vesa r128 fbdev"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS



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

Calculating dependencies... done!
[ebuild   R   ] app-admin/eselect-python-20090606  0 kB

Total: 1 package (1 reinstall), Size of downloads: 0 kB

 * IMPORTANT: 2 news items need reading for repository 'gentoo'.
 * Use eselect news to read news items.

Comment 5 Arfrever Frehtes Taifersar Arahesis (RETIRED) gentoo-dev 2009-08-31 21:21:58 UTC
This problem is fixed by >=app-admin/eselect-python-20090804.
Comment 6 Arfrever Frehtes Taifersar Arahesis (RETIRED) gentoo-dev 2009-08-31 21:33:41 UTC
(In reply to comment #5)
> This problem is fixed by >=app-admin/eselect-python-20090804.

Actually it isn't, but we also cannot use `eselect python update --ignore ${SLOT} --ignore 3.0 --ignore 3.1 --ignore 3.2` in pkg_prerm(), because pkg_prerm() is also called during reinstallation/upgrade of Python. We cannot try to use an older version of Python between pkg_prerm() and pkg_postrm(), because Portage might not support this older version of Python. (Portage trunk will soon start requiring Python >=2.6.)