Creando parches para paquetes Debian

De WikiSalud
Revisión a fecha de 12:32 22 jun 2017; Alortiz (Discusión | contribuciones)

(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Saltar a: navegación, buscar
Commons-emblem-Under construction-green
Este artículo está en una fase temprana de desarrollo, por lo que puede estar incompleto o tener aún errores de redacción o formato

Contenido

Resumen

Construcción, empaquetado y posible modificación de paquetes con las herramientas de Debian

Introducción

Esta guía es bastante tentativa. Básicamente, se trata sobre guardar algunos apuntes de un proyecto que al final de cuentas ya no tuvo necesidad de ser.

Aquí se trata crear un paquete desde cero. Esta guía debería ser útil para introducir ciertas modificaciones a un paquete Debian mediante parches, que no directamente sobre upstream

Esta guía es un poco complicada de explicar, pero básicamente se refiere a u hecho muy concreto: la modificación de los source de un paquetes antes de crear el .deb y construirlo para posiblemente distribuirlo. Este manual trata sobre como podemos usar las herramientas de Debian para construir un paquete desde los sources, con las herramientas de Debian.

Procedimiento

Configurando el equipo

Los siguientes paquetes resolverán todas las dependencias, incluso creo que instalará un par de compiladores

aptitude install dpkg-dev dpatch

Iniciando la mesa de trabajo

Escogemos un directorio en el cual vamos a trabajar los sources del proyecto. En este caso, en /root/ vamos a crear paquetes/. Dicho directorio debe ser accesible por el usuario _apt, que debió ser creado en la instalación de paquetes.

mkdir /root/paquetes
chown _apt -R paquetes/

Entramos al directorio paquetes. En él vamos a descargar los sources del paquetes que queremos modificar (En este caso, de squidGuard, muy alto apuntamos). Inmediatamente después, conseguimos los paquetes necesarios para que la compilación de dicho paquete sea un éxito. (Resolver el infierno de las dependencias, un breve placer en la la enfermedad infantil de todo administrador de sistemas)

cd /root/paquetes
apt-get source squidguard
apt-get build-dep squidguard

Con esto, hemos creado nuestro entorno de trabajo. Debemos acceder al directorio recién creado, todos los comandos en la siguiente parte se consideran a partir desde este punto.

cd squidguard-1.5/

Probando la construcción del paquete

Antes de nada, nos aseguramos de tener las herramientas necesarias para producir el paquete:

 debuild -b -uc -us

Pues que la salida varía de acuerdo al paquete. Es difícil determinar a golpe de vista si algo esta mal, por lo que se recomienda que se revise exhaustivamente la salida para encontrar errores o advertencias que hayan de solucionarse.

Modificando el paquete

Como ya hemos dicho, acá no se trata de crear los Primero, aplicamos los parches anteriores. Lo cual es básicamente útil para no tener que repetirnos:

quilt push -a

Creanos nuestro nuevo parche. Se aconseja prefijarle con un número correlativo. Precisamente para revisar que número correlativo se le corresponde, podemos usar el comando series de quilt

quilt series

Así, creamos finalmente el nuevo parche

quilt new 17_squid3.4_redirector_protocol.patch

Y agregamos los paquetes que vayamos a modificar. NOTA: Tómese en cuenta que deben agregarse los paquetes antes de empezar a modificarlos. Exacto, dolor.

quilt add src/sgDiv.c*

Y modificamos con nuestras avanzadas herramientas de desarrollo:

vim -p src/sgDiv.c*

Esto es algo así como guardar los cambios

quilt refresh

Y terminar de aplicar los cambios. En este punto, el parche es precisamente creado

quilt pop -a -f

Lo que sigue es volver a crear el paquete con el comando ya conocido:

debuild -b -uc -us

E instalarlo, los paquetes asociados se han creado en el directorio anterior:

dpkg -i ../squidguard_1.5-5.1_amd64.deb

Fuentes

Herramientas personales
Espacios de nombres

Variantes
Acciones
Navegación
Herramientas