Как правильно упаковать пакет скинаДля примера возьму свой скин HDLine-Rebrending
Начнём с файла
control, вот его содержимое
Package: enigma2-plugin-skins-hdline-rebrandingplugin - Отображается в плагинах
skins - Категория в которой отображается скин
hdline-rebranding - Имя скина
Version: v1.0 - Версия скина
Description: Skin HDLine-ReBranding v1.0 by MIC71 - Описание скина
Section: base - Для установки с пульта или телнета не важно
Priority: optional - Для установки с пульта или телнета не важно
Maintainer: mic71 < mic71@list.ru > - Автор скина
Architecture: all - Тут лучше писать all (все), т.к. ресиверы разные, если написать
mips32el или
mips32el-nf, то в некоторые ресиверы он не встанет
OE: enigma2-plugin-skins - Тут многие пишут ОЕ2.0 или ОЕ1.6, я пишу так как есть, если ставить с пульта роли не играет
Homepage: www.giscub.tv - Домашняя страница автора (можно оставить пустым)
Source: http://giscub.tv - исходники (можно не писать, оставить пустым)
ОБЯЗАТЕЛЬНО: В конце файла должна присутствовать пустая строка!Далее рассмотрим описание файла postinst (можно оставить стандартным) это не столь критично
Возьмём последние 3 строки, они не обязательны
sleep 5 - Рестарт Enigma2 через 5 сек
rm -rf /tmp/*.ipk - затирание ipk пакета после установки
killall -9 enigma2 >/dev/null 2>&1 - остановка Enigma2
Ну а теперь о самом интересном, можно оставить конечно стандартный файл postrm, ну либо немного изменить
Вот как пример:
rm -rf /usr/share/enigma2/HDLine-ReBranding - Затирание папки скина
sleep 5 - Рестарт Enigma2 через 5 сек
killall -9 enigma2 >/dev/null 2>&1 - Остановка Enigma2
2 нижних строчки не обязательны
При удалении скина, команда с телнета будет такая
Вам не разрешен просмотр кода. Войдите или Зарегистрируйтесь для просмотра.
Именно та верхняя строчка из файла control
Package: enigma2-plugin-skins-hdline-rebrandingТеперь рассмотрим вариант упаковки компонентов, я их упаковываю отдельно, файл
control и
postinst можно пропустить, они такие же как и в папке скина, кроме названия файла
Package: dvpapi-components-hdline-rebrandingИз этого следует, что в плагинах компоненты отображаться не будут, т.к. категории
dvbapi и
components в плагинах просто нет,
удаление только с телнетаТеперь маленькое отступление, в моём скине тоже присутствуют компоненты из клубной библиотеки, ниже приведу скрины, и чтобы при удалении компонентов они не удалились (удалятся только
*.ру файлы) в файле
postrm я прописываю только те компоненты, которые не входят в клубную библиотеку, чтоб при удалении компонентов у вас не осталось мусора от скина
Вот для наглядности компоненты и рендеры которые входят в библиотеку
Это содержимое файла
postrmСмотрим по порядку, то что удалится при удалении компонентов, заметьте что прописано расширение
*.pyo, т.к. файлы
*.py удаляются автоматом, итак у меня всего 3 конвертера, не входящие в клубную библиотеку, это:
rm -rf /usr/lib/enigma2/python/Components/Converter/MSNWeather2.pyo
rm -rf /usr/lib/enigma2/python/Components/Converter/ModuleControl.pyo
rm -rf /usr/lib/enigma2/python/Components/Converter/GoliathHDServiceInfo.pyoИ 3 рендера
rm -rf /usr/lib/enigma2/python/Components/Renderer/GoliathHDCams.pyo
rm -rf /usr/lib/enigma2/python/Components/Renderer/GoliathHDemu.pyo
rm -rf /usr/lib/enigma2/python/Components/Renderer/ScrollLabel.pyoВсё остальное из клубной библиотеки и удалять их не нужно, т.к. это может коснуться других скинов, замечу тут собраны только необходимые компоненты для работы скина, и всю клубную библиотеку ставить не нужно
Ну и ниже 2 строчки, это остановка Enigma2 и рестарт через 5 сек
sleep 5
killall -9 enigma2 >/dev/null 2>&1Это вы делаете на своё усмотрение, я это делаю потому, чтобы потом руками с пульта не нужно перегружать ресивер, чтоб активировались или деактивировались те или другие компоненты скина
И последнее: Пакет скина в файле
control нужно писать только через тире вот так -
enigma2-plugin-skins-hdline-rebrandingЕсли написать так:
Package: enigma2-plugin-skins_hdline-rebranding, т.е. употребить
нижнее подчёркивание, то пакет встанет, но с ошибками и удалить с телнета его будет просто невозможно, т.к. при команде
opkg remove писать будет нечего
Или некоторые называют пакет так:
Package: enigma2-plugin-skins-hdline-rebranding_openpli, что есть неправильно, это лучше писать в строке
Version: но опять через тире, вот так:
Version: v1.0-openpliВобщем я написал и разложил по полкам как нужно делать по уму для корректной упаковки, а там сами решайте как вам упаковывать
P.S. файлы
postinst, postrm нужны обязательно, без них сотрётся только запись в файле
status а компоненты и скин при удалении останутся не тронутыми