【问题标题】:Default sequence of debhelperdebhelper 的默认顺序
【发布时间】:2018-02-05 06:20:28
【问题描述】:

我正在尝试更好地了解 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 如何确定这个顺序以及记录在哪里。

【问题讨论】:

    标签: debhelper


    【解决方案1】:

    帮助工具的执行顺序取决于以下几点:

    1. 正在传递什么构建目标。其中包括:build-archbuild-indepbuildcleaninstall-indepinstall-archinstallbinary-archbinary-indepbinaryDebian Policy §4.9 讨论了(大部分)这些的含义。
    2. Debhelper 兼容级别(在 debian/compat 文件中找到)
    3. 您的 Debhelper 版本(尽管在相同兼容级别的情况下努力使不同版本的工作方式相同)
    4. 自上次清理后已经运行了哪些帮助命令(在 debhelper 兼容级别 9 及更低级别)
    5. 正在使用哪些插件(--with--without 选项)
    6. makefile 中存在哪些覆盖目标(例如override_dh_auto_test

    如您所见,为所有可能的构建目标和配置安排(甚至只是最常见的)记录哪些命令以何种顺序运行可能会令人困惑。因此,知道的方法是使用 dh--no-act 参数,并按照您想要的方式设置构建目录。

    这是一个在我刚刚使用dh_make 创建的虚拟构建目录中使用binary 目标运行的示例,放入兼容级别10。您将看到的确切命令或确切顺序可能会略有不同:

    ~/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
    

    【讨论】:

      猜你喜欢
      • 2020-03-27
      • 2011-05-07
      • 1970-01-01
      • 2011-04-13
      • 1970-01-01
      • 2011-12-01
      • 2021-06-16
      • 2012-12-15
      • 2017-10-15
      相关资源
      最近更新 更多