Paket aus "Debian-Sourcen" patchen und neu-bauen

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
redrat
Beiträge: 828
Registriert: 12.09.2002 10:11:46
Wohnort: Braunschweig

Paket aus "Debian-Sourcen" patchen und neu-bauen

Beitrag von redrat » 26.06.2005 15:38:00

Hallo,

kann mir jemand 'ne Minianleitung geben wie ich aus den Paketsourcen (die ich mit apt-get source <name> installiert habe) wieder ein neue Debian-Paket erzeugen kann.

Konkret geht es mir um korganizer (bzw. kdepim) aus kde 3.4.1, auf das ich einen Patch anwenden möchte und anschließend wieder ein Paket bauen möchte.

Folgendes habe ich bis jetzt gemacht:

Code: Alles auswählen

apt-get source korganizer
- und jetzt hört es bei mir schon auf. Muß ich anschließend ein "dpkg-source" aufrufen? oder das Archiv von Hand entpacken. Was mache ich, nachdem ich meinen Patch eingespielt habe?

Timo

Benutzeravatar
godsmacker
Beiträge: 902
Registriert: 16.03.2003 21:50:26
Lizenz eigener Beiträge: Artistic Lizenz
Wohnort: Chemnitz
Kontaktdaten:

Beitrag von godsmacker » 26.06.2005 15:42:17

Nachdem Du die Quellen ausgepackt und das debian diff.gz angewendet hast (dpkg-source -x *.dsc) musst Du Deinen eigenen patch anwenden.

Meistens liegt die Software neben dem Debian Verzeichnis bereits ausgepackt da. Dann kannst Du den Patch direkt darauf anwenden. In einigen faellen liegt aber auch einfach irgendwo ein upstrem tarball herum. Den muesstest Du dann selbst auspacken, patchen und wieder einpacken. Anschliessend rufst Du einfach im toplevel directory des Pakets dpkg-buildpackage -rfakeroot -us -uc auf.

Wenn Du ein sauberes Paket machen willst, dann empfiehlt es sich dpatch zu verwenden.


Gruesse,
Flo

Benutzeravatar
redrat
Beiträge: 828
Registriert: 12.09.2002 10:11:46
Wohnort: Braunschweig

Beitrag von redrat » 26.06.2005 15:51:36

Ich denke das hilft mir schonmal weiter. Werde es nachher mal ausprobieren... jetzt muß ich erstmal was zu futtern machen ;)

Timo

Benutzeravatar
redrat
Beiträge: 828
Registriert: 12.09.2002 10:11:46
Wohnort: Braunschweig

Beitrag von redrat » 26.06.2005 17:11:05

Bin einen Schritt weiter, aber nun stecke ich (wieder) fest ohne zu wissen wie's weitergehen soll.

folgendes habe ich getan:

Code: Alles auswählen

apt-get source korganizer
dpkg-source -x <dsc-file>
<bz2-Archiv ausgepackt>
<Patch eingespielt>
<Verzeichnis wieder in ein bz2-Archiv verfrachtet>
cd ..
dpkg-buildpackage -rfakeroot -us -uc
Dann bekomme ich eine Reihe von Meldungen die ganz OK aussehen, bis der Vorgang schließlich mit den folgenden Meldungen abbricht.

Code: Alles auswählen

...
dpkg-source: building kdepim using existing kdepim_3.4.1.orig.tar.gz
dpkg-source: building kdepim in kdepim_3.4.1-1.diff.gz
dpkg-source: cannot represent change to kdepim-3.4.1.tar.bz2: binary file contents changed
dpkg-source: building kdepim in kdepim_3.4.1-1.dsc
dpkg-source: unrepresentable changes to source
Mit dieser Meldung "dpkg-source: cannot represent change to kdepim-3.4.1.tar.bz2: binary file contents" kann ich leider wenig anfangen, bzw. ich habe keine Ahnung wie ich das ändern kann...

Timo

Benutzeravatar
godsmacker
Beiträge: 902
Registriert: 16.03.2003 21:50:26
Lizenz eigener Beiträge: Artistic Lizenz
Wohnort: Chemnitz
Kontaktdaten:

Beitrag von godsmacker » 26.06.2005 18:35:17

Nimm Dein neues Paket entweder mit in orig.tar.gz auf oder entferne das orig.tar.gz ganz.

dpkg-source versucht naemlich beim kompilieren ein diff.gz zu erstellen. diff funktioniert allerdings nicht auf binaere Dateien.

Benutzeravatar
redrat
Beiträge: 828
Registriert: 12.09.2002 10:11:46
Wohnort: Braunschweig

Beitrag von redrat » 26.06.2005 19:02:36

Danke. Scheint zu funktionieren. Jedenfalls ist er munter am basteln...

Timo

Antworten