6.2. 有关宏的更多内容
本节介绍所选内置 RPM Macros。
6.2.1. 定义您自己的宏 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
下面的部分论述了如何创建自定义宏。
流程
在 RPM
spec文件中包括以下行:%global <name>[(opts)] <body>
删除 <body> 周围的空白。名称可以是字母数字字符,字符 _,长度必须至少为 3 个字符。包含 (opts) 字段是可选的:
-
Simple宏不包含(opts)字段。在这种情况下,只执行递归宏扩展。 -
Parametrized宏包含(opts)字段。在宏调用开始时传递括号之间的opts字符串可得到argc/argv处理的getopt(3)。
注意
旧的 RPM spec 文件使用 %define <name> <body> 宏模式。%define 和 %global 宏之间的差异如下:
-
%define是本地范围的。它适用于spec文件的特定部分。%define宏的主体部分在使用时会被扩展。 -
%global有全局范围。它适用于整个spec文件。在定义时扩展%global宏的正文。
重要
宏会被评估,即使它们被注释掉了,或 spec 文件的 %changelog 部分中指定了宏的名称。要注释掉宏,请使用 %%。例如 %%global.