Kurztipp: Patches erzeugen und einspielen

Linux Patches erzeugen und einspielen

Wenn man eine Software entwickelt, sichert man normalerweise regelmäßig den Quellcode in einer tar.gz Datei. Mit der Zeit wird das Softwarepaket immer größer und belegt entsprechend viel Platz auf der lokalen Festplatte oder auf dem FTP-Server. Aus diesem Grund und weil man leichter Änderungen von Dritten einsehen und ausprobieren kann, sollte man von sogenannten Patch-Dateien Gebrauch machen.

Für jede Version unserer Software legen wir ein eigenes Verzeichnis an. Für die Versionen 0.5.0 und 0.5.1 gibt es also getrennte Verzeichnisse. Um nun eine Patch-Datei zu erzeugen, benutzen wir in dem übergeordneten Verzeichnis das folgende Kommando:

diff -u -r -N 0.5.0/ 0.5.1/ > patch-0.5.0-to-0.5.1

Der Parameter "-u" steht für das Standard-Patch-Format, "-r" dafür, dass alle Dateien in allen Unterverzeichnissen (rekursiv) bearbeitet werden und "-N" sorgt dafür, dass neue Dateien automatisch erzeugt werden. Damit haben wir eine Patch-Datei namens "patch-0.5.0-to-0.5.1" erzeugt. Diese beinhaltet alle Änderungen von Version 0.5.0 zu Version 0.5.1.

Ein Benutzer, der den Patch auf seine vorhandene Version 0.5.0 anwenden möchte, wechselt in das Verzeichnis "0.5.0" und führt folgendes Kommando aus:

patch -p1 < ../patch-0.5.0-to-0.5.1

Da wir uns ja bereits im Verzeichnis "0.5.0" befinden, teilt man dem Patch-Programm mit, dass er den ersten Pfad weglassen muss ("-p1"). Sein Verzeichnis "0.5.0" enthält anschließend alle Änderungen und ist auf dem Stand von Version 0.5.1. Den Verzeichnisnamen müsste man dann jedoch auch noch anpassen.

Diejenigen, die Patches einsetzen, um Speicherplatz zu sparen, sollten die Patch-Datei noch mit gzip oder bzip2 komprimieren.

gzip patch-0.5.0-to-0.5.1

oder

bzip2 patch-0.5.0-to-0.5.1

Artikelbewertung: 
No votes yet
War dieser Artikel hilfreich?