2014-8-4 构建第一个rpm包

    参考书籍:《linux就是这个范儿》

    基本步骤:

    1. 依照rpmbuild的规范创建一个目录结构。

        创建BUILD, RPMS,SOURCES, SPECS, SRPMS五个目录。

    2. 将源代码和附带文件放到目录中合适的位置。

        BUILD用来编译源代码,RPMS用于存放最后生成的rpm包文件, SPECS用来保存spec文件,SRPM用于存放生成的源代码rpm包。

    3. 创建SPEC文件。

        分析SPEC文件: spec文件的内容都代表什么?

        一个spec文件大体上分为几个"段":定义段、描述段、预处理段、构建段、安装段和打包段。

        %define

        %description

        %prep

        %build

        %install

        %files   

    4. 编译rpm。

        rpmbuild -ba SPECS/XXX.spec



    附上spec测试文件内容:

# this is a test spec file for lighttpd 
%define _topdir /home/myc/rpmbuild
Name:       lighttpd
Version:    1.4.32
Release:    1%{?dist}
Summary:    A light http server
License:    BSD
URL:        http://www.lighttpd.net/
Source0:    %{name}-%{version}.tar.gz
Group:      Development/Tools
Prefix:     /usr/local
BuildRoot:  %{_topdir}/BUILDROOT/%{name}-%{version}-%{release}%{?dist}.%{_arch}

%description
Lighttpd is a secure,fast,compliant,and very flexible web-server that has been optimized for high-perfoemance environment.

%prep
%setup -q

%build 
./configure --prefix=%{prefix} --libdir=%{prefix}/lib64
make %{?_smp_mflags}

%install 
rm -rf $RPM_BUILD_ROOT
make install DESTDIR=$RPM_BUILD_ROOT

%files
%defattr(-,root,root,-)
%{prefix}/sbin/lighttpd
%{prefix}/sbin/lighttpd-angel
%{prefix}/lib64/*.so
%{prefix}/lib64/*.la
%{prefix}/share/man/man8/lighttpd.8




你可能感兴趣的:(2014-8-4 构建第一个rpm包)