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 madcoder@debian.org
OOO http://www.madism.org
Attachment:
pgpViPXXhmHhu.pgp
Description: PGP signature