setup.rb を使ったプログラムのインストール

この文書ではエンドユーザが setup.rb を使って パッケージをインストールする方法を説明します。

最も単純な方法

通常は次のように打つだけで十分です。 (UNIX 系 OS ではおそらくスーパーユーザ権限が必要です)

($ su)
 # ruby setup.rb

自分のホームディレクトリ以下にインストールしたいときは 次のようにしてください。

$ ruby setup.rb all --prefix=$HOME

インストールの詳細

以下、もう少し詳細に説明します。

setup.rb ではインストールのプロセスが「config」「setup」「install」 の三つの段階に分かれています。setup.rb を引数なしで実行すると config setup install を一気に実行してしまうのですが、次のように すると三つに分けて実行できます。

$ ruby setup.rb config
$ ruby setup.rb setup
# ruby setup.rb install

そして各段階にオプションを付けるとインストール先などを細かく制御 することができます。例えば config に「--bin-dir=$HOME/bin」オプ ションを付けるとコマンドが $HOME/bin にインストールされます。

詳しくは「タスクオプション」の節を見てください。

グローバルオプション

グローバルオプションとは、タスク (config や setup) に関らず 指定できるオプションのことです。必ずタスクの前に指定してください。

-q,--quiet

メッセージ出力を最小限にする

--verbose

実行中の状況を詳細に表示する (デフォルトはオン)

-h,--help

setup.rb の使いかたなどを表示

-v,--version

setup.rb のバージョンを表示

--copyright

setup.rb の著作権を表示

タスク

タスクは以下の七つです。

all

config, setup, install を一気に行う。 タスクオプションは config と共通。

config

設定をチェックしたうえで保存する

show

現在の設定を表示する

setup

コンパイルなど、ファイル内容の変更を行うもの

install

インストールを行う。

test

テストを実行する。

clean

setup で作成したものを消す

distclean

setup で作成したものを消す (より強力)

config/all のタスクオプション

config タスクで使えるオプションを説明します。

値を取るオプションはすべて --opt=value の形で指定します。 「=」のまわりに空白を入れてはいけません。各オプションの デフォルト値は ruby setup.rb --help で見られます。

すべてのオプションで、値に別の変数を使うことができます。 例えば Ruby ライブラリを site_ruby にインストール したければ、--rbdir=$siterubyver と指定できます。 UNIX シェルでは「$」をエスケープして --rbdir=\$siterubyver としてください。

--installdirs=(std|site|home)

よく使われるインストール先ディレクトリを まとめてセットするオプション。

std: $libruby 以下にインストールする。

site: $siteruby 以下にインストールする。

home: ホームディレクトリ下にインストールする。

--prefix=PATH

$bindir, $libdir などの共通部分

--bindir=PATH

実行可能ファイル(コマンド)をインストールするディレクトリ。

--rbdir=PATH

Ruby ライブラリをインストールするディレクトリ。

--sodir=PATH

Ruby の拡張モジュールをインストールするディレクトリ。

--datadir=PATH

その他のデータファイルをインストールするディレクトリ。

--sysconfdir=PATH

設定ファイルをインストールするディレクトリ。

--mandir=PATH

man ページをインストールするディレクトリ。

--libruby=PATH

Ruby ライブラリをインストールするディレクトリ

--librubyver=PATH

Ruby の標準添付ライブラリがインストールされるディレクトリ

--librubyverarch=PATH

Ruby の標準添付拡張ライブラリがインストールされるディレクトリ

--siteruby=PATH

Ruby のバージョンに依存しない、非標準の Ruby ライブラリが インストールされるディレクトリ (site_ruby)

--siterubyver=PATH

Ruby のバージョンに依存する、非標準の Ruby ライブラリが インストールされるディレクトリ (バージョンつき site_ruby)。

--siterubyverarch=PATH

非標準の Ruby 拡張ライブラリがインストールされるディレクトリ (バージョン・アーキテクチャ名つき site_ruby)。

--rubypath=PATH

shebang 行 (#!) にセットする Ruby インタプリタのパス。 つまり、インストールしたプログラムを実行するときに この ruby が使われます。

--shebang=(all|ruby|never)

shebang 行 (#!) の書き換えモードです。

all: すべてのファイルの shenbang 行を書き換えもしくは追加する。

ruby: ruby を起動していると思われる shebang 行だけを書き換える。

never: いっさい shebang 行を書き換えない。

--rubyprog=PATH

インストール時に使う ruby プログラムへのパス。

--makeprog=NAME

拡張ライブラリのコンパイルに使用する make プログラム。

--without-ext

拡張モジュールのコンパイル・インストールを無条件に スキップする。ただし当然ながら、インストールされる プログラム自体が拡張モジュールなしで動くようになって いなければ意味がありません。

--rbconfig=PATH

デフォルト値の設定に使う rbconfig.rb

またマルチパッケージアーカイブではこれに加えて以下のオプションも使えます。

--with=NAME,NAME,NAME...

インストールするパッケージ

--without=NAME,NAME,NAME...

インストールしないパッケージ

さらに、「--」(マイナス二つ)に続けてオプションを指定することで extconf.rb に引数を渡すことができます。

ruby setup.rb config -- --with-tklib=/usr/lib/libtk-ja.so.8.0

install のタスクオプション

--no-harm

挙動を表示するだけで実行しません。

--prefix=PATH

config で決定したパスの先頭にさらに PATH を付加します。 config --prefix がプログラムが実行されるときのパスであるのに 対し、install --prefix はプログラムファイルをコピーするパスを 指定します。主に RPM などのバイナリパッケージ作成用です。 デフォルトは空文字列です。