【问题标题】:Debian Package Control file QuestionDebian 包控制文件问题
【发布时间】:2010-03-28 04:59:06
【问题描述】:

我正在尝试为 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 包中指定它?

【问题讨论】:

    标签: linux debian debian-based


    【解决方案1】:

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

    如果您坚持只组装二进制 .debequivs 比您文档中描述的方法要少得多。

    【讨论】:

    • 您好 ehemient,感谢您的回复。这正是我所需要的。我实际上需要稍后将所有内容集成到 ant.. 那么是否有一个很好的教程将 Ant 与 CDBS 集成.. 谢谢
    【解决方案2】:

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

    apt-cache search libname

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

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

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

    【讨论】:

    • apt-cache,而不是apt cache
    • @ephemient - 谢谢,已修复。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-27
    • 2018-09-25
    • 2014-09-07
    • 1970-01-01
    • 2016-09-25
    • 2011-09-29
    • 2014-07-06
    相关资源
    最近更新 更多