Mantenimiento de paquetes en Debian GNU/Linux

  • 82 views
Uploaded on

Mantenimiento de paquetes en Debian GNU/Linux

Mantenimiento de paquetes en Debian GNU/Linux

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
82
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
3
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 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