kai*_*der 5 rpm architecture rpmbuild
前言
构建 RPM 并不是指从源代码编译。我纯粹的意思是将tar
带有源代码或二进制文件的“zip”文件重新打包为 RPM。
我已经从源代码构建 RPM 作为noarch
RPM有一段时间了。最近我不得不构建包含二进制文件的 RPM,这引起了一些担忧:
arch
和noarch
RPM包?特别是在从二进制文件构建 RPM 的情况下。我知道对于没有编译并且仅在安装 RPM 时提取文件的纯源代码,noarch
是可以接受的,但是如上所述,我对打包二进制文件有一些疑问。arch
RPM是否与不同的操作系统版本兼容?(这是在上面前言的上下文中)只是详细说明我可以arch
在 RedHat 6 上构建RPM,然后在 RedHat 5 中安装它,反之亦然?实际上,是从源代码构建它还是打包一些预先存在的存档并不重要。
noarch
RPM 旨在与架构无关,即,它们不得包含(本机)二进制文件。
如果包由解释脚本(Bash、Python 等)、文档、头文件、媒体文件等组成,甚至是编译的 Java 类,那么它可以是noarch。相同的包适用于任何硬件架构,因为它不包含专门为给定架构构建的代码。
另一方面,如果包包含编译为本地机器代码的二进制文件(例如用 C、C++、Pascal 等编写的程序),无论它们包含什么,它们都必须与架构相关联。例如,为x86_64编译的程序不能在ppc主机操作系统上运行。
至于是否兼容不同的操作系统版本,会因依赖而异,不能一概而论。例如,如果一个包依赖于给定库的最低版本,那么显然不能保证它可以在具有此类库的较旧版本的系统(或根本没有此类库的系统)上工作。如果它没有依赖项或非常通用的依赖项,那么它可能会起作用。
此外,严格来说,这适用于arch和noarch软件包。
归档时间: |
|
查看次数: |
7838 次 |
最近记录: |