Инсталляция модуля расширения
Материал из RuVDRWiki
Содержание |
Подготовка
Инсталляция различных модулей расширения в основных чертах всегда одинакова. Особенности описаны на соответствующей странице модуля расширения. Однако, последней инстанцией является всегда README-файл модуля расширения.
- $SOURCEDIR --> Путь к каталогу с исходниками VDR. Каталоги обычно находятся в /usr/local/src или /usr/src.
- $PLUGIN_NAME --> Название модуля расширения.
После того, как исходники плагина скачались из Интернета, переходим в каталог PLUGINS/src VDR-а
cd $SOURCEDIR/vdr/PLUGINS/src
и разархивируем файл.
Если это BZIP2 архив (*.tar.bz2), используем
tar -jxvf /path/to/vdr-$PLUGIN_NAME-<VERSION>.tar.bz2
Если это GZIP архив (*.tgz, *.tar.gz), запускаем
tar -zxvf /path/to/vdr-$PLUGIN_NAME-<VERSION>.{tgz,tar.gz}
Затем создаем линк на плагин без указания номера версии.
ln -s $PLUGIN_NAME-<VERSION> $PLUGIN_NAME
Это описание исходит из того, что авторы модуля расширения придерживаются общепринятой схемы названий модулей расширения. К сожалению, это не всегда так.
Для того чтобы VDR мог компилировать модуль расширения, каталог или ссылка модуля должны содержать только его название, никакие "vdr-...", "plugin-..." или номер версии. Внимание:
- 'vdrcd' правильно
- 'vdr-cd' не правельно
Компиляция
После распаковки модуля расширения на жесткий диск, Вы получите только его исходники, которые нужно ещё перевесьти посредством компилятора в машинный код, для его работы с VDR.
Для вызова компилятора перейдите в корневой каталог VDR и запусьтите процесс компиляции
cd ../.. make plugins
Инсталляция
После безошибочной компиляции, возникшие библиотеки могут копироваться в целевой каталог :
mkdir -p /usr/lib/vdr/plugins/ cp PLUGINS/lib/* /usr/lib/vdr/plugins/
Этот каталог, конечно, может варьироваться в зависимости от системы. Позже, при призыве VDR каталог может указываться так
vdr -L /usr/lib/vdr
или так
vdr --lib='/usr/lib/vdr'
Старые модули расширения под 1.4
Версии API разделяются с версией VDR, для того, чтобы каждый раз (между различными версиями VDR) не компилировать все модули расширения по-новому, до тех пор пока не изменится само API.
Ville Skyttä предложил для этого следущее решение
Plugins that have not been changed to use APIVERSION yet upstream can be usually locally updated with something as simple as:
sed -i -e s/VDRVERSION/APIVERSION/g Makefile
Эта команда должна вызываться для каждого модуля расширения в принадлежащем каталоге исходников, или
find $SOURCEDIR/VDR/PLUGINS -name Makefile -exec sed -i -e 's:VDRVERSION:APIVERSION:g' {} \;
