среда, 29 октября 2008 г.

Сборка пакетов из исходников в Debian

apt-build

В Debian можно довольно легко сделать систему управления пакетами со сборкой из исходников (как, например, в Gentoo и др). Для этого надо всего-лишь установить пакет apt-build. При установке вам будут заданы некоторые вопросы по настройке программы, такие как архитектура вашего процессора (набор команд под которые будет оптимизирован исполняемый код), добавлять ли папку с собранными пакетами в список репозиториев обычного apt и др. После этого можно, например, пересобрать всю систему заново из исходников командой (не советую, потратите много времени):
# apt-build world
Или можно использовать программу как замену обычного apt-get. Например, для сборки оптимизированной версии Amarok и его незамедлительной установки можно воспользоваться командой:
# apt-build install amarok
После чего программа скачает все необходимые исходники, соберет пакеты, оптимизированные под вашу архитектуру, и установит эти пакеты.
Нужно как-нибудь провести сравнительное тестирование программ стандартной сборки и собранных из исходников.

apt-get source

Предыдущий вариант подходит больше для энтузиастов, выжимающих из системы максимум. А что, если нужно кое-что изменить в исходниках программы, добавить собственные настройки по-умолчанию и т.п.? Тогда можно воспользоваться следующим методом.
1. Устанавливаем зависимости для сборки нужного нам пакета:
# apt-get build-dep имя_пакета
2. Скачиваем исходный код пакета (исходники скачаются и распакуются в текущую папку):
# apt-get source имя_пакета
3. В текущей папке появится каталог с исходниками программы и необходимыми скриптами для сборки пакета, называться будет: имя_программы-версия. Производим желаемые изменения в исходниках программы.
4. Для сборки пакета из папки с исходниками (./имя_пакета-версия) нужно выполнить:
# debian/rules binary
И в текущем каталоге окажется собранный пакет. Его можно тут же установить:
# dpkg -i ../имя_собранного_пакета.deb

2 комментария:

Анонимный комментирует...

При использовании apt-get source
файлы исходники копируются в текущий каталог то есть при:

someuser@somesystem:/somefolder apt-get source some-prog

Исходники программы someprog сохраняться в каталоге /somefolder.
Поправте если не прав.

Dmitriy.Trt комментирует...

2 Анонимный:
Спасибо, что заметили. Поправил.