利用rpmbuild给nginx定制rpm包
本文主要介绍如何将tarball源码包制作成rpm包,以nginx为例:
1.以root用户身份登陆,建立如下目录:
#cd /usr/local/
#vi mk.sh
mkdir rpmbuild
mkdir rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
mkdir rpmbuild/RPMS/{athlon,i386,i486,i586,i686,noarch}
2.在root主目录下创建如下文件
# vi /root/.rpmmacros
%_topdir /usr/local/rpmbuild
3.#下载包并创建spec文件
#wget http://sysoev.ru/nginx/nginx-0.7.47.tar.gz
#tar zxvf nginx-0.7.47.tar.gz
#cd nginx-0.7.47
#vi nginx.spec //创建spec文件
------------------------以下是内容----------------------------------------------------------------
Summary: nginx 'engine x' is a HTTP server and mail proxy server
Name: nginx
Version: 0.7.47
Release: 1
Source0: %{name}-%{version}.tar.gz
License: MIT
Group: Applications/Internet
Buildroot: %{_tmppath}/%{name}-%{version}-root
Requires: bash
%description
nginx has been running for more than three years on many heavily loaded Russian sites including Rambler (RamblerMedia.com).
In March 2007 about 20% of all Russian virtual hosts were served or proxied by nginx.
According to Google Online Security Blog year ago nginx served or proxied about 4% of all Internet virtual hosts, although Netcraft showed much less percent.
According to Netcraft in March 2008 nginx served or proxied 1 million virtual hosts.
%prep
%setup -q
%build
./configure --user=www --group=www --prefix=/usr/local/nginx/ --with-http_stub_status_module --with-http_ssl_module --with-md5=/usr/lib --with-sha1=/usr/lib
make
%install
rm -rf $RPM_BUILD_ROOT/usr/local/nginx
make DESTDIR=$RPM_BUILD_ROOT install
mkdir -p $RPM_BUILD_ROOT/usr/local/nginx/conf/vhosts
touch $RPM_BUILD_ROOT/usr/local/nginx/conf/vhosts/blank.conf
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(-,root,root)
/usr/local/nginx/sbin/nginx
/usr/local/nginx/logs
%doc /usr/local/nginx/html
%doc /usr/local/nginx/conf
--------------------------------------------------------------------------------------------------------------
4.给nginx打包编译制作rpm包
#tar czvf nginx-0.7.47.tar.gz nginx-0.7.47/
#rpmbuild -tb nginx-0.7.47.tar.gz
#[root@monitoring i386]# pwd
/usr/local/rpmbuild/RPMS/i386
[root@monitoring i386]# ls //可以查看到生成的nginx rpm包.
cronolog-1.6.2-1.i386.rpm nginx-0.7.47-1.i386.rpm
- 最新评论
