Protegiendo nuestros paquetes personalizados


A algunos de la lista de correo nos ha pasado que al personalizar un paquete de debian, el apt-get siempre nos lo quiere actualizar con la versión estándar, con lo que perderíamos nuestras modificaciones. La forma de evitarlo es muy sencilla…

El truco lo voy a explicar mediante mi caso, pero es aplicable a cualquier paquete (en principio ;-). Yo lo que quería era tener el webalizer en catalán. Personalizar un paquete es muy sencillo, basta con:

  • Obtener las fuentes del paquete: apt-get source webalizer
  • Obtener también otras fuentes necesarias para compilar (suelen ser versiones -dev de algunas librerías)apt-get build-dep webalizer
  • Cambiar al directorio con las fuentes que se acaban de instalar. En mi caso cd webalizer-2.01.10
  • Editar el fichero debian/rules modificando los parámetros de configuración según nuestras necesidades. Yo simplemente añadí –with-language=catalan (pista: busca la linea en la que aparezca “./configure”)
  • Y generar el paquete con un dkpg-buildpackage
  • Finalmente instalar el paquete con dpkg -i ../webalizer-2.01.10-2_i386.deb
  • Ya tenemos el webalizer en catalán, pero el problema es que cuando hagamos un apt-get dist-upgrade (o upgrade), el apt-get intentará “actualizar” la versión personalizada del paquete por la estándar que se encuentra en el repositorio de paquetes (a.k.a. servidor del apt-get). Para evitarlo, antes del punto 5, editamos el debian/changelog y añadimos arriba del todo un nuevo bloque con una versión nueva ficticia. En mi caso el changelog del webalizer ha quedado como:

    webalizer (2.01.10-2.catala) unstable; urgency=low

    * Changed language to catala

    — Eduard Llull Pou Fri, 02 Ago 2002 13:11:24 +0200

    webalizer (2.01.10-2) unstable; urgency=medium

    * Changed exit 1 into exit 0 in cron.daily scripts (closes: #143990)

    — Remco van de Meent Mon, 22 Apr 2002 09:51:16 +0200

    El resto del proceso se mantiene como antes, a excepción del nombre del paquete que ahora pasa a ser webalizer-2.01.10-2.catala_i386.deb.

    De esta manera, como no hay conflicto de versiones, el apt-get dist-upgrade (o upgrade) no intentará actualizar nuestro paquete. Lo que aún no se del todo es si cuando salga la versión, digamos, 2.01.11 el apt-get me la actualizará. Pero esto no lo sabré hasta que salga 😉

    Este post ha sido traido de forma automatica desde https://web.archive.org/web/20140625063149/http:/bulma.net/body.phtml?nIdNoticia=1430 por un robot nigromante, si crees que puede mejorarse, por favor, contactanos.


    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

    Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.