dh-make 是构建 debian 软件包的标准方法吗?

dh-make 是构建 debian 软件包的标准方法吗?

不久前,我开始为我的软件创建一个 .deb 包,当时我偶然发现的方法(我对域名一无所知)基本上是这样的:

  • 创建这样的目录结构
-- pkg-dir
   -- DEBIAN
      -- controlfile
      -- postinst
      -- postrm
      -- conffiles
   -- usr
      -- share
         -- myapp
   -- etc
      -- myapp
  • fakeroot dpkg-deb --build pkg-dir
  • lintian 软件包.deb

然而,最近我发现的所有信息都指向 dh-make。dh-make 是新方法还是首选方法?我的方法来自哪里?我希望将来使用标准方法,但现在我想用这个方法完成我已开始的工作,因为我时间紧迫。我在哪里可以获取有关我的方法的更多信息?

答案1

您可以通过多种方式创建 Debian 软件包。dh-工具是帮助您创建正确目录结构和文件的辅助脚本。dh-make是最基本的工具,但具有许多启发式功能,并且与使用 GNU autotools(、、)的软件配合良好./configuremake它将make install为您完成很多工作。

然后您就可以使用它debuild来创建源和二进制包。

“您的方式”只是从二进制文件构建。这是不必要的,因为您无法为其他发行版(版本)或架构构建。此外,Debian/Ubuntu 需要有源包才能包含在存储库中(以及许多其他要求和指南)。有关更多信息,请参阅@saji89 提供的链接。我还建议您下载软件包并检查它们是如何组合在一起的,使用apt-get source packagename

更新

您稍后在评论中提到您正在打包一个 Java 应用程序。Debian wiki 上的 Java 打包提到了这一点:

实际上并不需要使用 javahelper,但是在没有 javahelper 的情况下实现所需的策略元素非常困难,因此假定您将使用 javahelper。

因此,我建议开始阅读如何使用 javahelper 和 DH 进行打包,或者 DH 的替代方案:CDBS。

答案2

这是 Ubuntu 官方的打包指南:
http://packaging.ubuntu.com/html/index.html

您需要的信息可以在以下位置找到: http://packaging.ubuntu.com/html/packaging-new-software.html

相关内容