2011-03-04 17:44:10 +00:00
|
|
|
Software Installation Tool (SIT)
|
|
|
|
--------------------------------
|
|
|
|
|
|
|
|
SIT is a simple software installation tool inspired by gentoo's emerge script.
|
|
|
|
It eases the installation process and helps to prevent errors during the
|
|
|
|
installation as well as helps with the documentation as it generates a lot of
|
|
|
|
log files and installes them together with the softwre package.
|
|
|
|
|
|
|
|
In its current version it can only install a package using a package class file
|
|
|
|
including the necessary information
|
|
|
|
|
2011-07-07 23:35:12 +00:00
|
|
|
The package tree resides per default in the directory $SIT_PATH/packages. For
|
2011-03-04 17:44:10 +00:00
|
|
|
convenience it should look like following
|
|
|
|
$SIT_PATH/packages/CATEGORY/PACKAGE-VERSION
|
|
|
|
|
|
|
|
|
|
|
|
The global configuration file of SIT is $SIT_PATH/etc/sit.conf
|
|
|
|
It includes a variety of default values:
|
2011-07-07 23:35:12 +00:00
|
|
|
* PREFIX_BASE
|
|
|
|
* SRC_POOL
|
|
|
|
* SCLASS_DIR
|
|
|
|
|
|
|
|
* DEFAULT_PLATFORM
|
|
|
|
* DEFAULT_COMPILER
|
2011-03-04 17:44:10 +00:00
|
|
|
|
|
|
|
The installation process is currently controled with the following environment
|
|
|
|
variables:
|
|
|
|
* COMPILER
|
|
|
|
* COMPILER_VERSION
|
|
|
|
* MPI
|
|
|
|
* MPI_VERSION
|
2011-11-02 13:52:44 +00:00
|
|
|
* PLATFORM
|
2011-07-07 23:35:12 +00:00
|
|
|
* HOSTNAME
|
|
|
|
|
|
|
|
Sit detects currently the build platform using the HOSTNAME variable. If sit
|
|
|
|
cannot determine the PLATFORM it uses the default platform specified in sit.conf.
|
|
|
|
For each platform configuration files are stored unter
|
|
|
|
$SIT_PATH/etc/platform-configs/$PLATFORM/*
|
|
|
|
|
|
|
|
At the moment only compiler configurations are supported.
|
2011-03-04 17:44:10 +00:00
|
|
|
|
|
|
|
|
|
|
|
To install a package simply call sit with the necessary information provided by
|
|
|
|
these variables:
|
|
|
|
> [VARIABLE_DECLARATIONS] sit PACKAGE
|
|
|
|
|
|
|
|
e.g.
|
|
|
|
|
|
|
|
> PREFIX_BASE=/opt COMPILER=gnu COMPILER_VERSION=4.5 sit mpi/openmpi-1.5.1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
PACKAGE FILES:
|
|
|
|
|
|
|
|
Package files should include all the necessary information for the installation
|
|
|
|
proces. The syntax of the package class files is inspired by gentoo's ebuild files.
|
|
|
|
|
|
|
|
|
|
|
|
A sit package file must contain at least the following variables
|
|
|
|
|
|
|
|
A archive (source tarball)
|
|
|
|
P package (name of extracted source folder)
|
|
|
|
URL
|
|
|
|
INSTALLER
|
|
|
|
|
|
|
|
|
|
|
|
Optional varialbes to control the build process are
|
|
|
|
|
|
|
|
CONFIGURE_OPTS options which will be passed to configure
|
|
|
|
MAKEOPTS options which will be passed to make (see sit.conf)
|
|
|
|
|
|
|
|
|
|
|
|
During the installation the following directory paths are used
|
|
|
|
WORKDIR working directory to which e.g. sources will be unpacked
|
|
|
|
SRCDIR source directory
|
|
|
|
BUILDDIR directory in which the package will be build ($SRCDIR/build)
|
|
|
|
LOGDIR directory storing the temporary logfiles ($WORKDIR)
|
|
|
|
|
|
|
|
|
|
|
|
For fine tuning of the installation process the user can overwrite the following
|
|
|
|
functions. If not other mentioned they are executed in $BUILDDIR
|
|
|
|
|
|
|
|
src_unpack extract $SRC_POOL/${A} into $WORKDIR
|
2011-03-24 10:27:01 +00:00
|
|
|
src_prepare prepare extracted sources
|
2011-03-04 17:44:10 +00:00
|
|
|
src_configure configure
|
|
|
|
src_build make
|
2011-08-19 08:05:35 +00:00
|
|
|
src_pretest tests to be performed before installation
|
2011-03-04 17:44:10 +00:00
|
|
|
src_install make install
|
2011-08-19 08:05:35 +00:00
|
|
|
src_posttest tests to be done after installation
|
2011-03-04 17:44:10 +00:00
|
|
|
|
|
|
|
|
|
|
|
The following helper functions can be used
|
|
|
|
|
|
|
|
unpack recognize and extract a compressed tar file
|
|
|
|
|
|
|
|
|
|
|
|
|