Agregar archivos de texto modificados o nuevos a mi paquete PPA es bastante simple:
Paso 1:
apt-get source [foo-package]
cd [foo-package]
Paso 2: agregue o modifique nuevos archivos de texto que contengan los cambios
Paso 3: actualiza el registro de cambios:
dch -i
Paso 4: crea un parche
dpkg-source --commit
Paso 5: crea un paquete fuente
debuild -S
Paso 6: subir a la plataforma de lanzamiento
cd ..
dput [myppa]/[foo_source.changes]
Sin embargo, ahora necesito agregar un nuevo archivo de icono (un archivo .png) al paquete existente.
Entonces, en el paso 2 : solo se copió en el [paquete-foo]
En el paso 4 , obtengo los siguientes errores:
dpkg-source: error: cannot represent change to foo-package/foo-icon.png: binary file contents changed
dpkg-source: error: unrepresentable changes to source
Si intento pasar al paso 5, obtengo los siguientes errores adicionales a los anteriores:
dpkg-source: error: add foo-package/foo-icon.png in debian/source/include-binaries if you want to store the modified binary in the Debian tar-ball
...
dpkg-buildpackage -rfakeroot -d -us -uc -S failed
¿Alguna idea de cómo agrego un archivo de icono binario a mi paquete PPA existente?
Más información
Mediante la ejecución:
debuild -S --source-option=--include-binaries
Esto permite que se construya el paquete fuente y es posible el paso 6 .
Sin embargo, esta no es realmente la respuesta, porque posteriormente no puedo hacer más cambios en el código ( paso 2 ) porque sigo recibiendo los mismos errores.
No parece que pueda hacerlo dpkg-source --commit --source-option=--include-binaries
porque esto solo da errores:
dpkg-source --commit --source-option=--include-binaries
dpkg-source: warning: --source-option=--include-binaries is not a valid option for Dpkg::Source::Package::V3::quilt
dpkg-source: error: cannot represent change to foo-package/foo-icon.png: binary file contents changed
dpkg-source: error: unrepresentable changes to source
fuente
Simplemente obtenga dpkg-source: comprométase a ignorar los archivos binarios con el
extend-diff-ignore
interruptorAquí hay otra forma más simple de hacerlo: básicamente le dice a dpkg-source que ignore lo que no puede comprender (es decir, archivos binarios) y que se ocupe de sus propios asuntos;)
Después de agregar un archivo (s) binario la primera vez, la clave es usarlo
dpkg-source --commit
con el--extend-diff-ignore
interruptor, junto con las rutas / nombres de archivo apropiados para ignorar (formato Perl regex).Por ejemplo, suponga que pega un montón de PNG en el
llyrics
directorio y luego modifica algunos archivos de texto. La llamada de confirmación correcta es:Sigue eso con:
para subir tu PPA.
Probemos esto con el
rhythmbox-plugin-llyrics
paquete del PPA "patio de recreo" de fossfreedom:Obtener fuente:
apt-get source rhythmbox-plugin-llyrics
Modifique un archivo de texto y agregue un PNG:
Agregar al registro de cambios e incrementar la versión con
dch -v 0.1-3ubuntu6~izx1
Confirma los cambios de texto mientras ignoras el PNG con:
Generar fuente / cambios:
¡Y voilá! ( Deb construido por Launchpad - tenga en cuenta la diferencia de tamaño ~ 200k ... )
fuente
Esto es un poco más difícil que simplemente agregar un archivo.
Primero, necesitaría reconstruir el .orig.tar.gz con los binarios incluidos en el nuevo paquete fuente, y probablemente necesitaría incrementar la versión del software (
package_1.0.0.orig.tar.gz
->package_1.0.1.orig.tar.gz
o algo) tanto en el tar como en eldebian/changelog
.Después de modificar orig.tar.gz con los nuevos archivos (NO incluya debian / files en orig.tar.gz), entonces agregaría una
debian/changelog
entrada, cambiando la versión para incrementarla como lo hizo con orig.tar. gz.Luego reconstruya el paquete fuente (
debuild -S
) y cargue el nuevo paquete fuente al PPA. Ese nuevo paquete fuente sobrescribirá el "más antiguo" en el PPA.Desde el chat:
fuente