On Wed, Mar 14, 2007 at 08:26:36PM +0100, martin f krafft wrote: > I am trying to package lightblue.sf.net, which does the following > during installation: > > piper:.> python ./setup.py install --prefix=debian/python-lightblue/usr > --no-compile > running install > running build > running build_py > running build_ext > running install_lib > creating debian/python-lightblue > creating debian/python-lightblue/usr > creating debian/python-lightblue/usr/lib > creating debian/python-lightblue/usr/lib/python2.4 > creating debian/python-lightblue/usr/lib/python2.4/site-packages > copying build/lib.linux-x86_64-2.4/_lightblueutil.so -> > debian/python-lightblue/usr/lib/python2.4/site-packages > copying build/lib.linux-x86_64-2.4/_obexutil.so -> > debian/python-lightblue/usr/lib/python2.4/site-packages > creating debian/python-lightblue/usr/lib/python2.4/site-packages/lightblue > copying build/lib.linux-x86_64-2.4/lightblue/_obex.py -> > debian/python-lightblue/usr/lib/python2.4/site-packages/lightblue > copying build/lib.linux-x86_64-2.4/lightblue/__init__.py -> > debian/python-lightblue/usr/lib/python2.4/site-packages/lightblue > copying build/lib.linux-x86_64-2.4/lightblue/obex.py -> > debian/python-lightblue/usr/lib/python2.4/site-packages/lightblue > copying build/lib.linux-x86_64-2.4/lightblue/_discoveryui.py -> > debian/python-lightblue/usr/lib/python2.4/site-packages/lightblue > copying build/lib.linux-x86_64-2.4/lightblue/_lightbluecommon.py -> > debian/python-lightblue/usr/lib/python2.4/site-packages/lightblue > copying build/lib.linux-x86_64-2.4/lightblue/_lightblue.py -> > debian/python-lightblue/usr/lib/python2.4/site-packages/lightblue > > As you can see, it installs compiled .so files, making the package > dependent on the python ABI, 2.4 in this case. > > How am I to deal with packages like this?
You build two times, using python$VER ./setup.py install blablabla for
each $VER in pyversions -s. Then you call (if you're using debhelper)
dh_py{support,central}, just a matter of taste.
If you use pycentral you will have to use quite complex debian/control
anotations, else you just have to put sth like 2.3- in your
debian/pyversions and let dh_pysupport do the work.
In debian/control you have (for any of the previous) to use:
${python:Depends} in the Depends: line and ${python:Provides} in the
provides line.
Doing that, you make your package binNMUable, and if ABI (meaning
supported versions) changes, a binNMU will do.
Also don't forget to build-depends upon python-all-dev (that will pull
everything you need to build python packages) additionnaly to your usual
non python-ic build depends.
Cheers,
--
·O· Pierre Habouzit
··O [EMAIL PROTECTED]
OOO http://www.madism.org
pgpdEVSaAFZF1.pgp
Description: PGP signature

