Author Topic: Создать ipk-пакет.  (Read 6447 times)

0 Members and 1 Guest are viewing this topic.

Offline pashaa

  • Продвинутый
  • *
  • Posts: 140
  • Karma: 91
Создать ipk-пакет.
« on: June 02, 2009, 06:43:13 PM »
Как создать ipk-пакет без установки дебиана? Структура понятна. Есть слакваре. В шлаке tgz пакет это просто сжатый тарбол с расширением tgz. А тут как?
Quote
ipkg
IPKG - система управления пакетами в POSIX системах, однако ориентуруется на портативные устройства. Более серьезным решением является DPKG.

Чтоже это нам дает?
1. Удобство использования (придоставляется статистика по пакетам, полная информация)
2. Легко устанавливать и легко удалять
3. Работа с зависимостями. Т.е пакет может требовать другой пакет и так далее.
4. Возможность использования скриптов. Перед/после установки и перед/после удаления.

Сегодня мы побеседуем о создании собственных пакетов в формате ipk.
Нам потребуется ПК с установленной Linux. Я использую Ubuntu 8.04.
Итак, мы должны собрать утилиты для создания пакетов. Это делается так:
1. качаем сорцы
2. Распаковываем архив и заходим в папку
3. Выполняем make
4. Ставим # make install

Если возникрут проблемы с компилированием некоторых файлов не обращайте внимание. Для сборки нам потребуется только ipkg-build.

Теперь сборка пакета.
1. Создаем папку mkdir /home/$USER/package-name
2. Создаем папку mkdir /home/$USER/package-name/CONTROL
3. Переходим в папку package-name и создаем там иерархию папок для установки. Если планируется установка в каталог /mmc/mmca1/.system/QTDownLoad/program, то создаем папки именно в таком порядке mmc -> mmca1 -> .system -> QTDownLoad -> program
в папку program кидаем файлы.
4. Создаем теперь информационный файл следующего содержания

Package: название программы
Version: версия
Section: группа
Priority: приоритет
Essential: yes
Architecture: arm
Maintainer: Ваше Фамилия, имя и мыло (пакеджер)
Source: ссылка на источник
Depends: зависимости (можно оставить пустым)
Description: nasm

Например:

Package: nasm
Version: 2.02
Section: Misc
Priority: optional
Essential: yes
Architecture: arm
Maintainer: Alexander Nusov
Source: http://gizmoto.in
Depends:
Description: nasm


Сохраняем как /home/$USER/package-name/CONTROL/control

Можно также заюзать скрипты.
Их названия:
preinst - выполняется перед установкой
postinst - выполняется после установки
prerm - выполняется перед удалением
postrm - выполняется после удаления

Скрипты должны находится в папке CONTROL.

Если после установки приложения необходимо создать новый пункт меню или выполнить какое-нибудь действие, то необходимо воспользоваться смекалкой и добавить нужное действие в postinst.

В пакеты можно запаковать практически что угодно. Даже валлпапер, который после установки сам поставиться на фон. Делается так ezx-set-wallpaper $FILE.

После выполнения всех этих действий, выставляем владельца и права на файлы
# chown -R root:root /home/$USER/package-name
# chmod -R 0755 /home/$USER/package-name
Естесственно владельца и права вы можете выставлять какие захотите, т.к это просто пример.

Ну а теперь собираем пакет
ipkg-build /home/$USER/package-name

Если все сделали правильно то в папке /home/$USER должен появится файл package-name_версия_arm.ipk

Полученный пакет можно будет установить с помощью ipkg-cl install package-name.ipk

Вообщем на сегодня все. Если что-то непонятно пишите в коментах.

На правах печати. Любые грамматические и синтаксические ошибки сделаны специально:)
взято http://gizmotoblog.blogspot.com/2008/04/ipkg.html
 з.ы. Пришла мысль сделать это прямо на дриме :)
« Last Edit: June 02, 2009, 07:10:56 PM by pashaa »
DreamBox-800HD
 1.2M мотор GI-120-HH-120 5W - 90Е

Offline Paul07

  • Новичек
  • *
  • Posts: 1
  • Karma: 0
Создать ipk-пакет.
« Reply #1 on: April 28, 2010, 10:30:32 AM »
Первым делом хочу выразить благодарность за эту статью!

Непонятным остался только один момент, как собственно имея убунту скомпилировать исходники под MIPS, насколько я понимаю описанными командами:
Code: [Select]
1. качаем сорцы
2. Распаковываем архив и заходим в папку
3. ./configure
4. Выполняем make
5. Ставим # make install
Я делаю бинарники под i386.
Хочу собрать к примеру свежий пакет transmission для ресивера VU+ Duo, вот http://archive.vuplus.com/download/ иходники ядра.




Offline Wolf

  • Новичек
  • *
  • Posts: 1
  • Karma: 0
Создать ipk-пакет.
« Reply #2 on: April 28, 2010, 07:12:40 PM »
pashaa
так а где можно скачать сорцы?

Offline pashaa

  • Продвинутый
  • *
  • Posts: 140
  • Karma: 91
Создать ipk-пакет.
« Reply #3 on: April 28, 2010, 09:25:43 PM »
Исходники чего? Как компилировать под mipsel есть описание на альтмастере в разделе девелопмент. Ссылку дать не могу с телефона. Сам до сих пор ни чего не собирал из сырцов.
DreamBox-800HD
 1.2M мотор GI-120-HH-120 5W - 90Е