Web Oriented Object Framework

User Guide (Version 0.5b4)

Woof!
User Guide (Version 0.5b4)

installer - installation utility

The installer.tcl script in the scripts subdirectory implements building and installation of Woof! distributions.

Building a distribution

The general form of the command to build a distribution is

tclsh scripts/installer.tcl distribute TARGETDIR ?options?

This will create multiple format distributions in the specified target directory including

woof-VERSION.tar.gz Distribution for Unix with Unix line endings.
woof-VERSION.zip Distribution for Windows with Windows style line endings.
bowwow-VERSION.exe Single file BowWow executable for Windows.

The program will return an error if the target directory exists. Specify the option -force true to overwrite existing directories.

By default, the distribution is built from the working directory. To create a distribution from the contents of the source repository, specify the option -fromscm true.

Note that this command makes use of several external programs to build the archives. These must be present in the path.

NOTE Although the distribution can be built on either Unix or Windows, only the latter will build the bowwow.exe executable.

Installing a distribution

After a .tar.gz or .zip distribution is unpacked into a directory, the installer.tcl script can then be used to install on the target system. The general syntax of the command is

tclsh scripts/installer.tcl install SERVER INTERFACE ?options?

By default, the script will install in its current location. Specify the -installdir INSTALLDIR option to install to directory INSTALLDIR instead.

The SERVER argument specifies the web server (e.g. Apache).

The INTERFACE argument specifies the web server interface to be used, for example SCGI.

See the Installation chapter for valid values, usage examples, and details about each supported server and interface.

The installer will write progress and error messages to a log file in the target directory where Woof! is being installed. This can be useful for troubleshooting purposes.