rpmbuild之spec文件说明
来源:互联网 发布:ubuntu开机启动程序 编辑:程序博客网 时间:2024/06/02 03:03
FAQ:
1.如何定义变量?
%define author zuosi #定义了一个变量author,值为zuosi
2.编译rpm包需要使用到的目录?
目录名 说明 macros中的宏名
BUILD 编译rpm包的临时目录%_builddir
BUILDROOT 编译后生成的软件临时安装目录%_buildrootdir
RPMS 最终生成的可安装rpm包的所在目录%_rpmdir
SOURCES 所有源代码和补丁文件的存放目录%_sourcedir
SPECS 存放SPEC文件的目录(重要)%_specdir
SRPMS 软件最终的rpm源码格式存放路径(暂时忽略掉,别挂在心上)%_srcrpmdir
Name: myapp #软件包的名字
Version: 0.3.1 #软件包的版本
Release: %(echo `data +%Y%m%d%H%M`) #发布序列号,你可以自己定义,我这里是以时间为序号
Summary: my app #软件包的摘要信息
Group: Development #软件包的安装分类,详见/usr/share/doc/rpm-*/GROUPS文件
License: GPL v2 #软件的授权方式
URL: http://www.xx.com #源码包、公司、博客等地址
BuildRoot:%(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)#make install时使用的虚拟根目录,我这里使用mktemp创建了一个临时目录,-u表示结束后删除
%description
#关于软件包的详细说明
%prep
#主要是对源代码包的解压和打补丁,而解压常用的指令就是%setup -q
echo "prep"
%build
#该阶段执行常见的configure和make操作,常见指令如:
#%configure
#make %{?_smp_flags}
%install
#该阶段执行make install操作,它会在%_buildrootdir目录里建好目录结构,然后将需要打包到rpm软件包里的文件从%_builddir里拷贝到%_buildrootdir里对应的目录里。最常见到的指令就是:
#rm -rf %{buildroot}
%clean
#编译完成后一些清理工作,主要包括对%{buildroot}目录的清空(当然这不是必须的),通常执行诸如make clean之类的命令。
#rm -rf %{buildroot}
%files
#主要用来说明会将%{buildroot}目录下的哪些文件和目录最终打包到rpm包里,需要打包的文件在此列出。
#另外,defattr(文件权限,用户名,组名,目录权限)用来指定权限,如: %defattr(-,root,root,-),这条指令设置缺省权限。
%pre
#安装前的准备工作
%post
#安装后的工作,如设置服务的开机启动,定时任务的设定,启动服务等等
%preun
#卸载前的工作,例如停止服务,关闭服务的开机启动,删除定时任务等
- rpmbuild之spec文件说明
- RPM包rpmbuild SPEC文件深度说明
- RPM包rpmbuild SPEC文件深度说明
- RPM包rpmbuild SPEC文件深度说明
- RPM包rpmbuild SPEC文件深度说明
- RPM包rpmbuild SPEC文件深度说明
- RPM包rpmbuild SPEC文件深度说明
- RPM包rpmbuild SPEC文件深度说明
- RPM包rpmbuild SPEC文件深度说明
- RPM包rpmbuild SPEC文件深度说明
- RPM包rpmbuild SPEC文件深度说明
- RPM包rpmbuild SPEC文件深度说明
- RPM包rpmbuild SPEC文件深度说明
- RPM包rpmbuild SPEC文件深度说明
- RPM包rpmbuild SPEC文件深度说明
- rpmbuild spec 说明
- rh401 - RPM编包/rpmbuild之spec文件概述
- RPM包rpmbuild SPEC文件
- 浅谈C/C++中的static和extern关键字
- 利用Java IO中的字节流与缓冲流及单个或批量读写字节进行组合测试文件复制的速度....速度差别太大了!!!
- c++11 线程原子变量
- 使用Altium Designer进行DDR2的PCB设计
- 几种负载均衡技术的实现
- rpmbuild之spec文件说明
- 大龄程序员的发展方向
- Spring声明式事务的配置方式
- leetcode-456-Convert a Number to Hexadecimal
- MySQL Server架构图
- 用eclipse创建动态web项目手动生成web.xml方法
- VB Format函数
- ThreadLocal内存泄露(下)
- exec函数族的作用与讲解