快捷搜索:   服务器  安全  linux 安全  MYSQL  dedecms

利用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

顶(0)
踩(0)

您可能还会对下面的文章感兴趣:

最新评论