| 11.6.2005 | Patch anwenden/erstellen |
|
|
|
Einen Patch erstellenMan hat z.B. in einem Paket einen Fehler, ein Problem, einen Bug gefunden und beseitigt, und man möchte aus der Änderung einen Patch machen, so daß jemand anders sich ebenfalls das Paket herunterladen und mit Hilfe des Patches dieselbe Änderung vornehmen kann. Nehmen wir als Beispiel blfs-dependencies.tar.gz (der ist so schön klein). Man hat ihn z.B. heruntergeladen nach /tmp und entpackt ihn z.B. nach /install/build: cd /install/build Dann hat man folgende Dateistruktur:
Angenommen, in der Datei depsort.c fehle in Zeile 319 ein äußerst wichtiger Kommentar. Dann kopiert man den ganzen Baum depsort6 nach depsort6.old: cp -a depsort6 depsort6.old Dann hat man:
Dann ändert man depsort6/depsort.c, Zeile 319 (die Leerzeile in der Mitte) von:
nach:
Den Patch macht man dann so:cd /install/build Datei /install/build/depsort6-kommentar.patch: --- depsort6.old/depsort.c 2003-09-24 11:43:12.000000000 +0200 Im Patch steht: "Man kommt von depsort6.old/depsort.c nach depsort6/depsort.c, indem man in Zeile 316 geht, dort die drei zitierten Zeilen überspringt, dann die Zeile mit dem Minuszeichen davor löscht, dafür die Zeile mit dem Pluszeichen einfügt, und dann wieder drei zitierte Zeilen Kontext überspringt. Falls man mehrere Dateien geändert hat, macht man den Patch so: diff -Naur depsort6.old/ depsort6/ >depsort6-xyz.patch Einen Patch anwendenAngenommen, man hat den obigen Tarball heruntergeladen und den Patch, man hat den Tarball - wie oben - nach /install/build entpackt und den Patch nach /install/build kopiert:
Dann befindet man sich normalerweise in /install/build/depsort6 (um dort z.B. ./configure ; make ; make install aufzurufen). Vorher wendet man aber den Patch an: cd /install/build/depsort6
|
| abatz.de | Jörn Abatz - Technische Software | Impressum |