Debian软件包控制文件问题

时间:2010-03-28 04:59:07

标签: linux debian debian-based

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

在我的包中有一个可执行的.jar文件,一个运行此jar文件的脚本和一个用于fmod的.so文件。 我看过this tutorial

在控制文件中有一个'Depends'字段,它基本上描述了为安装我的应用程序而需要安装的软件包。我的问题是,如何找到我的应用程序所需的软件包?我按照教程中的说明查看了一个.so文件,并得到了这个:

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

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

2 个答案:

答案 0 :(得分:0)

我强烈建议您在Debian打包基础架构中从源代码构建软件包。如果您在CDBS中使用Ant类,则会自动处理所有内容。

如果您坚持只组装二进制文件.debequivs比您文档中描述的方法更加轻松。

答案 1 :(得分:0)

您需要获取图书馆的规范名称:

apt-cache search libname

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

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

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