Gentoo VDR Eigene Patches einbinden

Aus VDR Wiki
Wechseln zu: Navigation, Suche

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 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.

In anderen Sprachen