SlideShare una empresa de Scribd logo
1 de 24
Descargar para leer sin conexión
Mantenimiento de paquetes en Debian

Pablo Sepúlveda P.
psepulveda@gnuchile.cl
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!
Introducción a Debian
●

Rama stable (actual Squeeze 6.0).

●

Rama oldstable (Lenny 5.0).

●

Rama testing (futura Wheezy 7.0).

●

Rama sid (unstable).

●

Rama experimental (nuevos ingresos).

SOFTWARE LIBRE, ¡Te da tu Libertad!
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!
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!
Debianizando Programas
●

Software esencial para empaquetar:

●

build­essential (lista informativa).

●

debian­policy (manual).

●

devscripts (scripts).

●

dh­make (convertidor de código fuente).

●

fakeroot (herramienta para simular root).
# apt­get install build­essential devscripts dh­make fakeroot

SOFTWARE LIBRE, ¡Te da tu Libertad!
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!
Debianizando Programas
●

$ wget
http://www.psep.cl/recursos/source/gentoo
-0.19.12.tar.gz

●

$ tar -xvzf gentoo-0.19.12.tar.gz

●

$ cd gentoo-0.19.12

●

$ dh_make -f ../gentoo-0.19.12.tar.gz

SOFTWARE LIBRE, ¡Te da tu Libertad!
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!
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!
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!
Debianizando Programas
●

Nos quedamos con los siguientes archivos:

●

changelog

●

compat

●

control

●

copyright

●

docs

●

menu

●

rules

●

watches

SOFTWARE LIBRE, ¡Te da tu Libertad!
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!
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!
Debianizando Programas
●

debian/control
Package: gentoo
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: <insert up to 60 chars description>
<insert long description, indented with spaces>

SOFTWARE LIBRE, ¡Te da tu Libertad!
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/common­licenses).

SOFTWARE LIBRE, ¡Te da tu Libertad!
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!
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!
Debianizando Programas
●

debian/rules

●

Reglas para compilar y construir el paquete.

●

Técnicamente un Makefile con reglas específicas: build, binary, binary­arch,
binary­indep, 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!
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!
Creación del Paquete DEB
●

# fakeroot

●

# dpkg­buildpackage (o debuild)

●

Completar dependencias hasta quedar
cumplidas, una vez listo generará el **.deb

SOFTWARE LIBRE, ¡Te da tu Libertad!
Documentación
●

●

Debian Policy
http://www.debian.org/doc/debian-policy
Guía del nuevo Desarrollador Debian
http://www.debian.org/doc/manuals/maint-guide

SOFTWARE LIBRE, ¡Te da tu Libertad!
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!
DESARROLLANDO LIBERTAD Y FUTURO
http://www.gnuchile.cl

Más contenido relacionado

La actualidad más candente

Control de versiones con Git y Github
Control de versiones con Git y GithubControl de versiones con Git y Github
Control de versiones con Git y Githubguest638090
 
97132962-instalacion-de-open meetings-en-squeeze
 97132962-instalacion-de-open meetings-en-squeeze 97132962-instalacion-de-open meetings-en-squeeze
97132962-instalacion-de-open meetings-en-squeezexavazquez
 
Transcripcion (jackeline chillogalli
Transcripcion (jackeline chillogalliTranscripcion (jackeline chillogalli
Transcripcion (jackeline chillogallijackeline_chillogalli
 
Comandos permisos linux centos
Comandos permisos linux centosComandos permisos linux centos
Comandos permisos linux centosche_carlitos
 
Como instalar unix ...lili
Como instalar unix ...liliComo instalar unix ...lili
Como instalar unix ...lilijassley 2000
 
Advanced packaging tool
Advanced packaging toolAdvanced packaging tool
Advanced packaging toolluis fernando
 
Trabajo gnu
Trabajo gnuTrabajo gnu
Trabajo gnutxemi123
 
Introducción a git
Introducción a gitIntroducción a git
Introducción a gitKeopx
 
Git para-principiantes
Git para-principiantesGit para-principiantes
Git para-principiantesnscoder_mad
 
Instalar unix Euller Yugsan 108 bb72
Instalar unix Euller Yugsan 108 bb72Instalar unix Euller Yugsan 108 bb72
Instalar unix Euller Yugsan 108 bb72Euller108BB72
 

La actualidad más candente (17)

Php (hipertex pre processor)
Php (hipertex pre processor)Php (hipertex pre processor)
Php (hipertex pre processor)
 
Nava visual basic
Nava visual basicNava visual basic
Nava visual basic
 
Control de versiones con Git y Github
Control de versiones con Git y GithubControl de versiones con Git y Github
Control de versiones con Git y Github
 
97132962-instalacion-de-open meetings-en-squeeze
 97132962-instalacion-de-open meetings-en-squeeze 97132962-instalacion-de-open meetings-en-squeeze
97132962-instalacion-de-open meetings-en-squeeze
 
Openldap
OpenldapOpenldap
Openldap
 
Introducción a git y git hub
Introducción a git y git hubIntroducción a git y git hub
Introducción a git y git hub
 
Transcripcion (jackeline chillogalli
Transcripcion (jackeline chillogalliTranscripcion (jackeline chillogalli
Transcripcion (jackeline chillogalli
 
Comandos permisos linux centos
Comandos permisos linux centosComandos permisos linux centos
Comandos permisos linux centos
 
Como instalar unix ...lili
Como instalar unix ...liliComo instalar unix ...lili
Como instalar unix ...lili
 
Advanced packaging tool
Advanced packaging toolAdvanced packaging tool
Advanced packaging tool
 
Trabajo gnu
Trabajo gnuTrabajo gnu
Trabajo gnu
 
Mary cervantes
Mary cervantesMary cervantes
Mary cervantes
 
Introducción a git
Introducción a gitIntroducción a git
Introducción a git
 
Git para-principiantes
Git para-principiantesGit para-principiantes
Git para-principiantes
 
Jadira palta
Jadira paltaJadira palta
Jadira palta
 
Julissa
JulissaJulissa
Julissa
 
Instalar unix Euller Yugsan 108 bb72
Instalar unix Euller Yugsan 108 bb72Instalar unix Euller Yugsan 108 bb72
Instalar unix Euller Yugsan 108 bb72
 

Destacado

Theores final project
Theores final projectTheores final project
Theores final projectDevinchi
 
Eng.Ibrahim Sakkot ELECTRICAL ENG CV_1
Eng.Ibrahim Sakkot ELECTRICAL ENG CV_1Eng.Ibrahim Sakkot ELECTRICAL ENG CV_1
Eng.Ibrahim Sakkot ELECTRICAL ENG CV_1Ibrahem Sakkot
 
Plano de aula 1 ied - prof. alan matos
Plano de aula 1   ied - prof. alan matosPlano de aula 1   ied - prof. alan matos
Plano de aula 1 ied - prof. alan matosAlan Matos
 
Aniversario nuestra señora de la sabiduría
Aniversario nuestra señora de la sabiduríaAniversario nuestra señora de la sabiduría
Aniversario nuestra señora de la sabiduríaGabriela Mendoza
 
Plano de aula 1 ied - prof. alan matos
Plano de aula 1   ied - prof. alan matosPlano de aula 1   ied - prof. alan matos
Plano de aula 1 ied - prof. alan matosAlan Matos
 
INTEGRATION TO C.LIBRARY
INTEGRATION TO C.LIBRARY INTEGRATION TO C.LIBRARY
INTEGRATION TO C.LIBRARY Devinchi
 
Θεωρία Πανελληνίων ΑΟΘ
Θεωρία Πανελληνίων ΑΟΘΘεωρία Πανελληνίων ΑΟΘ
Θεωρία Πανελληνίων ΑΟΘGeorgia Kazakou
 

Destacado (20)

Debian edu 2
Debian edu 2Debian edu 2
Debian edu 2
 
Debian
DebianDebian
Debian
 
Autocad
AutocadAutocad
Autocad
 
Remotossh_
Remotossh_Remotossh_
Remotossh_
 
Mis comandos favoritos en linux parte 2
Mis comandos favoritos en linux parte 2Mis comandos favoritos en linux parte 2
Mis comandos favoritos en linux parte 2
 
Dhcp en linux (debian5)
Dhcp en linux (debian5)Dhcp en linux (debian5)
Dhcp en linux (debian5)
 
Mis comandos favoritos en linux parte 1
Mis comandos favoritos en linux parte 1Mis comandos favoritos en linux parte 1
Mis comandos favoritos en linux parte 1
 
Medios de comunicación
Medios de comunicaciónMedios de comunicación
Medios de comunicación
 
Gravimetria
GravimetriaGravimetria
Gravimetria
 
Theores final project
Theores final projectTheores final project
Theores final project
 
Eng.Ibrahim Sakkot ELECTRICAL ENG CV_1
Eng.Ibrahim Sakkot ELECTRICAL ENG CV_1Eng.Ibrahim Sakkot ELECTRICAL ENG CV_1
Eng.Ibrahim Sakkot ELECTRICAL ENG CV_1
 
Plano de aula 1 ied - prof. alan matos
Plano de aula 1   ied - prof. alan matosPlano de aula 1   ied - prof. alan matos
Plano de aula 1 ied - prof. alan matos
 
Go%20fresh
Go%20freshGo%20fresh
Go%20fresh
 
Aniversario nuestra señora de la sabiduría
Aniversario nuestra señora de la sabiduríaAniversario nuestra señora de la sabiduría
Aniversario nuestra señora de la sabiduría
 
Plano de aula 1 ied - prof. alan matos
Plano de aula 1   ied - prof. alan matosPlano de aula 1   ied - prof. alan matos
Plano de aula 1 ied - prof. alan matos
 
INTEGRATION TO C.LIBRARY
INTEGRATION TO C.LIBRARY INTEGRATION TO C.LIBRARY
INTEGRATION TO C.LIBRARY
 
Ensayo
EnsayoEnsayo
Ensayo
 
Θεωρία Πανελληνίων ΑΟΘ
Θεωρία Πανελληνίων ΑΟΘΘεωρία Πανελληνίων ΑΟΘ
Θεωρία Πανελληνίων ΑΟΘ
 
Locksmith 3
Locksmith 3Locksmith 3
Locksmith 3
 
carta
cartacarta
carta
 

Similar a Mantenimiento de paquetes en Debian GNU/Linux

Similar a Mantenimiento de paquetes en Debian GNU/Linux (20)

¿Como colaborar en Debian?
¿Como colaborar en Debian?¿Como colaborar en Debian?
¿Como colaborar en Debian?
 
Rafael noboa
Rafael noboaRafael noboa
Rafael noboa
 
Empaquetar un paquete Debian por medio de mercurial
Empaquetar un paquete Debian por medio de mercurialEmpaquetar un paquete Debian por medio de mercurial
Empaquetar un paquete Debian por medio de mercurial
 
Jhon aguirre
Jhon aguirreJhon aguirre
Jhon aguirre
 
Colaborar en Debian
Colaborar en DebianColaborar en Debian
Colaborar en Debian
 
GNU/Linux Debian Squeeze 6.0.0 Instalación
GNU/Linux Debian Squeeze 6.0.0 InstalaciónGNU/Linux Debian Squeeze 6.0.0 Instalación
GNU/Linux Debian Squeeze 6.0.0 Instalación
 
Debian
DebianDebian
Debian
 
Ventajas de Debian GNU/Linux
Ventajas de Debian GNU/LinuxVentajas de Debian GNU/Linux
Ventajas de Debian GNU/Linux
 
Fabbo
FabboFabbo
Fabbo
 
DEBIAN
DEBIANDEBIAN
DEBIAN
 
Debian
DebianDebian
Debian
 
Introduccion al desarrollo con Launchpad
Introduccion al desarrollo con LaunchpadIntroduccion al desarrollo con Launchpad
Introduccion al desarrollo con Launchpad
 
Guia instalación debian
Guia instalación debianGuia instalación debian
Guia instalación debian
 
Guia instalación debian
Guia instalación debianGuia instalación debian
Guia instalación debian
 
Debian1
Debian1Debian1
Debian1
 
Debian edu 2
Debian edu 2Debian edu 2
Debian edu 2
 
Carlos Rosales
Carlos RosalesCarlos Rosales
Carlos Rosales
 
Sistema operativo debian
Sistema operativo debianSistema operativo debian
Sistema operativo debian
 
¿quien es debian?
¿quien es debian?¿quien es debian?
¿quien es debian?
 
Colaborar debian
Colaborar debianColaborar debian
Colaborar debian
 

Último

Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 

Último (13)

Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 

Mantenimiento de paquetes en Debian GNU/Linux

  • 1. Mantenimiento de paquetes en Debian Pablo Sepúlveda P. psepulveda@gnuchile.cl
  • 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!
  • 3. Introducción a Debian ● Rama stable (actual Squeeze 6.0). ● Rama oldstable (Lenny 5.0). ● Rama testing (futura Wheezy 7.0). ● Rama sid (unstable). ● Rama experimental (nuevos ingresos). 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: ● build­essential (lista informativa). ● debian­policy (manual). ● devscripts (scripts). ● dh­make (convertidor de código fuente). ● fakeroot (herramienta para simular root). # apt­get install build­essential devscripts dh­make 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!
  • 8. Debianizando Programas ● $ wget http://www.psep.cl/recursos/source/gentoo -0.19.12.tar.gz ● $ tar -xvzf gentoo-0.19.12.tar.gz ● $ cd gentoo-0.19.12 ● $ dh_make -f ../gentoo-0.19.12.tar.gz 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!
  • 15. Debianizando Programas ● debian/control Package: gentoo Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Description: <insert up to 60 chars description> <insert long description, indented with spaces> 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/common­licenses). 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, binary­arch, binary­indep, 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 ● # dpkg­buildpackage (o debuild) ● Completar dependencias hasta quedar cumplidas, una vez listo generará el **.deb SOFTWARE LIBRE, ¡Te da tu Libertad!
  • 22. Documentación ● ● Debian Policy http://www.debian.org/doc/debian-policy Guía del nuevo Desarrollador Debian http://www.debian.org/doc/manuals/maint-guide 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!
  • 24. DESARROLLANDO LIBERTAD Y FUTURO http://www.gnuchile.cl