summarylogtreecommitdiffstats
path: root/orientdb-community.install
blob: e4cfcd10bcedd173e839a1c57474c3ffb5386976 (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
#
# Install scriptlet for OrientDB version
#
post_install() {
  groupadd -r orient
  useradd -r -g orient -d /opt/orientdb -c "OrientDB The Graph-Document NoSQL - Community Edition" orient

  chown -R orient.orient /opt/orientdb
  chown -R orient.orient /var/log/orientdb

  ln -sf /opt/orientdb/log /var/log/orientdb
  ln -sf /opt/orientdb/config /etc/orientdb
  ln -sf /opt/orientdb/bin/console.sh /usr/bin/orientdb-console

  echo "==> OrientDB server should be launched from user 'orient'. Please keep that in mind."
}

post_upgrade() {
  chown -R orient.orient /opt/orientdb
  chown -R orient.orient /var/log/orientdb
}

pre_remove() {
  # Cannot use echo -n in this context as stdout is not flushed
  # Server may have been started manually, so systemctl will not stop it
  # Grep only the Server entry, as an orient User session may be present
  if [ "$(ps aux | grep -e '^orient' | grep -e com.orientechnologies.orient.server)" != "" ]; then

    echo "==> OrientDB server is running. Stopping OrientDB. Wait 60 seconds before using Cntl-C."
    echo "..........."

    systemctl stop orientdb.service  2>&1
    echo "..........."

    counter1=0
    counter2=0
    while [ "$(ps aux | grep -e '^orient' | grep -e com.orientechnologies.orient.server)" != "" ]; do

      sleep 1

      counter1=`expr $counter1 + 1`
      counter2=`expr $counter2 + 1`

      if [ $counter1 -le 10 ]
      then
        echo -n "."
      else
        echo "."
        counter1=0
      fi

      if [ $counter2 = 30 ]
      then
        echo ""
        echo "Shutting down OrientDB directly."
        su orient /opt/orientdb/bin/shutdown.sh
      fi

      if [ $counter2 -gt 60 ]
      then
        break
      fi

    done
  fi
  echo ""
  rm -rf /etc/orientdb /usr/bin/orientdb-console /opt/orientdb/log || /bin/true
}

post_remove() {
  userdel orient
  groupdel orient 2>/dev/null || /bin/true

  if [ -d /opt/orientdb ]; then
    echo "==> OrientDB directory is not empty and will not be removed."
    echo "    Backup database?"
    echo "    Please check path '/opt/orientdb' and remove directory manually."
  fi

  if [ -d /var/log/orientdb ]; then
    rm -rf /var/log/orientdb
  fi
}