【问题标题】:deb package with architecture-specific dependencies具有特定于体系结构的依赖项的 deb 包
【发布时间】:2019-06-08 20:32:59
【问题描述】:

我需要创建一个额外依赖于英特尔架构的软件包。
一个工作的 RPM package.spec 文件是这样的:

Requires:       bc
%ifarch x86_64
Requires:       msr-tools
%endif

但我似乎没有在 DEBIAN 控制文件中定义类似的逻辑:

Depends: bc, msr-tools:amd64

在 ARM 上用

表示欢迎
application-x : Depends: msr-tools:amd64 but it is not installable

但我不想在 ARM 上使用它。

【问题讨论】:

    标签: ubuntu deb


    【解决方案1】:

    This page 给出了定义特定于架构的依赖关系的示例:

    取决于:foo [i386]、bar [amd64]

    当包构建在i386 架构上时变为Depends: foo,当包构建在amd64 架构上时变为Depends: bar,并且在构建在所有其他架构上的二进制包中完全省略。

    在你的情况下,那是Depends: bc, msr-tools [amd64]

    【讨论】:

    • 谢谢!我看过这个链接,不幸的是它似乎不起作用,至少在 Ubuntu 18.04 上('Depends' 字段,引用包'msr-tools'后的语法错误)。
    • 您可能想分享更多关于如何创建和构建包的信息。你在使用 dh 序列器吗?
    • 不,我实际上不使用 dh。我创建(使用一些辅助脚本魔术)包目录树(DEBIAN 和 Linux 根目录覆盖),然后运行“dpkg-deb --build $(DEB_TOPDIR) $(DEB_OUTFILE)”——相当简单。 AFAIU dpkg-deb 是读取控制文件的那个。
    猜你喜欢
    • 2011-02-28
    • 2015-08-28
    • 1970-01-01
    • 1970-01-01
    • 2019-08-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-14
    • 1970-01-01
    相关资源
    最近更新 更多