rpmbuild   是用于 将源码包 编译成rpm包  


安装rpmbuild 程序

 yum  -y   install rpm-build

不建议用管理员做

[root@non2 桌面]# useradd kaka

[root@non2 桌面]# su – kaka

[kaka@non2 ~]$ rpm --eval %configure   查看 rpm默认环境下的宏的

编写一个spec 的文件

vim httpd.spec

Name:           httpd   名字

Version:        2.2.25   版本号

Release:        1%{?dist}   软件包释出号

Summary:        apache 2.2.25 server  描述信息


Group:          Amusements/Graphics     软件包组类型

License:        GPL  

URL:            http://www.tarena.com

Source0:        httpd-2.2.25.tar.gz

BuildRoot:      %(mktemp -ud%{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)


BuildRequires:  gcc,gcc-c++,openssl-devel

#Requires:      


%description

this is a web server


%prep

%setup -q



%build

./configure   --prefix=/usr/local/apache --enable-so --enable-rewrite\

           --enable-ssl --enable-cgi --enable-charset-lite  \

           --enable-suexec --with-suexec-caller=daemon   \

           --with-suexec-docroot=/usr/local/apache/htdocs

make %{?_smp_mflags}



%install

rm -rf %{buildroot}

make install DESTDIR=%{buildroot}



%clean

rm -rf %{buildroot}

make clean

%files

%defattr(-,root,root,-)

%config /usr/local/apache/conf/*

%doc   /usr/local/apache/man/*

%doc   /usr/local/apache/manual/*

/usr/local/apache/bin/*

/usr/local/apache/build/*

/usr/local/apache/cgi-bin/*

/usr/local/apache/error/*

/usr/local/apache/htdocs/*

/usr/local/apache/icons/*

/usr/local/apache/lib/*

%dir /usr/local/apache/logs

/usr/local/apache/include/*

/usr/local/apache/modules/*


%post

cp /usr/local/apache/bin/apachectl/etc/init.d/apache

sed -i '2a # chkconfig: 35 85 25 '/etc/init.d/apache

sed -i '3a # description: this is webserver ' /etc/init.d/apache

chkconfig --add apache


%postun

%postun

chkconfig --del apahce

rm -rf /etc/init.d/apache



%changelog

* Mon Jan 27 2014 localhost  <locahost@tarena.com.cn>

- First compile

- httpd-2.2.25

                                13,1    

group 可以自己定义但最好使用系统预定义组的组名

vim /usr/share/doc/rpm-4.8.0/GROUPS


[kaka@non2 ~]$ rpmbuild  httpd.spec

[kaka@non2 ~]$ ls

httpd-2.2.25.tar.gz  httpd.spec rpmbuild

[kaka@non2 ~]$ cp httpd-2.2.25.tar.gzrpmbuild/SOURCES/ && chmod 644 rpmbuild/SOURCES/httpd-2.2.25.tar.gz

[kaka@non2 ~]$ cp httpd.specrpmbuild/SPECS/

[kaka@non2 ~]$ rpmbuild -barpmbuild/SPECS/httpd.spec   开始编译

[kaka@non2 ~]$ ls rpmbuild/RPMS/x86_64/

httpd-2.2.25-1.el6.x86_64.rpm

[kaka@non2 ~]$ ls rpmbuild/RPMS/x86_64/

httpd-2.2.25-1.el6.x86_64.rpm

[kaka@non2 ~]$ ls rpmbuild/RPMS/x86_64/

httpd-2.2.25-1.el6.x86_64.rpm

表示成功

建议编译前先自己安装下源码包在进行rpmbuild编译