linux编译时开启宏,【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

6be92dc02667

# vim /usr/lib/rpm/macros

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

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

6be92dc02667

宏对应路径一览表:

Macros mimicking autoconf variables

6be92dc02667

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

RPM directory macros

6be92dc02667

Some other macros

6be92dc02667

查看具体某个宏的值

# rpm  --help

6be92dc02667

# rpm --eval     "%{_builddir}"

# rpm  -E    "%{_builddir}"

6be92dc02667

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

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

6be92dc02667

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

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

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

6be92dc02667

参考

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值