Gentoo VDR own patches

From VDR Wiki
Jump to: navigation, search

General

The vdr ebuilds can never be feature-complete and include every patch available somewhere. Because of this fact the possibility to include own patches into VDR was created.

Enable

To enable this function one simply creates an the empty directory PATCHDIR somewhere - clearly PATCHDIR has to be replaced by a real directory name.

mkdir -p PATCHDIR

The we tell the ebuild in /etc/make.conf where this directory is located.

VDR_LOCAL_PATCHES_DIR="PATCHDIR"

Example

For PATCHDIR=/usr/src/vdr-patches it looks like this:

mkdir -p /usr/src/vdr-patches

and in /etc/make.conf

VDR_LOCAL_PATCHES_DIR="/usr/src/vdr-patches"

Putting patches there

Inside PATCHDIR one creates a subdirectory which is named after the, to be patched, version of VDR. For vdr-VDR_VERSION:

mkdir PATCHDIR/VDR_VERSION

In this directory the patches are stored. Their name has to have the prefix .diff or .patch.

emergeing VDR

If all goes well it works and gives this output with these patches in PATCHDIR/VDR_VERSION

# ls PATCHDIR/VDR_VERSION
mypatch.diff testing-special.diff

at the next time emerging vdr (here vdr-1.3.36):

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

Warning

With this posibility to include own patches one has naturally the same problems, the ebuild-makers have. It will never be possible to get all patches playing together nice that they all are applicable.