2

我正在尝试为 Java 应用程序创建一个 Debian 包。

在我的包中有一个.jar可执行文件,一个将运行此 jar 文件的脚本和一个.so用于 fmod 的文件。我已阅读本教程

在控制文件中有一个“Depends”字段,它基本上描述了为了安装我的应用程序需要安装的包。我的问题是,我如何找到我的应用程序需要哪些包?我按照教程中的说明操作了一个 .so 文件,得到了这个:

$ dpkg -S libfmodex64-4.28.09.so 
dpkg: *libfmodex64-4.28.09.so* not found.

此外,我的应用程序需要安装 Java 1.5 才能运行。如何在我的 debian 包中指定这个?

4

2 回答 2

0

我强烈建议在 Debian 打包基础设施中从源代码构建您的包。如果您使用CDBS中的 Ant 类,一切都会自动处理。

如果您确实坚持.deb只组装二进制文件,则equivs比您文档中描述的方法要少得多。

于 2010-03-28T05:12:30.627 回答
0

您需要获取库的规范名称:

apt-cache search libname

请注意包装末尾的命名法。您不想在控制文件中指定特定版本,只需指定适合您的应用程序的库的最早版本。

然后,您将使用canonical_libname >= major.minor,它让系统决定您是否拥有(或可以更新到)可以支持您的应用程序的库版本。如果您及时雕刻,即指定当前库的完整版本,您将在未来打破。

例如,如果您指定libfoo-1.2.34Debian ship 的未来版本libfoo-2.3.45,您的软件包将不会安装,因为它认为您的 libfoo 版本不兼容。

于 2010-03-28T05:13:00.070 回答