Wie erstelle und pflege ich einen Patch für das Debian-Paket?

7

Ich möchte das Trac-Paket patchen. Ich weiß, wie man das Paket patcht und neu erstellt, aber es gibt einige Dinge, die ich nicht sehr gut verstehe.

Mein Patch ist etwas Gefährliches und wird sich wahrscheinlich nicht wieder in der Community engagieren. Lassen Sie mich nur sagen, es ist ein sehr privater Patch. Ich möchte jedoch, dass mein Patch weiterhin funktioniert, wenn die Ubuntu-Pakete aktualisiert werden. (Sollte ich apt-get source tracmeinen Patch bei jedem TracUpgrade in die neue Version des Quellverzeichnisses verschieben ?)

Ich sehe, dass es ein patch/Verzeichnis gibt (viele verwenden es, quiltdenke ich) debian/, aber ich weiß nicht, wie ich es verwenden soll? Wendet debuildautomatisch alle Patches im patch/Verzeichnis an? Und was ist mit dpkg-buildpackage? Gibt es einige Umgebungsvariablen, um die Auswahl der anzuwendenden Patches zu steuern?

Xiè Jìléi
quelle

Antworten:

2

Obwohl dies eine alte Frage ist, ist sie immer noch aktuell. Daher möchte ich einige aktuelle Informationen hinzufügen. Die andere Antwort verweist unverblümt auf das Handbuch, während es hilfreich wäre, genau die erforderlichen Informationen anzugeben.

Aus dem Handbuch ist der relevante Teil hervorgegangen

8.4. Upgrade auf neue Upstream-Versionen

Um auf die neue Version zu aktualisieren, können Sie den bzr merge-upstreamBefehl verwenden

Dies ist jedoch Ubuntu-spezifisch.

Alternativ kann man verwenden apt-src. Handbuch sagt:

-p, --patch

Versuchen Sie beim Upgrade, lokale Änderungen in einen neuen Quellbaum zu patchen. Auf

Verwenden Sie zum Deaktivieren standardmäßig --no-p. Konfigurationselement:

APT :: Src :: Patch.

Damit dies funktioniert , müssen Sie installieren apt-srcmit, sudo apt-get install apt-srczum Beispiel.

Eine andere Möglichkeit ist zu verwenden quilt. Es folgt ein Auszug aus Absatz "5.26. Patches / *" aus dem Debian New Maintainers 'Guide :

Wenn jemand (einschließlich Sie selbst) später einen Patch foo.patch für die Quelle bereitstellt, ist das Ändern eines 3.0 (Quilt) -Quellpakets ganz einfach:

$ dpkg-source -x gentoo_0.9.12.dsc

$ cd gentoo-0.9.12

$ dquilt import ../foo.patch

$ dquilt push

$ dquilt refresh

$ dquilt header -e

... Patch beschreiben

PF4Public
quelle