imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Весь Мир на ладони! > Всё о мобильных девайсах
Опции темы
Старый 02.03.2011, 11:59     # 1
Merlin Cori
Moderator
 
Аватар для Merlin Cori
 
Регистрация: 29.04.2002
Адрес: Moscow
Пол: Male
Сообщения: 2 980

Merlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБог
Merlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБогMerlin Cori СуперБог
Post Как собрать своими руками deb на iDevice.

Начну с маленького теоретического отступления
цитата из 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
Успехов в освоении!
__________________
Есть две бесконечные вещи, Вселенная и глупость.
Впрочем, на счет Вселенной, я не уверен



Вклад IMHO.WS в медицину и науку
Присоединяйтесь!!!!!
Merlin Cori вне форума  

Теги (метки)
create deb, deb, ios, iphone


Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 13:03.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.