systemadmin.es > Distribuciones > Compilar y empaquetar para Debian/Ubuntu

Compilar y empaquetar para Debian/Ubuntu

Al bajar el código fuente de algunos paquetes podemos ver que dispone de los ficheros para crear los paquetes para diferentes distribuciones ya preparados:

# ls
autogen.sh    CONTRIBUTE.md  doxygen.am   get-version  libevent  Makefile.am  osx	 redhat  tests
configure.ac  debian	     doxygen.cfg  include      m4	 NEWS	      README.md  src

En este caso vamos a ver cómo crear el paquete para Debian.

La herramienta que deberemos usar es dpkg-buildpackage:

# dpkg-buildpackage 

Deberemos ejecutarla desde la raiz del programa a empaquetar y que dispongamos del código fuente en el directorio anterior con el nombre .orig:

dpkg-source: error: can't build with source format '3.0 (quilt)': no upstream tarball found at ../lldpd_0.7.6.orig.tar.{bz2,gz,lzma,xz}

Una vez acabe de compilar, en el directorio anterior encontraremos los paquetes:

-rw-r--r--  1 root staff 290804 Nov  4 18:56 lldpd_0.7.6.orig.tar.gz
-rw-r--r--  1 root staff   7051 Nov  4 19:25 lldpd_0.7.6-0.debian.tar.gz
-rw-r--r--  1 root staff    966 Nov  4 19:25 lldpd_0.7.6-0.dsc
drwxrwxr-x 10 root root    4096 Nov  4 19:40 lldpd-0.7.6
-rw-r--r--  1 root staff 138202 Nov  4 19:41 lldpd_0.7.6-0_armhf.deb
-rw-r--r--  1 root staff  47902 Nov  4 19:41 liblldpctl-dev_0.7.6-0_armhf.deb
-rw-r--r--  1 root staff   1782 Nov  4 19:41 lldpd_0.7.6-0_armhf.changes

Podremos proceder a instalarlo mediante dpkg y la opción -i:

# dpkg -i lldpd_0.7.6-0_armhf.deb
(Reading database ... 77817 files and directories currently installed.)
Preparing to replace lldpd 0.5.7-2 (using lldpd_0.7.6-0_armhf.deb) ...
Unpacking replacement lldpd ...
Setting up lldpd (0.7.6-0) ...
Installing new version of config file /etc/init.d/lldpd ...
[ ok ] Starting LLDP daemon: lldpd.
Processing triggers for man-db ...

Al crear el paquete deberemos dejarlo on hold para evitar que se actualice con los de la distribución:

# aptitude hold lldpd

Mediante aptitude show podemos ver el estado del paquete:

# aptitude show lldpd
Package: lldpd                           
State: installed [held]
Automatically installed: no
Version: 0.7.6-0
Priority: optional
Section: net
(...)

Deja un comentario:

XHTML - Tags permitidos:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>