PostgreSQLのドキュメントコンパイル

きっかけ

postgresql_fdwという、外部のPostgreSQLのデータにアクセスするための外部データラッパを作成しているのですが、併せて説明ドキュメントも本体のドキュメントの一部として書いています。

PostgreSQLのドキュメントは、SGMLベースのドキュメント記述言語であるDocBookで記述されていて、必要に応じてそこからHTMLやPDFにフォーマットできるようになっています。ドキュメントの付録にも説明がありますね。

最近MacBook AirPostgreSQL関連の開発環境を移したのですが、ドキュメントコンパイル環境がまだ揃ってなかったのでWebの情報をもとに整えました。

参考にしたサイト

Google先生に聞いたところBerndさんのブログがヒットしました。偶然にも、五月のPGConで「Writing a foreign data wrapper」という外部データラッパ関連の講演をした方でした。

このエントリでは

  1. OpenJadeをMacPortsでインストール
  2. DocBookのDTDなどをダウンロードしてインストール
    • DocBook SGML DTD
    • DocBook DSSSL
    • ISO 8879 Entities

という手順が紹介されていますが、下の方のコメントでFlorian Pflugさん(この方もPostgreSQLの開発に携わっていますね)が「DocBook関連もMacPortsのパッケージになっているよ〜」という情報を寄せてくれていました。というわけで、結局こんな手順であっさり完了です。

やったこと

まず、そもそもMacPorts自体が入ってなかったので、[http://www.macports.org:title=一次配布元からMountain Lion用のパッケージをダウンロードしてインストールしました。
次に、OpenJadeをMacPortsでインストールしました。

$ sudo port install openjade

最後に、DocBook関連のファイルをMacPortsでインストールしました。

$ sudo port install docbook-sgml-4.2

もちろん、二つのパッケージを同時にインストールすることもできます。あ、OpenJadeを入れるときに依存パッケージが大量にあってファンが全力で10分くらい回り続けてましたのでご注意を。

この後、喜び勇んでソースツリー内でコンパイルをお試し。

$ cd postgres/doc/src/sgml
$ make html

とやったんですが、ファイルが見つからないというコンパイルエラー。???となりましたが、configureをやり直して解決しました。