= ビルド方法
== 1. 前提環境(パッケージ)
* 本配布は Linux 上にて構築することを想定しています。Unix 互換環境でもビルドできると思いますが検証はしていません。
* 本配布ではビルドのために、標準的な開発ツールとして Cコンパイラおよび `make` を必要とします。
* さらに以下のツールまたはパッケージが必要です。
* Docbook XML DTD 4.5 (4.5 は必須です)
* Docbook XSL stylesheets
* xmllint (libxml2)
* xsltproc (libxslt)
* tidy (HTML Tidy-cvs)
* また tarball 解凍のために tar, bzip2 が必要です。
* Subversion リポジトリから最新のソースを入手する場合には Subversion が必要です。
* 開発編集作業を行う場合は `autoconf` (2.64)、`automake` (1.11) が必要です。(単にビルドするだけなら、それらは不要です。)
* 例えば Debian の場合、追加でインストールすべき主要なパッケージは、`docbook-xml`、`docbook-xsl`、`xsltproc`、`libxml2-utils`、`tidy` となることを確認しています。他のディストリビューションの場合はこれを参考として必要パッケージを確定してください。
* Cygwin をお使いの場合は、[CygwinBuild ビルド方法(Cygwin)] を参照してください。
* LFS が既に構築済である場合は、これも本配布をビルドする環境として利用することができます。その場合は BLFS (Beyond Linux From Scratch) ブックに説明されている、`!DocBook XML DTD-4.5`、`!DocBook XSL Stylesheets`、`libxml2`、`libxslt`、`HTML Tidy-cvs` をソース入手してビルドすることで環境構築できます。このことは他のディストリビューションでも通用する話で、他のディストリビューションにて追加インストールすべきパッケージが不明であったり、自前でソースから構築することに支障がないのであれば、BLFSの手順に従ってソースからビルドしていけば、確実にビルド環境を構築できます。
== 2. ソースの入手
* 本配布はオリジナル LFS ブックの XML ソースを必要とします。LFS サイトの以下のURLから、ソース tarball を入手します。tarball 名は、安定版の場合 `LFS-BOOK-`''Version''`-XML.tar.bz2`、SVN版の場合 `LFS-BOOK-SVN-`''Date''`.tar.bz2` といったファイルになっています。
* [http://www.linuxfromscratch.org/lfs/downloads/stable/] (安定版の場合)
* [http://www.linuxfromscratch.org/lfs/downloads/development/] (SVN版の場合)
* 本配布のソースを入手します。安定版とSVN版があります。いずれの版も鋭意開発を続けており、その最新は本サイト内の Subversion リポジトリより入手することもできます。
* なおオリジナルのSVN版は `SVN-20090819` などによりバージョン表記がなされており、本配布でのSVN版もそれに追随して構築しています。`SVN-20090819` などのバージョンをチェックしているため、オリジナルと本配布のバージョンが異なる場合には、ビルドができないことがあります。ビルドできないのは開発者がまだ最新バージョンへの追随を行っていないことを示しています。
== 3. ビルド手順
* 本配布のソースを適当なディレクトリに展開(解凍)します。`VER` はバージョンを示します。安定版の場合は `6.8`など、SVN版の場合は `SVN` となります。
{{{
% cd /usr/local/src
% tar -xf /path/to/download/lfsbookja-VER.tar.gz
}}}
* 安定版の場合、LFS ブック XML ソース安定版を、上記と同じディレクトリに展開(解凍)します。(安定版のバージョンが6.8の場合)
{{{
% cd /usr/local/src
% tar -xf /path/to/download/LFS-BOOK-6.8-XML.tar.bz2
}}}
* SVN版の場合、LFS ブック XML ソース SVN版を、上記と同じディレクトリにて Subversion によりチェックアウトします。(チェックアウト場所は `/usr/local/src` では不適切かもしれません。適宜選定ください。)
{{{
% cd /usr/local/src
% svn co svn://svn.linuxfromscratch.org/LFS/trunk/BOOK
}}}
* 本配布のソースディレクトリに入って `configure`, `make` を実行します。`VER` はバージョンを示します。安定版の場合は `6.6`、SVN版の場合は `SVN` となります。
{{{
% cd /usr/local/src/lfsbookja-VER
% ./configure && make
}}}
* 特に開発者の場合はソースディレクトリにて `configure`、`make` するのではなく、別のビルドディレクトリを生成してそこで実施すれば、ソースファイルと混在することなく、すっきりとビルド作業およびソース管理ができますのでお勧めします。この場合はオリジナルの XML ソースディレクトリを指定する必要があるため `configure` のオプション `--with-bookdir` を指定することになります。これについては後述しています。
{{{
% mkdir ~/lfsbookja-build
% cd ~/lfsbookja-build
% /usr/local/src/lfsbook-ja-VER/configure --with-bookdir=/path/to/originaldir
% make
}}}
* 現時点において `make install` は整備できていません。上の `make` コマンド実行により、ソースディレクトリ配下に `6.6.ja` のようなサブディレクトリが生成され、そこに HTML ソース一式が生成されます。これが成果物となります。
* `configure` のオプションとして `--with-bookdir` を設けています。デフォルトでオリジナル XML ソースツリーは、本配布のソースツリーと横並びの場所に配置するものとしており、さらにディレクトリ名を固定的に決めうちしています。`--with-bookdir` オプションを指定すれば、そのディレクトリパスを変更することができます。