[GowTo] Crear Paquetes .deb desde el source

1 11 2008

Para empezar, este GowTo está dirigido a gente que quiera crear sus propios paquetes para subirlos a un repositorio personal y poder transportarlo a donde nos plazca ó simplemente quiera compartirlo con la comunidad. Yo en este tutorial simulo que creo un paquete de nginx-0.7.19 (la última snapshot de desarrollo disponible a fecha de hoy).

Lo primero será satisfacer los paquetes necesarios para la creación de un .deb;

$ sudo aptitude install autotools-dev fakeroot dh-make build-essential

Una vez instalados, podríamos usar /tmp como nuestro lugar de trabajo temporal o bien crear un directorio en nuestra home para no tener pérdidas de algún que otro archivo.

$ cd $HOME & mkdir tmp & cd tmp

Estando en nuestro directorio de trabajo temporal, copiaremos el source de nuestro objetivo (programa, soft, llamemosló ‘X’) a nuestro directorio tmp.
En caso de que nos hayamos decantado por crear un directorio temporal en nuestra home:

$ cp -r nginx-0.7.19 $HOME/tmp

En caso contrario, que hayamos elejido /tmp:

$ cp -r nginx-0.7.19 /tmp

Aclararos que la opción ‘-r’ que le incluimos a cp es para que copie recursivamente, todos los directorios en la carpeta recursivamente.

Una vez lo hayamos copiado todo, accedemos al directorio temporal de nginx (en mi caso, a cada cual el que corresponda).

$ cd $HOME/tmp/nginx-0.7.19 || cd /tmp/nginx-0.7.19

Ahora crearemos los archivos de control de Debian (para tener un control sobre la versión, el que lo mantiene, etc..).

$ dh_make --single

Y seleccionar el típo de binario o seleccionar los que sean apropiados. La opción –single es para unicamente crear un único paquete .deb (para proyectos pequeños). Para las dudas;

$ man dh_make

Ahora tendremos que editar los archivos que ha generado dh_make, cambiando algunas de las líneas de los mismos, como por ejemplo el encargado de mantener el paquete, versión, fecha, descripción etc..

Una vez editados, ya sólo nos queda crear el paquete con dpkg-buildpackage usando fakeroot.

$ sudo dpkg-buildpackage -rfakeroot

Como ya hemos terminado, tendremos el paquete en el directorio /tmp (ó $HOME/tmp)!
Un consejo, si piensas publicarlo y mantenerlo actualizado, te recomiendo que mires este post sobre como nombrar los paquetes para Ubuntu.

La Información de este artículo está recogida de varias fuentes como QuietEarth.us, Debian.org.

Anuncios




emesene + aMSN + pymsn == aMSN2

2 08 2008

Tanto tiempo separados y de una vez por todas unirán fuerzas para crear una nueva criatura; aMSN2, esperemos que mejoren el rendimiento y se centren en que los usuarios de Linux no nos quedemos atrás en cuanto a video conferencias y video llamadas se refiere.

En esta nueva versión, dejarán atrás el lenguaje TCL para pasar a un nivel más superior; python.
Lo más novedoso esque se han fijado que no en todos los entornos se integra igual el actual aMSN (KDE, GNOME, etc..) por lo cuál han decidido crear una edición para cada entorno, para GNOME será desarrollada en GTK (The GIMP Toolkit) , para KDE en QT y por último para Enlightment en EFL (Enlightenment Foundation Libraries).

Esperemos que el desarrollo no se retrase y podamos disfrutar de una Alpha pública próximamente.
Y para que podamos ir disfrutando de el nuevo aMSN2, los desarrolladores nos han dejado un vídeo para ver el estado de el recien nacido.

Fuente: N0xTrUm  Technologies