Linux下製作簡單的仿Windows安裝介面(轉)

amyz發表於2007-08-10
Linux下製作簡單的仿Windows安裝介面(轉)[@more@]

  安裝包特性:

  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。內容為:

  %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:

  [url=][/url]

  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

  在終端進入/usr/src/redflag/SPECS目錄,執行:

  rpmbuild -bb eva.spec

  完成後,/tmp/build-root-eva目錄下就是EVA-0.4.0編譯安裝後的目錄結構,/usr/src/redflag/BUILD目錄下的file.list.eva檔案是EVA-0.4.0編譯安裝後的檔案列表。

  3、配齊檔案

  建立/tmp/evainstaller目錄,將

  installer-files.tar.bz2

  解壓後得到的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目錄下的檔案是否是這些:

  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

  確認檔案齊全後,將其壓縮,在終端進入/tmp/evainstaller目錄,執行:

  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

  合成安裝包:

  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

  現在雙擊eva-0.4.0-rfdt4.1-installer.bin就可以開始安裝了。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752019/viewspace-941304/,如需轉載,請註明出處,否則將追究法律責任。

相關文章