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
# 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
linux编译时开启宏,【spec】Linux上编译安装的spec文件中的常用路径以及宏变量相关推荐
- Linux 编译时查找错误字符,编译Linux内核时出现“fatal error: linux/netfilter/xt_dscp: No such file or directory”...
编译Linux内核时出现"fatal error: linux/netfilter/xt_dscp: No such file or directory".下面开始查找原因. 第一 ...
- zypper 删除mysql_如何在 Linux 上安装/卸载一个文件中列出的软件包?
原标题:如何在 Linux 上安装/卸载一个文件中列出的软件包? 我们可以手动去安装这些软件但是这将花费大量的时间.你可以手动安装一俩个服务器,但是试想如果你有大概十个服务器呢.在这种情况下你无法手动 ...
- 【Groovy】编译时元编程 ( 编译时元编程引入 | 声明需要编译时处理的类 | 分析 Groovy 类的 AST 语法树 )
文章目录 一.编译时元编程引入 二.声明需要编译时处理的类 三.分析 Groovy 类的 AST 语法树 一.编译时元编程引入 在之前的 " [Groovy]MOP 元对象协议与元编程 &q ...
- 在配置spring-boot的yml文件中的项目路径时出现横划线表明已过时
在配置spring-boot的yml文件中的项目路径时出现横划线表明已过时 换成server.servlet.context-path 即可
- 【踩坑日记 · 嵌入式 Linux】在香橙派 Zero 2 上编译安装 CH340 驱动(OrangePi Zero 2)
前言 最近想尝试在 Linux 下编写和烧录 51 单片机程序,需要用到 CH340 模块,但是香橙派 Zero 2 没有预装它的驱动,所以需要下载 CH340 驱动的源码手动编译安装.在这里记录一下 ...
- 在linux里复制文件命令_如何在Linux上使用“安装”命令复制文件
在linux里复制文件命令 Fatmawati Achmad Zaenuri/Shutterstock.com Fatmawati Achmad Zaenuri / Shutterstock.com ...
- linux关机时循环输出脚本,Linux关机时执行指定脚本功能实现
1.关机时执行某个脚本的具体思路 (1)在文件夹/etc/init.d/下创建关机时需要执行的脚本file_name: (2)分别在文件夹/etc/rc0.d/和/etc/rc6.d/下创建该该脚本文 ...
- linux查看是否开启审计功能,linux审计功能auditd
安全防护是首先要考虑的问题.为了避免别人盗取我们的数据,我们需要时刻关注它.安全防护包括很多东西, 我们知道auditd 的审计工具.这个工具在大多数Linux操作系统中是默认安装的.那么auditd ...
- linux 读取zip文件内容,如何从linux服务器上的大(30Gb)zip文件中提取文件
1)从大型zip文件中提取 我想从linux服务器上的大型zip文件(30Gb)中提取文件.有足够的可用磁盘空间. 我试过jar xf dataset.zip.但是,按钮已满,出现错误,无法提取所有文 ...
最新文章
- linux环境insight安装与使用
- H5-代码的执行顺序影响着系统的性能:(position)
- 简单谈谈Docker镜像的使用方法_docker
- 浅谈块级元素和内联元素的嵌套规则
- c程序语言习题解答对编程有帮助吗,给C语言编程初学者的10个学习建议,助你学习事半功倍,不要错过...
- Pokemon Go将在日本发布 网络安全公司呼吁防范虚假软件
- [HAOI2015]树上染色
- js定义到执行(转)
- php 微信转发朋友圈,php微信分享到朋友圈、QQ、朋友、微博
- Elasticsearch(三)
- 电商管理系统的作用?好用的电商管理系统有哪些特点?
- 一篇文章教会你使用word域代码(seq field code )
- HP惠普笔记本Microsoft ACPI Compliant System未知设备的解决办法
- 【快鸽支付】个人免签支付_个人二维码支付_个人固码收款_个人支付接口_个人支付宝收款_个人微信收款_个人QQ支付收款
- linux mmc驱动框架,Linux mmc framework2:基本组件之mmc
- pyecharts官网
- 教你如何使用免费的来电提醒
- 著名小提琴老师林耀基老师去世
- 每日一记:zabbix日志报错cannot process item fra[usable,pct] trap: item type 15 cannot be used with traps
- Apache Traffic Server 简介