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

标签 binary debian package cpu-architecture

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

在后一种情况下,如果我给两个包相同的包名,我不能将它们放在同一个存储库中,但如果它们有不同的名称,用户将必须指定他们想要安装的包使用容易得到。这个问题有解决办法吗?

最佳答案

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

如果您制作的软件包与所有架构兼容,那么 debian/control 文件的 Architecture: 字段必须是 any。这告诉您该软件包可以构建在任何 Debian 支持的架构中。然后您只需编译它并将其交叉编译为 i386 和 armhf。

关于你的第二个问题,你可以。事实上,官方 Debian 存储库就是这样做的。二进制包在包含体系结构的文件名中有一个后缀。看这个example .当用户安装您的包时,他们不需要指定架构,因为它会自动检测到。

关于binary - 如何为多种架构创建二进制 Debian 软件包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21038270/

相关文章:

linux - 从 Linux 命令行连接到远程 DB2

c++ - 如何编写将二进制数转换为十进制数的递归函数?

algorithm - 获取 : [1, 1,1,1] 形式的向量

java - 如何读取二进制文件中的整数和日期

configuration - 构建预配置的 debian 软件包

delphi - 删除 package.dpk 文件中的 {$R *.res} 将删除 .dproj 文件中的 rccompile

android - 如何创建可下载的许可证 key ,并在 Android 上检查它

c - 我的二进制到十进制方法的无限循环错误?

ubuntu - SaltStack - 版本未更改时如何重新安装软件包

encoding - 解码两个不同的 base64 字符串返回两次相同的字符串