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

Bug 330937

Summary: dev-lang/python-2.6.5_p20100801 breaks <sys-apps/portage-2.1.9
Product: Gentoo Linux Reporter: Andreas Proteus <proteuss>
Component: [OLD] DevelopmentAssignee: Gentoo Quality Assurance Team <qa>
Status: RESOLVED FIXED    
Severity: major CC: aaron.lewis1989, aidanamarks, antanas.ursulis, bugs+gentoo, buraktuysuz, comrel, dev-portage, dieterv, euan, jacobgodserv, jer, michael, proteuss, python, qa, realnc, zeekec
Priority: High    
Version: unspecified   
Hardware: All   
OS: Linux   
See Also: https://bugs.gentoo.org/show_bug.cgi?id=531724
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 335925    
Attachments: portage.patch

Description Andreas Proteus 2010-08-02 23:33:14 UTC
Updating to this version of python stops portage from emerging anything.

Reproducible: Always

Steps to Reproduce:
1. emerge -va =dev-lang/python-3.1.2_p20100801
2. emerge anything after that,  gives error
3




Portage 2.2_rc67 (default/linux/x86/10.0, gcc-4.4.4, glibc-2.11.2-r0, 2.6.34-gentoo-r2-ole i686)
=================================================================
System uname: Linux-2.6.34-gentoo-r2-ole-i686-Intel-R-_Core-TM-2_Duo_CPU_E6550_@_2.33GHz-with-gentoo-2.0.1
Timestamp of tree: Mon, 02 Aug 2010 20:45:02 +0000
distcc 3.1 i686-pc-linux-gnu [enabled]
ccache version 2.4 [enabled]
app-shells/bash:     4.1_p7
dev-java/java-config: 1.3.7-r1, 2.1.11
dev-lang/python:     2.6.5-r2, 3.1.2-r4
dev-util/ccache:     2.4-r8
dev-util/cmake:      2.8.1-r2
sys-apps/baselayout: 2.0.1
sys-apps/openrc:     0.6.1-r1
sys-apps/sandbox:    2.2
sys-devel/autoconf:  2.13, 2.65-r1
sys-devel/automake:  1.4_p6-r1, 1.5, 1.6.3, 1.7.9-r2, 1.8.5-r3, 1.9.6-r3, 1.10.3, 1.11.1
sys-devel/binutils:  2.20.1-r1
sys-devel/gcc:       4.4.4-r1
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.10
virtual/os-headers:  2.6.34
ACCEPT_KEYWORDS="x86 ~x86"
ACCEPT_LICENSE="* -@EULA dlj-1.1 googleearth AdobeFlash-10.1"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-march=prescott -O2 -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-march=prescott -O2 -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests ccache collision-protect distcc distlocks fixpackages metadata-tranfer news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unmerge-logs unmerge-orphans userfetch"
GENTOO_MIRRORS="http://ftp.ntua.gr/pub/linux/gentoo ftp://files.gentoo.gr/ ftp://ftp.ntua.gr/pub/linux/gentoo/ ftp://gentoo.arcticnetwork.ca/pub/gentoo/"
LANG="el_GR.ISO-8859-7"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="en el"
MAKEOPTS="-j11"
PKGDIR="/usr/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/portage/local/layman/berkano /usr/portage/local/layman/perl-experimental /usr/portage/local/layman/sunrise /usr/portage/local/layman/desktop-effects /usr/portage/local/layman/jokey /usr/portage/local/layman/science /usr/portage/local/layman/vmware /usr/portage/local/layman/kde-sunset /usr/portage/local/layman/gnome /usr/portage/local"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="X aac acl alsa arts avahi bash-completion berkdb bzip2 cli cracklib cups curl cxx dbus dri dvd fam ffmpeg flac fontconfig fortran gdbm gif gpm gtk hal iconv imagemagick java jpeg kde mad mmx modules mono mp3 mplayer mudflap mysql ncurses nls npp nptl nptlonly nsplugin ogg opengl opengli openmp oss pam pcre pdf perl png pppd python qt3support rdesktop readline reflection samba session slang spell spl sse ssl ssse3 svg sysfs tcpd tetex tiff tk truetype unicode vorbis win32codecs x86 xorg xpm xulrunner xv xvid zeroconf zlib" ALSA_CARDS="hda-intel" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en el" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="nvidia" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" 
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS


Quick way out of this.

