Gentoo VDR Eigene Patches einbinden
Inhaltsverzeichnis |
Allgemeines
Die VDR-Ebuilds können naturgemäß nicht jeden Patch der irgendwo verfügbar ist einbinden. Deshalb wurde eine Möglichkeit geschaffen, mit der jeder Anwender eigene Patches auf den VDR anwenden kann.
Aktivieren
Zum aktivieren wird einfach irgendwo ein leeres Verzeichnis PATCHDIR angelegt - PATCHDIR ist natürlich durch einen echten Namen zu ersetzten.
mkdir -p PATCHDIR
Dann wird in /etc/make.conf dem ebuild gesagt wo dieses Verzeichnis liegt.
VDR_LOCAL_PATCHES_DIR="PATCHDIR"
Beispiel
Für PATCHDIR=/usr/src/vdr-patches sieht das so aus:
mkdir -p /usr/src/vdr-patches
und in /etc/make.conf
VDR_LOCAL_PATCHES_DIR="/usr/src/vdr-patches"
Ablegen der Patches
In PATCHDIR legt man ein Unterverzeichnis an welches nach der zu patchenden VDR-Version benannt ist. Für vdr-1.3.36 also
mkdir PATCHDIR/1.3.36
In diesem Verzeichnis legt man die Patches ab. Ihr Name muss auf .diff oder .patch enden.
VDR emergen
Wenn alles klappt sieht das mit diesen Patches in PATCHDIR/1.3.36
# ls PATCHDIR/1.3.36 mypatch.diff testing-special.diff
beim nächsten emergen von vdr dann so aus:
... >>> Unpacking vdr-1.3.36.tar.bz2 to /var/tmp/portage/vdr-1.3.36/work >>> Unpacking vdr-1.3.36-enAIO-2.7.diff.gz to /var/tmp/portage/vdr-1.3.36/work * Changing pathes for gentoo ... [ ok ] * Applying vdr-1.3.34-shutdown-retry.diff ... [ ok ] * Applying vdr-1.3.36-enAIO-2.7.diff ... [ ok ] * Applying vdr-1.3.36-SourceCaps.patch ... [ ok ] * Applying local patches * Applying mypatch.diff ... [ ok ] * Applying testing-special.diff ... [ ok ] >>> Source unpacked. ...
Warnung
Mit dieser Möglichkeit eigene Patches einzubinden hat man natürlich auch die selben Probleme, die die Ebuild-Macher haben. Es wird fast nie möglich sein alle Patches so unter einen Hut zu bekommen, dass alle anwendbar sind.