Начну с маленького теоретического отступления
цитата из wikipedia:
Цитата:
deb — расширение имён файлов «бинарных» пакетов для распространения и установки программного обеспечения в ОС проекта Debian, и других, использующих систему управления пакетами dpkg. Deb это часть слова Debian, в свою очередь, образованного от слов Debra — имени подруги (впоследствии — жены, ныне — бывшей) основателя Дебиана Яна Мердока и Ian от его собственного имени.
|
Именно этот диспетчер пакетов был портирован Jay Freeman (saurik) на iOS.
И с его помощью и происходит все операции с программами распространяемыми через 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
Успехов в освоении!