Последовательность по умолчанию для debhelper
Я пытаюсь лучше понять дебелпер dh
инструмент. Как я понимаю, dh
это интерфейс для различных dh_*
вспомогательные инструменты. Эти вспомогательные инструменты могут называться автономными или автоматически из dh
инструмент. Обычно debian/rules
файл создан, который как-то вызывает dh
и, возможно, переопределяет определенные dh_*
вызовы. dh
затем, кажется, знает, какой из dh_*
инструменты, которые нужно вызвать и в какой последовательности.
Пример под /usr/share/doc/debhelper/examples/rules.tiny
содержит следующее в качестве примера для debian/rules
файл:
#!/usr/bin/make -f
%:
dh $@
Какова последовательность dh_*
вспомогательные инструменты, которые выполняются dh
как результат этого файла правил? И что более важно, как это dh
определить эту последовательность и где это задокументировано.
1 ответ
Последовательность вспомогательных инструментов, которые будут выполнены, зависит от нескольких вещей:
- какая цель сборки передается. они включают:
build-arch
,build-indep
,build
,clean
,install-indep
,install-arch
,install
,binary-arch
,binary-indep
, а такжеbinary
, Значения (большей части) из них обсуждаются в Политике Debian § 4.9. - уровень совместимости с Debhelper (как указано в
debian/compat
файл) - ваша версия Debhelper (хотя предпринимаются усилия для того, чтобы разные версии работали одинаково при одинаковом уровне совместимости)
- какие вспомогательные команды уже выполнялись с момента последней очистки (в уровнях сжатия debhelper 9 и ниже)
- какие аддоны используются (
--with
а также--without
опции) - какие цели переопределения существуют в make-файле (например,
override_dh_auto_test
)
Как вы можете видеть, это может сбивать с толку документ, какие команды выполняются, в каком порядке, для всех возможных целей сборки и конфигураций (или даже только для самых распространенных). Таким образом, способ узнать это использовать --no-act
аргумент dh
, с вашим каталогом сборки, настроенным так, как вы этого хотите.
Вот пример запуска с binary
цель в фиктивной директории сборки, которую я только что сделал, используя dh_make
, поместите на уровень 10. Compat. Точные команды или порядок, который вы увидите, скорее всего, будут немного отличаться:
~/dh-demo$ dh binary --no-act
dh_testdir
dh_update_autotools_config
dh_autoreconf
dh_auto_configure
dh_auto_build
dh_auto_test
dh_testroot
dh_prep
dh_installdirs
dh_auto_install
dh_install
dh_installdocs
dh_installchangelogs
dh_installexamples
dh_installman
dh_installcatalogs
dh_installcron
dh_installdebconf
dh_installemacsen
dh_installifupdown
dh_installinfo
dh_systemd_enable
dh_installinit
dh_systemd_start
dh_installmenu
dh_installmime
dh_installmodules
dh_installlogcheck
dh_installlogrotate
dh_installpam
dh_installppp
dh_installudev
dh_installgsettings
dh_bugfiles
dh_ucf
dh_lintian
dh_gconf
dh_icons
dh_perl
dh_usrlocal
dh_link
dh_installwm
dh_installxfonts
dh_strip_nondeterminism
dh_compress
dh_fixperms
dh_strip
dh_makeshlibs
dh_shlibdeps
dh_installdeb
dh_gencontrol
dh_md5sums
dh_builddeb