Установка системы сборки pbuilder
sudo apt-get install pbuilder debootstrap devscripts dh-make
Обратите внимание что первичная загрузка окружения для сборки осуществляется благодаря утилите wget, а так же после того как базовая система будет подготовлена, но ещё не собрана в base.tgz.
Поэтому, если используется прокси, но он не проксирует прозрачно, тогда необходимо явно указать хост и порт, укажите в /etc/pbuilderrc нужный сервер, например:
export http_proxy="http://192.168.1.2:3128/"
Так же нам для сборки kannel потребуются header файлы базы данных oracle, которая находится в /opt/oracle, укажем это:
BINDMOUNTS="/opt/"
При подготовке используются зеркала из локального /etc/apt/source.list, запустим скрипты для подготовки среды, в которой будет выполняться сборка пакетов:
sudo pbuilder --create --distribution precise
Опционально:
--mirror ftp://ftp.us.debian.org/debian/
--othermirror "deb http://mirror.yandex.ru/debian-multimedia/ main"
--debootstrapopts "--keyring=/usr/share/keyrings/debian-archive-keyring.gpg"
--variant=buildd
Чтобы получить доступ к командной строке образа который мы создали в режиме chroot (изменения не сохранятся):
sudo pbuilder --login
sudo pbuilder --login --save-after-login
Обновление пакетов внутри окружения для сборки:
sudo pbuilder --update
Сборка пакетов при помощи pbuilder выглядит так:
sudo pbuilder build filename.dcs
Либо через pdebuild (необходимо находиться в директории с папкой debian/):
sudo pdebuild
Подготовка архива с исходными кодами к сборке при помощи pbuilder
wget -c http://www.kannel.org/download/1.5.0/gateway-1.5.0.tar.gz
Распакуем архив, затем перейдём в директорию с исходниками:
tar xfv gateway-1.5.0.tar.gz
cd gateway-1.5.0
В комплекте с пакетом идёт уже подготовленные правила для сборки deb-пакета, но они не совсем подходят под то что мы хотим получить в итоге (удалим её, затем создадим свою).
mv debian debian_old
dh_make --single --native
Сделаем отступ в одну строку и добавим следующее:
override_dh_auto_configure:
dh_auto_configure -- --enable-start-stop-daemon --with-oracle --prefix=/opt/kannel
Запуск сборки
Так же можно запустить компиляцию через
pbuilder --build <имя_пакета>.dsc
Находясь при этом в директории в которой этот dsc файл находится.