Summary: | sys-apps/portage-2.2_rc35 UnicodeDecodeError with --buildpkg or quickpkg | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Adrian Bassett <Adrian.Bassett> |
Component: | [OLD] Core system | Assignee: | Portage team <dev-portage> |
Status: | RESOLVED FIXED | ||
Severity: | major | CC: | 4glitch, dimanish, esigra, remi |
Priority: | High | Keywords: | InVCS, REGRESSION |
Version: | unspecified | ||
Hardware: | x86 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
Fix the UnicodeDecodeError
Fix the UnicodeDecodeError |
Description
Adrian Bassett
2009-08-04 06:18:23 UTC
Ok, it has been possible to re-install the rc33 version manually using ebuild and appropiate arguments so the system is not so broken. It appears that the problem with rc35 is in the qmerge stage. Incidentally, although I have to unmask portage in /etc/portage/package.unmask in order to use/test portage 2.2, it seems that masking a particular version of 2.2 in /etc/portage/package.mask is ignored so that the supposedly masked version is installed anyway. This can't be intentional? (In reply to comment #1) > Incidentally, although I have to unmask portage in /etc/portage/package.unmask > in order to use/test portage 2.2, it seems that masking a particular version of > 2.2 in /etc/portage/package.mask is ignored so that the supposedly masked > version is installed anyway. This can't be intentional? It's intentional because you probably have a package.unmask entry which negates your package.mask entry. In order to avoid that, use a more specific package.unmask entry, such as =sys-apps/portage-2.2_rc33. Alternatively, you can use -atom to revert atom in package.mask (instead of using package.unmask). Created attachment 200116 [details, diff]
Fix the UnicodeDecodeError
If this patch is saved as /tmp/unicode_packages.patch, then it can be applied as follows:
patch /usr/lib/portage/pym/portage/dbapi/bintree.py /tmp/unicode_packages.patch
Created attachment 200120 [details, diff]
Fix the UnicodeDecodeError
This patch handles more cases that the previous on. If it is saved as /tmp/unicode_packages.patch, then it can be applied as follows:
cd /usr/lib/portage
patch -p0 < /tmp/unicode_packages.patch
confirming the bug with a plain old update of mirrorselect (no buildpkg foo). Thanks This patch doesn't work for me. Same error. (unless something needs to be "recompiled" after patching?" Cheers (In reply to comment #6) > This patch doesn't work for me. Same error. (unless something needs to be > "recompiled" after patching?" It's probably a slightly different UnicodeDecodeError. It's common for people to say 'Same error' when it's really not identical in cases like this. This is fixed in 2.2_rc36. @Zac, how do I upgrade to make sure the bug is fixed? Thanks (In reply to comment #9) > @Zac, how do I upgrade to make sure the bug is fixed? wget http://distfiles.gentoo.org/distfiles/portage-2.2_rc36.patch.bz2 -O \ /tmp/portage-2.2_rc36.patch.bz2 bunzip2 /tmp/portage-2.2_rc36.patch.bz2 cd /usr/lib/portage patch -p0 < /tmp/portage-2.2_rc36.patch The ChangeLog part of the patch won't apply, but everything else should. Thanks for the clarifications in comment #2. I was away soon after reporting the problem so was not able to test the individual patches before rc36 was released. However, I have now installed that version and 'emerge -ND world' finished without any (portage) problem so things seem fixed. Many thanks. (In reply to comment #10) > The ChangeLog part of the patch won't apply, but everything else should. More than half of the patch didn't apply cleanly. wired gave me a binpkg of rc33 I brutally untared in /. I'll see if rc36 works. Thanks :) (In reply to comment #10) > (In reply to comment #9) > > @Zac, how do I upgrade to make sure the bug is fixed? > > wget http://distfiles.gentoo.org/distfiles/portage-2.2_rc36.patch.bz2 -O \ > /tmp/portage-2.2_rc36.patch.bz2 > bunzip2 /tmp/portage-2.2_rc36.patch.bz2 > cd /usr/lib/portage > patch -p0 < /tmp/portage-2.2_rc36.patch > > Trying to emerge portage-2.2_rc36 giving an UnicodeDecodeError, however , applying a patch as described works. in sys-apps/portage-2.2_rc38: emerge --sync Performing Global Updates: /usr/portage/profiles/updates/3Q-2009 (Could take a couple of minutes if you have a lot of binary packages.) .='update pass' *='binary update' #='/var/db update' @='/var/db move' s='/var/db SLOT move' %='binary move' S='binary SLOT move' p='update /etc/portage/package.*' ......................... pppppTraceback (most recent call last): File "/usr/bin/emerge", line 40, in <module> retval = emerge_main() File "//usr/lib/portage/pym/_emerge/main.py", line 1034, in emerge_main if portage._global_updates(trees, mtimedb["updates"]): File "//usr/lib/portage/pym/portage/__init__.py", line 8193, in _global_updates moves = bindb.move_ent(update_cmd) File "//usr/lib/portage/pym/portage/dbapi/bintree.py", line 277, in move_ent mytbz2.recompose_mem(portage.xpak.xpak_mem(mydata)) File "//usr/lib/portage/pym/portage/xpak.py", line 94, in xpak_mem dataglob=dataglob+newglob UnicodeDecodeError: 'ascii' codec can't decode byte 0xb4 in position 10: ordinal not in range(128) (In reply to comment #14) Bug #282505. |