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 などのバイナリパッケージ作成用です。 デフォルトは空文字列です。