如何给JPackage创建的DEB添加依赖?

How to add dependencies to DEB created by JPackage?

我有一个 java 应用程序,我用 jpackage 打包并收到一个 debian 包。

在运行时,应用程序依赖于另一个正在安装的软件,它来自另一个 debian 包。我希望 Ubuntu 包管理器自动解决此依赖关系。但这意味着我必须以某种方式在我的 debian 包中声明依赖关系。

我需要对 jpackage 做些什么才能创建带有我附加依赖项的 debian 归档文件?

所以我通过覆盖 jpackage 资源来解决它,如 https://docs.oracle.com/en/java/javase/15/jpackage/override-jpackage-resources.html#GUID-405708DC-0243-49FC-84D9-B2A7F0A011A9.

DEB 包包含一个控制文件,其中包含包管理所需的元数据。在这个文件中,声明了对其他文件的依赖关系。创建一个包含所需控制文件的目录,然后在 jpackage 命令行上指定 --resource-dir 和目录路径。 jpackage 不会生成它自己的控制文件,而是将给定的资源复制到 DEB 中。

提示:

  • 要获取此控制文件的第一个示例,只需使用一些存档管理器打开 DEB 并提取控制文件。
  • 为了在该文件中保持版本号或其他内容的灵活性,建议使用构建系统的某些模板机制生成它。