On Wed, Jan 03, 2007 at 09:58:53AM +0100, Vincent Danjean wrote: > Hi, > > I'm the maintainer of mercurial. At least one of the users has a > problem with loading python modules. > Can someone look at bug #382252 ? > > In short, > echo 'import sys; print sys.path; from mercurial import bdiff' | python2.4 > works on my system, but not on its one. > Both have '/var/lib/python-support/python2.4' in sys.path > Both have /var/lib/python-support/python2.4/mercurial/bdiff.so a symlink to > /usr/lib/python-support/mercurial/python2.4/mercurial/bdiff.so that is a > "ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), stripped"
from the strace he says that the package is searched under $path/bdiff.so instead of mercurial/bdiff.so like it should. though it searches in /usr/lib/python2.4/site-packages/mercurial/bdiff.so first. so my guess, but I may be wrong, is that there is old byte compiled things from your package before the new policy, and that when /usr/bin/hg does `from mercurial import mdiff` it finds the mdiff.pyc from /usr/lib/python2.4/site-packages/mercurial/mdiff.pyc mdiff.pyc does `import bdiff` and not from mercurial import bdiff. so it searches in paths stripped from the 'mercurial' part. and the user can't do from mercurial import bdiff either because /usr/lib/python2.4/site-packages/mercurial/ comes first in the path. I can't say I'm right here, you should ask the user, though if that's the case, then: (1) it's your fault (2) it's RC (serious) and that must be fixed for etch. (3) the solution is to rm -rf /usr/lib/python*/site-packages/mercurial/ (yes * because you presumably left python2.3 bytecode over too) from the postinst. you will be able to drop that upgrade stanza after the etch release. -- ·O· Pierre Habouzit ··O [EMAIL PROTECTED] OOO http://www.madism.org
pgpU6lEFyRWsp.pgp
Description: PGP signature