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

Crear paquete DEB para programas en Python

He leído bastante información acerca de cómo debianizar paquetes de software, pero en la mayoría de los casos se parte de el hecho de tener un programa en C/C++, en donde es necesario preocuparse por las tareas de compilación.

Y puesto que no he visto ningún tutorial en español, he decidido escribir algo al respecto de la manera más clara posible. ¡Manos a la obra!

0. Preparativos

Lo único que necesitas son dos herramientas: dpkg-dev y dh-make, las cuales puedes instalar ejecutando este comando:

apt-get install dpkg-dev dh-make

Ten en cuenta que en éste ejemplo vamos a empaquetar un programa simple llamado “pngcrushgtk“, y que debes cambiar todo lo que aparece con ése nombre con el nombre de tu programa.

1. Creando un espacio de trabajo

Puesto que mientras estemos realizando el empaquetado se van a crear varios archivos, lo ideal es tener un espacio de trabajo (una carpeta) totalmente vacío al comenzar. Así que crearemos una carpeta llamada sandbox, en donde realizaremos todo cómodamente:

$ mkdir sandbox
$ cd sandbox

Dentro, debemos crear una carpeta cuyo nombre sea del tipo: nombreprograma-version:

$ mkdir pngcrushgtk-0.2

En la cual debemos copiar una versión empaquetada de nuestro programa dentro de un .tar.gz. Si aún no lo tienes, puedes hacer lo siguiente:

$ cd /ruta/de/tu/programa
$ tar cfzv pngcrushgtk-0.2.tar.gz *
$ cp pngcrushgtk-0.2.tar.gz /ruta/sandbox/pngcrushgtk-0.2/
$ cd /ruta/sandbox/pngcrushgtk-0.2/
Nota: recuerda que debes poner el nombre de tu programa en vez de “pngcrushgtk”.

2. Debianizando nuestro paquete

Para ello utilizaremos el comando dh_make de la siguiente forma:

$ dh_make -e cristian@elhacker.net -f pngcrushgtk-0.2.tar.gz -c GPL

Type of package: single binary, multiple binary, library, kernel module or cdbs?
[s/m/l/k/b] sMaintainer name : cristian
Email-Address : cristian@elhacker.net
Date : Sat, 18 Oct 2008 11:15:08 -0500
Package Name : pngcrushgtk
Version : 0.2
License : gpl
Using dpatch : no
Type of Package : Single
Hit <enter> to confirm:
Currently there is no top level Makefile. This may require additional tuning.
Done. Please edit the files in the debian/ subdirectory now. You should also
check that the pngcrushgtk Makefiles install into $DESTDIR and not in / .

Nos preguntará qué tipo de paquete estamos creando, y seleccionamos “s” (simple). Permíteme explicarte cada parámetro:

  • -e cristian@elhacker.net, indicamos el correo electrónico del autor del programa
  • -f pngcrushgtk.tar-0.2.gz, indicamos el paquete comprimido que contiene nuestro programa
  • -c GPL, indicamos el tipo de licencia de nuestro programa

Luego de ejecutar el comando se habrá creado una carpeta llamada debian dentro de pngcrushgtk-0.2; y un archivo llamado pngcrushgtk_0.2.orig.tar.gz dentro de la carpeta sandbox, el cual debes eliminar.

Continúa leyendo en la siguiente página, en donde comenzamos con la configuración del paquete…

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

6 Comentarios | deja el tuyo

oct, 06 2008 - 1:45 pm

NhoPkg, gestor de paquetes genérico

A través de la sección Colabora! me informa JotaHacker de un proyecto que ha estado desarrollando llamado NhoPkg. NhoPkg es un sencillo gestor de paquetes “universal”, útil sobre todo en sistemas Linux From Scratch (construidos desde cero) que no poseen software de administración de programas instalados.

NhoPkg funciona con archivos .nho (creados por la comunidad; incluso tú puedes subir tus propios paquetes) y permite realizar lo siguiente:

  • Instalar software precompilado (binarios)
  • Instalar software desde el código fuente (NhoPkg compila e instala el software)
  • Crear nuevos paquetes .nho para compartir
  • Y por supuesto gestinar los paquetes instalados (desinstalar, listar, etc.)

Instalación y uso

Para instalarlo basta con descargarlo desde aquí, descomprimirlo y ejecutar un par de comandos:

# tar xvfj nhopkg-0.4.tar.bz2
# make
# make install

El proceso de instalación es muy sencillo, aunque a mi me dió un pequeño problema. Resulta que cuando construyes el paquete, el script de construcción utiliza msgfmt, por lo que hay que tener instalado gettext:

# apt-get install gettext

Una vez instalado su uso es muy sencillo, solo debemos descargar el archivo .nho y ejecutar el comando nhopkg -i paquete.nho; por ejemplo, supongamos que queremos instalar cmake, descargamos los binarios y ejecutamos lo siguiente:

nhopkg -i cmake-2.6.1-2.nho

Y es todo! Ahora para desinstalarlo:

nhopkg -r cmake-2.6.1-2

Si lo que descargaste es un paquete con fuentes, la instalación es así:

nhopkg -b cmake-2.6.1-2-src.nho

El proyecto aún se encuentra en sus inicios, y aún no cuenta con muchos paquetes, pero es bastante interesante y prometedor por lo que estoy seguro que crecerá a futuro. No olviden que cualquier tipo de comentario, duda o sugerencia pueden tratarlo directamente con el autor de programa.

Enlaces interesantes…

4 Comentarios | deja el tuyo

sep, 22 2008 - 12:01 am

Verificar y satisfacer dependencias usando apt-rdepends y apt-get build-dep en Debian o Ubuntu

Primero hablemos de apt-rdepends, un programa que nos permite verificar las dependencias de un paquete de manera recursiva, es decir, no solamente muestra las dependencias inmediatas de un paquete, sino que nos muestra un árbol de dependencias (que incluye las dependencias de las dependencias).

Esto es bastante útil cuando necesitemos compilar un paquete desde sus fuentes, y queramos saber qué otros paquetes son necesarios para que la construcción del programa sea satisfactoria.

Para instalar apt-rdepends basta con ejecutar el comando:

debian:~# apt-get install apt-rdepends

Suponiendo que deseamos ver las dependencias del paquete libapache2-mod-php5, usamos el comando: Leer el resto de la entrada…

12 Comentarios | deja el tuyo

« Entradas anteriores
Entradas recientes »