当前位置:  开发笔记 > 运维 > 正文

我可以使用rpm扩展specfile中的宏吗?

如何解决《我可以使用rpm扩展specfile中的宏吗?》经验,为你挑选了2个好方法。

具体的例子是我有很多specfiles Source0:或其他Source包含宏的行.如何在不实际启动specfile构建或编写自己的解析器的情况下扩展这些宏?



1> Stan..:

从rpm 4.9开始,您可以使用:

rpmspec -P 

这将在stdout上打印出扩展的spec文件


如果它只在当前的企业发行版(RHEL/CentOS)中可用,那将是非常棒的.
为了澄清@Guss的评论,`rpmspec`在RHEL/CentOS 7上可用,但在RHEL/CentOS 6或更早版本上没有.

2> 小智..:

如果它只需要解析您需要的源代码行,那么spectool就可以为您完成.它是Fedora的rpmdevtools的一部分.

$ spectool ./mg.spec 
Source0: http://homepage.boetes.org/software/mg/mg-20110120.tar.gz
$ 

这是它的帮助屏幕

Usage: spectool [] 
Options:
operating mode:
-l, --lf, --list-files        lists the expanded sources/patches (default)
-g, --gf, --get-files         gets the sources/patches that are listed with
                              a URL
-h, --help                    display this help screen

files on which to operate:
-A, --all                     all files, sources and patches (default)
-S, --sources                 all sources
-P, --patches                 all patches
-s, --source x[,y[,...]]      specified sources
-p, --patch a[,b[,...]]       specified patches

misc:
-d, --define 'macro value'    defines RPM macro 'macro' to be 'value'
-C, --directory dir           download into specified directory (default '.')
-R, --sourcedir               download into rpm's %{_sourcedir}
-n, --dryrun, --dry-run       don't download anything, just show what would be
                              done
-D, --debug                   output debug info, don't clean up when done

推荐阅读
乐韵答题
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有