World Vision Club
GI ET11000 4K, GI ET7000 Mini, Xtrend ET9000,9200 HD Twin, Xtrend ET5000,6000 HD => Xtrend ET9000 HD Twin => программы => Тема начата: Дмитрий73 от 19 Октябрь 2012, 18:37:59
-
Эту программку написал vlamo
Dreambox IPK packages maker
(программа для сборки и разборки ipk-пакетов)
Предлагаю вашему вниманию небольшую и простенькую програмулину для сборки и разборки ipk пакетов - ipk-maker
Программа умеет:
собирать ipk-пакеты (build).
Пример:
ipk-maker build /tmp/IPK-BUILD
Где /tmp/IPK-BUILD есть уже структуированая ipk-директория. В ней должны быть две поддиректории:
/tmp/IPK-BUILD/CONTROL (содержит управляющие файлы для пакета)
/tmp/IPK-BUILD/DATA (содержит любые папки/файлы данных, которые вы хотите включить в пакет)
разбирать ipk-пакеты (unbuild)
Пример:
ipk-maker unbuild /tmp/IPK-BUILD /tmp/any-package_0.1_all.ipk
Где /tmp/IPK-BUILD есть директория, в которую будет распакован файл /tmp/any-package_0.1_all.ipk .
а, также, создавать структуру ipk-директории для создания нового ipk-пакета (make_dir)
Пример:
ipk-maker make_dir /tmp/IPK-BUILD
Где /tmp/IPK-BUILD есть директория, в которой будут созданы:
1. Маркерный файл debian-binary
2. Поддиректория DATA
3. Поддиректория CONTROL
4. В поддиректории CONTROL в свою очередь будут созданы управляющие файлы:
control - здесь находятся все сведения о пакете, вам необходимо его будет отредактировать вручную. Файл обязательный!!!
preinst - скрипт, который будет исполняться до установки пакета (можно удалить, если не нужен).
postinst - скрипт, который будет исполняться после установки пакета (можно удалить, если не нужен).
prerm - скрипт, который будет исполняться до удаления вашего пакета (можно удалить, если не нужен).
postrm - скрипт, который будет исполняться после удаления вашего пакета (можно удалить, если не нужен).
Установка, как обычно:
1. Распаковываете zip-архив в /tmp Дрима
2. Даете через Телнет две команды:
cd /
tar -xzvf /tmp/dreambox-ipk-maker_*.tar.gz
Программа установится в /usr/bin Дрима и будет готова к употреблению.
Если что не понятно, набираете: ipk-maker --help или спрашиваете здесь.
Исходное описание от автора здесь (http://dream.altmaster.net/showthread.php?t=4598)
От себя добавлю два очень важных момента:
1)Все файлы разложены по полочкам,осталось только дать команду для сборки пакета,обязательно не забываем выполнить перед этим команду:
chown -Rh root:root /tmp/IPK-BUILD
2)В файле control,когда все написано,внимательно проверьте,что бы не оставалось пустых строк,пробелов или табуляций в окончании строк.Пакет может просто не собратся или при установке вы увидите кучу не приятных ошибок в консоли.
P.S.Изучите это сообщение и можете задавать вопросы,мне проще объяснить нюансы на конкретном примере :).
-
У меня telnet по-моему кирилицу не понимает, как это поправить ?
root@et9x00:/var/volatile/tmp# ipk-maker make_dir /tmp/IPK-BUILD
ipk-maker: ╨╖╨░╨┤╨░╨╜╨░ ╨║╨╛╨╝╨░╨╜╨┤╨░ 'make_dir'...
ipk-maker: ╨┤╨╕╤А╨╡╨║╤В╨╛╤А╨╕╤П "/tmp/IPK-BUILD" ╤Г╤Б╨┐╨╡╤И╨╜╨╛ ╤Б╨╛╨╖╨┤╨░╨╜╨░.
╨Э╨╡╨║╨╛╤В╨╛╤А╤Л╨╡ ╤А╨╡╨║╨╛╨╝╨╡╨╜╨┤╨░╤Ж╨╕╨╕ ╨┐╨╛ ╤Б╨╛╨╖╨┤╨░╨╜╨╕╤О╨┐╨░╨
:╨╡╤В╨░
1. ╨б╨║╨╛╨┐╨╕╤А╤Г╨╣╤В╨╡ c ╤Г╤З╨╡╤В╨╛╨╝ ╨┐╨╛╨╗╨╜╤Л╤Е ╨┐╤Г╤В╨╡╨╣ ╨╜╨╡╨
╤Д╨░╨╣╨╗╤Л ╨▓ ╨║╨░╤В╨░╨╗╨╛╨│
/tmp/IPK-BUILD/DATA
2. ╨Ч╨░╨┐╨╛╨╗╨╜╨╕╤В╨╡ ╨▓╤Б╨╡ ╨╜╨╡╨╛╨▒╤Е╨╛╨┤╨╕╨╝╤Л╨╡ ╨┐╨╛╨╗╤П ╨▓╨░╤И╨
╨┤╨░╨╜╨╜╤Л╨╝╨╕ ╨▓ ╤Д╨░╨╣╨╗╨╡
/tmp/IPK-BUILD/CONTROL/control
(╨╕╨╝╤П ╨┐╨░╨║╨╡╤В╨░, ╨▓╨╡╤А╤Б╨╕╤П, ╨╛╨┐╨╕╤Б╨░╨╜╨╕╨╡, ╨░╨▓╤В╨╛╤А,
╨╖╨░╨▓╨╕╤Б╨╕╨╝╨╛╤Б╤В╨╕ ╨╕ ╤В.╨┤.)
3. ╨Х╤Б╨╗╨╕ ╨▓╨░╨╝ ╨╜╨╡╨╛╨▒╤Е╨╛╨┤╨╕╨╝╨╛, ╤З╤В╨╛╨▒╤Л ╨▓╤Л╨┐╨╛╨╗╨╜╤П╨╗
╨┤╨╛╨┐╨╛╨╗╨╜╨╕╤В╨╡╨╗╤М╨╜╤Л╨╡ ╨┤╨╡╨╣╤Б╤В╨▓╨╕╤П
╨┤╨╛ ╨╕/╨╕╨╗╨╕ ╨┐╨╛╤Б╨╗╨╡ ╤Г╤Б╤В╨░╨╜╨╛╨▓╨║╨╕/╤Г╨┤╨░╨╗╨╡╨╜╨╕╤П ╨▓╨
╨┐╨░╨║╨╡╤В╨░, ╨╛╨▒╤А╨░╤В╨╕╤В╨╡
╨▓╨╜╨╕╨╝╨░╨╜╨╕╨╡ ╨╜╨░ ╨┤╤А╤Г╨│╨╕╨╡ ╤Д╨░╨╣╨╗╤Л ╨▓ ╨║╨░╤В╨░╨╗╨╛╨│╨╡
/tmp/IPK-BUILD/CONTROL
╨Э╨░╨╖╨▓╨░╨╜╨╕╤П ╤Д╨░╨╣╨╗╨╛╨▓ ╨│╨╛╨▓╨╛╤А╤П╤В ╤Б╨░╨╝╨╕ ╨╖╨░ ╤Б╨╡╨▒
. ╨Ш╨╜╨░╤З╨╡, ╨┐╤А╨╛╤Б╤В╨╛ ╤Г╨┤╨░╨╗╨╕╤В╨╡ ╨╕╤Е.
4. ╨Ъ╨╛╨│╨┤╨░ ╨▓╤Б╨╡ ╨▒╤Г╨┤╨╡╤В ╨│╨╛╤В╨╛╨▓╨╛, ╨╖╨░╨┐╤Г╤Б╤В╨╕╤В╨╡ ipk
-maker:
/usr/bin/ipk-maker build /tmp/IPK-BUILD
root@et9x00:/var/volatile/tmp# cd
root@et9x00:~# ipk-maker build /tmp/IPK-BUILD /tmp/proba_gavd_pli_hd_mod
ipk-maker: ╨╖╨░╨┤╨░╨╜╨░ ╨║╨╛╨╝╨░╨╜╨┤╨░ 'build'...
ipk-maker: ╤В╨╡╨║╤Г╤Й╨╕╨╣ 'ar' ╨░╤А╤Е╨╕╨▓╨░╤В╨╛╤А ╤П╨▓╨╗╤П╨╡╤В╤Б╤П ╤Г╤А╨╡╨╖╨░╨╜╨
╨▓╨╡╤А╤Б╨╕╨╡╨╣ ╨┐╤А╨╛╨│╤А╨░╨╝╨╝╤Л ╨╕ ╨╜╨╡ ╨╝╨╛╨╢╨╡╤В ╤Б╨╛╨▒╨╕╤А╨░╤В╤М ipk-╨┐╨░╨
ipk-maker: ╨┤╨╗╤П ╤Б╨▒╨╛╤А╨║╨╕ ipk-╨┐╨░╨║╨╡╤В╨░ ╨▓╤Л ╨╜╤Г╨╢╨┤╨░╨╡╤В╨╡╤Б╤М ╨▓ ╨┐╨
╨▓╨╡╤А╤Б╨╕╨╕ ar ╨░╤А╤Е╨╕╨▓╨░╤В╨╛╤А╨░ ╨╕╨╖ ╨┐╨░╨║╨╡╤В╨░ binutils
root@et9x00:~#
-
При запуске PuTTY кодировку UTF-8 надо выставить,она в настройках слева.
-
При создании пакета ipk -надо предварительно создать тарбол - data.tar.gz ..дык ведь на этом можно и остановиться,
зачем продолжать дальше,в чём преимущество ipk перед тарболом..?
-
При создании пакета ipk -надо предварительно создать тарбол - data.tar.gz ..дык ведь на этом можно и остановиться,
зачем продолжать дальше,в чём преимущество ipk перед тарболом..?
Тарбол автоматически создается внутри ipk при сборке.
В папку DATA кидаем нужные файлы,делаем это на компе.Потом закидываем через фтп,вид будет примерно такой:
папка /usr, внутри папка / bin,внутри бинарник mgcamd,на него права 755
В папке CONTROL,вписываем что надо и собираем пакет.
-
Я для пробы сначала распаковал рабочий ipk пакет и сохранил его на компе. Потом создал маркерный файл и скопировал-заменил нужные файлы файлами с компа. Поидее всё должно было собраться, но....
openpli 3.0 et9x00
et9x00 login: root
root@et9x00:~# ipk-maker build /tmp/IPK-BUILD
ipk-maker: задана команда 'build'...
ipk-maker: текущий 'ar' архиватор является урезаной версией программы и не может собирать ipk-пакеты
ipk-maker: для сборки ipk-пакета вы нуждаетесь в полной версии ar архиватора из пакета binutils
root@et9x00:~# chown -Rh root:root /tmp/IPK-BUILD
root@et9x00:~# ipk-maker build /tmp/IPK-BUILD
ipk-maker: задана команда 'build'...
ipk-maker: текущий 'ar' архиватор является урезаной версией программы и не может собирать ipk-пакеты
ipk-maker: для сборки ipk-пакета вы нуждаетесь в полной версии ar архиватора из пакета binutils
этот "урезаный архиватор" - это из Putty или ето программа в ресивере ? Как поправить ?
-
То-же самое получил и я..?
Почитай ссылку которую дал в начале темы Дмитрий,vlamo пишет что
"в Дриме ar - это, всего-лишь, аплет busybox'а, и, поэтому, функциональность его весьма урезана"
Далее он пишет:
"что выдернул полнофункциональный ar архиватор из deb-пакета binutils_2.17-3_powerpc.deb...,"
и в конце поста выложил "ar-архиваторы под powerpc и mipsel архитектуры "
Надо-бы их установить в начале ,а уж потом наверное действовать...?
Вобщем хлопот не оберёшся..правильно написал vlamo в первых строчках своего поста-
"Дримоводы -лёгких путей не ищут"
-
Дико извиняюсь.Забыл пакет с ar вчера выложить.Точней,написал вчера сообщение и долго думал,ни чего ли я не забыл и тут меня отвлекли ;D.
Установка:
Удалите симлинк /usr/bin/ar и закиньте файлы из архива по нужным директориям,права 755
-
Ну да так и надо действовать,то-есть установить полноценный архиватор,прада пакет ipk у меня получился не рабочий,чтой-то напутал,
но это уже мелочи -разберусь!
(http://s002.radikal.ru/i200/1210/ed/d4620efd96e4.jpg) (http://www.radikal.ru)
P.S.Всё получилось!!
Тем кто никогда этого не делал и не представляет как подступиться,проще всего взять какой-нибудь готовый IP-
пакет ,поместить его в папку tmp и дать и телнет команду "ipk-maker unbuild /tmp/IPK-BUILD /tmp/flashexpander_0.33-r0_all.ipk"
только заменить "flashexpander_0.33-r0_all.ipk" на название своего пакета
В папке tmp создастся папка IPK-BUILD ,а в ней еще две папки CONTROL ,DATA и файлик debian-binary
с файликом debian-binary - делать ничего не надо,из папки DATA выкинуть папки и поместить свои с нужными
файлами в нужных дерикториях и присвоить необходимые права.
В папке CONTROL содержится файлик control -его тоже нужно подредактировать -изменить название..вобщем там понятно будет.
Дальше даём в телнет команду ipk-maker build /tmp/IPK-BUILD
И через несколько секунд забираем из tmp/IPK-BUILD свой готовый IP-пакет!
-
Со сборкой пакета вроде тоже разобрался. И вот такой вопрос появился - что нужно сделать и возможно ли это вообще, чтобы собранный произвольный пакет можно было также двумя кнопками (всмысле легко и быстро) и удалить, как и поставить ?
-
Со сборкой пакета вроде тоже разобрался. И вот такой вопрос появился - что нужно сделать и возможно ли это вообще, чтобы собранный произвольный пакет можно было также двумя кнопками (всмысле легко и быстро) и удалить, как и поставить ?
Удалить какими кнопками?Не понимаю вопроса,подробней можно...
А вообще это делается в той же консоли:
opkg install ваш-пакет.ipk
opkg remove ваш-пакет.ipk
-
Если стоит Е-панель, то можно и с пульта
-
Удалить какими кнопками?Не понимаю вопроса,подробней можно...
Раньше, до установки пакета, удалить скин можно было через "меню"-"плагины"-"красная кнопка"-"skins", а если установить скины моим пакетом, то в этом меню ничего не появляется, никаких "кнопок". То есть с пульта скин или сборку не удалишь. (Хотя можно конечно через tuxcom или ещё как vasilich подсказывает).
То есть я хотел узнать что ещё нужно добавить в пакет при сборке, чтобы осталась возможнось удалить скин через "меню"-"плагины"-"красная кнопка" ? Вот что за "кнопки" :)
-
Что-бы удалить IPK-пакет из меню плагины или панелью от 2boom или из телнет,надо что-бы он был правильно собран.
В примере который я привёл выше-установленный пакет будет работать,но удалить его ни одним из перечисленных методов не удасться,
его нет в реестре системы.
В паке CONTROL помимо файла control,могут находится ещё "куча" файлов для различных задач.
Например если добавить ещё файлик postrm вот стаким содержанием
#!/bin/sh
rm -rf /usr/lib/enigma2/python/Plugins/Pli/AlternativeSoftCamManager
echo "AlternativeSoftCamManager removed! You should restart enigma2 now!"
exit 0
Это для скоростного самменеджера(которого быть не может)
он появится в меню удаления плагинов и его можно оттуда удалить,а также в панели от 2boom в меню удалений ip-
пакетов и из телнет
(http://s019.radikal.ru/i600/1210/6d/963f5ba7e320.jpg) (http://www.radikal.ru)
-
Раньше, до установки пакета, удалить скин можно было через "меню"-"плагины"-"красная кнопка"-"skins", а если установить скины моим пакетом, то в этом меню ничего не появляется, никаких "кнопок". То есть с пульта скин или сборку не удалишь. (Хотя можно конечно через tuxcom или ещё как vasilich подсказывает).
То есть я хотел узнать что ещё нужно добавить в пакет при сборке, чтобы осталась возможнось удалить скин через "меню"-"плагины"-"красная кнопка" ? Вот что за "кнопки" :)
Как написал georg,пакет действительно должен быть правильно собран.То есть,если это скин или сборник скинов,то пакет должен называться,пример-файл control:
Package: enigma2-plugin-skins-мое_имя
Тогда он появится в меню-плагины-удаление плагинов-скины.
В твоем случае,это даже к лучшему,никто его не удалит.Хотя конечно его все равно можно найти в меню-мастройка-менеджер управление софтом-расширенные опции-управление пакетами и удалить.
-
При попытке установить ипк пакет рес выдаёт вот такое сообщение :
openpli 3.0 et9x00
et9x00 login: root
root@et9x00:~# opkg install /tmp/*.ipk --force-overwrite
Installing dvbapp2-skin-collection (0.2) to root...
sh: /tmp/opkg-yZKKif/dvbapp2-skin-collection-eHG705/preinst: Permission denied
Collected errors:
* pkg_run_script: package "dvbapp2-skin-collection" preinst script returned sta
tus 126.
* preinst_configure: Aborting installation of dvbapp2-skin-collection.
* opkg_install_cmd: Cannot install package dvbapp2-skin-collection.
root@et9x00:~#
Пакет сам собирал, делал всё как и всегда , когда всё нормально устанавливалось....
Файл preinst, не трогал....
Что это может быть ?
-
На все файлы из папки CONTROL,кроме файла control права должны быть для выполнения,то есть 755/777
И эти файлы обыкновенные линуксовые скрипты,то есть должны выглядеть так
#!/bin/sh
мое действие
exit 0
-
Дмитрий73 (https://wvclub.net/forum/index.php?action=profile;u=98),
Я так и знал, что ты знаешь в чём дело. :) Всё заработало, ещё раз спасибо. Просто раньше как то
не обращал внимания на права вспомогательных файлов и всё работало...
-
gavd (https://wvclub.net/forum/index.php?action=profile;u=25),Дима всегда,и почти всё знает.