Login
Newsletter
Mo, 3. September 2001, 23:20

Source-Patch in RPM-Dateien einfügen

Falls man eine Source-RPM nicht auf Anhieb installieren kann und in den Sourcen eine Änderung einfügt, damit es funktioniert, so kann man ganz einfach die Sourcen patchen.

Das hat den Vorteil, daß man die Quelldateien nicht zu verändern braucht, sondern nachträglich nur den Patch darauf anwendet, der die Änderungen dann durchführt.

Das kann z.B. folgendermaßen geschehen:

Wir möchten eine Änderung in der Datei test.c vornehmen. Dazu kopieren wir sie erstmal zu test.c.diff. Dann editieren wir test.c.diff mit einem Editor und machen dort alle Änderungen, die wir wünschen. Danach erstellen wir den Patch mit Hilfe von diff. Dieses Kommando erkennt Unterschiede zwischen zwei Dateien (oder auch Verzeichnissen - ganz nach Belieben). Wir rufen es folgendermaßen auf:

diff -u test.c test.c.diff > <programmname-version>-name.patch

Unter <programmname-version> setzen wir den Namen und die Version des Programmes ein. Die spitzen Klammern sind natürlich wegzulassen.

Als nächstes kopieren wir dann den entstandenen Patch ins Verzeichnis /usr/src/redhat/SOURCES. (Bei SuSE und anderen Distributionen heißt das Verzeichnis ähnlich.)

Dann ändern wir noch die Spec-Datei und fügen im Kopf folgenden Eintrag hinzu:

Patch0: <programmname-version>-name.patch

Unter dem %setup-Feld fügen wir dann noch das folgende hinzu:

%patch -p0

Und schon sind wir fertig.

Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten