etc | ||
imagers | ||
packages | ||
tests | ||
check_linking.sh | ||
check_modules.sh | ||
check_mpi.sh | ||
check_permissions.sh | ||
functions.sh | ||
install_hdf5_imager.sh | ||
install_toolchain.sh | ||
module_stats.py | ||
ompss_install.sh | ||
python_install.sh | ||
README.md | ||
sit | ||
sit-list-installed.py | ||
starss_install.sh | ||
StarSs_testing_install.sh |
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
The package tree resides per default in the directory $SIT_PATH/packages. For convenience it should look like following $SIT_PATH/packages/CATEGORY/PACKAGE/PACKAGE-VERSION
The global configuration file of SIT is $SIT_PATH/etc/sit.conf It includes a variety of default values:
-
PREFIX_BASE
-
SRC_POOL
-
SCLASS_DIR
-
DEFAULT_PLATFORM
-
DEFAULT_COMPILER
A user specific configuration file $HOME/.sit" can be used to overwrite the settings in the global configuration file.
The installation process is currently controled with the following environment variables:
- COMPILER
- COMPILER_VERSION
- MPI
- MPI_VERSION
- PLATFORM
- HOSTNAME
Sit detects currently the build platform using the SITE_PLATFORM_NAME 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.
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 CMAKE_OPTS options which will be passed to cmake 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 src_prepare prepare extracted sources src_configure configure src_build make src_pretest tests to be performed before installation src_install make install src_posttest tests to be done after installation
The following helper functions can be used
unpack recognize and extract a compressed tar file