Software Installation Tool (sit) is a package manager inspired by Gentoo's emerge.
Find a file
Christoph Niethammer 0d2cd2dc83 Add sit class file for Open MPI 5.0.5
Signed-off-by: Christoph Niethammer <niethammer@hlrs.de>
2024-10-08 11:51:34 +02:00
etc Add support for the HLRS training cluster to sit 2024-10-08 10:43:03 +02:00
imagers Shell scripts to automate the sit call and the module file generation 2024-03-28 03:11:44 +01:00
packages Add sit class file for Open MPI 5.0.5 2024-10-08 11:51:34 +02:00
tests Add c++ compiler test for stat.h 2024-03-28 03:14:18 +01:00
check_linking.sh Improved check_linking script. 2024-03-28 02:43:56 +01:00
check_lmod_modules.sh Add simple functionality check of lmod modules 2024-03-28 03:14:18 +01:00
check_modules.sh Color output only for tty 2024-03-28 03:14:18 +01:00
check_mpi.sh Modified check_modules.sh script running the mpi_test_suite for allOpen MPI instalaltions. 2024-03-28 02:45:19 +01:00
check_permissions.sh Added note about an alternative way to fix permissions after this script did not handle mode 700 correctly. 2024-03-28 03:11:44 +01:00
functions.sh Copy permissions from user to group and other excluding write access. 2024-03-28 03:14:18 +01:00
install_hdf5_imager.sh Install the hdf5 library and the modulefile 2024-03-28 03:11:44 +01:00
install_toolchain.sh Updated autotool chain install script. 2024-03-28 02:45:19 +01:00
module_stats.py Updated Copyright and deleted white spaces at end of line. 2024-03-28 03:11:44 +01:00
ompss_install.sh ompss_install.sh: enable debugging info per default; ayudame 2024-03-28 02:43:56 +01:00
python_install.sh Added performance/maqao 2024-03-28 03:11:44 +01:00
README.md Fix typos, improve formatting, and update text in documentation 2024-03-28 03:39:40 +01:00
sit Add support for the HLRS training cluster to sit 2024-10-08 10:43:03 +02:00
sit-list-installed.py Initial version of the sit script listing all versions of installed modules. 2024-03-28 02:43:56 +01:00
starss_install.sh Update Copyright. 2024-03-28 02:43:55 +01:00
StarSs_testing_install.sh Added environment variable for compileer 2024-03-28 02:43:56 +01:00

Software Installation Tool (SIT)

About

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. Further sit helps with documenting software installations by generating log files from the installation process, which are installed along the software package itself.

Getting started

Basic usage

In its current version sit 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 follows:

  $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

or for a package to be installed with a specific compiler and mpi version

PREFIX_BASE=/opt COMPILER=gnu COMPILER_VERSION=8.3.0 MPI=openmpi MPI_VERSION=4.0.1 ./sit performance/extrae/extrae-3.6.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 ($WORKDIR/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