gentoo linux, java, software libre y otras hierbas
oct, 27 2008 - 11:49 am

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).

Páginas de esta entrada: 1 2 3 4 5 6

6 Comentarios | deja el tuyo

Un enlace entrante

5 Comentarios en “Crear paquete DEB para programas en Python”

  1. Cristobal dice:

    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 ;-)

  2. Cristian dice:

    OK… gracias por la recomendación :P

    Un saludo!

  3. Paco dice:

    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?

  4. Paco dice:

    Olvidé decir que trabajo bajo Ubuntu 10.04. Tengo dos semanas usando esta distro ya que siempre use Windows. Ayuda Porfavor.

  5. 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 (.)”

¡Déjanos tu comentario!