2014-10-22

Creación del paquete de CHDKPTP para Debian

Se generó un manual que describe los pasos necesarios que se requiere llevar a cabo en el empaquetamiento. El manual se puede consultar en el siguiente link: https://github.com/LabExperimental-SIUA/ilt/wiki/Manual-de-empaquetamiento-de-chdkptp

El proceso de empaquetamiento fue muy interesante, pero al ser la primera vez que generamos un paquete Debian, se nos presentaron una serie de problemas que se describen a continuación.

Inicialmente se intentó seguir los pasos del manual de Introducción al empaquetamiento en Debian así que descargamos los archivos fuente del CHDKPTP en una carpeta. De manera separada creamos la carpeta Debian y incluimos los archivos necesarios para empaquetar(rules, control, compat, copyright, etc).

Al momento de crear el archivo de control creíamos que en la parte de “depends”, donde se colocaban los nombres de los paquetes de los que depende el paquete chdkptp, estos automáticamente se descargarían en el momento de intentar instalar el paquete con dpkg. Pero al momento de probar nos dimos cuenta que no hace esto, sino que solamente muestra un mensaje que indica que alguno de los paquetes que están en la cláusula de depends no se encuentra en el sistema.

Así que si se ve un mensaje de que falta alguna dependencia al momento de instalar el paquete quiere decir que primero se debe instalar esa dependencia.

Más adelante al intentar construir el paquete usando el comando “debuild -us -uc” nos mostró el siguiente error:

Error directorios lua

Esto es debido a que en el archivo .dirs tenemos que decirle que nos cree los directorios para lua. Para esto nos bastó con agregar las siguientes lineas al archivo chdkptp.dirs:

usr/share/chdkptp/lua usr/share/chdkptp/lua/extras

Por lo que el contenido del archivo chdkptp.dirs nos quedó de la siguiente manera:

usr/bin usr/share/man/man1 usr/share/chdkptp/lua usr/share/chdkptp/lua/extra

Al continuar haciendo intentos por generar el paquete, llegamos al error que se presenta:

Error de make

Es un error al tratar de hacer el make que indica que no hay reglas en el Makefile para el install. Por lo que editamos el archivo Makefile de los fuentes del chdkptp y agregamos las siguientes líneas al final del archivo:

prefix = usr/local
bindir = $(prefix)/bin
sharedir = $(prefix)/share

install: all
    install chdkptp $(DESTDIR)$(sharedir)/chdkptp
    install chdkptp.sh $(DESTDIR)$(bindir)/
    cp -r lua $(DESTDIR)$(sharedir)/chdkptp/

Al final tras varias horas de intentos y pruebas logramos que el proceso fuera exitoso y generara nuestro paquete de CHDKPTP.

Autores

  • Daniel Solís Méndez
  • Melvin Elizondo Pérez
  • Diego Ugalde Ávila