%prep 预处理脚本
- 预处理脚本,这个段是预处理段,通常用来执行一些的命令,为下一步的编译安装作准备。
- %prep和下面的%build,%install段一样,可以执行(以%开头)
- 还可以执行,命令可以有很多行,如我们常写的tar解包命令。
%setup
- 宏解压源代码
- /usr/bin/gzip -dc xxxx.tgz # 把源码包解压并放好
- /usr/bin/tar -xf –
- 通常是从/usr/src/asianux/SOURCES里的包解压到/usr/src/asianux/BUILD/%{name}-%{version}中
2. 参数
- %setup 不加任何选项,仅将软件包打开
- :q 参数给 %setup 宏。这会显著减少编译日志文件的输出,尤其是源代码包会解压出一堆文件的时候, 在安静模式下且最少输出
- :%setup -c 解压缩之前先产生目录
- :同时编译多个源码包,源码的tar包的名称与解压出来的目录不一致,此时,就需要使用-n参数指定一下例如:%setup -n newdir 将软件包解压到newdir目录
- :#在解压之前禁止删除目录
- :不使用default的解压缩操作。
- :%setup -b num 将第num个source文件解压缩
- %setup -q -n %{name}-%{version}:静默模式下 指定解压到新目录,名为%{name}-%{version}
%build 开始构建包
- 在/usr/src/asianux/BUILD/%{name}-%{version}目录中进行的工作
- 定义编译软件包所要执行的命令, 这一节一般由多个make命令组成。
- 这些命令可以是 shell 命令,也可以是宏。
- 开始编译源码构建包,相当于configure以及make部分
%install 开始把软件安装到虚拟的根目录中
- /usr/src/asianux/BUILD/%{name}-%{version}目录中进行的操作,路径不对的话,则下面%file中寻找文件的时候就会失败
- 常见内容
- %makeinstall:make DESTDIR=$RPM_BUILD_ROOT install
- %install主要就是为了后面的%file服务的
%post rpm安装后执行的脚本
%preun rpm卸载前执行的脚本
%postun rpm卸载后执行的脚本
%preun %postun 的区别是什么呢br> 前者在升级的时候会执行,后者在升级rpm包的时候不会执行
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!