spec文件知识整理

时间:2024-05-23 12:58:11

 

spec文件知识整理

 

Name: hellorpm #名字为源码tar.gz 包的名字

Version: 1.0.0 #版本号,一定要与tar.gz包的一致哦

Release: 1%{?dist} #释出号,也就是第几次制作rpm

Summary: helloword #软件包简介,最好不要超过50字符

License: GPL #许可,GPL还是BSD等 

URL: #可以写一个网址

Packager: abel

Source0: %{name}-%{version}.tar.gz

#定义用到的source,也就是你的源码

BuildRoot: %_topdir/BUILDROOT

#这个是软件make install 的测试安装目录.

BuildRequires: gcc,make

#制作过程中用到的软件包

Requires: python-apscheduler >= 2.1.2-1.el7,python-daemon >= 1.6-1.el7

#软件运行依赖的软件包,也可以指定最低版本如 bash >= 1.1.1

%description #描述,随便写                

%prep           #打包开始

%setup -q      #这个作用静默模式解压并cd                              

%build     #编译制作阶段,主要目的就是编译,如果不用编译就为空

make %{?_smp_mflags}          #make后面的意思是:如果就多处理器的话make时并行编译

%install #安装阶段                        rm -rf %{buildroot} #先删除原来的安装的,如果你不是第一次安装的话

cp -rp %_topdir/BUILD/%{name}-%{version}/* $RPM_BUILD_ROOT #将需要需要打包的文件从BUILD 文件夹中拷贝到BUILDROOT文件夹下。

#下面的几步pre、post、preun、postun 没必要可以不写

%pre           #rpm安装前制行的脚本 %post #安装后执行的脚本

%preun       #卸载前执行的脚本

%postun          #卸载后执行的脚本

%clean             #清理段,删除buildroot rm -rf %{buildroot}

 

%files #rpm要包含的文件

%defattr (-,root,root,-) #设定默认权限,如果下面没有指定权限,则继承默认 /etc/hello/word/helloword.c #将你需要打包的文件或目录写下来

###  7.chagelog section  改变日志段

%changelog