You are on page 1of 13

Antes de empezar...

● Láminas (y quizás video) en bureado.com


● Aplicaciones->Accesorios->Terminal
– sudo aptitude update
– sudo aptitude install gems
– gems-client 10.2.205.219
● Aplicaciones->Accesorios->Terminal
– sudo aptitude install dpkg-dev
devscripts
Taller de empaquetamiento de
software bajo el sistema APT

José Miguel Parrella Romero (bureado)


Debian Developer
Problemática

● La mayoría del software libre crece de forma


orgánica, generando un problema de acceso
● ca 1993 se empezó a atender el problema de
la distribución de software libre al público
● En 1998, Debian libera APT: Advanced
Packaging Tool como propuesta
– Facilitar la distribución de software libre
– Hacer elegante y escalable la distribución
– Hoy en día, el sistema de paquetes más
usado
Otros sistemas de paquetes

● Derivados de APT ● Sistemas agnósticos


(ipkg/opkg, Fink) postmodernos
● RPM y frontends – PackageKit
contemporáneos – Conary
usados en Red Hat, – Smart
SuSe y derivados – ZeroInstall
● Paquetes basados – CoApp
en fuentes como – Ponga su nombre
Arch (pacman) y aquí...
también Slackware
(swaret)
Objetivos funcionales

● Ubicar un pedazo de software en cualquier


parte del mundo, en demanda
– If you can't apt-get it, it isn't useful or doesn't exist
● Encargarse de conseguir y preparar todas las
dependencias para el software
● Instalar el software para su uso inmediato
● Preconfigurar el software, opcionalmente de
acuerdo a instrucciones del usuario
● Gestionar actualizaciones y remociones
Componentes de APT
Paquete Repo
fuente ● Paquetes binarios
físicos (.deb)
Build
● Paquetes fuentes
daemon
físicos (.dsc, .tar.gz)
Listas de
paquetes ● Listas de paquetes
(Release y
Packages[.*])
● Repositorios (HTTP,
Developers
FTP, SSH...)
Paquetes
binarios
Escenarios (objetivos)

● Reconstruir un paquete de software existente


con nuevas opciones y/o cambios
● Crear un paquete de software para una nueva
aplicación
● Discusión sobre otros escenarios (si el tiempo
lo permite)
– Aplicaciones Web
– Módulos de lenguajes (Perl, Python...)
● Buenos ciudadanos en Debian (y Ubuntu)
Buscando las fuentes...
● ¿Sabemos cómo se llama?
– http://packages.debian.org/src:<paquete>
● Buscamos el archivo DSC (a la derecha)
● En un terminal, dget <archivo DSC>
– O si tenemos entradas deb-src en sources.list:
● apt-get source <paquete>
● ¿No sabemos cómo se llama?
– aptitude search <término>
– dpkg -S <archivo>
– apt-file
El contenido de un paquete fuente

● debian/ ● Los archivos bajo la


– control carpeta debian/ son
– changelog
los que determinan
la forma de
– copyright construcción del
– rules paquete
– ...y hay más ● Distintos ayudantes y
funciones requieren
distintos archivos en
la carpeta debian/
debian/control

● Es generalmente informativo
● Los tres aspectos más importantes:
– Nombres de los paquetes binarios
– Dependencias para construir el paquete
– Arquitecturas en las que se ejecuta el paquete
● any corre en todas las arquitecturas de Debian
● all es independiente de la arquitectura
utilizada
debian/changelog

● Es generalmente inútilmente informativo


● Sin embargo, de su sintaxis se determina la
versión del paquete
debian/rules
● Es un Makefile
● Su contenido determina cómo se construye el
paquete
● Se pueden llamar los siguientes objetivos:
– clean limpia el entorno de trabajo
– binary crea el/los paquetes/s binario/s
– build construye el software
¡Quiero saber más!
● Debian Policy
● Presentación en:
– bureado.com
● Twitter/Identi.ca
– @bureado
● Correo electrónico
– bureado@debian.org
● Comunidad en Ecuador:
– www.debian.ec