4.5. Создание пакетов по исходным текстам с применением Checklnstall

Проблема
Требуется построить пакет Slackware, Red Hat или Debian по исходным текстам,
потому что приложение, которое вы хотите установить, не существует в виде нуж ного пакета. Вы почитали кое-какую документацию по построению пакетов, и эта
задача выглядит очень сложной. Нет ли более простого пути?
Решение
Воспользуйтесь Checklnstall. Выполните следующие команды (в данном приме ре, как и в предыдущем, используется программа JOE в системе Debian):
# mkdir /doc-pak
# tar zxvf joe-2.9.8.tar.gz
# cd joe-2.9.8
# ./configure
jf make
# check-install -D
Checklnstall заменяет make install, поэтому команда должна выполняться из
корневого каталога дерева исходных текстов. Выполните инструкции, отобража емые в процессе работы. Программа строит и устанавливает .deb, в чем нетрудно
убедиться:
$ dpkg -1 | grep joe
i i joe 2.9.801 joe's own editor, my fave
Все, программа установлена и готова к работе. Копия пакета остается в ката логе исходных текстов.
Следующая команда строит пакет Slackware:
# checkinstall -S
Построение пакета RPM:
# checkinstall -R
Комментарий
В каталоге doc-pak программа Checklnstall размещает файлы README и прочую
документацию программы. Если не создать каталог doc-pak, Checklnstall спросит,
хотите ли вы создать каталог документации по умолчанию. Если ответить отри цательно, пакет останется без документации.
Checklnstall использует «родную» систему управления пакетами: RPM в Red
Hat, installpkg в Slackware, .apt в Debian. Чтобы удалить пакет Checklnstall, вос пользуйтесь программой управления пакетами своей системы.
Checklnstall поддерживает любые сценарии установки. Пример:
# checkinstall -D make installpackages
# checkinstall -R make modules_insta11
# checkinstall -S install.sh
# checkinstall -D setup
He забудьте изучить файл README устанавливаемой программы, а также про чую прилагаемую документацию. Не все пакеты с исходными текстами следуют
традиционной процедуре configure-make-make install. В отдельных случаях исполь зуются другие сценарии установки, как в приведенном выше примере.
Checklnstall еще не позволяет создать пакет без его автоматической установ ки. Вероятно, эта возможность появится в будущих версиях.
См также
Домашняя страница Checklnstall (http://asic-linux.com.mx/~izto/checkinstall/news.php)