next up previous contents
Next: *RPM 與 SRPM 套件發行 Up: *Tarball 套件發行 Previous: Tarballs 簡介   Contents

KPlayer Tarball 實例

  • 安裝前置作業
    1. 自由軟體多媒體播放軟體Kplayer 官方網站下載原始碼
    2. 在目前目錄(一般為 /usr/src ),解開原始碼:
      [root@dywHome2 src]# tar -jxvf kplayer-0.5.3.tar.bz2
      kplayer-0.5.3/
      kplayer-0.5.3/README
      kplayer-0.5.3/AUTHORS
      kplayer-0.5.3/COPYING
      kplayer-0.5.3/ChangeLog
      kplayer-0.5.3/INSTALL
      kplayer-0.5.3/Makefile.am
      kplayer-0.5.3/Makefile.in
      ----以下省略----
      
    3. 顯示解開原始碼之目錄:
      [root@dywHome2 src]# ls -ld kplayer*
      drwxrwxrwx 8 1002 1002    1024 Jan  9  2005 kplayer-0.5.3/
      -rw-r--r-- 1 root root 3156593 Apr  3 08:50 kplayer-0.5.3.tar.bz2
      
    4. 閱讀 README 與 INSTALL:
      [root@dywHome2 kplayer-0.5.3]# cat INSTALL
      # 截取 INSTALL 中之重要安裝訊息
      Extract the tarball
      
        tar -xjf kplayer-0.5.3.tar.bz2
        cd kplayer-0.5.3
      
      Create configure script
      
        make -f Makefile.dist
      
      Configure
      
        ./configure --prefix=`kde-config --prefix`
      
      Compile
      
        make
      
      Install
      
        su -c 'make install'
      
      Run
      
        kplayer
      
  • 依照上述 INSTALL 之重要安裝訊息,逐步安裝:
    1. Extract the tarball,已完成。
    2. Create configure script
      [root@dywHome2 kplayer-0.5.3]# make -f Makefile.dist
      This Makefile is only for the CVS repository
      This will be deleted before making the distribution
      
      *** Creating acinclude.m4
      *** Creating list of subdirectories
      *** Creating configure.files
      *** Creating configure.in
      *** Creating aclocal.m4
      *** Creating configure
      *** Creating config.h template
      *** Creating Makefile templates
      *** Postprocessing Makefile templates
      *** Creating date/time stamp
      *** Finished
          Don't forget to run ./configure
          If you haven't done so in a while, run ./configure --help
      
    3. Configure
      1. 假設相依套件已安裝;
      2. ./configure:表示執行目前目錄下之自動偵測作業環境執行檔 configure;
      3. --prefix=PATH:指定安裝目錄為 PATH。
        例如:--prefix=/usr/local/kplayer
      4. `kde-config --prefix`:會先執行,以找到套件安裝目錄,在本系統為 /usr;
      5. 若系統環境檢查一切正常,則出現訊息 Good - your configure finished. Start make now。
      [root@dywHome2 kplayer-0.5.3]# ./configure --prefix=`kde-config --prefix`
      [root@dywHome2 kplayer-0.5.3]# ./configure --prefix=/usr/local/kplayer
      checking build system type... i686-pc-linux-gnu
      checking host system type... i686-pc-linux-gnu
      ----中間省略----
      configure: creating ./config.status
      fast creating Makefile
      fast creating admin/Makefile
      fast creating doc/Makefile
      fast creating doc/da/Makefile
      fast creating doc/en/Makefile
      fast creating doc/pt/Makefile
      fast creating doc/sv/Makefile
      fast creating icons/Makefile
      fast creating kplayer/Makefile
      fast creating po/Makefile
      config.pl: fast created 10 file(s).
      config.status: creating config.h
      config.status: config.h is unchanged
      config.status: executing depfiles commands
      
      Good - your configure finished. Start make now
      
    4. Compile
      [root@dywHome2 kplayer-0.5.3]# make
      ----以上省略----
      make[2]: Entering directory `/usr/src/kplayer-0.5.3'
      make[2]: Leaving directory `/usr/src/kplayer-0.5.3'
      make[1]: Leaving directory `/usr/src/kplayer-0.5.3'
      
    5. Install
      [root@dywHome2 kplayer-0.5.3]# make install
      ----以上省略----
      make[2]: Leaving directory `/usr/src/kplayer-0.5.3'
      make[1]: Leaving directory `/usr/src/kplayer-0.5.3'
      
    6. 查看安裝目錄 /usr/local/kplayer/
      [root@dywHome2 src]# ll /usr/local/kplayer/
      total 3
      drwxr-xr-x 2 root root 1024 Apr  3 10:09 bin/
      drwxr-xr-x 3 root root 1024 Apr  3 10:09 lib/
      drwxr-xr-x 8 root root 1024 Apr  3 10:09 share/
      
  • 進入目錄 kplayer-0.5.3 修改原始碼:
    [root@dywHome2 src]# cd kplayer-0.5.3
    

  • 將 kplayer-0.5.3 整個目錄,打包壓縮成 tarball。
    1. 直接以 tar 指令打包壓縮
      [root@dywHome2 kplayer-0.5.3]# cd..
      [root@dywHome2 src]# tar -zcvf kplayer-0.5.3.systray.tar.gz ./kplayer-0.5.3
      ./kplayer-0.5.3/
      ./kplayer-0.5.3/README
      ./kplayer-0.5.3/AUTHORS
      ./kplayer-0.5.3/COPYING
      ./kplayer-0.5.3/ChangeLog
      ./kplayer-0.5.3/INSTALL
      ----中間省略----
      ./kplayer-0.5.3/Makefile
      ./kplayer-0.5.3/libtool
      ./kplayer-0.5.3/config.status
      ./kplayer-0.5.3/config.h
      
    2. 利用 Makefile 產生 tarball
      1. 修改 Makefile 中版本序號 VERSION:0.5.3 後面加入 .systray
        [root@dywHome2 kplayer-0.5.3.systray]# vi Makefile
        VERSION = 0.5.3.systray
        ## 所有目錄 kplayer-0.5.3 皆改成 kplayer-0.5.3.systray
        ## 在 vi 環境下指令 :1,$s/kplayer-0.5.3/kplayer-0.5.3.systray/g
        install_sh = /usr/src/rpm/SOURCES/kplayer-0.5.3.systray/admin/install-sh
        
      2. 執行 make dist-gzip,產生 tarball kplayer-0.5.3.systray.tar.gz
        [root@dywHome2 kplayer-0.5.3.systray]# make dist-gzip
        { test ! -d kplayer-0.5.3.systray || { find kplayer-0.5.3.systray 
        -type d ! -perm -200 -exec chmod u+w {} ';' 
        && rm -fr kplayer-0.5.3.systray; }; }
        mkdir kplayer-0.5.3.systray
        ----以下省略----
        
  • 直接以 tarball 將軟體釋出
    1. 將 tarball kplayer-0.5.3.systray.tar.gz 移到上一層目錄 /usr/src/rpm/SOURCES。
      [root@dywHome2 kplayer-0.5.3.systray]# mv kplayer-0.5.3.systray.tar.gz ../
      
    2. 查看 tarball kplayer-0.5.3.systray.tar.gz。
      [root@dywHome2 kplayer-0.5.3.systray]# cd..
      [root@dywHome2 SOURCES]# ll
      total 6818
      drwxr-xr-x 9 root root     1024 Apr  5 15:17 kplayer-0.5.3.systray/
      -rw-r--r-- 1 root root  3793524 Apr  5 15:15 kplayer-0.5.3.systray.tar.gz
      -rw-r--r-- 1 root users 3156593 Jul  3  2006 kplayer-0.5.3.tar.bz2
      
    3. 釋出 kplayer-0.5.3.systray.tar.gz
練習題
  1. 若將套件 kplayer 安裝在 /usr/local/kplayer,則其執行檔放置在那個目錄?
    Sol. /usr/local/kplayer/bin
  2. 若將套件 kplayer 安裝在 /usr/local/kplayer,則其函式庫放置在那個目錄?
    Sol. /usr/local/kplayer/lib
  3. 若將套件 kplayer 安裝在 /usr/local/kplayer,則其程式選單連結檔放置在那個目錄?
    Sol. /usr/local/kplayer/share/applnk
  4. 若將套件 kplayer 安裝在 /usr/local/kplayer,則其程式內容放置在那個目錄?
    Sol. /usr/local/kplayer/share/apps
  5. 若將套件 kplayer 安裝在 /usr/local/kplayer,則其程式文件放置在那個目錄?
    Sol. /usr/local/kplayer/share/doc
  6. 若將套件 kplayer 安裝在 /usr/local/kplayer,則其程式圖標放置在那個目錄?
    Sol. /usr/local/kplayer/share/icons
  7. 若將套件 kplayer 安裝在 /usr/local/kplayer,則其程式支援語系之檔案放置在那個目錄?
    Sol. /usr/local/kplayer/share/locale
  8. 若將套件 kplayer 安裝在 /usr/local/kplayer,則其程式支援服務之檔案放置在那個目錄?
    Sol. /usr/local/kplayer/share/services
  9. 若將套件 kplayer 安裝在 /usr/local/kplayer,如何以一個指令將其完全移除?
    Sol. rm -rf /usr/local/kplayer
  10. 請說明 Linux 套件相依性。
    Sol. Linux 軟體套件,經常無法單獨安裝,往往需要其他相關套件存在,才能正常工作。
  11. 套件 kplayer 安裝前,需要先安裝套件 mplayer,則移除套件 mplayer 後,kplayer 能否執行?
    Sol. 無法執行。
  12. 套件 kplayer 安裝前,必須先裝套件 mplayer,而 mplayer 必須先安裝套件 kdelibs-common,解除安裝之順序為何?
    Sol. 移除順序為 kdelibs-common, mplayer, kplayer。
  13. Tarball 套件 kplayer-0.5.3.tar.bz2 下載後要如何解打包壓縮?
    Sol. tar -jxvf kplayer-0.5.3.tar.bz2
  14. Tarball 套件 kplayer 解打包壓縮後,請說明 INSTALL 中重要訊息
    Create configure script
    make -f Makefile.dist。
    Sol. 產生作業環境偵測腳本,需執行 make -f Makefile.dist。
  15. Tarball 套件 kplayer 解打包壓縮後,請說明 INSTALL 中重要訊息 ./configure -prefix=`kde-config -prefix`。
    Sol. 先執行 kde-config -prefix 產生 kde 配置目錄,一般為 /usr;在目前目錄下以選項 -prefix=/usr 執行作業環境偵測 configure。
  16. 安裝 tarball 套件 kplayer,執行 make -f Makefile.dist 最後出現 Don't forget to run ./configure,代表意義為何?
    Sol. 表示作業環境偵測腳本產生成功,不要忘了執行 ./configure。
  17. 安裝 tarball 套件 kplayer,執行 ./configure,代表意義為何?
    Sol. 表示執行目前目錄下之自動偵測作業環境執行檔 configure。
  18. 安裝 tarball 套件 kplayer,執行 ./configure -prefix=PATH,其中選項 -prefix=PATH 代表意義為何?
    Sol. 指定安裝目錄為 PATH。
  19. 安裝 tarball 套件 kplayer,執行 ./configure -prefix=`kde-config -prefix`,其中選項 `kde-config -prefix` 代表意義為何?
    Sol. ``括號,表示先執行 kde-config -prefix,產生 kde 配置目錄。
  20. 安裝 tarball 套件 kplayer,執行 ./configure -prefix=`kde-config -prefix`,最後出現 Good - your configure finished. Start make now 代表意義為何?
    Sol. 表示自動偵測作業環境產生 makefile 成功,可以繼續執行 make。


next up previous contents
Next: *RPM 與 SRPM 套件發行 Up: *Tarball 套件發行 Previous: Tarballs 簡介   Contents
2017-06-14