Fehler beim Wiederherstellen des Pakets mit debuild

3098
Alex

Um das Paket 'thunar' in debian-wheezy zu erstellen, habe ich folgende Schritte ausgeführt:

sudo apt-get build-dep thunar sudo apt-get source thunar cd thunar-1.2.3/debian sudo debuild -uc -us 

Bis hier funktioniert alles gut. Es werden einige .dep-Pakete produziert, die ich über dpkg installieren kann.

Jetzt möchte ich den Quellcode modifizieren und den Build erneut ausführen ... aber ich kann nicht einmal sauber rebuilden. Ich habe folgendes versucht:

sudo debuild clean sudo debuild -uc -us 

Schon der Clean-Befehl warnt mich, dass das Löschen für viele Dateien ignoriert wurde. Viele lokale Änderungen werden erkannt und ich empfehle, 'dpkg-source --commit' zu verwenden, um diese Änderungen zu integrieren ... eigentlich habe ich noch nichts angefasst. Selbst wenn ich dem Vorschlag folge, erhalte ich am Ende des Builds folgende Fehlermeldung:

.... make: *** [binary] Fehler 2 dpkg-buildpackage: Fehler: Fehler-Exitstatus von fakeroot debian/rules binary war 2 debuild: fatal error at line 1357: dpkg-buildpackage -rfakeroot -D -us -uc failed 

Ich habe auch versucht, die einzelnen Schritte als normaler Benutzer auszuführen, nicht als Sudo ... aber in diesem Fall schlägt auch das erste "debuild -uc -us" fehl.

Habe ich etwas falsch gemacht ? Wie würden Sie einen Build + Rebuild auslösen? Oder ist es vielleicht ein Problem des Pakets 'thunar'?

2

1 Antwort auf die Frage

1
Alex

Ok, nachdem ich ein paar weitere Tutorials gelesen hatte, habe ich herausgefunden, wie man wenigstens eine Modifikation + Build davon machen kann. Ich habe zuerst dieses offizielle Debian-Tutorial ausprobiert, das zu alt zu sein scheint (dpatch funktioniert nicht wie beschrieben). Dann habe ich es für dieses 3rd-Party-Tutorial versucht, bei dem der Patch und das Debuild zum Erstellen des Pakets mithilfe von Quilt erstellt werden. Es scheint besser zu funktionieren.

Ich kann jetzt einen Patch für das Paket thunar erstellen und installieren ... hier die erforderlichen Schritte:

# get some packages, needed to do a build from source sudo apt-get install quilt build-essential fakeroot devscripts  # get the needed build dependencies of thunar sudo apt-get build-dep thunar  # get the sources of thunar (no sudo!) apt-get source thunar  # enter the sources cd thunar-1.2.3  # define a patch dir for quilt export QUILT_PATCHES=debian/patches  # apply all available thunar patches quilt push -a  # add my own patch ( increase the trailing number in the name ! ) quilt new 03_myTestPatch.patch  # add files which you are going to modify quilt add thunar/main.c  # modify file ( I just added a comment in my first try, nano is the editor of my choice) # if your editor creates temporary files( e.g. main.c~), make sure to remove them when you finished editing nano thunar/main.c  # refresh the patch and de-apply all available patches quilt refresh quilt pop -a  # Add some info into the changelog ( attention, this will make use of your default console-editor, which could be vi ) dch -n  # build the package ( your patch will be applied ) debuild -uc -us  # install the package ( version/CPU is OS/system-specific ) sudo dpkg -i ../thunar_1.2.3-4.1_amd64.deb 

Nun, ich kann jetzt Patches erstellen und testen .. Ich habe jedoch immer noch keine Ahnung, wie ich die Binaries neu erstellen sollte:

debuild clean debuild -uc -us 

-> Ich erhalte die gleichen Fehler wie oben erwähnt. Clean scheint nicht alle Dateien entfernen zu können, die entfernt werden müssen. Es scheint, dass dies wirklich ein Problem ist, das sich speziell auf Thunar bezieht.

EDIT: Jetzt weiß ich was falsch ist. Irgendwie fehlt beim Wiederaufbau ein einzelner Ordner. Fürs Erste habe ich Dinge korrigiert, indem ich ein Skript verwendete und Dinge von Hand auslöste, anstatt das automatisierte 'debuild' zu verwenden:

#! /bin/bash cd thunar-1.2.3 fakeroot debian/rules clean fakeroot debian/rules build mkdir debian/tmp/usr/share/gtk-doc fakeroot debian/rules binary