rpmbuild 是用于 将源码包 编译成rpm包
安装rpmbuild 程序
yum -y install rpm-build
不建议用管理员做
[root@linuxidc 桌面]# useradd linuxidc
[root@linuxidc 桌面]# su – linuxidc
[linuxidc@linuxidc ~]$ 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
[linuxidc@linuxidc ~]$ rpmbuild httpd.spec
[linuxidc@linuxidc ~]$ ls
httpd-2.2.25.tar.gz httpd.spec rpmbuild
[linuxidc@linuxidc ~]$ cp httpd-2.2.25.tar.gzrpmbuild/SOURCES/ && chmod 644 rpmbuild/SOURCES/httpd-2.2.25.tar.gz
[linuxidc@linuxidc ~]$ cp httpd.specrpmbuild/SPECS/
[linuxidc@linuxidc ~]$ rpmbuild -barpmbuild/SPECS/httpd.spec 开始编译
[linuxidc@linuxidc ~]$ ls rpmbuild/RPMS/x86_64/
httpd-2.2.25-1.el6.x86_64.rpm
[linuxidc@linuxidc ~]$ ls rpmbuild/RPMS/x86_64/
httpd-2.2.25-1.el6.x86_64.rpm
[linuxidc@linuxidc ~]$ ls rpmbuild/RPMS/x86_64/
httpd-2.2.25-1.el6.x86_64.rpm
表示成功
建议编译前先自己安装下源码包在进行rpmbuild编译
在CentOS上安装rpmbuild http://www.linuxidc.com/Linux/2011-07/39155.htm