【spec】Linux上编译安装的spec文件中的常用路径以及宏变量

我们在Linux上利用 rpmbuild 构建 rpm 安装包时,通过命令rpm --showrc 查看实现代码,另外直接通过 rpm --eval "%{macro}"来查看具体对应路径。

比如我们要查看%{_bindir}的路径,就可以使用命令rpm --eval "%{ _bindir}"来查看,另外,所有的宏都可以在/usr/lib/rpm/macros里找到。


# yum -y install rpm-build

# yum info  rpm-build

# vim /usr/lib/rpm/macros

这是一个全局RPM配置文件, 这里所做的所有更改都将 在rpm包升级后会丢失。 

你应该将系统配置添加到/etc/rpm/macros,将用户配置添加到〜/.rpmmacros。


宏对应路径一览表:


Macros mimicking autoconf variables


注意:在Fedora 10(和EPEL)之前的版本,%{_ initddir}不存在, 相反地你应该使用已弃用的%{_ initrddir}宏。


RPM directory macros



Some other macros



查看具体某个宏的值


# rpm  --help



# rpm --eval     "%{_builddir}"

# rpm  -E    "%{_builddir}"




RPM SPEC中的 %{?dist}  怎么理解?


# cat /usr/share/doc/rpm-4.11.3/conditionalbuilds


源代码通常在启用或禁用可选功能的情况下构建,使用rpm打包源代码时,可以使用各种功能选择,添加到spec文件,并将生成一个包

使用该功能集编译的二进制文件,这种机制很好对于具有小功能集的包,但不能很好地工作,对于大型,复杂的软件包,如Linux内核和/或

Pine邮件具有大量的功能,作为给定功能集可能不会为每个人“工作”。



参考


Fedora Project Wiki Packaging:RPMMacros

https://fedoraproject.org/wiki/Packaging:RPMMacros?rd=Packaging/RPMMacros#Valid_RPM_Macros


spec文件和spec宏

http://blog.chinaunix.net/uid-12078489-id-2960249.html


Dist Tag Guidelines

https://docs.fedoraproject.org/en-US/packaging-guidelines/DistTag

https://fedoraproject.org/wiki/Packaging:DistTag

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 柔柔弱弱
    山高仁为峰阅读 1,751评论 0 0
  • “右撇子姑娘,谁是你的左撇子先生” 我遇见右撇子姑娘的经历,就像飞行员遇到小王子。而我只是开着我二手的高尔夫,她却...
    安彦衡阅读 5,014评论 1 11
  • 圣诞的颂歌今夜开启, 皮诺曹的悲剧只是个美丽童话, 驯鹿~雪橇,北极之光。 仙女的魔法棒点燃了圣诞之夜, 唱诗班的...
    禅茶镜阅读 514评论 0 0
  • 文/侬依旧 你不欠我任何的过去,你不欠我任何的现在,你不欠我一个所谓的未来,你欠我的,只是一场体面的分手仪式。 我...
    孟小苒阅读 4,332评论 4 6
  • 上午去作业间,遇到一位新面孔,却不是新员工,年龄可以看得出,便询问调自哪个岗位,小伙子说出了岗位的名称,并附带...
    小城雨田阅读 1,828评论 0 1

友情链接更多精彩内容