Software Installation Tool (sit) is a package manager inspired by Gentoo's emerge.
Find a file
Christoph Niethammer 25da0150af Added sit class files for
* Berkeley UPC translator (source to source compiler)
* Berkeley UPC (runtime)

The environment variable BUPC_TRANSLATOR has to be defined by the
berkeley_upc_translator module to build Berkeley UPC.
2024-03-28 02:43:56 +01:00
etc Added fallback platform and default compiler to config file. 2024-03-28 02:43:56 +01:00
packages Added sit class files for 2024-03-28 02:43:56 +01:00
check_linking.sh Improved check_linking script. 2024-03-28 02:43:56 +01:00
check_permissions.sh Update Copyright. 2024-03-28 02:43:55 +01:00
functions.sh Added prepare step. 2024-03-28 02:43:56 +01:00
install_toolchain.sh Use the functions from functions.sh in the install_toolchain script. 2024-03-28 02:43:56 +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 python install script for Laki. 2024-03-28 02:43:56 +01:00
README Updated README file. 2024-03-28 02:43:56 +01:00
sit Added sit class files for 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 Install script for StarSs testing 2024-03-28 02:43:56 +01:00
vampirtrace_install.sh Update Copyright. 2024-03-28 02:43:55 +01: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

The package tree resides per default in the directory $SIT_PATH/packages. For
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:
* PREFIX_BASE
* SRC_POOL     
* SCLASS_DIR

* DEFAULT_PLATFORM
* DEFAULT_COMPILER

The installation process is currently controled with the following environment 
variables:
* COMPILER
* COMPILER_VERSION
* MPI
* MPI_VERSION
* 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.


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
src_prepare     prepare extracted sources
src_configure   configure
src_build       make
src_pretest     
src_install     make install
src_posttest


The following helper functions can be used 

unpack      recognize and extract a compressed tar file