mask python 2.6.5_p20100801
eselect python 3.x
emerge python 2.6.5
eselect python 2.x
And you are back in business.
Comment 1 Andreas Proteus 2010-08-02 23:43:52 UTC
I misstyped the version.
  This should be :

*********** dev-lang/python-2.6.5_p20100801 **************

My apologies.

Can someone fix it?
Comment 2 Antanas Uršulis 2010-08-02 23:46:12 UTC
You should've provided the error. Here is a sample one:


>>> Emerging (1 of 1) dev-lang/python-2.6.5-r3
Traceback (most recent call last):
  File "/usr/bin/emerge", line 42, in <module>
    retval = emerge_main()
  File "/usr/lib64/portage/pym/_emerge/main.py", line 1555, in emerge_main
    myopts, myaction, myfiles, spinner)
  File "/usr/lib64/portage/pym/_emerge/actions.py", line 434, in action_build
    retval = mergetask.merge()
  File "/usr/lib64/portage/pym/_emerge/Scheduler.py", line 914, in merge
    rval = self._merge()
  File "/usr/lib64/portage/pym/_emerge/Scheduler.py", line 1222, in _merge
    self._main_loop()
  File "/usr/lib64/portage/pym/_emerge/Scheduler.py", line 1369, in _main_loop
    self._poll_loop()
  File "/usr/lib64/portage/pym/_emerge/PollScheduler.py", line 134, in _poll_loop
    handler(f, event)
  File "/usr/lib64/portage/pym/_emerge/SpawnProcess.py", line 151, in _output_handler
    buf.fromfile(files.process, self._bufsize)
