summaryrefslogtreecommitdiff
path: root/base-install.sh
blob: 1d7d2c5388b5fc8337956f378bdd32574dd9506c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
#!/bin/sh

# Installs required packages on Debian and compatible systems.
# Author: Andreas Maunz

# NOTE: Your installed packages are safe and will not be updated.
# Java configuration is included in '$OT_UI_CONF'.

. ./utils.sh
DIR=`pwd`

if [ "$(id -u)" = "0" ]; then
  echo "This script must not be run as root" 1>&2
  exit 1
fi

# Utils
check_utils "aptitude git apt-cache dpkg"

# Init main file
touch "$OT_UI_CONF"

# Pkgs
packs="binutils build-essential cmake curl gnuplot hostname libcurl4-openssl-dev libgsl0-dev libopenbabel4 libopenbabel-dev libraptor1-dev libreadline6-dev libreadline-dev libsqlite3-dev libssl-dev libyaml-dev libxml2-dev libxslt1-dev lsb-release openjdk-6-jdk psmisc pwgen raptor-utils r-base r-base-core r-base-dev sqlite3 udev wget xsltproc zlib1g-dev"

echo
echo "Base Packages:"

echo
echo "Updating index"
sudo "$APTITUDE" update -y >/dev/null 2>&1

echo
echo "Checking installation:"
pack_arr=""
for p in $packs; do
  if [ "un" != `$DPKG -l $p 2>/dev/null | tail -1 | awk -F " " '{print $1}'` ]; then
     printf "%30s%50s\n" $p Y
  else
     printf "%30s%50s\n" $p N
     pack_arr="$pack_arr $p"
  fi
done

if [ -n "$pack_arr" ]; then
  echo 
  echo "Checking availablity:"
  for p in $pack_arr; do
    if [ -n "`$APT_CACHE search $p`" ] ; then
       printf "%30s%50s\n" $p Y
    else
      printf "%30s%50s\n" $p N
      pack_fail="$pack_fail $p"
    fi
  done
fi

if [ -n "$pack_fail" ]; then
  echo 
  echo "WARNING: At least one missing package has no suitable installation candidate."
  echo "$pack_fail"
  echo "Press <Ctrl+C> to abort (5 sec)."
  sleep 5
fi

echo
if [ -n "$pack_arr" ]; then 
  echo "Installing missing packages:"
fi

for p in $pack_arr; do
  cmd="sudo $APTITUDE -y install $p" && run_cmd "$cmd" "$p"
done

if [ ! -f $JAVA_CONF ]; then

  if [ ! -d $OT_JAVA_HOME ]; then
    echo "Directory '$OT_JAVA_HOME' does not exist! Aborting..."
    exit 1
  fi

  echo 'if echo "$JAVA_HOME" | grep -v '$OT_JAVA_HOME'>/dev/null 2>&1; then export JAVA_HOME='$OT_JAVA_HOME'; fi' >> "$JAVA_CONF"
  echo 'if echo "$PATH" | grep -v '$OT_JAVA_HOME/bin'>/dev/null 2>&1; then export PATH='$OT_JAVA_HOME/bin':"$PATH"; fi' >> "$JAVA_CONF"
  echo 'if ! [ -d "$JAVA_HOME" ]; then echo "$0: JAVA_HOME is not a directory!"; fi' >> "$JAVA_CONF"

  if ! grep "$JAVA_CONF" $OT_UI_CONF >/dev/null 2>&1; then
    echo '. '$JAVA_CONF >> $OT_UI_CONF
  fi
fi

cd "$DIR"