http://blog.chinaunix.net/uid-233544-id-3069806.html
以GNU的hello爲例演示製作rpm包的方法
本文的演示示例中用到的系統平臺是RHEL5.4。
製作rpm包需要用到開發發工具,這裏可以通過基於yum安裝"Development Tools"和"Development Libraries"兩個開發組來進行安裝。同時,本文只是一個製作示例,以GNU的hello來演示製作過程。
1、製作rpm包要以普通用戶的身份進行,因此,這裏先新一個用戶marion,以之作爲製作rpm包的用戶。
# useradd marion
# passwd marion
2、以marion用戶的身份登錄系統
首先創建文件.rpmmacros,定義製作rpm包時的工作目錄等需要的宏,內容如下:
%packager Marion <[email protected]>
%_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 <[email protected]> 2.7-1
- Initial version of the package
4、上述工作完成後,準備工作已經就緒,接下來就可以使用如下命令製作二進制的rpm包和src格式的rpm包了:
# rpmbuild -ba hello.spec
製作完成的二進制格式的rpm包位於RPMS目錄中,src格式的rpm包位於SRPMS目錄中。
5、接下來可以以root用戶嘗試安裝剛剛製作成功的rpm包了。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.