summaryrefslogtreecommitdiff
path: root/debian/libeufin.postinst
blob: b3586787e745be5b04274333f691e91a4d440ded (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
#!/bin/bash

set -e

if [ -d /run/systemd/system ]; then
        systemctl --system daemon-reload >/dev/null || true
fi
if [ "$1" = "remove" ]; then
        if [ -x "/usr/bin/deb-systemd-helper" ]; then
                deb-systemd-helper mask 'libeufin-nexus.service' >/dev/null || true
                deb-systemd-helper mask 'libeufin-sandbox.service' >/dev/null || true
        fi
fi

if [ "$1" = "purge" ]; then
        if [ -x "/usr/bin/deb-systemd-helper" ]; then
                deb-systemd-helper purge 'libeufin-nexus.service' >/dev/null || true
                deb-systemd-helper purge 'libeufin-sandbox.service' >/dev/null || true
                deb-systemd-helper unmask 'libeufin-nexus.service' >/dev/null || true
                deb-systemd-helper unmask 'libeufin-sandbox.service' >/dev/null || true
        fi
fi
nexus_user=libeufin-nexus
sandbox_user=libeufin-sandbox
nexus_group=libeufin-nexus
sandbox_group=libeufin-sandbox
libeufin_home=/var/lib/libeufin

# Set permissions for sqlite3 file
# (for when we support sqlite3 in the future)
dbc_dbfile_owner="${_USERNAME}:${_GROUPNAME}"
dbc_dbfile_perms="0600"

. /usr/share/debconf/confmodule

case "${1}" in
  configure)

    if ! getent group $nexus_group >/dev/null; then
      addgroup --quiet --system $nexus_group
    fi

    if ! getent group $sandbox_group >/dev/null; then
      addgroup --quiet --system $sandbox_group
    fi

    # Create users if needed
    if ! getent passwd $nexus_user >/dev/null; then
      adduser --quiet --system --no-create-home --ingroup $nexus_group --home $libeufin_home $nexus_user
    fi

    # Create users if needed
    if ! getent passwd $sandbox_user >/dev/null; then
      adduser --quiet --system --no-create-home --ingroup $sandbox_group --home $libeufin_home $sandbox_user
    fi

    # Set up postgres database (needs dbconfig-pgsql package)
    if [ -f /usr/share/dbconfig-common/dpkg/postinst.pgsql ]; then
      . /usr/share/dbconfig-common/dpkg/postinst.pgsql
      dbc_pgsql_createdb_encoding="UTF8"
      dbc_go libeufin "$@"
    fi

    ;;

  abort-upgrade|abort-remove|abort-deconfigure)
    ;;

  *)
    echo "postinst called with unknown argument \`${1}'" >&2
    exit 1
    ;;
esac

#DEBHELPER#

exit 0