gpt4 book ai didi

linux - 如何使用 rpmbuild 从主机上的源 RPM 为目标构建二进制 RPM

转载 作者:太空宇宙 更新时间:2023-11-04 12:35:47 40 4
gpt4 key购买 nike

我必须在我的目标架构上部署 RPM 包,这是一个运行 Windriver Linux 的 x86_64 硬件。我在我的主机系统上使用 rpmbuild 实用程序,它是一个 x86 32 位 12.04 Ubuntu PC。但是,我的主机上没有安装交叉编译器。我必须以这种方式在我的主机上生成 RPM,以便它可以在部署到目标时生成二进制文件。截至目前,我被卡住了,因为我发现直接运行 rpm -ivh <source-rpm>在目标上不会创建二进制文件。在这种情况下还有什么其他选择。我如何在主机上没有交叉编译器 的情况下为某些目标架构制作 RPM 包。我在主机上只有源文件 和一个Makefile 加上rpmbuild 实用程序。我的目标硬件具有编译所需的 gccma​​ke 工具。

最佳答案

对于那些可能陷入类似情况的人,我能够使用 FPM 包管理实用程序解决这个问题,可以从下面的 github 存储库下载 -

https://github.com/jordansissel/fpm

成功安装 FPM 后,可以看到这里有用的各种参数列表。其中一个参数是 --after-install .使用脚本传递此参数允许我们在安装 RPM 包后执行一些操作。而那些操作都在脚本中定义。所以,基本上我在这个脚本中定义了我的构建语句。所以这个脚本会执行必要的 makemake install使用 rpm -ivh <package-name> 安装软件包后在目标上在目标上。

我用来在主机上创建 RPM 包的 FPM 命令如下 -

fpm -s dir -t rpm -n <package-name> -a all -v 1.0.0 -C <path-of-Source-file-directory> --post-install <path-to-the-script-for-make> --before-remove <path-to-another-script-for-make clean> --prefix <path-for-downloading-package> .

我知道这只是一种解决方法。但如果其他人有更好的方法,请告诉我。

关于linux - 如何使用 rpmbuild 从主机上的源 RPM 为目标构建二进制 RPM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41897535/

40 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com