我正在尝试为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包中指定它?
答案 0 :(得分:0)
答案 1 :(得分:0)
您需要获取图书馆的规范名称:
apt-cache search libname
请注意包装末尾的命名法。您不希望在控制文件中指定特定的版本,只是适合您的应用程序的库的最早版本。
然后使用canonical_libname >= major.minor
,系统可以决定您是否拥有(或可以更新)可以支持您的应用程序的库版本。如果您及时刻录这一点,即指定当前库的完整版本,将来会打破。
例如,如果您指定libfoo-1.2.34
以及Debian的未来版本libfoo-2.3.45
,则您的软件包将无法安装,因为它认为您的libfoo版本不兼容。