Por favor recuerde que esto pretende ser una rápida howto para saber cómo construir retroimportaciones privadas y no es el modo en que esperamos las retroimportaciones oficiales para backports.debian.org.

Aquí tomamos el ejemplo del paquete "mame", del cual queremos instalar una nueva versión disponible en sid/experimental. Si el paquete que busca no está disponible en Sid, pero en una Ubuntu PPA sí, puede mirar en ?Crear paquete desde PPA.

No necesitamos ser root aquí salvo en el primer y en el último paso.

Otro método de retroimportar un paquete sid para probar o para estable se describe en esta sección de la página de Debian Inestable en la Wiki.

Installar herramientas de empaquetamiento Debian

sudo apt-get install packaging-dev debian-keyring devscripts equivs

Encontrar que version está ddisponible en el archivo de Debian

rmadison mame --architecture amd64
 mame | 0.146-5 | wheezy/non-free       | amd64
 mame | 0.146-5 | jessie/non-free       | amd64
 mame | 0.146-5 | sid/non-free          | amd64
 mame | 0.148-1 | experimental/non-free | amd64

Descargar el fichero .dsc desde la publicación sid

Desde su navegador web en http://packages.debian.org/sid/mame, busque el fichero dsc y copie la dirección del enlace

dget -x http://ftp.de.debian.org/debian/pool/non-free/m/mame/mame_0.148-1.dsc

Note: Si la orden de arriba se queja de que su directorio ~/.gnupg sno se encuentra, ejecute gpg -k para inicializar el directorio GnuPG antes de reintentar.

Encontrar e instalar dependencias de construccion perdidas comoencontradas en debian/control

cd mame-0.148
sudo mk-build-deps --install --remove

Esto instalará un paquete llamado mame-build-deps dependiendo de las dependencias de construcción listadas. Si se elimina este paquete más tarde, las verdaderas dependencias de construcción se marcarán como automáticamente instalada y ya no necesarias ("automatically installed and no longer needed") y pueden ser limpiadas con apt-get autoremove.

Indicar en el changelog un número de revisión del backport

dch --local ~bpo8+ --distribution jessie-backports "Rebuild for jessie-backports."

Esto añadirá algo como ~bpo8+ al número de versión del paquete. La tilde ~ hace el paquete inferior en versión,lo que debería permitir una actualización apropiada cuando se actualice a la siguiente publicación debian (p.ej: su paquete se reemplazará por el paquete oficial de debian)

Comprobar si podemos construir exitosamente el paquete

fakeroot debian/rules binary

Si fallara con un fichero perdido, apt-file puede ser útil para localizar la dependencia requerida.

Construir un paquete apropiadamente, sin el firmado GPG del paquete

dpkg-buildpackage -us -uc

¡ Instalar y disfrutar !

sudo dpkg -i ../mame_0.148-1~bpo8+1_amd64.deb

Yendo más lejos

Podría mirar ?Construir retroimportaciones formales y contribuir con su retroimportación a Debian tal como se explica aquí: http://backports.debian.org/Contribute/


CategoryPackaging