Иногда в Debian Stable нужно установить более новую версию пакета из Testing, который не был перенесен в backports.
++ 1. Загрузка пакета с исходными текстами
Проверяем чтобы в /etc/apt/sources.list были активированы репозитории deb-src:
deb-src http://ftp.debian.org/debian unstable main contrib non-free
deb-src http://ftp.debian.org/debian testing main contrib non-free
deb-src http://ftp.debian.org/debian stable main contrib non-free
Для загрузки самых свежих исходных текстов пакета "publican" следует выполнить
sudo apt-get update
apt-get source publican
Если необходимо установить исходные тексты пакета из определенной ветки дистрибутива, например, Debian Testing, что является разумным компромиссом между свежестью и стабильностью:
apt-get source publican/testing
Исходные тексты будут сохранены в текущую директорию:
ls -dF publican*
publican-2.1/ publican_2.1-2.dsc
publican_2.1-2.debian.tar.gz publican_2.1.orig.tar.gz
В случае, когда пакет отсутствует в репозиториях, загрузить пакет можно командой:
dget -u dsc-url
где dsc-url представляет собой URL к .dsc-файлу с описанием параметров пакета, опция "-u" указывает на отмену стадии проверки валидности пакета. Для получения утилиты dget нужно установить пакет.
++ 2. Установка зависимостей
Для установки пакетов, необходимых для сборки заданной программы, следует использовать команду "apt-get build-dep пакет", например:
apt-get build-dep publican/testing
Если пакет взят не из репозитория, то для выполнения аналогичного действия в директории с исходными текстами пакета нужно выполнить команду:
dpkg-checkbuilddeps
которая выведет список задействованных при сборке пакетов, которые затем нужно установить через "apt-get install".
++ 3. Изменение исходных текстов перед сборкой
При необходимости код собираемой программы можно модифицировать, например, приложить дополнительный патч или отредактировать debian/rules. При внесении изменений во избежание конфликтов рекомендуется изменить номер версии, используя команду dch из пакета devscripts:
dch --local имя
где "имя" является коротким именем, идентифицирующим вносящего изменение. После выполнения команды будет предложено указать комментарий для помещения в debian/changelog.
++ 4. Сборка пакета
Для сборки в директории с распакованным кодом выполняем команду debuild из пакета devscripts.
cd publican-2.1
debuild -us -uc
где опции "-us -uc" указывают пропустить связанный с проверкой сигнатур шаг, в случае если у сборщика отсутствует валидный GPG-ключ, совпадающий с данными вначале файла changelog.
После завершения сборки в предыдущей директории можно будет найти бинарный пакет:
cd ..
ls -dF publican*
publican-2.1/ publican_2.1-2rh1.dsc
publican_2.1-2.debian.tar.gz publican_2.1-2rh1_i386.changes
publican_2.1-2.dsc publican_2.1-2rh1_source.changes
publican_2.1-2rh1_all.deb publican_2.1.orig.tar.gz
publican_2.1-2rh1.debian.tar.gz
URL: http://raphaelhertzog.com/2010/12/15/howto-to-rebuild-debian.../
Обсуждается: http://www.opennet.dev/tips/info/2500.shtml