imho.ws |
|
02.03.2011, 11:59 | # 1 | |
Moderator
Регистрация: 29.04.2002
Адрес: Moscow
Пол: Male
Сообщения: 2 980
|
Как собрать своими руками deb на iDevice.
Начну с маленького теоретического отступления
цитата из wikipedia: Цитата:
И с его помощью и происходит все операции с программами распространяемыми через Cydia (установка, удаление, модификация). Для управления пакетами рекомендую поставить себе пакет BigBoss Recommended, который включает в себя практически все утилиты, которые вам понадобятся для работы с командной строкой. Если он не находится поиском в Cydia, то нужно изменить вариант отображения содержимого, которых три - User - Hacker - Developer запускаем Сydia, идем на закладку Manage, нажимаем кнопку Settings и меняем свой уровень на Developer. скриншоты
[IMG]http://img855.***************img855/6489/img0023.png[/IMG] [IMG]http://img855.***************img855/7494/img0024.png[/IMG] [IMG]http://img823.***************img823/742/img0026wp.png[/IMG]
Для дальнейшей работы, нам понадобится либо доступ с компьютера, как расписано здесь, либо установить на самом iDevice из Cydia пакет MobileTerminal. Теоретически, папка в которой все создается не важна, я, обычно, делаю все в /var/mobile В качестве примера, буду использовать создание пакета для замены стандартного варианта русификации программы iBlacklist. Итак, приступаем. В папке /var/mobile создаем папку iblacklistrus а в ней еще 2 папки DEBIAN tmp скриншот
[IMG]http://img26.***************img26/4219/78604968.jpg[/IMG]
в первой, DEBIAN, располагаются управляющие файлы, которые содержат информацию о пакете и предоставляют возможность совершить какие-то действия до и после установки пакета. Что нам надо сделать. Надо заменить файл локализации программы Localizable.strings, который находится в папке /Applications/iBlacklist.app/ru.lproj на свой, ну и заодно поменять картинку с инфо о программе на свой, в котором напишем, кто локализовал программу по-человечески В поставляемом варианте перевода, остались на английском все комментарии к настройкам, да и часть настроек. Это и исправляем готовим на PC 3 файла - control с вот таким содержимым код
Код:
Package: rusblacklist Name: Rus iBlacklist Version: 1.0 Architecture: iphoneos-arm Depends: Description: Полная русификация iBlacklist. Homepage: www.xxxxx.ru Depiction: Maintainr: Merlin <merlin.cori@xxxxx.xx> Author: Merlin Sponsor: Section: это стандартный Debian control файл, кто заинтересуется, может почитать описание всех элементов здесь - preinst содержимое этого файла будет выполняться ДО выполнения основной части установки пакета код
Код:
#!/bin/bash eval "echo Prepare Installing iBlacklist Russian Translation by Merlin." if [[ -e /tmp/iBl ]]; then { mkdir /tmp/iB chmod 777 /tmp/iB } fi exit 0 -postinst содержимое этого файла будет выполняться ПОСЛЕ выполнения основной части установки пакета код
Код:
#!/bin/sh #if [[ $1 == configure ]]; then #{ if [[ -e /tmp/iB/Localizable.strings ]]; then { eval "echo Installing Russian Language Translation by Merlin..." eval "echo Replacing original files ..." mv -f /tmp/iB/Localizable.strings /Applications/iBlacklist.app/ru.lproj/Localizable.strings mv -f /tmp/iB/aboutBg.png /Applications/iBlacklist.app/aboutBg.png eval "echo Setting files attributes ..." chmod 744 /Applications/iBlacklist.app/aboutBg.png eval "echo Removing temporary files..." rm -r /tmp/iB eval "echo Thanks for using my Russian Transaltions." } fi #} #fi поскольку preinst и postinst это исполняемые файлы, то не забываем установить на них соответствующие права (755) скриншот
[IMG]http://img97.***************img97/3937/31159029.jpg[/IMG]
Хочу оговориться, postinst и preinst, это файлы опциональные, они могут быть, а могут и не быть. В зависимости от решаемых задач. А теперь в созданной ранее папке iblacklist/tmp создаем папку iB в которую и помещаем файлы которыми нам надо заменить исходные. В качестве файлового менеджера я использую iFunBox скриншот
[IMG]http://img850.***************img850/7997/27022025.jpg[/IMG]
Во время установки пакета файлики попадут в /tmp/iB, а скрипт postinst разложит их по нужным местам. осталась самая малость, создать сам пакет возвращаемся в /var/mobile и выполняем команду Код:
dpkg -b iblacklistrus скриншот
[IMG]http://img849.***************img849/5793/34378586.jpg[/IMG]
ну и установить пакет Код:
dpkg -i iblacklistrus.deb
__________________
Есть две бесконечные вещи, Вселенная и глупость. Впрочем, на счет Вселенной, я не уверен |
|
Теги (метки) |
create deb, deb, ios, iphone |
|
|