#Create a package for Offline installation

On this page we detail steps to obtain an installation package that can be used to install Storm on a system without an internet connection.
This is usefull, e.g., for long term archiving where we can not be sure how long dependencies will be available.

We assume that there is a fixed reference system based on Ubuntu which is not going to change (e.g. a Virtual Machine that will be made available)

Since we can not simply execute `apt-get install ...`, the dependencies (and their dependencies...) have to be included in the installation package.
The easiest way to do that is to tell `apt-get` to only download the packages and to put them into a directory you like (lets say the current working directory `.`):
```console
sudo apt-get -d -o Dir::Cache=. -o DIR::Cache::archives=. install <Packages>
```

Replace `<Packages>` with the packages you need (see stormchecker.org for more info).
The downloaded `*.deb` files have to be included in the installation package.

Apart from that we will need to download the sources from _carl_ (recall to use the master14 branch) and, of course, the storm sources.

We currently checkout the _l3pp_ git during the building process. You might need to adapt the l3pp section in `$STORMDIR/resources/3rdparty/CMakeLists.txt` by removing the `GIT_REPOSITORY ...` and `GIT_TAG ...` arguments.


Assuming that the directory `dependencies` contains the `*.deb` files, and `carl` and `storm` contain the source files of carl and storm, respecteively, an installation script can look as follows:

```console
#!/bin/bash

# Get the number of available threads for multithreaded compiling
$THREADS=$(nproc)

# cd to the directory where the script lies in
cd "$( dirname "${BASH_SOURCE[0]}" )"

echo "Installing dependencies. You might need to enter the root password 'tacas20ae'"
cd dependencies
sudo dpkg -i *.deb
cd ..

echo "Installing carl using $THREADS threads"
cd carl
mkdir build
cd build
cmake .. -DUSE_CLN_NUMBERS=ON -DUSE_GINAC=ON
make lib_carl -j$THREADS
cd ../../

echo "Installing Storm using $THREADS threads"
cd storm
mkdir build
cd build
cmake ..
make storm-main -j$THREADS
cd ../../

echo "Installation successfull."
```