-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtoddleglow.postinst
53 lines (47 loc) · 1.91 KB
/
toddleglow.postinst
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
#!/bin/sh
USERNAME='toddleglow'
case "$1" in
configure)
if ! /usr/bin/getent passwd toddleglow > /dev/null 2>&1 ; then
adduser --system ${USERNAME} --home /var/lib/toddleglow
fi
if /usr/bin/getent group i2c ; then
if ! /usr/bin/getent group i2c | grep -q ${USERNAME} ; then
echo "Found i2c group, adding user to group, so it can access the GPIO interface"
usermod -a -G i2c ${USERNAME}
fi
fi
echo "Fixing permissions"
if [ ! -d /var/lib/toddleglow ] ; then
mkdir /var/lib/toddleglow
fi
chown -R ${USERNAME} /var/lib/toddleglow
if [ ! -f /etc/toddleglow/config.json ] ; then
cp /var/lib/toddleglow/examples/config.json /etc/toddleglow
fi
chown ${USERNAME} /etc/toddleglow/config.json
;;
abort-upgrade|abort-remove|abort-deconfigure)
;;
*)
echo "postinst called with unknown argument \`$1'" >&2
exit 1
;;
esac
# This will only remove masks created by d-s-h on package removal.
deb-systemd-helper unmask toddleglow.service >/dev/null || true
# was-enabled defaults to true, so new installations run enable.
if deb-systemd-helper --quiet was-enabled toddleglow.service; then
# Enables the unit on first installation, creates new
# symlinks on upgrades if the unit file has changed.
deb-systemd-helper enable toddleglow.service >/dev/null || true
deb-systemd-invoke restart toddleglow.service >/dev/null || true
else
# Update the statefile to add new symlinks (if any), which need to be
# cleaned up on purge. Also remove old symlinks.
deb-systemd-helper update-state toddleglow.service >/dev/null || true
fi
if [ -d /run/systemd/system ]; then
systemctl --system daemon-reload >/dev/null || true
deb-systemd-invoke start toddleglow.service >/dev/null || true
fi