WWW を検索 NOGNOG.COM を検索

WWW.NOGNOG.COM

Last modified: Sat, 29 Dec 2007 15:19:48 +0900
Home   うにっくすさんの覚え書き   プリングルズ   MIDI   ユーザー車検   「小沢昭一の小沢昭一的こころ」のススメ   Blog  

オリジナルパッケージの作成

  • はじめに

    • FreeBSD, NetBSD, OpenBSD のパッケージの作成方法について解説します。
      今回は例として、/usr/local/proftpd にインストール済みの
      ProFTPD(MySQL認証対応)をパッケージ化してみます。

  • パッケージ材料の準備

      # cd /tmp (作成場所はどこでも構いません)
      # vi COMMENT

      「% pkg_info」でパッケージ一覧が表示されますが、その際の右辺に表示されるメッセージを記入します。(Comment:)

        A ftp daemon with authentication over MySQL

      # vi DESC

      「% pkg_info パッケージ名」で表示される詳細コメントを記入します。(Description:)
        This Software is a ftp daemon 'ProFTPD'.
        
        >> NOTICE <<
        This package needs MySQL libraryes.
        So, when you run 'pkg_add', mysql-server package will be added together.
        
        About build for Database and Table, Please check the below
        URL. It is ProFTPD Official Site.
        
        http://www.proftpd.org/
        			

      # find /usr/local/proftpd ! -type d | sed 's/^\/usr\/local\///' > PLIST

        上記コマンドでインストール済みのディレクトリからファイルの一覧を抽出します。

      # vi PLIST

      いよいよ具体的なパッケージ内容の情報を作成します。
      下記のフォーマットを参考にして下さい。

        @name proftpd
        @cwd /usr/local
        @exec mkdir -p %D/proftpd/var/proftpd
        @pkgdep mysql-server-4.0.20
        proftpd/bin/ftpcount
        proftpd/bin/ftpwho
        proftpd/sbin/ftpshut
        proftpd/sbin/proftpd
        proftpd/etc/proftpd.conf
        man/man1/ftpcount.1
        man/man1/ftpwho.1
        man/man5/xferlog.5
        man/man8/ftpshut.8
        man/man8/proftpd.8
        @unexec rm -r %D/proftpd
        @cwd .
        @ignore
        +COMMENT
        @ignore
        +DESC
        
        
        @exec	本パッケージのインストール時(pkg_add)に別途実行したい
        	コマンド(ディレクトリの作成など)がある場合に記述します。
        @pkgdep	依存関係のパッケージがある場合は、必要なパッケージを記述します。
        	ここで記載することで、本パッケージのpkg_add時に依存パッケージも
        	合わせて自動的にpkg_addされます。
        @unexec	本パッケージのアンインストール時(pkg_delete)に別途実行したい
        	コマンド(ディレクトリの削除など)がある場合に記述します。
        			
      最後にパッケージ情報を元にデータをアーカイブ化し、
      そのアーカイブを圧縮すれば、オリジナルパッケージの完成です。

      # pkg_create -f PLIST -c COMMENT -d DESC proftpd-1.2.10-mysql.tar
      # cat proftpd-1.2.10.tar | gzip >> proftpd-1.2.10-mysql.tgz

うにっくすさんの覚え書きについて

Home >> うにっくすさんの覚え書き >> オリジナルパッケージの作成