viernes, 4 de marzo de 2011

Cómo crear un paquete .deb (otra vez).

Fuente: 120% Linux

crear debPara crear nuestros propios paquetes de datos DEB, necesitamos distribuir paquetes compilados de programas no existentes en los repositorios oficiales o nuevas versiones de ellos. Debian, y muchas de sus distribuciones derivadas, incluyen todas las herramientas necesarias para la creación de paquetes .deb.
Un paquete DEB, es un archivo empaquetado y comprimido que contiene toda la información necesaria para instalar un software mediante cualquiera de las herramientas compatibles dpkg o apt. Está compuesto por tres archivos que contienen la información que guarda el paquete. Estos archivos son el control.tar.gz, el data.tar.gz y el debian-binary. Los dos primeros son ficheros comprimidos que contienen uno información y otro los archivos que componen el programa empaquetado respectivamente, mientras que el último indica el número de versión del paquete DEB construido.
Para visualizar el contenido del paquete simplemente ejecutaremos el siguiente comando:
ar x paquete.deb
Para tener todas las herramientas necesarias para crear el .deb, instalamos lo siguente:
aptitude install autoconf
automake  dh-make debhelper
devscripts dpkg-dev fakeroot
file gcc gnupg libc6-dev
lintian make pbuilder perl xutils
El último comando, nos instalará el programa lintian, que no es necesario para la creación del paquete, pero nos ayudará a verificar errores.
Ahora podemos empezar a construir nuestro paquete DEB y lo haremos a partir del código fuente del editor joe en última versión, la 3.7. Para descargarnos el código fuente, nos vamos a la siguiente dirección haciendo click aquí.
Después debemos seguir los siguientes pasos:
Paso1.- Creamos una carpeta con el nombre del programa:
mkdir joe
Paso2.- Movemos el archivo tar.gz del código fuente a la carpeta y lo descomprimimos con el comando:
tar xvzf joe-3.7.tar.gz
Paso3.- Entramos en el directorio del código fuente del programa y ejecutamos el comando:
dh_make -e usuario@correo.com -f ../joe-3.7.tar.gz
paquete debReemplazando el "usuario@correo.com" por nuestro correo y "../" por la ruta al paquete con el código fuente. Al acabar, obtendremos un archivo nuevo con extensión orig.tar.gz que contiene el código fuente del programa original empaquetado con los estándares de Debian y el directorio Debian con los archivos necesarios (control, rules, changelog y copyright).
Paso4.- Construimos el paquete con el siguiente comando:
debuild -r fakeroot
Con esto obtendremos un nuevo paquete con el nombre original del programa, su número de versión, etc.
Paso5.- La firma del paquete requiere  una llave GPG, que corresponde al correo electrónico escrito en el paso número 3. Para crear la llave, ejecutamos:
gpg --gen-key
NOTA: Si queremos construir un paquete sin firmar, emplearemos el siguiente comando:
dpkg-buildpackage -r fakeroot
Paso6.- Finalmente, comprobamos que el paquete esté correctamente creado ejecutando el código:
lintian -i paquete.deb
Si no nos dice que hay algún error, es que todo ha ido según lo esperado. En el caso de que nos diga algo, yo recomendaría revisar los pasos y si no se encuentra en fallo, repetir el proceso.
Ahora, si quisieramos instalarlo en nuestro equipo, simplemente tendríamos que escribir en el terminal:
dpkg -i joe_3.7-1_i386.deb
Con esto habríamos creado nuestro propio paquete DEB. Hay más opciones que son posibles configurar, pero decidí poner sólo lo más importante.
debian

No hay comentarios:

Publicar un comentario