2010-05-28 11 views
7

estoy teniendo dificultades para navegar por el laberinto de las herramientas de distribución de Python y debian; cdbs, debhelper, python-support, python-central, bla, bla, bla ..manera fácil y directa de empaquetar un programa python para debian?

mi solicitud es uno bastante sencillo - un paquete único pitón (módulos de directorios que contienen y un __init__.py), una secuencia de comandos para ejecutar el programa (script.py) y algunos iconos (.png) y elementos de menú (archivos .desktop).

de estos archivos, ¿cómo puedo construir un archivo .deb sencilla, limpia desde cero sin necesidad de utilizar las herramientas mencionadas anteriormente sin sentido?

estoy principalmente dirigido ubuntu, pero me gustaría que el paquete trabajó en debian recta

Respuesta

3

En primer lugar, la respuesta es que no hay una forma sencilla de hacer una dpkg, y la documentación está repartido en una millones de pequeños bocados de tantos lugares. Sin embargo, el ubuntu Python Packaging Guide es bastante útil.

Para los paquetes simples (los fáciles para describir a setuptools), los pasos son bastante simple una vez que tenga una estructura de control debian estableció:

  • Run setup.py --sdist --prune y también asegurarse de establecer dist-dir a algo razonable
  • invocación dpkg-buildpackage con las opciones apropiadas para su paquete (probablemente -b al menos)

necesitará un archivo debian/rules buildpackage para que funcione a partir, pero por suerte el trabajo está hecho para usted si utiliza cdbs, querrá algo muy similar a:

#!/usr/bin/make -f 

DEB_PYTHON_SYSTEM := pysupport 

include /usr/share/cdbs/1/rules/debhelper.mk 
include /usr/share/cdbs/1/class/python-distutils.mk 

Si no se está usando distutils, es posible que desee echar un vistazo en la página DebianPython/Policy en la wiki (en "CDBS + de la manera difícil"). Hay una opción para pycentralDEB_PYTHON_SYSTEM, así, que puede google si quieres encontrar más información sobre.

+0

La nueva guía de embalaje Ubuntu Python se encuentra localizado en http://packaging.ubuntu.com/html/python-packaging.html –

+0

@DanielTrebbien Ese enlace ya no funciona, pero el enlace archive.org parece entregar lo que solía estar allí. El wiki actual de Ubuntu no parece tener nada sustancial más allá de https://wiki.ubuntu.com/Python, que básicamente se limita a la wiki de Debian en todo lo relacionado con el empaquetado. – tripleee

5

python-stdeb debe trabajar para usted. Está en Debian testing/inestable y Ubuntu (Lucid en adelante). apt-get install python-stdeb

Es menos un método de acceso directo que una herramienta que trata de generar la mayor cantidad del paquete fuente como sea posible. De hecho, puede crear un paquete que funcione correctamente y cumpla casi con los estándares. Si desea que su paquete cumpla con los estándares de calidad para su inclusión en Debian, Ubuntu, etc. deberá completar los archivos como debian/copyright, etc.

Por más que las personas afirmen que los cdbs son realmente fáciles, me gustaría señalar que el archivo de reglas que mencionó Nick podría haberse hecho fácilmente con debhelper7. Sin olvidar, dh7 se puede personalizar mucho más fácilmente que los cdbs.

#!/usr/bin/make -f 
%: 
    dh [email protected] 

Nota: Debe comprobar si el paquete cumple con la política de Debian, Debian Política de Python, etc antes de enviar a Debian. En realidad, necesitará leer documentos para eso, sin atajos.

Cuestiones relacionadas