He luchado antes con los paquetes de Python para Ubuntu/Debian, y estoy de acuerdo, los documentos son un desastre/inexistentes/engañosos: realmente necesitan una guía de inicio rápido para la situación más simple posible.
Bueno, aquí está!
Instale sus herramientas. Esto podría ser una exageración, sin embargo:
sudo apt-get install build-essential python-all dh-make devscripts fakeroot
de inicio con su código desprotegido en un directorio llamado $packagename-$version
, como library_name-0.6.0/
y cd
a ese directorio. Ejecute algo como dh_make -i -c gpl3 -e [email protected]
(vea dh_make --help
para otras opciones). Si todo va bien, no obtendrá errores y creará una carga de archivos en ./debian
. Puede ignorar o eliminar ./debian/*.{ex,EX}
; esos son solo ejemplos.
probablemente debería examinar todos estos archivos en algún momento, pero por lo menos, que necesidad de editar ./debian/control
y ./debian/rules
. Debe completar todos los campos de templa en control, a saber, Description
y Homepage
.Cambie la línea Package
a python-$libname
cambiar su línea Depends
en control
a esto:
Depends: ${misc:Depends}, ${python:Depends}
Asegura que nuestro paquete binario python-$libname
depende de las versiones de Python que necesita. (${python:Depends} is a "substvar"; they're created when we build; you can inspect their values after your first build in
./Debian/$ packagename.substvars`.)
cambio en la línea de rules
dh [email protected]
a dh [email protected] --with python2
, la preservación de la pestaña en la parte delantera (se trata de un Makefile). Esto hace que debhelper use su complemento python2; el valor predeterminado sigue siendo usar pysupport (que está en desuso, ¿recuerdas?).
A continuación, ejecute el siguiente comando en la raíz fuente:
debuild -us -uc
Esto construye el paquete, sin la firma del mismo (algo que debe aprender a hacerlo más tarde!). Debería ver algunas líneas de herramientas de configuración familiares (dos veces: una para 2.6, una para 2.7), pilas de dh_ addons y otras construcciones. Al final está la salida de lintian, que puede detectar algunos problemas comunes de empaquetado; deberías arreglar esto Muchas de las cosas de las que lintian y amigos se quejan son solo cumplir con las reglas de empaquetado, y si tu lib es solo interna, siéntete libre de jugarlo sin problemas.
Por cierto, This page talks about the deprecation of python-support
and python-central
Está su paquete compatible tanto con 2.xy 3.x? Es decir, ¿estás apuntando a ambos? – nfirvine
@nfirvine: 2.6 + 2.7 –