GNU/Linux → Пересборка пакетов в Debian GNU/Linux
Иногда в Debian Stable нужно установить более новую версию пакета из Testing, который не был перенесен в backports.
Проверяем чтобы в /etc/apt/sources.list были активированы репозитории deb-src:
Для загрузки самых свежих исходных текстов пакета «publican» следует выполнить
Если необходимо установить исходные тексты пакета из определенной ветки дистрибутива, например, Debian Testing, что является разумным компромиссом между свежестью и стабильностью:
Исходные тексты будут сохранены в текущую директорию:
В случае, когда пакет отсутствует в репозиториях, загрузить пакет можно командой:
где dsc-url представляет собой URL к .dsc-файлу с описанием параметров пакета, опция "-u" указывает на отмену стадии проверки валидности пакета. Для получения утилиты dget нужно установить пакет.
Для установки пакетов, необходимых для сборки заданной программы, следует использовать команду «apt-get build-dep пакет», например:
Если пакет взят не из репозитория, то для выполнения аналогичного действия в директории с исходными текстами пакета нужно выполнить команду:
которая выведет список задействованных при сборке пакетов, которые затем нужно установить через «apt-get install».
При необходимости код собираемой программы можно модифицировать, например, приложить дополнительный патч или отредактировать debian/rules. При внесении изменений во избежание конфликтов рекомендуется изменить номер версии,
используя команду dch из пакета devscripts:
где «имя» является коротким именем, идентифицирующим вносящего изменение. После выполнения команды будет предложено указать комментарий для помещения в debian/changelog.
Для сборки в директории с распакованным кодом выполняем команду debuild из пакета devscripts.
где опции "-us -uc" указывают пропустить связанный с проверкой сигнатур шаг, в случае если у сборщика отсутствует валидный GPG-ключ, совпадающий с данными вначале файла changelog.
После завершения сборки в предыдущей директории можно будет найти бинарный пакет:
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
- 0
- Diesel
- 28 декабря 2010, 00:14
Комментарии (0)
rss свернуть / развернутьТолько авторизованные пользователи могут оставлять комментарии. Авторизуйтесь, пожалуйста.