[RPM打包学习-SPEC文件]——%patch相关问题
今天在软件包编译时,需要给其制作patch修改部分问题。根据相关diff指令制作patch,并在本地使用patch命令验证均成功,下面实战进入spec编写。
将相关SOURCE放入指定目录,根据以往经验,在source字段加入自己的patch,随后在%prep阶段添加%patch -p1 (这里p1是因为解压source0后会自动cd进入第一级目录,所以忽略)。
所有准备工作已经完成,开始编译。
这时,发现在%prep阶段报错,提示生成了一个.rej文件,这是patch打失败的一个表现。根据网上相关的资料,我对比了.rej和我自己制作的.patch,发现并没有任何区别。但是为什么会提示报错呢,而且编译过程在prep这一阶段给到的日志比较少,没有什么可以参考的有价值信息,于是我开始从头看prep阶段,果然,上来第一个字段就是%autosetup。
%autosetup字段会自动为你解压缩前面列出来的source,同时,也会自动执行你前面所列出的patch。这就导致了我的patch已经执行成功,但是我又执行了一遍,所以会报错。
所以,如果在prep阶段使用了%autosetup,就不需要你再使用%patch去一个一个打patch了;如果你解压源码包source0使用的是%setup字段,那么后续的patch,则需要你通过%patch去一个一个执行
再次记录一下,autosetup后的-n参数,并不是把tar解压成指定的名字,而是在包名与解压后的目录名不一致的情况下,重新指定目录名方便CD进去,而不会修改目录名。
[RPM打包学习-SPEC文件]——%patch相关问题相关推荐
- RPM打包与SPEC文件
制作RPM软件包并不是一件复杂的工作,其中的关键在于编写SPEC软件包描述文件.要想制作一个rpm软件包就必须写一个软件包描述文件(SPEC). 这个文件中包含了软件包的诸多信息,如软件包的名字.版本 ...
- RPM打包原理spec
概述 RPM(Redhat Package Manager)是用于Redhat.CentOS.Fedora等Linux 分发版(distribution)的常见的软件包管理器.因为它允许分发已编译的软 ...
- linux qt make文件或目录,rpm,linux_为Qt程序制作rpm包的spec文件里的路径问题,rpm,linux,qt,rpmbuild,spec - phpStudy...
为Qt程序制作rpm包的spec文件里的路径问题 我对Qt和rpm都不怎么熟悉,所以在为Qt程序制作rpm包的时候被路径问题纠结到了. Qt的.pro文件的相关部分是这么写的,其中AppName是我的 ...
- RPM包rpmbuild SPEC文件深度说明
关键字 spec脚本包括很多关键字,主要有: 引用 Name: 软件包的名称,后面可使用%{name}的方式引用 Summary: 软件包的内容概要 Version: 软件的实际版本号,例如:1.0. ...
- RPM安装包-Spec文件參数具体解释与演示样例分析
spec文件是整个RPM包建立过程的中心,它的作用就如同编译程序时的Makefile文件. 1.Spec文件參数 spec文件包括建立一个RPM包必需的信息,包括哪些文件是包的一部分以及它们安装在哪个 ...
- RPM打包之spec示例
示例来源于rpmbuild官网:https://rpmbuildtut.wordpress.com/development-packages/ vpython 的一个依赖包,gtkglarea,的sp ...
- spec linux,linux – 在RPM包中SPEC文件中1%{?dist}的含义是什么?
1%{?dist}是什么意思? 这是什么意思? 我没有在任何地方找到这个意思 Name: hello Version: 2.8 Release: 1%{?dist} Summary: The &quo ...
- 学习htc文件的相关中文资料
HTML Component(HTC) http://www.blueidea.com/tech/web/2003/1227.asp http://www.7dn.cn/Article_Show.a ...
- 提取原rpm包里的SPEC文件及重新打包
一.概要 目的是要修改原rsyslog rpm包的systemd rsyslog.service文件,添加一行"ExecStartPre=/bin/bash -c "/usr/bi ...
最新文章
- 驳“中国的网页设计为什么这么烂?”
- opencv相机标定
- 如何创建你的第一个Python元类?
- 深入理解spark两种调度模式:FIFO,FAIR模式
- Mysql半双工主从复制
- ubuntu 18.04安装jdk8和eclipse
- java bitset 扩展_将java BitSet保存到DB
- Struts2项目中的JSP如何访问Session对象
- Kafka的高性能原理
- java中虚拟机命令:jstack使用方法
- android 自定义权限弹窗_Android-开源通用弹窗的封装CommonPopupWindow(总得向别人学点什么)...
- Rust —— 一门没有GC的语言
- 5分钟正则表达式,了解一下!
- python爬虫怎么写多线程_Python爬虫4.1 — threading(多线程)用法教程
- python pandas series_Python Pandas 系列Series
- etl调度工具 Taskctl 变量概述
- 高仿京东分类页面实现
- php钱汇算成美元,PHP to USD
- 适合初学者使用的Mac绘图软件推荐
- python绘制旭日图