安装包特性: 
  1、开始拷贝文件之前的操作都具有可逆性; 
  2、具有“默认安装”与“自定义安装”两种安装方式可选; 
  3、自动生成卸载脚本; 
  4、安装时能自动建立桌面快捷方式,卸载时能自动清除配置文件、游戏存档等软件残留文件。 
  以下操作以在红旗桌面版4.1下制作EVA-0.4.0的安装包为例,需要读者掌握编写SPEC文件、建立与编辑桌面配置文件*.desktop、shell脚本编程、Xdialog方面的相关知识。
制作步骤:
 
  1、以root身份登录系统,或者在普通用户下以root权限进行操作。 
  2、获取软件编译安装后的目录结构 
  将软件的源码压缩包放到/usr/src/redflag/SOURCES目录下,在/usr/src/redflag/SPECS目录下建立一个SPEC文件,例如eva.spec。内容为:
[code]%define prefix /usr 
%define appsdir /usr/share/applnk/App/Internet 
Name: eva 
Summary: KDE环境下的QQ客户端软件 
Version: 0.4.0 
Release: rfdt4.1 
Source0: %{name}-%{version}.tar.bz2 
Group: Applications/Internet 
BuildRoot: /tmp/build-root-%{name} 
License: GPL 
Url: 
http://www.linuxfans.org/downloads/
Packager: your name 
%description 
Eva 是在KDE桌面下,基于Qt库开发的软件, ……… 
%prep 
rm -rf %{buildroot} 
%setup -n eva 
%build 
./configure --prefix=%{prefix} 
make 
%install 
[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT 
mkdir -p $RPM_BUILD_ROOT%{appsdir} 
make DESTDIR=$RPM_BUILD_ROOT install 
cd $RPM_BUILD_ROOT 
find . -type d | sed '1,2d;s,^\.,\%attr(-\,root\,root) \%dir ,' > $RPM_BUILD_DIR/file.list.%{name} 
find . -type f | sed 's,^\.,\%attr(-\,root\,root) ,' >> $RPM_BUILD_DIR/file.list.%{name} 
find . -type l | sed 's,^\.,\%attr(-\,root\,root) ,' >> $RPM_BUILD_DIR/file.list.%{name} 
%clean 
%files -f ../file.list.%{name} 
%defattr(-,root,root) 
%doc AUTHORS ChangeLog COPYING NEWS README README.zh 
%changelog[/code]
  在终端进入/usr/src/redflag/SPECS目录,执行: 
[code]rpmbuild -bb eva.spec[/code] 
  完成后,/tmp/build-root-eva目录下就是EVA-0.4.0编译安装后的目录结构,/usr/src/redflag/BUILD目录下的file.list.eva文件是EVA-0.4.0编译安装后的文件列表。 
3、配齐文件 
  建立/tmp/evainstaller目录,将
[code]installer-files.tar.bz2[/code]
  解压后得到的installer-files文件夹里的所有文件都放到这个目录里。 
  将/tmp下的build-root-eva目录拷贝到/tmp/evainstaller目录,改名为eva-0.4.0,在/tmp/evainstaller/eva-0.4.0/usr/share/applnk/App/Internet下建立 EVA 的开始菜单(K菜单)项目,记得包括eva-uninstall.desktop(执行的命令为“/usr/share/doc/eva-0.4.0/uninstall.bin”)。 
  为“软件名-版本号-rfdt4.1-installer”和“软件名-版本号-rfdt4.1-setup”这两个文件改名,例如eva-0.4.0-rfdt4.1-installer和eva-0.4.0-rfdt4.1-setup,并建议一个软件的桌面配置文件(建立桌面快捷方式的时候使用),例如eva.desktop。
 
4、修改eva-0.4.0-rfdt4.1-installer和eva-0.4.0-rfdt4.1-setup这两个文件 
  其中eva-0.4.0-rfdt4.1-installer需要修改的地方只有“name=”和“ver=”这两个地方。 
  而eva-0.4.0-rfdt4.1-setup需要修改的地方比较多,除了软件名和版本号需要定义外,“选择安装类型的模块”和“选择安装类型”需要修改文字说明;“默认安装的模块”和“自定义安装的模块”需要参照file.list.eva文件的内容来修改拷贝时的操作;“生成卸载脚本的模块”需要修改删除的文件和目录;“安装完毕给予提示的模块”需要修改文字说明。 
5、生成安装包 
  至此,相关文件已经准备完毕了,最好检查一下,看看/tmp/evainstaller目录下的文件是否是这些: 
[code]custom_install.xpm eva-0.4.0-rfdt4.1-setup uninstall_complete.xpm warning.xpm 
default_install.xpm eva.desktop uninstall.xpm 
eva-0.4.0 install_type.xpm Xdialog 
eva-0.4.0-rfdt4.1-installer the_end.xpm Xdialog.mo[/code] 
  确认文件齐全后,将其压缩,在终端进入/tmp/evainstaller目录,执行: 
[code]tar jcvf eva.tar.bz2 custom_install.xpm default_install.xpm eva-0.4.0 eva-0.4.0-rfdt4.1-setup eva.desktop install_type.xpm the_end.xpm uninstall_complete.xpm uninstall.xpm warning.xpm Xdialog Xdialog.mo[/code] 
合成安装包:
 
[code]cat eva-0.4.0-rfdt4.1-installer eva.tar.bz2 >eva-0.4.0-rfdt4.1-installer.bin 
chmod +x eva-0.4.0-rfdt4.1-installer.bin[/code] 
  现在双击eva-0.4.0-rfdt4.1-installer.bin就可以开始安装了。
                  	
				

hawkyuan 于 2013-06-25 00:01:38发表:
没什么意义!!
easeus_wei 于 2013-06-19 10:47:47发表:
有用 谢谢分享
supersq 于 2006-08-28 13:21:35发表:
顶
涵琳 于 2006-08-25 08:52:02发表:
请不要轻易的尝试本文所介绍的方法