Incluir pruebas en el desarrollo de debian


Continuando con la serie de entradas relacionadas con el empaquetado en Debian, vamos a pasar a explicar algunas de las herramientas disponibles para hacer pruebas a los paquetes que estemos desarrollando, a fin de comprobar y mejorar la calidad de los mismos. Vamos a explicar los pasos que hay que dar para utilizar algunas de estas herramientas en nuestra máquina local de desarrollo, así como la posibilidad de realizar estas pruebas de forma automática en salsa utilizando el sistema de integración continua de Gitlab.

Esta entrada es continuación de las siguientes, cuya lectura recomiendo previamente.

  1. Preparar una máquina para el desarrollo de paquetes Debian
  2. Usando git en el empaquetado de Debian
  3. Adoptar un paquete en Debian
  4. Primeras modificaciones para empaquetar dnsproxy para Debian
  5. Parchear código con quilt

Seguir leyendo «Incluir pruebas en el desarrollo de debian»

Incluir pruebas en el desarrollo de debian

Parchear código con quilt


Quilt es una aplicación utilizada para parchear código, es decir, para modificar el código fuente a través de un «parche», un trozo de código claramente definido que modifica el código original. Quilt no es una herramienta específica de Debian ni de su desarrollo, pero aquí vamos a explicar la forma de usarla en el desarrollo de paquetes debian mediante un sencillo ejemplo con el paquete dnsproxy que estamos poniendo a punto.

Seguir leyendo «Parchear código con quilt»

Parchear código con quilt

Primeras modificaciones para empaquetar dnsproxy para Debian


En la anterior entrada del blog, relacionada con esta serie dedicada a explicar paso a paso el procedimiento de participación en el proyecto Debian como mantenedor de un paquete, había explicado cómo se adopta un paquete y en particular, lo había hecho adoptando el paquete dnsproxy a través del bug #876201. A continuación, veremos las modificaciones necesarias que hay que realizar correspondientes ya al desarrollo propio de la versión 1.17 de dnsproxy.  La ventaja que tiene el paquete dnsproxy para comenzar y usarlo como ejemplo, es que es un programa muy sencillo, escrito en C y bastante «estándar», por lo que lo consideramos muy adecuado para este ejemplo inicial.

Esta entrada del blog era la que tenía inicialmente intención de escribir, para explicar el procedimiento habitual de desarrollo de un paquete Debian que realiza un mantenedor, pero al escribirlo me fui dando cuenta que era mejor explicar antes de forma detallada algunos pasos previos, y eso ha dado lugar a las siguientes entradas relacionadas, que recomiendo leer previamente:

  1. Preparar una máquina para el desarrollo de paquetes Debian
  2. Usando git en el empaquetado de Debian
  3. Adoptar un paquete en Debian

Seguir leyendo «Primeras modificaciones para empaquetar dnsproxy para Debian»

Primeras modificaciones para empaquetar dnsproxy para Debian

Adoptar un paquete en Debian


Continuando con la temática de las entradas Preparar una máquina para el desarrollo de paquetes Debian y Usando git en el empaquetado de Debian, en este caso vamos a explicar los sencillos pasos que hay que dar para adoptar un paquete en Debian, para lo que seguiremos con nuestro ejemplo con dnsproxy.

Seguir leyendo «Adoptar un paquete en Debian»

Adoptar un paquete en Debian

Usando git en el empaquetado de Debian


Como continuación de la entrada Preparar una máquina para el desarrollo de paquetes Debian, voy a explicar a continuación el uso que he hecho hasta ahora del sistema de control de versiones git en el empaquetado de Debian, ya que tiene bastantes peculiaridades y como es un tema bastante amplio es posible que modifique esta entrada añadiéndole las nuevas cosas que vaya usando o encontrando.

La referencia para empaquetar en Debian usando git es obviamente la página Packaging with Git de la wiki de debian, cuya lectura será necesaria en más de una ocasión.

Es posible empaquetar para Debian y no usar git, también es posible hacerlo y no usar ningún otro sistema de control de versiones como svn o mercurial, pero si estás empezando en el empaquetado de Debian vas a hacerlo con git, el esfuerzo vale la pena.

Seguir leyendo «Usando git en el empaquetado de Debian»

Usando git en el empaquetado de Debian

Preparar una máquina para el desarrollo de paquetes Debian


En esta entrada vamos a explicar los pasos a dar para tener una máquina lista para la creación de paquetes Debian. Lo que a continuación se muestra no pretende ser, ni mucho menos, una explicación genérica, ya que una de las principales características que tiene el desarrollo en Debian es que no hay una sola forma de hacer las cosas, sino múltiples. En la Política Debian se especifican de forma muy detallada las características que debe tener un paquete fuente o uno binario, pero no la forma de obtenerlo, que es mucho más libre. Aquí simplemente explico los pasos que he seguido yo, en buena parte siguiendo las recomendaciones de Arturo Borrero, que me ha ayudado mucho en estos primeros pasos con el empaquetado de Debian, para tener donde buscarlos cuando me haga falta y si de paso le sirve a alguien en sus inicios, pues mejor :).

Seguir leyendo «Preparar una máquina para el desarrollo de paquetes Debian»

Preparar una máquina para el desarrollo de paquetes Debian

Basic network bridge configuration for a laptop running Debian


In many different situations, mainly related to virtualization or containers, a basic linux bridge configuration is needed, typically defining br0 connected to the first Ethernet interface, eth0 (no, I don’t like predictable network interface names ;) ). In such a case, a basic configuration of «/etc/network/interfaces» must be similar to:

auto lo 
iface lo inet loopback

iface eth0 inet manual

auto br0
iface br0 inet dhcp
  bridge_ports eth0

Seguir leyendo «Basic network bridge configuration for a laptop running Debian»

Basic network bridge configuration for a laptop running Debian

OpenStack: Setup a new debian image from a running instance


Debian provides standard images designed for OpenStack, but sometimes is better to use your own images, with local modifications or with specific packages installed and configured. One way to achieve this is to create a snapshot from a running instance previously launched from a standard image. In this post we’re going to create a new image from a running instance, explaining the modifications needed in one specific use case: Create a Debian Stretch image from a running Debian Jessie instance.

Seguir leyendo «OpenStack: Setup a new debian image from a running instance»

OpenStack: Setup a new debian image from a running instance

Shrinking qcow2 images


This post is written as a recipe containing a set of commands to shrink the real and virtual size of a qcow2 image. There are different alternatives to achieve a similar result and probably some of them will be better, so if you know one of them, please post it as comment ;).

Seguir leyendo «Shrinking qcow2 images»

Shrinking qcow2 images