[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Packaging python programs (with private modules) using the current Python version and binNMU:able when that changes



(Hi, please keep me CC:d as I'm not subscribed (yet).)

I'm packaging an application written in (pure) Python. It comes in the form of 
a module (or set of modules) and some minmal python scripts (with 
#!/usr/bin/env python or #!/usr/bin/python on top).

dh_python2 will, unless told otherwise, and if modules are installed in the 
standard location, create symlinks in the module trees of all supported Python 
versions, which is a bit pointless for modules used only by the application in 
question. AFAIU the Python policy such private modules should not be installed 
in the standard location though, but in a private directory. All right, I just 
have to patch the scripts to add that directory to the search path and make 
sure that the modules are still bytecompiled in the postinst and recompiled 
when the default python version changes, right?

In either case, it seems that I would like to "fix" the package to the current 
default Python version, but preferably a simple rebuild should be enough when 
the default version changes. If the package depends on a single Python version 
it can also depend on the corresponding pythonX.Y-foo virtual module packages, 
which _should_ be good because how can you otherwise be sure that python-foo 
actually provides modules for the current Python version? (For example, 
python-zodb retracted support for Python 2.5 in Lenny, which I didn't notice).

So, my question basically is how to handle all this most easily and correctly. 
What have I missed?

-- 
Magnus Holmgren        holmgren@debian.org
Debian Developer 

Attachment: signature.asc
Description: This is a digitally signed message part.


Reply to: