PDF de programación - Construcción de paquetes Debian

Imágen de pdf Construcción de paquetes Debian

Construcción de paquetes Debiangráfica de visualizaciones

Actualizado el 21 de Marzo del 2018 (Publicado el 8 de Marzo del 2018)
393 visualizaciones desde el 8 de Marzo del 2018
263,5 KB
34 paginas
Creado hace 18a (14/11/2005)
Construcci´on de paquetes Debian

Jes´us Espino Garc´ıa

11 de Julio de 2005

Jes´us Espino Garc´ıa (UC3M)

Construcci´on de paquetes Debian

11 de Julio de 2005

2 / 35

Contenidos

Introducci´on.

Un paquete Debian por dentro.

Construyendo un paquete Debian.

Construyendo Meta-Paquetes con equivs.

Referencias.

Jes´us Espino Garc´ıa (UC3M)

Construcci´on de paquetes Debian

11 de Julio de 2005

3 / 35

Introducci´on.

Jes´us Espino Garc´ıa (UC3M)

Construcci´on de paquetes Debian

11 de Julio de 2005

4 / 35

¿Qu´e son los paquetes y meta-paquetes Debian?

Paquetes: Son archivos binarios que automatizan el proceso de
instalaci´on de software en distribuciones Debian o basadas en Debian.

Meta-Paquetes: Son archivos binarios que ´unicamente contienen
informaci´on de dependencias y su cometido es realizar la agrupaci´on
l´ogica de grupos de paquetes bajo un ´unico nombre.

Jes´us Espino Garc´ıa (UC3M)

Construcci´on de paquetes Debian

11 de Julio de 2005

5 / 35

¿Por qu´e construir paquetes?

Empaquetar para alguna distribuci´on.

Instalar software no empaquetado.

Distribuir software f´acil de instalar.

Agrupar conjuntos de aplicaciones bajo un mismo nombre
(meta-paquetes).

Configuraciones comunes (paquetes de personalizaci´on).

Instalaci´on de equipos personalizados (meta-paquetes y paquetes de
personalizaci´on).

Otras aplicaciones...

Jes´us Espino Garc´ıa (UC3M)

Construcci´on de paquetes Debian

11 de Julio de 2005

6 / 35

¿Qu´e necesitamos?

build-essential: Meta-paquete para construcci´on de paquetes
(make, gcc, libc-dev...).
dh-make: Debianizador de directorios fuente.
debhelper: Aplicaciones de ayuda para debian/rules.
dpkg-dev: Herramienta de construcci´on de paquetes.
devscripts: Scripts de ayuda para construcci´on de paquetes.
fakeroot: Simula un entorno de root.
lintian: Comprueba que sean correctos los paquetes.
patch, dpatch: Herramientas para aplicar parches.

Jes´us Espino Garc´ıa (UC3M)

Construcci´on de paquetes Debian

11 de Julio de 2005

7 / 35

Un paquete Debian por dentro.

Jes´us Espino Garc´ıa (UC3M)

Construcci´on de paquetes Debian

11 de Julio de 2005

8 / 35

Desmontando un paquete

Un paquete Debian es un archivo comprimido con ’ar’ que contiene 3
archivos:

control.tar.gz: Contiene todos los archivos control, el control,
md5sums, postinst, postrm, etc...
data.tar.gz: Contiene los archivos de datos tal y como se escribir´an
en nuestro disco duro.
debian-binary: Contiene la versi´on del empaquetado.

Jes´us Espino Garc´ıa (UC3M)

Construcci´on de paquetes Debian

11 de Julio de 2005

9 / 35

Montando un paquete

Crear el directorio <nombre-de-paquete>-<versi´on>.
Crear estructura de directorios y ficheros que desea instalar en el
directorio creado, asumiendo que este sera el directorio ra´ız del
sistema.
Crear el directorio <nombre-de-paquete>-<versi´on>/DEBIAN.
Crear el archivo
<nombre-de-paquete>-<versi´on>/DEBIAN/control.
Crear el archivo
<nombre-de-paquete>-<versi´on>/DEBIAN/md5sums.
Creamos el empaquetado con dpkg -b
<nombre-de-paquete>-<versi´on> .

Jes´us Espino Garc´ıa (UC3M)

Construcci´on de paquetes Debian

11 de Julio de 2005

10 / 35

Construyendo un paquete Debian.

Jes´us Espino Garc´ıa (UC3M)

Construcci´on de paquetes Debian

11 de Julio de 2005

11 / 35

Document´andonos sobre el paquete

Lo primero que debemos hacer es documentarnos bien sobre c´omo se
instala el software, porque es posible que necisitemos introducir
modificaciones en Makefiles o scripts de instalaci´on para especificar que
debe instalarse siempre usando debian/<nombre-de-paquete>/ como
directorio ra´ız.

Jes´us Espino Garc´ıa (UC3M)

Construcci´on de paquetes Debian

11 de Julio de 2005

12 / 35

Descomprimimos el paquete

$ tar zxvf binclock-1.5.tar.gz
binclock-1.5/
binclock-1.5/CHANGELOG
binclock-1.5/COPYING
binclock-1.5/doc/
binclock-1.5/doc/binclock.1
binclock-1.5/src/
binclock-1.5/src/binclock.c
binclock-1.5/Makefile
binclock-1.5/README
binclock-1.5/INSTALL
binclock-1.5/binclockrc

Jes´us Espino Garc´ıa (UC3M)

Construcci´on de paquetes Debian

11 de Julio de 2005

13 / 35

Estableciendo nuestras variables globales

$ export DEBEMAIL="[email protected]"
$ export DEBFULLNAME="Jes´us Espino Garc´ıa"

Jes´us Espino Garc´ıa (UC3M)

Construcci´on de paquetes Debian

11 de Julio de 2005

14 / 35

Creando la estructura de paquete

$ cd binclock-1.5
$ dh_make --copyright gpl
Type of package: single binary, multiple binary, library,
or kernel module? [s/m/l/k]

Maintainer name : Jes´us Espino Garc´ıa
: [email protected]
Email-Address
: Sat, 11 Jun 2005 01:12:05 +0200
Date
Package name
: binclock
: 1.5
Version
License
: gpl
Type of package : Single
Hit <enter> to confirm:
Done. Please edit the files in the debian/ subdirectory now.
You should also check that the binclock Makefiles install
into $DESTDIR and not in / .

Jes´us Espino Garc´ıa (UC3M)

Construcci´on de paquetes Debian

11 de Julio de 2005

15 / 35

Ficheros importantes

changelog: Contiene los cambios de una versi´on a otra del paquete.
control: Contiene la informaci´on del paquete, nombre, mantenedor,
dependencias, descripci´on, etc...
copyright: Contiene la licencia del software empaquetado.
dirs: Contiene los directorios que deber´ıan estar en el sistema antes
de la instalaci´on y despu´es de la desinstalaci´on del software.
docs: Contiene los ficheros y directorios que se consideran
documentaci´on.
README.Debian: Contiene informaci´on especifica sobre el paquete
Debian.
rules: Contiene las reglas de compilaci´on e instalado del software en
el momento del empaquetado.

Jes´us Espino Garc´ıa (UC3M)

Construcci´on de paquetes Debian

11 de Julio de 2005

16 / 35

Editando el fichero ”changelog”

binclock (1.5-1) unstable; urgency=low

* Initial release Closes: #nnnn (nnnn is the bug number of your ITP)

-- Jes´us Espino Garc´ıa <[email protected]> Sat, 11 Jun 2005 01:14:58 +0200

Linea 1: nombre (version) estabilidad; urgency=urgencia.
Linea 2: Los bugs que resuelve, uno por linea y empezando por *.
Linea 3: -- $DEBFULLNAME <$DEBEMAIL> $(date -R).
Para incrementar el changelog podemos hacerlo editando el archivo a
mano o usando dch -i.

Jes´us Espino Garc´ıa (UC3M)

Construcci´on de paquetes Debian

11 de Julio de 2005

17 / 35

Editando el fichero ”control” I

Source: binclock
Section: unknown
Priority: optional
Maintainer: Jes´us Espino Garc´ıa <[email protected]>
Build-Depends: debhelper (>= 4.0.0)
Standards-Version: 3.6.1

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

Jes´us Espino Garc´ıa (UC3M)

Construcci´on de paquetes Debian

11 de Julio de 2005

18 / 35

Editando el fichero ”control” II

Se deben cambiar los campos que se crea necesarios:

Source: Nombre del paquete fuente del paquete.

Section: Secci´on a la que pertenece el paquete.

Priority: Prioridad del paquete.

Maintainer: Nombre y email del mantenedor del paquete.

Build-Depends: Dependencias de compilaci´on del paquete.

Standards-Version: Versi´on del est´andar de paquete.

Package: Nombre del paquete.

Architecture: Arquitectura.

Depends: Dependencias del paquete binario.

Description: Descripci´on del paquete, consta de una corta y una larga.

Jes´us Espino Garc´ıa (UC3M)

Construcci´on de paquetes Debian

11 de Julio de 2005

19 / 35

Editando el fichero ”copyright”

This package was debianized by Jes´us Espino Garc´ıa <[email protected]> on
Sat, 11 Jun 2005 01:14:58 +0200.

It was downloaded from <fill in ftp site>

Copyright Holder: <put author(s) name and email here>

License:

<texto de la licencia>

Poner el lugar de donde se descargo el software.
Poner el autor original del software y su correo electr´onico.
Poner la licencia en caso de que no est´e puesta todav´ıa. Si es posible,
como referencia a /usr/share/common-licenses/.

Jes´us Espino Garc´ıa (UC3M)

Construcci´on de paquetes Debian

11 de Julio de 2005

20 / 35

Editando el fichero ”rules” I

El fichero rules es un Makefile que contiene las reglas para la construcci´on
del paquete:

configure: Configura nuestros scripts de compilaci´on e instalaci´on
(./configure).
build: Construye los binarios a partir del c´odigo fuente (make).
clean: Limpia nuestro directorio de fuentes de ficheros generados por
los fuentes (make clean).
install: Instala los ficheros en debian/<nombre-de-paquete>/
(make install).
binary: Hace todas las comprobaciones necesarias y nos crea nuestro
paquete Debian.

Todas estas reglas se pueden cambiar para ajustarlas a nuestras
necesidades.

Jes´us Espino Garc´ıa (UC3M)

Construcci´on de paquetes Debian

11 de Julio de 2005

21 / 35

Editando el fichero ”rules” II

Debhelper los da unas herramientas que son utilizadas en el fichero rules,
de estas herramientas las m´as comunes son:

dh_testdir: Comprueba que est´a en el directorio correcto.
dh_testroot: Comprueba que es root.
dh_installman: Instala las p´aginas del manual.
dh_strip: Elimina las cabeceras de depuraci´on de los ficheros
ejecutables.
dh_compress: Comprime las p´aginas del manual y los ficheros de
documentaci´on mayores de 4KB.

Jes´us Espino Garc´ıa (UC3M)

Construcci´on de paquetes Debian

11 de Julio de 2005

22 / 35

Editando el fichero ”rules” III

dh_installdeb: Instala ficheros de control como postinst o preinst
en el paquete.
dh_shlibdeps: Calcula las dependencias de los ejecutables y las
bibliotecas con las bibliotecas din´amicas.
dh_gencontrol: Genera y copia el fichero de control.
dh_md5sums: Genera y copia el fichero de sumas md5 de todos los
ficheros del paquete.
dh_buildeb: Construye el paquete Debian.

Existen m´as que puedes verlos ejecutando
dpkg -L debhelper | grep bin y puede consultar para qu´e sirven en
las p´aginas del manual.

Jes´us Espino Garc´ıa (UC3M)

Construcci´on de paquetes Debian

11 de Julio de 2005

23 / 35

Los ficheros .ex I

Todos los ficheros .ex encontrados en el directorio debian/ son ejemplos
(.ex-amples), para utilizarlos ser´a necesa
  • Links de descarga
http://lwp-l.com/pdf9343

Comentarios de: Construcción de paquetes Debian (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad