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