Option 2. Ich habe eine Handvoll Patches für bestimmte Ports. Wenn eine neuere Version verfügbar ist, aktualisieren Sie Ihre Ports-Struktur, kopieren Sie sie in die geänderten Patches und führen Sie "make patch" manuell aus, um zu überprüfen, ob die Patches sauber sind. Dann "make", um zu sehen, ob Builds erstellt werden.
Wie verwalte ich lokale Patches für den FreeBSD-Portbaum?
Wie werden lokale Patches im FreeBSD-Portbaum bevorzugt? Als Beispiel schauen Sie sich an textproc/urlview
. Dieser Port installiert das url_handler.sh
Skript. Dieses Skript definiert Anwendungen, die für verschiedene URL-Typen verwendet werden. Die Standardanwendungen passen nicht zu meinem System.
Was soll ich tun? Ich habe in der Vergangenheit zwei ziemlich unbefriedigende Wege gewählt:
- Erstellen und installieren Sie den Vanilla-Port und bearbeiten Sie `/ usr / local / bin / url_handler.sh 'direkt. Dadurch wird das Löschen des installierten Ports beeinträchtigt, da sich die Prüfsumme geändert hat. Dies kann vermieden werden, indem man die Dateien in `/ var / db / pkg` direkt anlegt, aber das ist so hackig wie es nur geht.
- Erstellen Sie eine Patch-Datei in `/ usr / ports / textproc / urlview / files`, die das Skript in der` patch`-Phase entsprechend patcht. Dies schlägt jedoch fehl, wenn Sie `portsnap` verwenden, da das Verzeichnis vor dem Aktualisieren der Ports-Struktur gelöscht wird.
Wie geht ihr Jungs mit solchen Dingen um?
3 Antworten auf die Frage
Ich würde Option 2 sagen, aber verwenden Sie ein Skript, um Ihre Patches zu kopieren. Ein Skript hilft dabei, eine Prozedur zu dokumentieren, die wirklich hilfreich ist, wenn Sie ein Jahr zurückgehen und herausfinden möchten, was Sie getan haben.
Obwohl Sie etwas Besonderes schreiben könnten, das eine Verzeichnisstruktur in den Ports-Baum "überlagert", finde ich, dass einfacher einfacher ist:
#/bin/sh PORTSTREE="/usr/ports" MYPATCHDIR="/wherever/you/put/these" # my textproc/urlview patch cp $/myurlview.patch $/textproc/urlview/files
Jetzt können Sie alle Ihre Änderungen in einer Datei auflisten und alle Ihre Patches in einem Verzeichnis speichern. Führen Sie das Skript aus, nachdem Sie portsnap oder (nowdays) eine neue Ports-Struktur erstellt haben.
Ich habe angefangen, das Git-Repo ( https://github.com/freebsd/freebsd-ports.git ) zu verwenden und habe dann einen lokalen Zweig mit den erforderlichen Änderungen. Ich verwende dies auch, wenn ich eigene Ports erstelle, die nicht in der Portstruktur verfügbar sind.
Verwandte Probleme
-
3
Was ist ein "PR"? Wofür steht PR im Kontext von FreeBSD-Ports?
-
1
FreeBSD 7.0 unter Parallels hatte beim Erstellen von Ports für Mono keinen Speicherplatz mehr
-
3
NetBSD, OpenBSD, * BSD und FreeBSD im Vergleich
-
2
Wie mache ich Scrollock in Linux so, wie es in FreeBSD funktioniert?
-
1
Freebsd Box hängt am Bootloader
-
5
CentOS Aufwärtspfeil vorheriger Befehl
-
2
Wie benutze ich die Befehlszeile whois für "Spam-infizierte" Domains wie apple.com?
-
1
Was hat chsh getan, wenn ich `chsh -s SHELL 'eingetippt habe und wie gehe ich zur vorherigen SHELL z...
-
3
freebsd: Konfigurieren Sie ein anderes Standardverzeichnis
-
2
Verbindung zur virtuellen Maschine auf dem Host-Computer