среда, 5 августа 2009 г.

создания deb пакета

В этой статье я расскажу подробно как правильно собрать deb пакет,
с добавлением элемента меню gnome.

И так мы будем собирать deb пакет для программы myagent-im.
Для начала давайте создадим директорию myagent-im в вашем домашнем каталоге.

mkdir myagent-im

Заходим в эту директорию.

cd myagent-im

Теперь в этой директории создаём директорию DEBIAN


mkdir DEBIAN

Заходим в директорию DEBIAN

cd DEBIAN

Теперь в каталоге DEBIAN создаём фаил control

gedit control

впишите туда этот код

Package: myagent-im
Version: 0.2.0.2
Architecture: i386
Maintainer: frol9999
Depends: libqt4-dev (>= 4.4.0),libxapian-dev (>= 1.0.7-4), libxss-dev (>= 1:1.1.3-1)
Section: internet
Priority: optional
Description: агент mail.ru для linux


описания строк файла control.

Package - названия пакета
Version - версия пакета
Architecture - архитектура
Maintainer - имя, e-mail для связи
Depends - зависимости
Section - подсекция в главном меню требуется фаил *.desktop
Priority - приоритет
Description -описание

Теперь сохраняем фаил control.
Выходим из каталога DEBIAN

cd ..

Теперь создаём дерево каталогов.
Например надо сделать чтоб бинарник установился в директорию /usr/local/bin ,
нам необходима создать в каталоге myagent-im директорию usr,
в директории usr создать директорию local и так далее.


mkdir usr
cd usr
mkdir local
cd local
mkdir bin
cd bin


В каталог bin скопировать бинарник с программой, у наст это myagent-im.
Теперь опять выходим в корневую директорию директорию.


cd ..
cd ..
cd ..


Теперь давайте положем файлы данных, переводы в директорию /usr/local/share/myagent-im
для этого заходим в каталог usr/local и создадим в нём директорию share.


cd usr
cd local
mkdir share
cd share
mkdir myagent-im
cd myagent-im


В директорию myagent-im
копируем файлы данных, переводы.

Теперь давайте сделаем чтоб при установке пакета
автоматически добавлялся элемент в главном меню.
Для начала необходимо прописать в фаил control строку Section (см. описание выше).
После чего заходим в директорию usr и создаём в ней директорию share.



cd ..
cd ..
cd ..
mkdir share


в директории share создать директории applications и icons.



cd shre
mkdir applications
mkdir icons


В директорию icons копируется иконка которая будет отражена в главном меню,
у нас это myagent-im.png.

Теперь заходим в каталог applications и создаём в нём фаил myagent-im.desktop
вписываем в него этот код.

[Desktop Entry]
Name=myagent-im
Comment=агент mail.ru
Exec=myagent-im
Icon=myagent-im.png
Terminal=0
Type=Application
Encoding=UTF-8
Categories=Network;Application;
Name[ru_RU]=агент@mail.ru
Comment[ru_RU.UTF-8]=


Описание файла desktop
Name - Имя программы на Английском.
Comment - Комментарий на Английском.
Exec - Команда для запуска программы.
Terminal - Если программа консольная то ставим 1.
Type - тип
Encoding - кодировка
Categories - категория
Name[ru_RU] -Имя программы на Русском.
Comment[ru_RU.UTF-8] - Комментарий на Русском.

Сохраняем фаил myagent-im.desktop

собираем пакет. для этого набираем в консоли dpkg -b путь к директории пакета, путь где будет создан deb пакет.
Например у нас директория myagent-im лежит в домашнем каталоге.


dpkg -b ./myagent-im myagent-im.deb

Комментариев нет: