如何为几种架构创建二进制Debian软件包?

时间:2014-01-10 07:16:56

标签: binary debian packages cpu-architecture

我正在尝试为一些支持不同架构的机器人控制器代码创建软件包,例如i386和armhf(用于Raspberry Pi)。我不知道Debian打算如何做到这一点。有没有办法创建一个包含两个二进制文件的.deb包?或者我必须为每个架构创建一个单独的.deb包,我知道该怎么做?

在后一种情况下,如果我给两个包提供相同的包名,我不能将它们放在同一个存储库中,但如果它们有不同的名称,用户必须指定要使用哪个包安装apt-get的。这个问题有解决方案吗?

1 个答案:

答案 0 :(得分:1)

您需要为不同的体系结构提供不同的二进制包,除非您要打包的内容被解释而不是编译。

如果您创建的软件包与所有体系结构兼容,则Architecture:文件的debian/control字段必须为any。这告诉您该包可以在任何Debian支持的体系结构中构建。然后你就可以编译它并将其交叉编译为i386和armhf。

关于你的第二个问题,你可以。事实上,这是在官方Debian存储库中完成的。二进制包在包含体系结构的文件名中有后缀。见example。当用户安装您的软件包时,他们无需指定自动检测到的体系结构。