Come risolvere il problema con l'origine dpkg durante la creazione di un pacchetto?


16

Qualcuno qui ha avuto qualche esperienza nella creazione di un pacchetto Debian / Ubuntu? Sto cercando di eseguire il backport del pacchetto lammps ( http://packages.ubuntu.com/quantal/lammps ) da Ubuntu 12.10 (Quantal) a Ubuntu 12.04

Ne ho bisogno solo ufficiosamente: ho solo bisogno di un pacchetto .deb per comodità quando creo immagini di macchine virtuali personalizzate per la distribuzione sulla piattaforma IaaS.

Seguendo la Guida al packaging di Ubuntu su https://wiki.ubuntu.com/PackagingGuide , posso costruire con successo, tranne quando provo a ricostruire usando il comando debuild , di solito ottengo questo errore:

 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

L'esecuzione di "make clean-all" nella directory src non risolve ancora il problema. Esiste un modo per eliminare completamente tutti i file che sono stati generati durante il processo di compilazione o per chiedere a debuild di ignorare eventuali differenze nei file di origine?

Risposte:


6

Questo significa che hai applicato delle modifiche alla sorgente upstream decompressa che non fanno parte di una patch nella debian/patches/directory, o che sono elencate nel seriesfile se presenti; e / o c'è qualche incoerenza nello stato di applicazione delle patch della trapunta.

Guardando il file menzionato in / tmp mostrerai le modifiche in questione.


Grazie mille per la risposta rapida! Esiste un modo rapido per ripristinare le modifiche apportate da 'make' invece di annullare tutte le modifiche apportate al file / tmp / * diff *?
Haxue l'

29

Evita la burocrazia Debian semplicemente costruendo il binario: dpkg-buildpackage -b


1
Questo non è così utile se si intende caricare su debian.
Geremia,

4
@jeremiah ma molto utile se stai modificando un pacchetto debian per uso personale.
Wyatt8740,

10

cambiare il formato in debian / source / format da 3.0 (trapunta) a 3.0 (nativo) se non si desidera utilizzare la trapunta. Ciò ha risolto il problema per me comunque.


QUESTO! La trapunta è impossibile.
Jay _silly_evarlast_ Wren,

1
Ho seguito ingenuamente questo commento così com'è. L'effetto netto sarà che la tua build non utilizzerà più le patch in debian / patches. Potresti ampliare la risposta spiegando come aggiungere la magia necessaria a debian / regole per applicare effettivamente le patch?
Thomas Vander Stichele,


1

Ho visto questo problema quando la trapunta ha erroneamente pensato di aver applicato delle patch alla mia copia di lavoro (puoi trovare il suo stato corrente nella cartella .pc). La soluzione in quel caso era forzare la trapunta per far apparire tutte le patch quilt pop -a -f.


0

Questo può accadere se hai fatto tutti i "documenti" di Debian ma hai avuto manufatti persistenti da precedenti tentativi. In particolare, le modifiche generate automaticamente a "config.sub", "config.guess" e "Makefile".

Puoi metterlo in debian / source / options:

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

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

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.