Crear paquete DEB para programas en Python
Un vistazo final a las fuentes del programa…
Mientras estamos desarrollando el programa y deseamos invocar un módulo, cargar una imagen, etc., utilizamos rutas relativas, es decir, NO especificamos la ruta completa en donde se encuentra el recurso a importar.
Esto supone un problema al momento de poner en producción el programa porque tal vez queramos, por ejemplo, que el icono de la aplicación se guarde en /usr/share/icons/, y tendríamos que poner dicha ruta directamente en la aplicación.
Por tanto, nada mejor que echarle un vistazo a la aplicación en general, y asegurarse que eso no va a pasar. Por ejemplo, en mi programa he tenido que cambiar ésta línea:
#cosas...
self.ventana.set_icon_from_file("icono.png")
#mas...
por esta:
#cosas...
self.ventana.set_icon_from_file("/usr/share/pngcrushgtk/icono.png")
#mas...
Crear un archivo .desktop
Un archivo .desktop es algo así como un “acceso directo”. Se trata de un archivo de texto que contiene información de nuestro programa, define un icono y permite que el usuario lance el programa haciendo doble clic sobre el. Mi archivo pngcrushgtk.desktop es el siguiente:
[Desktop Entry] Encoding=UTF-8 Name=PNGCrush-Gtk Icon=/usr/share/pngcrushgtk/icono.png Comment=Este programa permite usar pngcrush con una interfaz gráfica Exec=/usr/bin/pngcrushgtk Terminal=false Type=Application Categories=GNOME;GTK;Utility; StartupNotify=False
Básicamente lo que especifico en el archivo .desktop es: el nombre del programa, un icono, la manera en cómo se debe ejecutar, y a qué categoría pertenece. Ten en cuenta que éste archivo lo debes crear en el directorio superior, es decir, en donde se encuentran la carpeta debian (pero no dentro de ella).
6 Comentarios | deja el tuyo





Buen tutorial tio, me lo apunto para mañana.
Una cosa, hay algo que no me cuadra y es utililizar dpkg-buildpackage como superusuario, te aconsejo que lo hagas sin permisos de superusuario. También puedes utilizar en vez de ese comando el comando debuild -us -uc, en este caso primero lo probaré yo mañana si puedo y te cuento
OK… gracias por la recomendación
Un saludo!
Hola, tengo muchas dudas, he seguido paso a paso tu curso, solo tengo una duda, el archivo dirs no lo encontré y lo cree, pero, aparte de eso, al final, cuando intento instalar, me dice que el paquete está instalado, pero no se copió el programa que hice, solo el copyright y ya.
¿Alguna recomendación?
Olvidé decir que trabajo bajo Ubuntu 10.04. Tengo dos semanas usando esta distro ya que siempre use Windows. Ayuda Porfavor.
Cuando ejecuto dh-make la primera me aparece:
Package name “AguBrowse” is not in a valid format.
Debian policy manual states:
“Package names must only consist of lower case letters, digits (0-9),
plus (+) or minus (-) signs, and periods (.)”