2. Introducción al Proyecto Debian
●
Origen.
●
Directrices (DFSG).
●
●
Contrato Social, inclusión al nombre el
“GNU/Linux”.
Distintas adaptaciones además de Linux:
NetBSD, kFreeBSD y GNU Hurd.
SOFTWARE LIBRE, ¡Te da tu Libertad!
4. Sistemas de Paquetes
●
Dpkg (instalación a bajo nivel).
●
Advanced Packaging Tool (apt).
●
Aptitude (función de dselect + apt, gráfica).
●
Estructura de los “deb”.
SOFTWARE LIBRE, ¡Te da tu Libertad!
5. Debianizando Programas
Enfocado a programas que no estén
disponibles en deb. También que cumplan con
las DFSG. Pasos principales:
●
●
Añadir cambios específicos para Debian.
Construir paquete fuente y binarios para
Debian.
●
Comprobar y arreglar problemas.
●
Seguir con las actualizaciones y mantenimiento.
SOFTWARE LIBRE, ¡Te da tu Libertad!
6. Debianizando Programas
●
Software esencial para empaquetar:
●
buildessential (lista informativa).
●
debianpolicy (manual).
●
devscripts (scripts).
●
dhmake (convertidor de código fuente).
●
fakeroot (herramienta para simular root).
# aptget install buildessential devscripts dhmake fakeroot
SOFTWARE LIBRE, ¡Te da tu Libertad!
7. Debianizando Programas
●
Configurando dh_make:
$ cat >>~/.bashrc <<EOF
DEBEMAIL="nuestromail@ejemplo.org"
DEBFULLNAME="Nombre y Apellido"
export DEBEMAIL DEBFULLNAME
EOF
$ . ~/.bashrc
SOFTWARE LIBRE, ¡Te da tu Libertad!
9. Debianizando Programas
●
●
Notarán como se crean archivos adicionales
gracias a la “debianización” de dh_make.
Se crea un archivo de extensión “orig” en la
carpeta superior.
gentoo_0.19.12.orig.tar.gz
●
Además de una carpeta “debian” donde
trabajamos.
SOFTWARE LIBRE, ¡Te da tu Libertad!
10. Debianizando Programas
●
Ficheros que no son necesarios bajo debian/
●
*cron.d.ex (archivos que tengan alguna tarea).
●
emacsen*-ex (relacionados con Emacs).
●
init.d.ex (scripts de inicio).
●
*default.ex (scripts por defecto).
●
*.doc-base.ex (manuales).
SOFTWARE LIBRE, ¡Te da tu Libertad!
11. Debianizando Programas
●
●
●
postinst.ex, prerm.ex, preinst.ex y postrm.ex
(maintainer scripts).
README.Debian (información específica del
software).
manpage* (usaremos la página que incluye
actualmente el paquete).
SOFTWARE LIBRE, ¡Te da tu Libertad!
12. Debianizando Programas
●
Nos quedamos con los siguientes archivos:
●
changelog
●
compat
●
control
●
copyright
●
docs
●
menu
●
rules
●
watches
SOFTWARE LIBRE, ¡Te da tu Libertad!
13. Debianizando Programas
●
debian/changelog
Logs de cambios en el empaquetado de
Debian, también trae la información de
importancia y cierre de bugs.
●
debian/compat
Número de compatibilidad con debhelper,
actualmente no es necesario modificarlo.
SOFTWARE LIBRE, ¡Te da tu Libertad!
14. Debianizando Programas
●
debian/control
Metadatos de los paquetes fuente y binario.
Source: gentoo
Section: unknown
Priority: extra
Maintainer: Pablo Sepulveda <psep@debian.cl>
Build-Depends: debhelper (>= 8.0.0), autotools-dev
Standards-Version: 3.9.2
Homepage: <insert the upstream URL, if relevant>
SOFTWARE LIBRE, ¡Te da tu Libertad!
16. Debianizando Programas
●
debian/copyright
●
Copyright e información sobre la licencia
●
●
¡Es esencial hacerlo correctamente! ¡Muy
importante!
Incluir el texto completo (excepto para las
licencias GPL, LGPL y otras que estén en
/usr/share/commonlicenses).
SOFTWARE LIBRE, ¡Te da tu Libertad!
17. Debianizando Programas
●
debian/docs
Contiene el listado de ficheros de
configuración que se instalarán bajo
/usr/share/doc/<paquete>/
●
BUGS
●
NEWS
●
README
●
README.gtkrc
●
README.NLS
●
TODO
SOFTWARE LIBRE, ¡Te da tu Libertad!
18. Debianizando Programas
●
debian/menu
Es para tener una entrada en el menu Debian.
?package(gentoo):needs="X11|text|vc|wm" section="Applications/seemenu-manual"
title="gentoo" command="/usr/bin/gentoo"
SOFTWARE LIBRE, ¡Te da tu Libertad!
19. Debianizando Programas
●
debian/rules
●
Reglas para compilar y construir el paquete.
●
Técnicamente un Makefile con reglas específicas: build, binary, binaryarch,
binaryindep, clean.
●
La mayoría de las veces utilizando asistentes (debhelper).
●
Algunas veces muy simple, otras muy complejo.
●
La integración en el sistema puede resultar difícil.
SOFTWARE LIBRE, ¡Te da tu Libertad!
20. Debianizando Programas
●
debian/rules: resumen
●
debian/rules build: compila el programa
●
debian/rules binary: crea el paquete binario
Instala el programa bajo debian/tmp
Pone los metadatos de empaquetado en
debian/tmp/DEBIAN
●
debian/rules clean: limpieza
SOFTWARE LIBRE, ¡Te da tu Libertad!
21. Creación del Paquete DEB
●
# fakeroot
●
# dpkgbuildpackage (o debuild)
●
Completar dependencias hasta quedar
cumplidas, una vez listo generará el **.deb
SOFTWARE LIBRE, ¡Te da tu Libertad!
23. Gracias por su atención
●
Contacto:
psepulveda@gnuchile.cl
psep@debian.cl
pablo.sepulveda@member.fsf.org
http://www.psep.cl
SOFTWARE LIBRE, ¡Te da tu Libertad!