RPM spec文件中的%arm

时间:2018-04-16 23:22:57

标签: rpmbuild rpm-spec

我正在从源tarball,补丁和.spec文件构建RPM。我这样做是为了添加我的平台特定补丁。

我已经阅读了给定的.spec文件,并注意到有以下行:

%ifarch %{arm}

当我看到类似的线条时,我有时会看到一个定义,例如,如下:

%global shared 0

稍后,%shared用作0.但是,我找不到%arm的定义。我猜想它可能是预先定义的,或者在其他地方定义(系统范围的?)。

%arm变量在.spec文件中的含义是什么?如果是预先定义的,那么定义在哪里?

2 个答案:

答案 0 :(得分:0)

如果查看/usr/lib/rpm/macrosarm被定义为可能的ARM体系结构列表。所以宏说的是,如果目标架构匹配任何,请执行此操作..."

答案 1 :(得分:0)

%{arm}只是一个RPM宏,就像所有其他RPM宏一样。

它扩展到某种实际值,找到该值,运行命令

rpm --eval %{arm}

在我的系统上扩展为

armv3l armv4b armv4l armv4tl armv5tl armv5tel armv5tejl armv6l armv6hl armv7l armv7hl armv7hnl

这似乎是我的开发环境支持的所有支持的arm架构。