【问题标题】:Installing multiarch debian package with architecture:all dependency使用架构安装多架构 debian 包:所有依赖项
【发布时间】:2017-03-31 16:38:36
【问题描述】:

这是a personal ppa archive here的问题

构建 dosbox 的一个依赖项是(也是我在另一个配方中制作的)mt32romdata 包。它的目的是一个简单的脚本,在包安装期间通过询问用户来安装 ROM,因此只有在删除每个使用包后才管理卸载(每个使用它的包,当前 dosbox 和 exult,都应用了补丁来查找它放置 ROM 的位置)。

这是一个架构独立包(即:Architecture: all不是任何),因为它是一个简单的安装后脚本。

Exult 和 dosbox 软件包将其作为依赖项。现在小问题:我希望能够安装 dosbox:i386(它的 JIT 在 32 位中要好得多)并为 64 位而欢欣鼓舞。实际的 lib32emu 库没有问题,因为 exult 捆绑了它自己的版本,所以那里没有冲突。问题是当我尝试时:

apt-get install dosbox:i386

吐出:

dosbox:i386 : Depends: mt32romdata:i386 but it is not installable

我希望每个人都明白这与架构独立包的精神背道而驰。这是否只是 dosbox 包控制文件中的一个错误,我应该将运行时依赖项设置为不同于:

Depends: ${shlibs:Depends}, ${misc:Depends}, mt32romdata

或者它是 ubuntu/debian 上多架构支持的限制?

在 mt32romdata 包控制架构定义中将“all”替换为“any”并不具有吸引力,因为如果我想安装 dosbox:i386 和 exult:amd64,两个版本都会发生冲突

【问题讨论】:

    标签: ubuntu debian packaging


    【解决方案1】:

    我相信我明白了。这似乎是一个向后兼容的问题,已通过新字段Multiarch

    处理

    Dosbox 恰好(正确地)标记为 Multiarch: foreign,这意味着 mt32romdata Architecture: all 包也需要标记为 Multiarch: foreign 根据链接。

    【讨论】:

      猜你喜欢
      • 2014-06-24
      • 1970-01-01
      • 2012-01-18
      • 2012-06-14
      • 1970-01-01
      • 1970-01-01
      • 2012-03-15
      • 2022-09-28
      • 2013-06-30
      相关资源
      最近更新 更多