Installing Programs with setup.rb

Quick Start

Type this (You might needs super user previledge):

($ su)
 # ruby setup.rb

If you want to install a program in to your home directory ($HOME), use following instead:

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

Detailed Installtion Process

setup.rb invokes installation by three steps. There are "config", "setup" and "install". You can invoke each steps separately as following:

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

You can controll installation process by giving detailed options for each tasks. For example, --bin-dir=$HOME/bin let setup.rb install commands in $HOME/bin.

For details, see "Task Options".

Global Options

"Global Option" is a command line option which you can use for all tasks. You must give a global option before any task name.

-q,--quiet

suppress message outputs

--verbose

output messages verbosely (default)

-h,--help

prints help and quit

-v,--version

prints version and quit

--copyright

prints copyright and quit

Tasks

These are acceptable tasks:

all

Invokes `config', `setup', then `install'. Task options for all is same with config.

config

Checks and saves configurations.

show

Prints current configurations.

setup

Compiles ruby extentions.

install

Installs files.

test

Invokes tests.

clean

Removes created files.

distclean

Removes all created files.

Task Options for CONFIG/ALL

You can pass following long options for CONFIG task and ALL task.

All options accept parameterized value, like --rbdir=$siterubyver or --sodir=$siterubyverarch. On UNIX shells, you should escape "$" character, so use --rbdir=\$siterubyver or --sodir=$siterubyverach.

--installdirs=(std|site|home)

A handy option to set common install target.

std: install files under $libruby.

site: install files under $siteruby.

home: install files under home directory ($HOME).

--prefix=PATH

The path prefix of target directory pathes like $bindir, $libdir...

--bindir=PATH

The directory for commands.

--rbdir=PATH

The directory for ruby scripts.

--sodir=PATH

The directory for ruby extentions.

--datadir=PATH

The directory for shared data.

--sysconfdir=PATH

The directory for configuration files.

--mandir=PATH

The directory for manual pages.

--libruby=PATH

The directory for ruby libraries.

--librubyver=PATH

The directory for standard ruby libraries.

--librubyverarch=PATH

The directory for standard ruby extensions.

--siteruby=PATH

The directory for version-independent non-standard ruby libraries

--siterubyver=PATH

The directory for non-standard ruby libraries.

--siterubyverarch=PATH

The directory for non-standard ruby extensions.

--rubypath=PATH

The path to set to #! line.

--shebang=(all|ruby|never)

Shenbang line (#!) rewriting mode.

all: replace all shebang lines.

ruby: replace shebang lines which includes string `ruby' and not include /usr/bin/env.

never: never rewrite shebang.

--rubyprog=PATH

The ruby program using for installation.

--makeprog=NAME

The make program to compile ruby extentions.

--without-ext

Forces to setup.rb never to compile/install ruby extentions.

--rbconfig=PATH

Your rbconfig.rb to load.

If there's the directory named "packages", You can also use these options:

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

Package names which you want to install.

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

Package names which you do not want to install.

[NOTE] You can pass options to extconf.rb like this:

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

Task Options for INSTALL

--no-harm

prints what to do and done nothing really.

--prefix=PATH

The prefix of the installing directory path. This option may help binary package maintainers. A default value is an empty string.