Как собрать пакет Debian


Собрать пакет DEBIAN можно несколькими способами, обычно требуется на выходе получить .deb файл. Такие файлы включаются в репозитории и их удобно распространять и устанавливать на другие сервера с такой же архитектурой.



Как собрать пакет debian (.deb файл)


Для сборки потребуется установить несколько пакетов

apt-get install build-essential fakeroot devscripts



В файл /etc/apt/sources.list добавляем репозиторий с исходниками пакетов (для используемого дистрибутива)

mcedit /etc/apt/sources.list

deb-src http://httpredir.debian.org/debian unstable main



Обновляем список репозиториев

apt-get update



Сборку производим в отдельном каталоге, который предварительно нужно создать

mkdir /src/debian/ && cd /src/debian



Скачиваем исходный код интересующего пакета (PACKAGE)

apt-get source PACKAGE



При этом будет создан каталог, имя которого будет состоять из имени пакета и его версии, в подкаталоге debian разместятся исполняемые инструкции, все что за его пределами — UPSTREAM-CODE рзработчика.



При необходимости можно внести правки в код

cd PACKAGE-version/ && ls debian



Устанавливаем зависимости

apt-get build-dep PACKAGE



DEB_BUILD_OPTIONS позволяет внести изменения в Makefile и собрать пакет с дополнительными опциями. . Например, если скомпилировать его нужно с gcc v3.4 потребуется использовать такую инструкцию:

CC=gcc-3.4 DEB_BUILD_OPTIONS="--enable-gui --enable-radio" fakeroot debian/rules binary



Собираем пакет при помощи debuild

debuild -b -uc -us



На выходе .deb

ls

PACKAGE.version_<your arch>.deb



Его можно установить на текущей машине, переместить на другую с такой же архитектурой или разместить в репозитории.



Установка производится при помощи dpkg -i

dpkg -i ../PACKAGE.version_<your arch>.deb



Установленный таким образом пакет в большинстве случаев следует защитить от автоматического обновления.

Автоматическое обновление заменило бы пакет и все внесенные при сборке изменения были бы утеряны.

Сказать спасибо