wiki:waue/2009/0512

Version 7 (modified by waue, 16 years ago) (diff)

--

製作 Nutch deb

前言

  • 此篇要製作Nutch的deb包
  • 參考前一篇 Deb檔打包工作[前一篇參考Jazz打包方法]
  • 動機: Nutch 的安裝方法繁瑣,並且設定檔輸入錯誤則難以debug,常nutch執行完後才知道完全沒有抓到資料,卻又找不出問題在哪?因此若用deb包安裝完後,使用者簡單的再設定一下就可以上手。
  • 目的:安裝完此Nutch包,則Nutch 安裝完成,並且載入Nutch的設定檔
  • 最終目的:整合hadoop, nutch , tomcat 三個複雜的軟體
  • future work: 打包順利,下一步則設計nutch的簡易設定流程,如/opt/drbl/sbin/dcs

紀錄測試步驟

  • 預安裝到系統的哪個目錄很重要,事先要把檔案的配置拓樸規劃好,否則要改的檔案很多,容易錯亂
  • 事先產生自己的 gpg key ,在最後產生deb檔的時候會用到 (用gui的gpa產生比較理想),產生後用gpg --list-key |grep D/可以查到私鑰的八碼編碼,如:B35CE8C3
  • 似乎直接修改nutch-1.0下的conf內的檔案會被警告,因此建議不要動任何原本在nutch-1.0資料夾下的檔案,改寫在debian/postinst內

1. 找到並解壓縮 nutch-1.0.tar.gz

2. 在 nutch-1.0 資料夾執行 dh_make -f ../nutch_1.0.tar.gz

3. 將debian內的 rm *.ex *.EX dir 等檔案,並修改 rules , control

  • changelog
nutch (1.0-1) unstable; urgency=low
  * Initial release (Closes: #nnnn)  <nnnn is the bug number of your ITP>
 -- Wei-Yu Chen <waue0920@gmail.com>  Tue, 12 May 2009 11:15:51 +0800
  • compat

5
  • control

Source: nutch
Section:devel
Priority: extra
Maintainer: Wei-Yu Chen <waue0920@gmail.com>
Build-Depends: debhelper (>= 5)
Standards-Version: 3.7.2

Package: nutch
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, sun-java6-jre, sun-java6-bin
Suggests: sun-java6-jdk, tomcat6
Description: Apache Nutch
   .
   Apache Nutch is a software that search and crawl internet.
  • copyright
    This package was debianized by Wei-Yu Chen <waue0920@gmail.com> on
    Tue, 12 May 2009 11:15:51 +0800.
    
    It was downloaded from <url://example.com>
    
    Upstream Author(s): 
    
        <put author's name and email here>
        <likewise for another author>
    
    Copyright: 
    
        <Copyright (C) YYYY Name OfAuthor>
        <likewise for another author>
    
    License:
    
        <Put the license of the package here indented by 4 spaces>
    
    The Debian packaging is (C) 2009, Wei-Yu Chen <waue0920@gmail.com> and
    is licensed under the GPL, see `/usr/share/common-licenses/GPL'.
    
    # Please also look if there are files or directories which have a
    # different copyright/license attached and list them here.
    
  • docs

CHANGES.txt
LICENSE.txt 
NOTICE.txt
README.txt
README.txt
  • rules
    #!/usr/bin/make -f
    export DH_VERBOSE=0
    
    all:
    
    install:
            dh_testdir
            dh_testroot
            dh_install -Xlicense.txt
            dh_installdocs
            dh_installchangelogs
            #dh_installexamples
            dh_compress
            dh_fixperms
            dh_installdeb
            dh_link
            dh_gencontrol
            dh_md5sums
            dh_builddeb
    
    clean:
            dh_clean
    
    binary: install
    
    build:
    binary-arch:
    binary-indep:
    }}} * changelog
    {{{
    nutch (1.0-1) unstable; urgency=low
      * Initial release (Closes: #nnnn)  <nnnn is the bug number of your ITP>
     -- Wei-Yu Chen <waue0920@gmail.com>  Tue, 12 May 2009 11:15:51 +0800
    }}}
     * compat
     
    {{{
    5
    }}}
     * control
     
    {{{
    Source: nutch
    Section:devel
    Priority: extra
    Maintainer: Wei-Yu Chen <waue0920@gmail.com>
    Build-Depends: debhelper (>= 5)
    Standards-Version: 3.7.2
    
    Package: nutch
    Architecture: any
    Depends: ${shlibs:Depends}, ${misc:Depends}, sun-java6-jre, sun-java6-bin
    Suggests: sun-java6-jdk, tomcat6
    Description: Apache Nutch
       .
       Apache Nutch is a software that search and crawl internet.
    }}}
     * copyright
    {{{
    This package was debianized by Wei-Yu Chen <waue0920@gmail.com> on
    Tue, 12 May 2009 11:15:51 +0800.
    
    It was downloaded from <url://example.com>
    
    Upstream Author(s): 
    
        <put author's name and email here>
        <likewise for another author>
    
    Copyright: 
    
        <Copyright (C) YYYY Name OfAuthor>
        <likewise for another author>
    
    License:
    
        <Put the license of the package here indented by 4 spaces>
    
    The Debian packaging is (C) 2009, Wei-Yu Chen <waue0920@gmail.com> and
    is licensed under the GPL, see `/usr/share/common-licenses/GPL'.
    
    # Please also look if there are files or directories which have a
    # different copyright/license attached and list them here.
    }}}
     * docs
     
    {{{
    CHANGES.txt
    LICENSE.txt 
    NOTICE.txt
    README.txt
    README.txt
    }}}
     * rules
    {{{
    #!/usr/bin/make -f
    export DH_VERBOSE=0
    
    all:
    
    install:
            dh_testdir
            dh_testroot
            dh_install -Xlicense.txt
            dh_installdocs
            dh_installchangelogs
            #dh_installexamples
            dh_compress
            dh_fixperms
            dh_installdeb
            dh_link
            dh_gencontrol
            dh_md5sums
            dh_builddeb
    
    clean:
            dh_clean
    
    binary: install
    
    build:
    binary-arch:
    binary-indep:
    }}}
    
     == 4. 增加 nutch.[install,docs,links,postinst, postrm, prerm] 等檔 ==
     == 5. 在 nutch-1.0 資料夾內編輯Makefile檔 ==
     == 6. 執行 ''' sudo dpkg-buildpackage -rfakeroot -k0xB35CE8C3''' ==