Show page source of HowToBuild #57331

= ビルド方法

== 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.6`、SVN版の場合は `SVN` となります。
{{{ 
% cd /usr/local/src
% tar -xf /path/to/download/lfsbookja-VER.tar.gz
}}}

 * 安定版の場合、LFS ブック XML ソース安定版を、上記と同じディレクトリに展開(解凍)します。
{{{ 
% cd /usr/local/src
% tar -xf /path/to/download/LFS-BOOK-6.6-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` オプションを指定すれば、そのディレクトリパスを変更することができます。