安装
# apt-get install rpm
安装完成:
默认在用户目录下会自动生成如下目录
~/rpmbuild# ls
BUILD BUILDROOT RPMS SOURCES SPECS SRPMS
BUILD目录:tar.gz自动解压到此目录,并在此目录进行编译
SPECS目录:存放.spec文件。制作文件,下面会详细介绍
RPMS目录:保存制作好的rpm包
SOURCES目录:保存源代码。制作过程中用到的源码及配置文件
SRPMS目录:保存制作好的src.rpm包
BUILDROOT目录:保存编译安装好的文件,可以通过--prefix指定
spec文件举例
Name: webserver #软件名,和压缩文件名一致
Version: 1.0 #版本号
Release: 1%{?dist} #次版本号
Summary: webserver #软件包简介
License: GPL
URL: www.baidu.com
Source0: %{name}-%{version}.tar.gz #变量名:%{SOURCE0}
Requires: gcc
BuildRoot: %_topdir/BUILDROOT
%description #软件描述
webserver 1.0
%prep #编译准备工作
%setup -q #自动解压Source0中的tar.gz
%build #一般执行./configure和make
%install #一般执行make install
rm -rf %{buildroot}
mkdir %{buildroot}
cp -rp %_topdir/BUILD/%{name}-%{version}/* $RPM_BUILD_ROOT #保存到BUILDROOT,后面使用
%pre #安装前
%post #安装后
%preun #卸载前
%postun #卸载后
%clean
%files #打包时的文件。会自动在BUILDROOT中查找,在rpm -i安装的时候,可以自动安装到相应目录
%defattr (-,root,root,0755)
/sbin/boa
/etc/mime.types
/etc/boa/boa.conf
/etc/init.d/webserver.sh
/usr/www/favicon.ico
/usr/www/cgi-bin/cgi-test.cgi
/usr/www/cgi-bin/cgictest.cgi
%changelog
执行过程
rpmbuild -bp:执行%prep
rpmbuild -bc:执行%build
rpmbuild -bi:执行%install
rpmbuild -ba:编译后做成rpm包和src.rpm包
rpmbuild -bs:仅制作src.rpm包
rpmbuild -bb:仅制作rpm包
一步到位
# rpmbuild -bb xxx.spec