美文网首页
debian/rules 创建 deb 包

debian/rules 创建 deb 包

作者: 顽强的猫尾草 | 来源:发表于2019-03-21 14:39 被阅读0次

    每一个 rules 文件,就像其他的 Makefile 一样,包含着若干条 rules,其中每一个都定义了一个 target 以及其具体操作。 一个新的 rule 以自己的 target 声明开头,后续的行都以 TAB 开头,以指示 target 的具体行为。

    当你想要执行一个 rule 的时候,就将 target 名称作为命令行参数来调用。比如说,debian/rules clean binary 会执行 clean 和 binary 两个 target。

    以下是对各 target 的简单解释:

    • clean(必需):清理所有编译的、生成的文件或编译树中无用的文件。
    • build(必需):在编译树中将代码编译为程序并生成格式化的文档。
    • build-arch(必需):在编译树中将代码编译为依赖于体系结构的程序。
    • build-indep(必需):在编译树中将代码编译为独立于平台的格式化文档。
    • install(可选):把文件安装到 debian 目录内为各个二进制包构建的文件树。如果有定义,那么 binary* target 会依赖于此 target。(可选)
    • binary(必需):创建所有二进制包(是 binary-archbinary-indep 的合并)。
    • binary-arch(必需):在父目录中创建平台依赖(Architecture: any)的二进制包。
    • binary-indep(必需):在父目录中创建平台独立(Architecture: all)的二进制包。
    • get-orig-source(可选):从上游站点获得最新的原始源代码包。

    其中:

    • debian/rules clean 运行了 dh clean,其实际执行的命令为:
      • dh_testdir
      • dh_auto_clean
      • dh_clean
    • debian/rules build 运行了 dh build,其实际执行的命令为:
      • dh_testdir
      • dh_auto_configure
      • dh_auto_build
      • dh_auto_test
    • fakeroot debian/rules binary 执行了 fakeroot dh binary,其实际执行的命令为:
      • 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_installinit
      • dh_installmenu
      • dh_installmime
      • dh_installmodules
      • dh_installlogcheck
      • dh_installlogrotate
      • dh_installpam
      • dh_installppp
      • dh_installudev
      • dh_installwm
      • dh_installxfonts
      • dh_bugfiles
      • dh_lintian
      • dh_gconf
      • dh_icons
      • dh_perl
      • dh_usrlocal
      • dh_link
      • dh_compress
      • dh_fixperms
      • dh_strip
      • dh_makeshlibs
      • dh_shlibdeps
      • dh_installdeb
      • dh_gencontrol
      • dh_md5sums
      • dh_builddeb
    • fakeroot debian/rules binary-arch 执行了 fakeroot dh binary-arch
    • fakeroot debian/rules binary-indep 执行了 fakeroot dh binary-indep,这会运行几乎和 fakeroot dh binary 一样的命令,但 dh_stripdh_makeshlibsdh_shlibdeps 除外,其他命令则均附加 -i 选项。

    假设上游存在一个 Makefile 的环境,dh_auto_build 会使用 make 命令执行 Makefile 中的第一个 target。

    参考文献:
    [1] debian 目录中的必须内容
    [2] 使用fakeroot模拟root权限执行程序

    相关文章

      网友评论

          本文标题:debian/rules 创建 deb 包

          本文链接:https://www.haomeiwen.com/subject/zpvqvqtx.html