Me gustaría agregar el último paquete gourmet de Debian sid al PPA de nuestro equipo para que los usuarios de Ubuntu que deseen ejecutar una versión actualizada de Gourmet puedan agregar ese PPA a sus fuentes de software. (En cuanto a la dependencia, eso no debería ser un gran problema ya que casi todas nuestras dependencias actuales ya están disponibles en todas las versiones de Ubuntu actualmente compatibles).
Descargué el *.dsc
archivo y los tarballs debian y orig, e incluso descubrí que podía usar esto para el source.changes
archivo del paquete . También descargué la clave pública del mantenedor de Debian para dput
poder validar el paquete. Luego intenté subir el paquete a nuestro PPA usando dput ppa:~gourmet/ppa gourmet_0.17.3-1_source.changes
(también probé sin tilda). Esto pareció tener éxito, pero no recibí un correo electrónico de confirmación, y ahora no se muestran paquetes en nuestro PPA , lo que me hace creer que el paquete fue rechazado porque la clave del mantenedor de Debian obviamente no se encuentra entre las claves de los miembros de nuestro equipo.
Entonces, ¿cuál es la forma más fácil de "copiar" un paquete de Debian (sid) a un PPA de Launchpad? ¿Realmente necesito reconstruir todo el paquete localmente antes de poder cargarlo?
Respuestas:
Es necesario reconstruir el paquete fuente localmente antes de cargarlo para ajustar el registro de cambios y volver a generar el archivo de cambios. Aunque desde el backport de un paquete es una tarea bastante común, esto ha sido programado. Echa un vistazo al paquete de
backportpackage
comandos ubuntu-dev-tools .Para realizar un backport de un paquete de Debian, simplemente proporcione la serie de distribución de destino, PPA y el archivo dsc para el paquete:
Es aún más simple hacer un backport de un paquete de una versión de Ubuntu a otra, ya que no necesita encontrar el archivo dsc. Digamos que queremos retroceder de utópico a confiable:
fuente
~gourmet/ppa
como argumento al-u
parámetro. (Pero afortunadamente pude copiarlo de mi PPA al equipo Gourmet a través de Launchpad.)Hay algunas formas de hacer esto.
Cuando hice esto para Rhythmbox seguí la siguiente receta:
a. Tome el archivo fuente y los archivos debian
si. Descomprima la fuente (.orig.tar.xz)
C. cambiar el nombre de la carpeta de origen algo así como
rhythmbox-3.0.3
C. descomprima el archivo debian (.debian.tar.xz)
re. mover la carpeta debian debajo del directorio fuente
mi.
dch -i
para cambiar el archivo de registro de cambiosF. cambie el nombre del paquete "inestable" por el nombre del objetivo de ubuntu, aquí he usado el preciso para 12.04. Cambie la versión según corresponda para su aplicación. Aquí rhythmbox era 3.0.3, así que acabo de agregar
-1~ppafossfreedom
sol. crear un nuevo paquete fuente:
dh_build --createorig
h. Cree solo la fuente con su clave: ¿
debuild -S -k0xABCDEFG
dóndeABCDEFG
está su clave?yo. sube tu paquete para construir:
fuente
dget
comando deldevscripts
paquete. Simplificará esto bastante.dget
=) El archivo dsc contiene toda la información sobre las otras partes del paquete fuente. Entoncesdget
tomará todo y lo extraerá correctamente si le da un enlace al archivo dsc.dget -ux http://http.debian.net/debian/pool/main/r/rhythmbox/rhythmbox_3.0.3-1.dsc