diff --git a/README.md b/README.md index e10e375..8d5deca 100644 --- a/README.md +++ b/README.md @@ -1,32 +1,34 @@ # Software Installation Tool (SIT) ## About -SIT is a simple software installation tool inspired by gentoo's emerge script. +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. +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 it can only install a package using a package class file -including the necessary information +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 following +The package tree resides per default in the directory `$SIT_PATH/packages`. For +convenience it should look like follows: +```shell $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: +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 +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 @@ -38,9 +40,9 @@ variables: * PLATFORM * HOSTNAME -Sit detects currently the build platform using the SITE_PLATFORM_NAME variable. +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. +in `sit.conf`. For each platform configuration files are stored unter ```shell $SIT_PATH/etc/platform-configs/$PLATFORM/* @@ -48,18 +50,19 @@ $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 - +```shell +[VARIABLE_DECLARATIONS] sit PACKAGE +``` e.g. - -> PREFIX_BASE=/opt COMPILER=gnu COMPILER_VERSION=4.5 sit mpi/openmpi-1.5.1 - +```shell +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 +```shell +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 @@ -68,30 +71,31 @@ proces. The syntax of the package class files is inspired by gentoo's ebuild fil 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 @@ -99,11 +103,10 @@ 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 - - +```