以GNU的hello为例演示制作rpm包的方法

http://blog.chinaunix.net/uid-233544-id-3069806.html

本文的演示示例中用到的系统平台是RHEL5.4。

制作rpm包需要用到开发发工具,这里可以通过基于yum安装"Development Tools"和"Development Libraries"两个开发组来进行安装。同时,本文只是一个制作示例,以GNU的hello来演示制作过程。

1、制作rpm包要以普通用户的身份进行,因此,这里先新一个用户marion,以之作为制作rpm包的用户。

# useradd marion
# passwd marion

2、以marion用户的身份登录系统

首先创建文件.rpmmacros,定义制作rpm包时的工作目录等需要的宏,内容如下:

%packager       Marion <marion@magedu.com>
 
%_topdir        /home/marion/rpmworkshop
%_tmppath       /var/tmp

%_rpmtopdir     %{_topdir}
%_builddir      %{_rpmtopdir}/BUILD
%_rpmdir        %{_rpmtopdir}/RPMS
%_sourcedir     %{_rpmtopdir}/SOURCES
%_specdir       %{_rpmtopdir}/SPECS
%_srcrpmdir     %{_rpmtopdir}/SRPMS


接着创建/home/marion/rpmworkshop目录,这是制作rpm包的工作目录,里面包含RPMS,SPECS,BUILD,SOURCES和SRPMS几个子目录:

# mkdir -pv ~/rpmworkshop/{BUILD,RPMS,SRPMS,SOURCES,SPECS}

3、开始制作rpm包

先去http://ftp.gnu.org/gnu/hello/下载hello目前最新版本的原码包,并将其放置于/home/marion/rpmworkshop/SOURCES目录中。

而后,于SPECS目录中创建hello.spec文件,内容如下:
Name:           hello
Version:        2.7 
Release:        1%{?dist}
Summary:        The GNU Hello distribution. 

License:        GPLv3+
URL:            http://ftp.gnu.org/gnu/%{name}
# Source0:        http://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.gz

BuildRequires: gettext
# Requires:       
Requires(post): info
Requires(preun): info

Group: System Environment/Libraries

Buildroot: /tmp/hellorpm

%description 
This is the GNU Hello distribution.Hello prints a friendly greeting.
It also serves as a sample GNU package, showing practices that may 
be useful for GNU projects.


%prep
%setup -q

%build
%configure
make %{?_smp_mflags}

%install

make install-strip DESTDIR=%{buildroot}
%find_lang %{name}
rm -f %{buildroot}/%{_infodir}/dir

%post
/sbin/install-info %{_infodir}/%{name}.info %{_infodir}/dir || :

%preun
if [ $1 = 0 ] ; then
/sbin/install-info --delete %{_infodir}/%{name}.info %{_infodir}/dir || :
fi

%files -f %{name}.lang
%{_bindir}/hello
%doc %{_mandir}/man1/hello.1.gz
%doc %{_infodir}/%{name}.info.gz

%changelog
* Fri Feb 10 2012 Marion <marion@magedu.com> 2.7-1
- Initial version of the package


4、上述工作完成后,准备工作已经就绪,接下来就可以使用如下命令制作二进制的rpm包和src格式的rpm包了:
# rpmbuild -ba hello.spec

制作完成的二进制格式的rpm包位于RPMS目录中,src格式的rpm包位于SRPMS目录中。

5、接下来可以以root用户尝试安装刚刚制作成功的rpm包了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值