Пересборка пакетов в Debian GNU/Linux |
[исправить] |
Иногда в 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
|
|
|
|
Раздел: Корень / Администратору / Система / Linux специфика / Установка и работа с пакетами программ в Linux |
1.2, Сергей (??), 03:40, 18/12/2010 [ответить]
| +/– |
Наверное этой инструкцией можно заняться для портирвания проги например с Ubuntu 10.10 на Ubuntu 10.04?
| |
1.3, Anonimouse (?), 10:51, 18/12/2010 [ответить]
| +/– |
А как настроить компиляцию под особенности своего процессора?
| |
1.4, zomg (?), 11:24, 18/12/2010 [ответить]
| +/– |
Спасибо, я умею пересобирать пакеты слаки и редхета, теперь и дебиана тоже =)
| |
1.6, 2 (?), 11:17, 25/12/2010 [ответить]
| +/– |
ради сборки одного пакетика тянуть в систему кучу dev пакетов? автор, осиль pbuilder
| |
|