FreePWING プログラミングドキュメント

[前へ] [次へ] [目次]

# パッケージ化

ここまでの説明で `honmon` ファイルは生成できるように なりましたが、これだけでは JIS X 4081 形式の書籍として完全なものでは ありません。 この章では、JIS X 4081 形式の書籍としてパッケージ化する方法などに ついて説明します。

## catalogs

JIS X 4081 形式の書籍では、これまでに生成した `honmon` ファイルの他に、`catalogs` というファイルが必ず必要です。 FreePWING には `catalogs` ファイルを生成する仕掛けが用意 として、EPWUTIL というソフトウェアに付属している `catdump` コマンドと互換の Perl スクリプトが用意されています。

`catdump` を使って `catalogs` ファイルを生成する には、まず次のような `catalogs.txt` ファイルを用意します。

>     [Catalog]
>     FileName   = catalogs
>     Type       = EPWING1
>     Books      = 1

>     [Book]
>     Title      = "国語辞典"
>     BookType   = 6001
>     Directory  = "KOKUGO"

用意ができたら、実際に `catalogs` ファイルを生成します。 `catdump` を直接起動する代わりに、次のようにします。

>     % fpwmake catalogs

`catalogs.txt` ファイルの書式の詳細については、 EPWUTIL 付属の `catdump` のマニュアル をご覧ください。

なお、`/usr/local/share/freepwing/catalogs` ディレクトリに catdump 用の `catalogs.txt` のサンプルファイルと、 catdump で生成した `catalogs` ファイルがインストールされます (ただし、FreePWING を `/usr/local` 以下にインストールして datadir を変更していない場合)。 こちらを参考にすると良いでしょう。

## パッケージ化のための Makefile の改良

用意した `Makefile` にいくつかの変数を追加することで、 パッケージ化を容易にすることができます。 以下に記述例を記します。

>     PACKAGE = kokugo-fpw1.0
>     PACKAGEEXTRA = README.pkg=README TODO VERSION
>     PACKAGEDEPS  = VERSION
>     ARCHIVEEXTRA = README.pkg TODO
>     CLEANEXTRA   = VERSION
>     DIR = kokugo

>     VERSION:
>           rm -f $@
>           date +'version %Y-%m-%d' > VERSION

各パラメタの意味は、次の通りです。

`PACKAGE`
  このパッケージの名前です。 変換プログラム一式を、tar+gzip および zip 形式でアーカイブする際の トップディレクトリおよびファイル名の接頭辞に使われます。 上記の例ではトップディレクトリは `kokugo-fpw1.0`、ファイル 名は `kokugo-fpw1.0-src.tar.gz` になります。 また、JIS X 4081 形式に変換した書籍データ一式をパッケージ化して tar+gzip 形式や zip 形式でアーカイブする際のファイル名にも使われます。 上記の例では `kokugo-fpw1.0.tar.gz`、 `kokugo-fpw1.0.zip` になります。
`PACKAGEEXTRA`
  JIS X 4081 形式に変換した書籍データ一式 (`catalogs`、 `honmon` および外字ファイル) を収めたアーカイブを作る際に、 書籍データ以外に一緒に入れるファイルを書き並べます。 `ファイル名=ファイル名' という形で指定した場合は、左辺のファイルを右辺 のファイル名に改名してパッケージに入れることを意味します。
`PACKAGEDEPS`
  変換プログラム一式のアーカイブを作成する際に、ここに書かれたターゲット が前もって実行されます。 `PACKAGEEXTRA` で指定したファイルの中に、最初から用意されて いるファイルではなく、何らかの処理をして生成しなくてはならないファイル があった場合は、この `PACKAGEDEPS` に書き、生成方法を `Makefile` の中に記しておくと良いでしょう。
`ARCHIVEEXTRA`
  変換プログラム一式のアーカイブを作る際に、`README`、 `Makefile`、catdump 用の `catalogs.txt` 以外に 一緒に入れるファイルを書き並べます。 `ファイル名=ファイル名' という形で指定した場合は、左辺のファイルを右辺 のファイル名に改名してパッケージに入れることを意味します。
`DIR`
  `honmon` および外字ファイルを収めるサブディレクトリの名前 です。 `catalogs.txt` の中で `Directory` パラメタに 書いた値を小文字化したものを指定する必要があります。 また、この `DIR` の値は、変換した書籍データ一式を パッケージ化する際のトップディレクトリにも使われます。

## インストール

前節で説明した改良を `Makefile` に施したら、fpwmake を実行 してみます。 まず、JIS X 4081 形式に変換した書籍データ一式をインストールしてみます。 これには、install ターゲットを使います。

>     % fpwmake install

FreePWING を `/usr/local` 以下にインストールし、 `datadir` の位置を変更していなければ、 `/usr/local/share/dict` にインストールされます。 前節の例を使った場合、ディレクトリ以下は次のようになります。

>     kokugo/README
>     kokugo/TODO
>     kokugo/catalogs
>     kokugo/kokugo/data/honmon

別の場所にインストールしたい場合は、`INSTALLDIR` で指定 します。

>     % fpwmake install installdir=/some/where

## 変換した書籍データのアーカイブ

次に、JIS X 4081 形式に変換した書籍データ一式をパッケージ化して tar+gzip 形式および zip 形式でアーカイブしてみます。 (インストールを実行しなくても、アーカイブの作成は可能です。) これには、package ターゲットを使います。

>     % fpwmake package

先にも記しましたが、今回の例では、できあがるファイル名は `kokugo-fpw1.0.tar.gz`、`kokugo-fpw1.0.zip` に なります。 これらのファイルに収められるファイルは、次の通りです。 基本的に、インストールのときの構成と同じです。ただし、zip 形式では ファイル名およびディレクトリ名は大文字になります。

>     kokugo/README
>     kokugo/TODO
>     kokugo/catalogs
>     kokugo/kokugo/data/honmon

## 変換スクリプトのアーカイブ

最後に、変換プログラム一式をパッケージ化して tar+gzip 形式でアーカイブ してみます。 (honmon を作成していなくても、アーカイブの作成は可能です。) これには、archive ターゲットを使います。

>     % fpwmake archive

今回の例では、できあがるファイル名は `kokugo-fpw1.0-src.tar.gz` になります。 これらのファイルに収められるファイルは、次の通りです。

>     kokugo-fpw1.0/README
>     kokugo-fpw1.0/catalogs.txt
>     kokugo-fpw1.0/Makefile
>     kokugo-fpw1.0/README.pkg
>     kokugo-fpw1.0/TODO

[前へ] [次へ] [目次]