Hi Python folks,
I have put together a dh_purepython debhelper script to help
the installation of pure Python packages.
Still missing:
1) All Python X.Y versions need to be preinstalled. What happens
when you install an new Python version? Hmm, we have to
register those pure python packages somehow and byte-compile
them if we install a new pythonX.Y package.
2) in prerm, cope with empty directories being left in
/usr/lib/pythonX.Y/site-packages
3) sanity check for rm -rf in prerm
4) fix permissions of generated .py[co] files and directories, do not
rely on umask
5) see BUGS of dh_purepython, for the compileall.py patch see
http://sourceforge.net/tracker/index.php?func=detailaid=501713group_id=5470atid=305470
All needed scripts as well as an example debian package can be
found at http://www.debian.org/~calvin/purepython/.
To install, copy dh_purepython into /usr/bin/ and copy
{postinst,prerm}-purepython to /usr/share/debhelper/autoscripts/.
ATTENTION: to install the example, you need to patch all your
/usr/lib/pythonX.Y/compileall.py files:
(patch is for 1.5.2, but easy adoptable)
--- compileall.py.orig Thu Jan 10 10:59:35 2002
+++ compileall.py Thu Jan 10 11:53:15 2002
@@ -49,14 +49,14 @@
if os.path.isfile(fullname):
head, tail = name[:-3], name[-3:]
if tail == '.py':
-cfile = fullname + (__debug__ and 'c' or 'o')
+cfile = dfile + (__debug__ and 'c' or 'o')
ftime = os.stat(fullname)[stat.ST_MTIME]
try: ctime = os.stat(cfile)[stat.ST_MTIME]
except os.error: ctime = 0
if (ctime ftime) and not force: continue
if not quiet: print 'Compiling', fullname, '...'
try:
-py_compile.compile(fullname, None, dfile)
+py_compile.compile(fullname, cfile, dfile)
except KeyboardInterrupt:
raise KeyboardInterrupt
except:
Greetings, Bastian
pgpgvCv3Htjjl.pgp
Description: PGP signature