Awesome
Debianizado
Debianizar consiste en agregar en el directorio raíz de nuestro código fuente, una carpeta 'debian' con los archivos necesarios (configuración, scripts de instalación, etc) tal como se indica en la Política de Debian y en los Manuales para desarrolladores de Debian.
Existen herramientas para debianizar proyectos de forma semiautomatica como dh_make, sin embargo esta herramienta tiene ciertas limitaciones -no genera automáticamente el archivo de control ni verifica las dependencias del paquete- y requiere trabajo adicional; genera mas contenido de lo estrictamente necesario, lo cual puede generar confusión para quien se este iniciando en el proceso de debianización de código fuente. Por esta razón se describe a continuación el contenido mínimo necesario (genérico) que debe tener un paquete fuente debianizado.
CHANGELOG
Ubicación
debian/changelog
Descripción
En este archivo se lleva un breve registro explicando las modificaciones y/o mejoras realizadas al código fuente. Se recomienda no generar este archivo a mano, dado que utiliza un formato especial y son frecuentes los errores cuando se genera manualmente. En su lugar se recomienda usar la herramienta dch para generarlo automáticamente. Para mas detalles consulte el apartado 4.4 en https://www.debian.org/doc/debian-policy/ch-source.html y el 4.3 en https://www.debian.org/doc/manuals/maint-guide/dreq.es.html#changelog
Formato
paquete (version) distribucion(es); prioridad=prioridad
[linea vacia, opcional]
* explicacion de las modificaciones
mas detalles acerca de las modificaciones
[linea vacia]
* otros cambios
[linea vacia, opcional]
-- nombre del mantenedor <correo del mantenedor>[dos espacios] fecha
Ejemplos
canaima-servicios (0.1.6) stable; urgency=medium
* [a5457a4] Actualizando dependencias de construcción
-- Victor Pino <victopin0@gmail.com> Wed, 20 Jan 2016 11:22:37 -0430
canaima-servicios (0.1.3) stable; urgency=medium
[ Francisco Guerrero ]
* [be35e85] Ajustando recursos de paquetes y pinning
[ Victor Pino ]
* [71212d3] Actualizando CRUD de pinnings y paginador
-- Victor Pino <victopin0@gmail.com> Wed, 13 Jan 2016 10:51:53 -0430
canaima-servicios (0.1.2) stable; urgency=medium
[ Francisco Guerrero ]
* [546c532] Configurando setup.py
* [f52e30e] Corrigiendo configuracion de uwsgi y otros errores menores
* [63070a2] Actualizando modelo de repositorios
* [247b354] Actualizando gitignore
* [42ba0ba] Corrigiendo generacion del basename de repositorios
[ Victor Pino ]
* [8d32589] Añadiendo nuevo modulos y funciones
-- Victor Pino <victopin0@gmail.com> Tue, 12 Jan 2016 17:11:17 -0430
RULES
Ubicación
debian/rules
Descripción
Es un script con sintaxis de Makefile, debe tener permisos de ejecución. Contiene instrucciones especificas para generar los paquetes binarios a partir de las fuentes, utilizando un conjunto de ayudantes que automatizan tareas repetitivas del proceso de empaquetamiento. Para mas detalles consulte el apartado 4.9 en https://www.debian.org/doc/debian-policy/ch-source.html
Ejemplo
#!/usr/bin/make -f
%:
dh $@
COMPAT
Ubicación
debian/compat
Descripción
El archivo compat define el nivel de compatibilidad de debhelper. Actualmente, se establece la compatibilidad a la versión 9 de debhelper como se indica a continuación.
Ejemplo
9
CONTROL
Ubicación
debian/control
Descripción
Archivo de texto que contiene información sobre el paquete. Contiene varios valores que dpkg, dselect, apt-get, apt-cache, aptitude y otras herramientas de gestión de paquetes usarán para gestionar el paquete. Esta divido en dos secciones, una para la información sobre el paquete fuente y otra para el/los paquetes binarios. Su contenido está desglosado en https://www.debian.org/doc/debian-policy/ch-controlfields.html
Ejemplo
Source: sedi
Section: web
Priority: standard
Maintainer: Centro Nacional de Tecnologías de la Información <responsable@cnti.gob.ve>
Build-Depends: debhelper (>= 9)
Standards-Version: 3.9.6
Homepage: http://canaima.softwarelibre.gob.ve/
Package: sedi
Architecture: all
Depends: bash, openjdk-7-jre, openjdk-7-jdk, mysql-server, apache2, logrotate, sed, python
Priority: optional
Description: Paquete de instalación semiautomático para sedi.
INSTALL
Ubicación
debian/install
Descripción
Si hay archivos que deben ser instalados por el paquete pero no lo hace make install, puedes listar los archivos y/o directorios seguido del los respectivos destinos en el archivo install. Para mas detalles consulte https://www.debian.org/doc/manuals/maint-guide/dother.es.html#install
Formato
src/archivo_binario usr/bin
src/archivo_configuracion etc/