Как собрать пакеты Ubuntu, чтобы макет установки точно соответствовал дистрибутиву Ubuntu?

652
Xiè Jìléi

Я работаю над исходными кодами apache2, которые являются `apt-get source 'из репозитория Ubuntu.

Apt-get распаковывает apache2-xxx.tar.gz и объединяется с apache2-xxx-ubuntu.diff. Поэтому я считаю, что каталог apache2-xxx / содержит исходный код Ubuntu-ized apache2.

Но после настройки и сборки я обнаружил, что структура созданного каталога результатов отличается от того, что я установил с помощью `apt-get install apache2 '.

Например, `apt-get install apache2 'разделяет специфичные для модуля конфиги от httpd.conf до mods-available / *, и все модули компилируются в общие объекты. Но конфигурация по умолчанию (./configure без опции) компилирует все модули в один исполняемый файл. Хотя я могу указать --enable-mods-shared = all для ./configure, но компиляция не удалась.

Вопрос не только в опции --enable-mods-shared, я хочу знать, как скомпилировать apache2 или вообще исходный пакет Ubuntu для распространения. Какие параметры конфигурации я должен дать для создания более распространенных Ubuntu-подобных двоичных файлов?

2

2 ответа на вопрос

2
Tobu

Вы можете использовать make -f ./debian/rules, и bash-завершение, чтобы построить по частям. Или используйте debuild, чтобы сделать все сразу. Вы увидите правила компиляции, настройки параметров и настройки в debian/каталоге.

0
dag729

Вы знаете checkinstall ? Это может сделать трюк?

Похожие вопросы