
¿Cómo puedo eliminar firmas de un paquete deb firmado con una clave gpg por dpkg-sig?
Tengo un repositorio apt particular que configuré, que a través de investigaciones y pruebas me llevó a firmar manualmente mis paquetes deb.
Lo probé en un paquete y lo firmé varias veces con la misma clave. Ahora hay tres firmas alrededor del paquete deb.
El comando utilizado para firmar el paquete fue:
dpkg-sig -k ######## --sign bulder xul-ext-ubufox_3.0-0ubuntu0.14.10.1_all.deb
Respuesta1
No estoy seguro de si existe una manera mejor, pero al menos podrías eliminar la firma "manualmente" con ar
:
ar d "$yourpackage.deb" _gpgbuilder
(o cosas adicionales además _gpgbuilder
si logró tener "tres firmas" dando nombres de roles distintos de "constructor").
Esto funciona porque los archivos .deb, en la capa más externa, son esencialmente solo archivos "ar", y los archivos deb integrados se almacenan en esa capa más externa. Hay una pequeña diferencia entre los .debs creados con dpkg y los creados con ar, por lo que normalmente es una buena idea utilizar herramientas dpkg reales al manipular archivos deb, pero todas las herramientas modernas (afaik) pueden manejar ambas perfectamente.
Respuesta2
Para firmas incrustadas, puede abrir el .deb
archivo con file-roller
y eliminar el archivo de firma incrustado. También puedes usar ar con ar d package.deb _gpgbuilder
.
Para firmas separadas, puede simplemente abrir el xul-ext-ubufox_3.0-0ubuntu0.14.10.1.dsc
archivo en un editor de texto y debería poder eliminar los bloques de firma adicionales de la parte inferior del archivo.
Si también hizo lo mismo con el paquete fuente, puede realizar una acción similar en el _source.changes
archivo.