IOError: [Errno 11] Resource temporarily unavailable
Comment 3 Nikos Chantziaras 2010-08-03 00:16:10 UTC
Same here. I can't emerge anything after the update.
Comment 4 Brian Harring (RETIRED) gentoo-dev 2010-08-03 01:23:25 UTC
This was caused by a blind importation of upstream 2.6 release branch-
http://overlays.gentoo.org/proj/python/changeset/362
Comment 5 Simon C. Ion 2010-08-03 01:30:28 UTC
(In reply to comment #0)
> Quick way out of this.
> 
> mask python 2.6.5_p20100801
> eselect python 3.x
> emerge python 2.6.5
> eselect python 2.x
> And you are back in business.
> 

Does not work for me.

# eselect python set python3.1
# emerge --version
Traceback (most recent call last):
  File "/usr/bin/emerge", line 42, in <module>
    retval = emerge_main()
  File "/usr/lib/portage/pym/_emerge/main.py", line 1041, in emerge_main
    portdb = trees[settings["ROOT"]]["porttree"].dbapi
  File "/usr/lib/portage/pym/portage/util/__init__.py", line 1121, in __getitem__
    result = lazy_item.func(*pargs, **kwargs)
  File "/usr/lib/portage/pym/portage/dbapi/porttree.py", line 1202, in __init__
    self.dbapi = portdbapi(mysettings=settings)
  File "/usr/lib/portage/pym/portage/dbapi/porttree.py", line 354, in __init__
    self.auxdbmodule = self.settings.load_best_module("portdbapi.auxdbmodule")
  File "/usr/lib/portage/pym/portage/package/ebuild/config.py", line 1169, in load_best_module
    raise
RuntimeError: No active exception to reraise
Comment 6 Nikos Chantziaras 2010-08-03 01:33:53 UTC
(In reply to comment #5)
> (In reply to comment #0)
> > Quick way out of this.
> > 
> > mask python 2.6.5_p20100801
> > eselect python 3.x
> > emerge python 2.6.5
> > eselect python 2.x
> > And you are back in business.
> > 
> 
> Does not work for me.

Neither for me.  python2.6 is the only version on my system.

Is there a howto somewhere on how to repair a broken python?
Comment 7 Arfrever Frehtes Taifersar Arahesis (RETIRED) gentoo-dev 2010-08-03 01:38:30 UTC
Fixed in Portage:
http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commitdiff;h=5426e509c7053f75746bbb6ce0673e0663e4e98a
Comment 8 Arfrever Frehtes Taifersar Arahesis (RETIRED) gentoo-dev 2010-08-03 01:45:20 UTC
Created attachment 241173 [details, diff]
portage.patch

Save this patch as /tmp/portage.patch and apply it using:
patch /usr/lib/portage/pym/_emerge/SpawnProcess.py /tmp/portage.patch
Comment 9 Simon C. Ion 2010-08-03 01:47:30 UTC
(In reply to comment #8)
> Created an attachment (id=241173) [details]
> portage.patch
> 
> Save this patch as /tmp/portage.patch and apply it using:
> patch /usr/lib/portage/pym/_emerge/SpawnProcess.py /tmp/portage.patch
> 

This doesn't fix the issue for me.

Here's my emerge --info from a bug that I reported a few days ago. It should be
up to date:

Portage 2.1.8.3 (default/linux/x86/10.0, gcc-4.4.4-asneeded, glibc-2.11.2-r0,
2.6.34-gentoo-r2 i686)
=================================================================
System uname:
Linux-2.6.34-gentoo-r2-i686-Intel-R-_Core-TM-_Duo_CPU_L2400_@_1.66GHz-with-gentoo-2.0.1
Timestamp of tree: Sat, 31 Jul 2010 09:00:01 +0000
app-shells/bash:     4.1_p7
dev-java/java-config: 2.1.11
dev-lang/python:     2.4.6, 2.5.4-r4, 2.6.5-r3, 3.1.2-r4
dev-util/cmake:      2.8.1-r2
sys-apps/baselayout: 2.0.1
sys-apps/openrc:     0.6.1-r1
sys-apps/sandbox:    2.2
sys-devel/autoconf:  2.13, 2.65-r1
sys-devel/automake:  1.4_p6-r1, 1.5-r1, 1.8.5-r4, 1.9.6-r3, 1.10.3, 1.11.1
sys-devel/binutils:  2.20.1-r1
sys-devel/gcc:       4.3.5, 4.4.4-r1
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.10
virtual/os-headers:  2.6.34
ACCEPT_KEYWORDS="x86 ~x86"
ACCEPT_LICENSE="* -@EULA dlj-1.1 PUEL googleearth AdobeFlash-10"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=prescott -pipe -ggdb"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/X11/xkb /usr/share/config /var/bind
/var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/
/etc/eselect/postgresql /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release
/etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/
/etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo
/etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d
/etc/texmf/web2c"
CXXFLAGS="-O2 -march=prescott -pipe -ggdb"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests distlocks fixpackages metadata-transfer news
parallel-fetch protect-owned sandbox sfperms splitdebug strict test
unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="en_US.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j1"
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="/var/lib/layman/sunrise /var/lib/layman/kde
/var/lib/layman/x11 /usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X accessibility acl acpi alsa avahi bash-completion berkdb bluetooth bzip2
caps cdr cli consolekit cracklib crypt cups cxx dbus dri dvd ffmpeg flac
fortran gdbm gpm gtk hal iconv ieee1394 inotify ipv6 java jingle jpeg kde
kerberos lame latex ldap lua lzma mad matroska mmx modules mp3 mudflap mysql
ncurses networkmanager nls nptl nptlonly odbc offensive ogg opengl openmp pam
pch pcmcia pcre perl png policykit postgres pppd pulseaudio python qt
qt3support qt4 readline reflection samba sasl sdl semantic-desktop session slp
smp sndfile speex spell spl sse sse2 sse3 ssl svg sysfs tcpd theora threads
tiff truetype udev unicode upnp usb v4l2 vim-syntax vorbis wifi win32codecs
wireless x86 xattr xinerama xml xorg xv xvid zeroconf zlib"
ALSA_CARDS="hda-intel usb-audio" 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="actions alias auth_basic authn_alias authn_anon authn_dbm
authn_default authn_file authz_dbm authz_default authz_groupfile authz_host
authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir
disk_cache env expires ext_filter file_cache filter headers include info
log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling
status unique_id userdir usertrack vhost_alias" ELIBC="glibc"
INPUT_DEVICES="keyboard mouse evdev wacom" KERNEL="linux" LCD_DEVICES="bayrad
cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text"
RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="intel" XTABLES_ADDONS="quota2
psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition
tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" 
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LC_ALL,
LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 10 Simon C. Ion 2010-08-03 01:49:09 UTC
(In reply to comment #9)
> This doesn't fix the issue for me.

Errm, nevermind. Applying your patch and switching back to python 2.6 makes emerge work again. Thanks! :D (Sorry for the noise)
Comment 11 Arfrever Frehtes Taifersar Arahesis (RETIRED) gentoo-dev 2010-08-03 02:05:33 UTC
Python upstream developers intentionally decided to change exception raised by array.fromfile() from EOFError to IOError:
http://svn.python.org/view?view=rev&revision=83032

Please note that there were Portage releases (e.g. 2.2_rc34), which were causing exceptions, and they weren't treated as QA violations.
Comment 12 Brian Harring (RETIRED) gentoo-dev 2010-08-03 02:10:07 UTC
(In reply to comment #11)
> Python upstream developers intentionally decided to change exception raised by
> array.fromfile() from EOFError to IOError:
> http://svn.python.org/view?view=rev&revision=83032
> 
> Please note that there were Portage releases (e.g. 2.2_rc34), which were
> causing exceptions, and they weren't treated as QA violations.

Take the excuses to the devrel bug.  You didn't test the sole major dep of portage in your automated backporting and broke it.
Comment 13 Jeroen Roovers (RETIRED) gentoo-dev 2010-08-03 02:13:48 UTC
Hi there!


RCS file: /var/cvsroot/gentoo-x86/dev-lang/python/ChangeLog,v
Working file: ChangeLog
head: 1.487
branch:
locks: strict
access list:
symbolic names:
        RELEASE-1_4: 1.32.0.2
        GENTOO_1_4_SNAP_2003010800: 1.21
keyword substitution: kv
total revisions: 488;   selected revisions: 488
description:
----------------------------
revision 1.487
date: 2010-08-03 03:41:47 +0200;  author: ferringb;  state: Exp;  lines: +7 -1;  commitid: 72f34c5773da4567;
remove the backported versions; they're autogenerated, obviously not tested for 2.6 (bug 330937, breaking portage for anyone runing unstable python at time of commit), and have been the source of a shitload of other rather odd bugs till identification of what was occuring (bug 330667).  ignoring a PDEPEND.bad for 3.1.2-r3 for >=app-admin/python-updater-0.8 also to get these removed
(Portage version: 2.2_rc67/cvs/Linux x86_64, RepoMan options: --force)
Comment 14 Keith Dart 2010-08-03 02:21:20 UTC
I just run into this also. What a bummer. 

Here's what I had to do to get portage working again. Hopefully you still have
your original source in your distfiles.

cd ~/build
tar xjf /home/ftp/pub/mirror/gentoo/distfiles/Python-2.6.5.tar.bz2
cd Python-2.6.5/
./configure --prefix=/usr --enable-shared --with-system-ffi --with-signal-module  --with-threads
make
make altinstall

That got it working well enough to (hopefully) sync again and get any
forthcoming fix. 
Comment 15 Brian Harring (RETIRED) gentoo-dev 2010-08-03 02:30:19 UTC
(In reply to comment #14)
> I just run into this also. What a bummer. 
> <snip some instructions to install python manually>
> That got it working well enough to (hopefully) sync again and get any
> forthcoming fix. 

Thanks, but don't use that nor distribute it to others please- that can orphan files pretty easily and there is a simpler/faster fix that doesn't require cleanup.

Do

wget http://dev.gentoo.org/~ferringb/fix-python-2.6.5_p20100801.patch -O - | patch /usr/lib/portage/pym/_emerge/SpawnProcess.py

instead.  This leaves no orphans, tweaks emerge w/ the patch mentioned, and gets you back to the point where you can merge a sane python version.
Comment 16 Jeremy Olexa (darkside) (RETIRED) archtester Gentoo Infrastructure gentoo-dev Security 2010-08-03 02:45:37 UTC
*** Bug 330939 has been marked as a duplicate of this bug. ***
Comment 17 Diego Elio Pettenò (RETIRED) gentoo-dev 2010-08-03 09:31:34 UTC
*** Bug 330997 has been marked as a duplicate of this bug. ***
Comment 18 Mike Hammill 2010-08-03 10:05:09 UTC
The "quick way out" worked for me.  But of course it's not a good solution if you don't happen to have python 3.x installed or if you actually want to further test python 2.6.5_p20100801 (with the patch).  All in all, quite a mess.
Comment 19 Dieter Verfaillie 2010-08-03 11:04:01 UTC
The patch for SpawnProcess.py from #15 does not seem to be a complete solution:

>>> Unmerging sys-kernel/gentoo-sources-2.6.34-r2...
 * The 'prerm' phase of the 'sys-kernel/gentoo-sources-2.6.34-r2' package
 * has failed with exit value -1.
 * 
 * The problem occurred while executing the ebuild file named 'gentoo-
 * sources-2.6.34-r2.ebuild' located in the '/var/db/pkg/sys-kernel/gentoo-
 * sources-2.6.34-r2' 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.
Traceback (most recent call last):
  File "/usr/bin/emerge", line 42, in <module>
    retval = emerge_main()
  File "/usr/lib/portage/pym/_emerge/main.py", line 1492, in emerge_main
    myopts, myaction, myfiles, spinner)
  File "/usr/lib/portage/pym/_emerge/actions.py", line 2311, in action_uninstall
    opts, action, valid_atoms, spinner)
  File "/usr/lib/portage/pym/_emerge/actions.py", line 577, in action_depclean
    cleanlist, ldpath_mtimes, ordered=ordered)
  File "/usr/lib/portage/pym/_emerge/unmerge.py", line 507, in unmerge
    scheduler=scheduler)
  File "/usr/lib/portage/pym/portage/dbapi/vartree.py", line 4509, in unmerge
    ldpath_mtimes=ldpath_mtimes)
  File "/usr/lib/portage/pym/portage/dbapi/vartree.py", line 2160, in unmerge
    vartree=self.vartree)
  File "/usr/lib/portage/pym/portage/package/ebuild/doebuild.py", line 793, in doebuild
    fd_pipes=fd_pipes, returnpid=returnpid)
  File "/usr/lib/portage/pym/portage/package/ebuild/doebuild.py", line 1261, in spawn
    buf.fromfile(f, buffsize)
