首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为宏指定参数

为宏指定参数
EN

Stack Overflow用户
提问于 2018-01-10 17:16:30
回答 1查看 80关注 0票数 1

当前,为RPM编写一个*.spec文件。如何动态定义变量,以便它们使用参数化宏?

根据rpm文档,我想出了以下内容:

代码语言:javascript
复制
1     %define postgresql_macro() (?%1?%2?%3?%4?%5)
2     %define postgresql_ver %postgresql_macro 9 . 4 . 15
3     %define postgresql_ver_short %postgresql_macro 9 . 4 .
4     %define postgresql_ver_major 9 4

第1行是接受参数的宏。

第2行应该将postgresql_ver定义为9.4.15

LIne 3应该将postgresql_ver_short定义为9.4

第4行应该将postgresql_ver_major定义为94

我怎么测试这个?这是正确的吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-11 09:38:10

首先,你错了。它应该是:

代码语言:javascript
复制
%define postgresql_macro() %1%2%3%4%5                                                                                              
%define postgresql_ver %postgresql_macro 9 . 4 . 15
%define postgresql_ver_short %postgresql_macro 9 . 4 .
%define postgresql_ver_major 9 4

你可以这样测试。放入您的规范文件:

代码语言:javascript
复制
%prep
%define postgresql_macro() %1%2%3%4%5                                                                                              
%define postgresql_ver %postgresql_macro 9 . 4 . 15
%define postgresql_ver_short %postgresql_macro 9 . 4 .
%define postgresql_ver_major 9 4
echo %{postgresql_ver}

现在运行rpmbuild -bp your.spec。这应该打印:9.4.15

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48192769

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档