%prep #这个宏开始
%setup -q #这个宏的作用静默模式解压并cd
#%patch0 -p1 #如果需要在这打补丁,依次写
### 3.The Build Section 编译制作阶段,主要目的就是编译
%build
./configure \ #./configure 也可以用%configure来替换
--prefix=/usr \ #下面的我想大家都很熟悉
--sbin-path=/usr/sbin/nginx \
--conf-path=/etc/nginx/nginx.conf \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--user=nginx \
--group=nginx \
--with-http_ssl_module \
--with-http_flv_module \
--with-http_stub_status_module \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/tmp/nginx/client/ \
--http-proxy-temp-path=/var/tmp/nginx/proxy/ \
--http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ \
--http-uwsgi-temp-path=/var/tmp/nginx/uwsgi \
--http-scgi-temp-path=/var/tmp/nginx/scgi \
--with-pcre
make %{?_smp_mflags} #make后面的意思是:如果就多处理器的话make时并行编译
### 4.Install section 安装阶段
%install
rm -rf %{buildroot} #先删除原来的安装的,如果你不是第一次安装的话
make install DESTDIR=%{buildroot}
#DESTDIR指定安装的目录,而不是真实的安装目录,%{buildroot}你应该知道是指的什么了
### 4.1 scripts section #没必要可以不写
%pre #rpm安装前制行的脚本
if [ $1 == 1 ];then #$1==1 代表的是第一次安装,2代表是升级,0代表是卸载
/usr/sbin/useradd -r nginx 2> /dev/null ##其实这个脚本写的不完整
fi
%post #安装后执行的脚本
%preun #卸载前执行的脚本
if [ $1 == 0 ];then
/usr/sbin/userdel -r nginx 2> /dev/null
fi
%postun #卸载后执行的脚本
### 5.clean section 清理段,删除buildroot
%clean
rm -rf %{buildroot}
### 6.file section 要包含的文件
%files
%defattr (-,root,root,0755) #设定默认权限,如果下面没有指定权限,则继承默认
/etc/ #下面的内容要根据你在%{rootbuild}下生成的来写
/usr/
/var/
### 7.chagelog section 改变日志段
%changelog
* Fri Dec 29 2012 laoguang <ibuler@qq.com> - 1.0.14-1
- Initial version
到此一个简单的tengine RPM包制作好了。
三.RPM包制作拓展