Re: Python package providing both modules and an app
On 06/21/2016 11:13 PM, Hugo Lefeuvre wrote:
> Hi all !
>
> I'm currently packaging python-slugify[0], a Python application for
> slugifying unicode strings. Like here[1] upstream decided to write
> everything as a python module with an entry script placed in /usr/bin
> that calls main(). So we can consider python-slugify as both an application
> and a library.
>
> The package is originally requested as a Python module[2] and it seems
> clear to me that the whole thing is only useful as a library, so I've
> named the source package 'python-slugify'. It provides following packages:
> * 'python-slugify' (Python 2 lib),
> * 'python3-slugify' (Python 3 lib),
> * 'slugify' (ships the entry script[3], depends on python3-slugify).
>
> Everything is working well. However, I'm not really satisfied by the way I
> solved the problem in debian/rules[4]. Does anybody know a better way
> of doing that ?
>
> Cheers,
> Hugo
Hugo,
I did lots of that in OpenStack. You can have a look at one of our tool
to handle the dh_auto_install for Python:
http://anonscm.debian.org/cgit/openstack/openstack-pkg-tools.git/tree/build-tools/pkgos-dh_auto_install
The way to use it in your debian/rules file is to do:
pkgos-alternative slugify slugify
[ this tool is available at:
http://anonscm.debian.org/cgit/openstack/openstack-pkg-tools.git/tree/misc/pkgos-alternative-bin
]
then simply do:
override_dh_auto_install:
pkgos-dh_auto_install
and that's it, it will handle the /usr/bin/python{3,}-slugify
alternative implementations for you.
I hope that helps,
Cheers,
Thomas Goirand (zigo)
Reply to: