¿Cómo resolver el problema de la fuente dpkg-source al construir un paquete?


16

¿Alguien aquí ha tenido alguna experiencia creando un paquete Debian / Ubuntu? Estoy tratando de hacer una copia de seguridad del paquete lammps ( http://packages.ubuntu.com/quantal/lammps ) de Ubuntu 12.10 (Quantal) a Ubuntu 12.04

Solo lo necesito de manera no oficial: solo necesito un paquete .deb por conveniencia al crear imágenes de máquinas virtuales personalizadas para su implementación en la plataforma IaaS.

Siguiendo la Guía de Empaquetado de Ubuntu en https://wiki.ubuntu.com/PackagingGuide , puedo construir con éxito, excepto cuando intento reconstruir usando el comando debuild , generalmente obtengo este error:

 dpkg-source: error: aborting due to unexpected upstream changes, see
 /tmp/lammps_0~20120615.gite442279-1.diff.aie32n dpkg-source: info: you
 can integrate the local changes with dpkg-source --commit
 dpkg-buildpackage: error: dpkg-source --include-binaries -i -b
 lammps-0~20120615.gite442279 gave error exit status 2

Ejecutar 'make clean-all' en el directorio src aún no resuelve el problema. ¿Hay alguna forma de limpiar completamente todos los archivos que se generaron durante el proceso de compilación, o pedirle a debuild que ignore las diferencias en los archivos fuente?

Respuestas:


6

Esto significa que ha aplicado cambios a la fuente ascendente desempaquetada que no son parte de un parche en el debian/patches/directorio, o que figuran en el seriesarchivo allí si lo están; y / o hay alguna inconsistencia en el estado de la aplicación del parche de los parches.

Mirando el archivo mencionado en / tmp le mostrará los cambios en cuestión.


¡Muchas gracias por la respuesta rápida! ¿Existe una forma rápida de restaurar los cambios realizados mediante 'make' en lugar de deshacer todos los cambios registrados en el archivo / tmp / * diff *?
hanxue

29

Evite la burocracia de Debian simplemente construyendo el binario: dpkg-buildpackage -b


1
Esto no es tan útil si tiene la intención de subir a Debian.
jeremiah

44
@jeremiah pero muy útil si está ajustando un paquete debian para uso personal.
Wyatt8740

10

cambie el formato en debian / source / format de 3.0 (quilt) a 3.0 (native) si no desea usar quilt. Esto resolvió el problema para mí de todos modos.


¡ESTA! La colcha es imposible.
Jay _silly_evarlast_ Wren

1
Ingenuamente seguí este comentario tal como está. El efecto neto será que su compilación ya no usará los parches en debian / parches. ¿Podría ampliar la respuesta explicando cómo agrega la magia necesaria a debian / rules para aplicar realmente los parches?
Thomas Vander Stichele


1

Vi este problema cuando la colcha pensó incorrectamente que había aplicado parches a mi copia de trabajo (puede encontrar su estado actual en la carpeta .pc). La solución en ese caso era forzar a la colcha a reventar todos los parches quilt pop -a -f.


0

Esto puede suceder si hizo todo el "papeleo" de Debian pero resultó tener artefactos persistentes de intentos anteriores. En particular, los cambios generados automáticamente en "config.sub", "config.guess" y "Makefile".

Puede poner esto en debian / source / options:

# Don't store changes on autogenerated files
extend-diff-ignore = "(^|/)(config\.sub|config\.guess|Makefile)$"

Ref: https://raphaelhertzog.com/2011/01/28/3-ways-to-not-clutter-your-debian-source-package-with-autogenerated-files/

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.