|
RPM制作心得
这是我制作RPM的试验心得,我的理解难免有错误请大家给予提出,谢谢!!
在我的附件中有RPM制作讲义(即是公社的资料变成DOC文档),如果大家仔细阅读你将获得许多有用的知识,下面就让我们一起来开始这次试验之旅……
工作环境:Redhat 9.0 (不好意思,由于种种原因我没有可利用的Magiclinux的平台,所以我只能在Redhat平台下进行,等我开通ADSL就有Magiclinux可用了)
原材料: rarlinux-3.3.0.tar.gz
Rar的RPM的制作:
1 tar –zxvf rarlinux-3.3.0.tar.gz
2 cd rar
3 我们查看Makefile可以发现内容如下:
###################################################################
# Installing RAR executables, configuration files and SFX modules #
# to appropriate directories #
###################################################################
PREFIX=/usr/local
install:
cp rar unrar $(PREFIX)/bin
cp rarfiles.lst /etc
cp default.sfx $(PREFIX)/lib
这几行的意思是将相应的文件Copy到相应的目录里面,这对我们生成rar.spec很有用处的。
4 根据需要编辑的rar.spec的内容如下:
#############################
%define name rar
%define ver 3.3.0
%define RELEASE 1
%define rel 1
%define _prefix /usr/local
#############################
# 这里定义的是改软件的一些信息当你安装后可以通过rpm –qi rar来查看这些信息
Summary: 解压RAR软件
Name: %name
Version: %ver
Release: %rel
Copyright: GPL
Vendor: Magiclinux
Group: Application/systemtools
Buildroot: /var/tmp/%{name}-%{ver}-root
Source: rarlinux-3.3.0.tar.gz
Packager: HongFeng <[email protected]>
#Prefix: /usr/local
#Prefix: /usr
#Prefix: /tmp
###############################
%description
RAR archiver:
* RAR introduces an original compression algorithm. It allows higher
compression ratios than other PC archiving tools, especially
on executable files, object libraries, large text files, etc.
* RAR offers an optional compression algorithm highly optimized
for multimedia data.
* RAR provides functionality for creating a 'solid' archive, which
can raise the compression ratio by 10% - 50% over more common
methods, particularly when packing large numbers of small files.
* RAR offers the ability to create and change SFX archives using
default and external SFX modules.
* RAR offers the ability to create a multi-volume archive as SFX.
* RAR offers a number of service functions, such as setting a
password, adding archive and file comments. Even physically
damaged archives may be repaired and an archive may be locked
to prevent further changes. Authenticity information may be
added for additional security and RAR will store information
on the last update and name of the archive.
################################
%prep
%setup -n rar
#在install过程中我们要建立相应的目录并将文件copy到对应的目录中.
%install
mkdir -p $RPM_BUILD_ROOT%{_prefix}/bin
mkdir -p $RPM_BUILD_ROOT/etc
mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib
#对应Makefile的cp rar unrar $(PREFIX)/bin
install -m 644 unrar $RPM_BUILD_ROOT%{_prefix}/bin
install -m 644 rar $RPM_BUILD_ROOT%{_prefix}/bin
#对应Makefile的 cp rarfiles.lst /etc
install -m 644 rarfiles.lst $RPM_BUILD_ROOT/etc
#对应Makefile的 cp default.sfx $(PREFIX)/lib
install -m 644 default.sfx $RPM_BUILD_ROOT%{_prefix}/lib
################################
################################
%clean
rm -rf $RPM_BUILD_ROOT
rm -rf $RPM_BUILD_DIR/rar
######################################
#由于安装中的权限是644下面将改变这些。
%post
chmod 755 /%{_prefix}/bin/unrar
chmod 755 /%{_prefix}/bin/rar
######################################
%files
%defattr (-,root,root)
%doc readme.txt rar_faq.txt rar.txt
/%{_prefix}/bin/unrar
/%{_prefix}/bin/rar
/%{_prefix}/lib/default.sfx
%config /etc/rarfiles.lst
####################################
#%changelog
关于这个spec文件内使用到的一些宏定义可以在/usr/lib/rpm/macros中查到。
其中用到的参数在我的附件中都有提到。
5 copy rarlinux-3.3.0.tar.gz到/usr/src/redhat/SOURCES/
6 rpmbuild –ba rar.spec
这样我们在/usr/src/redhat/RPMS/i386下将生成rar-3.3.0-1.i386.rpm文件
整个过程完成我们的第一次rpm制作之旅圆满结束,或许我的表达有限有很多不清楚的地方大家可以问我也将尽我所能来回答问题。
谢谢!! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?注册
×
|