Упаковка с Debhelper
Важный Требования: Требования из раздела «Упаковка с нуля» плюс debhelper и dh-make Как упаковщик, вы редко создадите пакеты с нуля, как мы это делали в предыдущем разделе. Как вы можете себе представить, многие задачи и информация в правила файл, например, являются общими для пакетов. Чтобы сделать упаковку проще и эффективнее, вы можете использовать debhelper чтобы помочь в решении этих задач. Debhelper - это набор скриптов Perl (с префиксом dh_), которые автоматизируют процесс создания пакетов. С помощью этих сценариев создание пакета Debian становится довольно простым. В этом примере мы снова создадим пакет GNU Hello, но на этот раз мы будем сравнивать нашу работу с Ubuntu привет-debhelper пакет. Снова создайте каталог, в котором будете работать: Затем получите исходный пакет Ubuntu: Как и в предыдущем примере, первое, что нам нужно сделать, это распаковать исходный (верхний) tarball. Вместо копирования архива вверх по течению hello_2.1.1.orig.tar.gz как мы это делали в предыдущем примере, мы позволим dh_make сделай работу для нас. Единственное, что вам нужно сделать, это переименовать исходную папку, чтобы она была в форме
Чтобы создать начальную «девианизацию» источника, мы будем использовать dh_make. Затем dh_make задаст вам ряд вопросов: Внимание Только запустить dh_make -e один раз. Если вы запустите его снова после того, как сделаете это в первый раз, он не будет работать должным образом. Если вы хотите изменить его или совершили ошибку, удалите исходный каталог и распакуйте предыдущий tarball заново. Затем вы можете перейти в исходный каталог и повторите попытку. Бег dh_make -e делает две вещи: Привет программа не очень сложна, и, как мы видели в разделе «Упаковка из нуля», упаковка не требует гораздо больше, чем базовые файлы. Поэтому удалим .ex файлы: За Привет, вы также не будете * Лицензия * Индекс руководства по упаковке Ubuntu необходимость README.Debian (Файл README для определенных проблем Debian, а не README программы), каталоги (использован dh_installdirs для создания необходимых каталогов), документы (использован dh_installdocs для установки программной документации), или Информация (использован dh_installinfo для установки файла info) в Debian каталог. Дополнительные сведения об этих файлах см. В разделе «Файлы примеров dh_make». На данный момент у вас должно быть только изменений, Compat, контроль, авторское право, а также правила файлов в Debian каталог. Из раздела «Упаковка из нуля» единственным новым, новым является Compat, который является файлом, который содержит debhelper версии (в данном случае 4), которая используется. Вам необходимо будет настроить измененийнемного в этом случае, чтобы отразить, что этот пакет назван привет-debhelper а не просто Привет: Используя debhelper, единственное, что нам нужно изменить в контроль это имя (подставляя Привет за привет-debhelper) и добавление debhelper (> = 4.0.0) к Build-Depends поле для исходного пакета. Пакет Ubuntu для привет-debhelper похоже: Мы можем скопировать авторское право файла и postinst а также prerm скрипты из Ubuntu привет-debhelper пакет, поскольку они не изменились со времен раздела «Упаковка с нуля». Мы также скопируем правила файл, чтобы мы могли его проверить. Последний файл, который нам нужно посмотреть, это правила, где мощность debhelper сценарии можно увидеть. debhelper версии правила несколько меньше (54 строки в отличие от 72 строк в версии из раздела под названием «правила»). debhelper версия выглядит так: touch build binary-indep: install # Нет загружаемых без архитектуры файлов #, сгенерированных этим пакетом. Если бы они были, они были бы сделаны здесь. binary-arch: install dh_testdir -a dh_testroot -a dh_installdocs -a НОВОСТИ dh_installchangelogs -a ChangeLog dh_strip -a dh_compress -a dh_fixperms -a dh_installdeb -a dh_shlibdeps -a dh_gencontrol -a dh_md5sums -a dh_builddeb -a двоичный: двоичный-двоичный двоичный-двоичный- arch .PHONY: двоичный двоичный двоичный двоичный двоичный ключ Обратите внимание, что такие задачи, как тестирование, если вы находитесь в правильном каталоге (dh_testdir), убедившись, что вы создаете пакет с правами root (dh_testroot), установка документации (dh_installdocs а также dh_installchangelogs), и очистка после сборки (dh_clean) обрабатываются автоматически. Многие пакеты намного сложнее, чем Привет иметь правила файлов больше, поскольку debhelper скрипты обрабатывают большинство задач. Полный список debhelper сценарии, см. раздел «Список debhelper скриптов ". Они также хорошо документированы в соответствующих человек страницы. Это полезное упражнение для чтения справочной страницы (они хорошо написаны и не длинны) для каждого вспомогательного скрипта, используемого в приведенном выше правила файл.