IOError: [Errno 5] Input/output error
Comment 20 Diego Elio Pettenò (RETIRED) gentoo-dev 2010-08-03 11:06:39 UTC
Yeah it was never meant to be a final solution, it is just enough to be able to re-merge python (2.6.5-r2) and then portage proper.
Comment 21 tman 2010-08-03 12:03:24 UTC
i have solve the problem by taking python 3.1

eselect python set 2
emerge -uDN python
eselect python set 1

emerge -uDN world

and all is fine now
Comment 22 Petteri Räty (RETIRED) gentoo-dev 2010-08-03 17:08:18 UTC
(In reply to comment #11)
> 
> Please note that there were Portage releases (e.g. 2.2_rc34), which were
> causing exceptions, and they weren't treated as QA violations.
> 

# Zac Medico <zmedico@gentoo.org> (05 Jan 2009)
# Portage 2.2 is masked due to known bugs in the
# package sets and preserve-libs features.
>=sys-apps/portage-2.2_pre
Comment 23 Arfrever Frehtes Taifersar Arahesis (RETIRED) gentoo-dev 2010-08-04 16:38:05 UTC
(In reply to comment #22)

Other examples: ..., 2.1.7.6, 2.1.7.8, 2.1.7.9, 2.1.7.10, 2.1.7.12, 2.1.8, 2.1.8.1, 2.1.8.2.
Comment 24 Brian Harring (RETIRED) gentoo-dev 2010-08-05 01:32:19 UTC
(In reply to comment #23)
> (In reply to comment #22)
> 
> Other examples: ..., 2.1.7.6, 2.1.7.8, 2.1.7.9, 2.1.7.10, 2.1.7.12, 2.1.8,
> 2.1.8.1, 2.1.8.2.

You really want to compare the bugs portage has leveled versus your own personal shitstorm?

Of those portage bugs, how many of them left users unable to upgrade?  How many users were affected?  It's not about bugs, it's about _impact_, how many people are affected, how bad the fallout, what is required to resolve it.  Portage hasn't had a version that was categorically unusable- your blind commits (lacking proper QA despite the blame shifting) however managed that quite nicely.  Reality is, you want to maintain a package that others depend on, you're responsible for checking your reverse deps.

You didn't, nor do you generally speaking.  Just knock it off.  It's pretty obvious you don't consider this an issue or are looking to blameshift, thus your point is made- take it to the devrel/QA bug.  No one here cares (nor frankly wants to hear it).
Comment 25 Brian Harring (RETIRED) gentoo-dev 2010-08-05 01:34:56 UTC
Marking resolved.  Broken python version was pulled from the tree the day it did it's damage.

Zac, you should open up a bug to sort out how you'll be dealing w/ older portage versions that will be hit by this.
Comment 26 Andreas Proteus 2010-08-05 09:30:31 UTC
(In reply to comment #24)

I am certain the maintainer is redfaced and at the moment the size of his self esteem 
does not exceed the 1 nanometer, and he is definetely wrong in trying to shift the blame onto others instead of apologizing.  

I am also certain that from now on he will be extra carefull so that such oversights do not happen again. 

No real harm was done. Let us put this behind us and continue with this wonderfull distro that we all love.
Comment 27 Samuli Suominen (RETIRED) gentoo-dev 2010-08-06 18:43:57 UTC
*** Bug 331455 has been marked as a duplicate of this bug. ***
Comment 28 Zac Medico gentoo-dev 2010-09-04 08:58:23 UTC
(In reply to comment #25)
> Zac, you should open up a bug to sort out how you'll be dealing w/ older
> portage versions that will be hit by this.

The new python ebuilds need to have a !!<sys-apps/portage-2.1.9 blocker in RDEPEND.
Comment 29 Hilco 2010-10-11 17:13:16 UTC
(In reply to comment #21)
> i have solve the problem by taking python 3.1
> 
> eselect python set 2
> emerge -uDN python
> eselect python set 1
> 
> emerge -uDN world
> 
> and all is fine now

This does absolutely nothing for me. It does not rebuild anything and it doesn't fix anything.
Comment 30 Hilco 2010-10-11 17:15:02 UTC
(In reply to comment #15)
> Do
> 
> wget http://dev.gentoo.org/~ferringb/fix-python-2.6.5_p20100801.patch -O - |
> patch /usr/lib/portage/pym/_emerge/SpawnProcess.py
> 
> instead.  This leaves no orphans, tweaks emerge w/ the patch mentioned, and
> gets you back to the point where you can merge a sane python version.

This works nicely, thanks!
Comment 31 Simone 2010-10-13 10:31:47 UTC
Got hit by this one yesterday with dev-lang/python-2.6.6. Should I open a new bug?
Comment 32 Dirkjan Ochtman gentoo-dev 2010-10-13 11:49:41 UTC
Should not be a problem with 2.6.6-r1 (which is blocked by old portage).
Comment 33 Tim Cera 2010-10-19 01:40:29 UTC
(In reply to comment #28)
> The new python ebuilds need to have a !!<sys-apps/portage-2.1.9 blocker in
> RDEPEND.

I use Paludis so this bug had no impact on me, but this blocker does.  I admit not a big deal, but I propose that it would be better to handle the shift in exceptions within Portage.

Could be as easy as...

try:
    blah()
except EOFError, IOError:
    exception_blah()

Or you could get fancy and test the Python version.
Comment 34 Zac Medico gentoo-dev 2010-10-19 04:21:59 UTC
(In reply to comment #33)
> I propose that it would be better to handle the shift in
> exceptions within Portage.
> 
> Could be as easy as...
> 
> try:
>     blah()
> except EOFError, IOError:
>     exception_blah()

We're already doing that with >=portage-2.1.9. Obviously, it's not possible to go back in time and update the older portage versions.

> Or you could get fancy and test the Python version.

Not necessary. The fix in >=portage-2.1.9 is already optimal.
Comment 35 Martin DiViaio 2010-10-29 22:29:45 UTC
(In reply to comment #32)
> Should not be a problem with 2.6.6-r1 (which is blocked by old portage).
> 

I have python 2.6.6-r1 installed and I had the same problem.


Portage 2.2_rc67_p51 (default/linux/amd64/10.0/desktop, gcc-4.4.5, glibc-2.12.1-r2, 2.6.31-gentoo-r6 x86_64)
=================================================================
System uname: Linux-2.6.31-gentoo-r6-x86_64-AMD_Athlon-tm-_64_X2_Dual_Core_Processor_6000+-with-gentoo-2.0.1
Timestamp of tree: Thu, 28 Oct 2010 21:45:01 +0000
app-shells/bash:     4.1_p9
dev-java/java-config: 2.1.11-r1
dev-lang/python:     2.6.6-r1, 3.1.2-r4
dev-util/cmake:      2.8.1-r2
sys-apps/baselayout: 2.0.1
sys-apps/openrc:     0.6.3
sys-apps/sandbox:    2.3-r1
sys-devel/autoconf:  2.13, 2.68
sys-devel/automake:  1.4_p6-r1, 1.8.5-r4, 1.9.6-r3, 1.10.3, 1.11.1
sys-devel/binutils:  2.20.1-r1
sys-devel/gcc:       4.4.4-r2, 4.4.5
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.10
sys-devel/make:      3.82
virtual/os-headers:  2.6.35
ACCEPT_KEYWORDS="amd64 ~amd64 ~x86"
ACCEPT_LICENSE="* -@EULA Livestation-EULA Livestation-EULA.txt PUEL dlj-1.1 skype-eula AdobeFlash-10 AdobeFlash-10.1 truecrypt-3.0"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe -mtune=athlon64 -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /var/bind /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/eselect/postgresql /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/
/etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-O2 -pipe -mtune=athlon64 -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests distlocks fakeroot fixpackages metadata-transfer news parallel-fetch preserve-libs protect-owned sandbox severe sfperms strict unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync"
GENTOO_MIRRORS="http://www.gtlib.gatech.edu/pub/gentoo http://ftp.ucsb.edu/pub/mirrors/linux/gentoo/ http://gentoo.mirrors.pair.com/ http://gentoo.mirrors.tds.net/gentoo http://gentoo.netnitco.net
http://open-systems.ufl.edu/mirrors/gentoo http://gentoo.llarian.net/ http://mirror.datapipe.net/gentoo http://mirrors.cs.wmich.edu/gentoo http://mirror.usu.edu/mirrors/gentoo/ http://mirror.mcs.anl.gov/pub/gentoo/
http://gentoo.mirrors.easynews.com/linux/gentoo/ http://gentoo.cites.uiuc.edu/pub/gentoo/ http://lug.mtu.edu/gentoo/ http://chi-10g-1-mirror.fastsoft.net/pub/linux/gentoo/gentoo-distfiles/ http://gentoo.osuosl.org/
http://distro.ibiblio.org/pub/linux/distributions/gentoo/ "
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j4"
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/g-cpan /usr/local/portage/custom /var/lib/layman/java-overlay /var/lib/layman/sunrise"
SYNC="rsync://rsync.namerica.gentoo.org/gentoo-portage"
USE="X a52 aac acl acpi alsa amd64 amr amrnb amrwb ao apache2 ares aspell bash-completion battery berkdb bluetooth branding bs2b bzip2 cairo cdr cli consolekit cpufreq cracklib crypt cups curl cxx dbus dga dirac dmx dri
dts dv dvb dvd dvdr emboss encode exif extras fam ffmpeg flac fontconfig fortran freetds ftp gdbm gif glitz gnutls gpm grace gtk hal hddtemp iconv id3tag idn iodbc ipv6 jack java java6 jbig jpeg jpeg2k kolab kpathsea
ladspa lame latex lcms ldap libnotify libsamplerate libssh2 lirc lm_sensors lua mad mikmod mmx mng modperl modules mp3 mp4 mpeg mudflap multilib mysql nas ncurses network nls nptl nptlonly nsplugin nss odbc ogg opengl
openmp pam pango pcre pdf perl png postgres ppds pppd profile pulseaudio python qt3support readline ruby samba sasl schroedinger sdl server session slang sndfile snmp speex spell sqlite sqlite3 sse sse2 ssl
startup-notification svg sysfs syslog tcl tcpd theora threads thunar tiff timidity tk truetype tslib unicode usb v4l v4l2 vdpau vhosts vim-syntax vorbis wavpack wifi wmf x264 xcb xinerama xml xorg xprint xscreensaver
xulrunner xv xvid 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="*" APACHE2_MODULES="asis actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi
dav dav_fs dav_lock deflate dir disk_cache dumpio env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status substitute unique_id
userdir usertrack vhost_alias auth_digest authn_dbd cern_meta dbd imagemap log_forensic version" APACHE2_MPMS="worker" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc"
GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx"
INPUT_DEVICES="evdev keyboard mouse acecad aiptek calcomp citron digitaledge dmc dynapro elo2300 elographics fpit hyperpen jamstudio joystick magellan microtouch mutouch palmax penmount spaceorb summa synaptics tek4957
ur98 vmmouse wacom tslib" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIRC_DEVICES="all" PHP_TARGETS="php5-2" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="nvidia"
XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS


My fix:

eselect python set 2
echo 'sys-apps/portage python3' >> /etc/portage/package.use/my.use
emerge portage
eselect python set 1

The emerge command (for me) threw a lot of weird warnings about postrm exiting incorrectly but the install completed.

This actually installs Portage 2.2.0_alpha2_p1 on the system and switches it to python3 so this is not the best solution for most people.