blob: 40e77e7915150218072f6db1ca84c21858712c48 (
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
|
#!/bin/bash
set -e
#set -x
cecho() {
local code="\033["
case "$1" in
black | bk) color="${code}0;30m";;
red | r) color="${code}1;31m";;
green | g) color="${code}1;32m";;
yellow | y) color="${code}1;33m";;
blue | b) color="${code}1;34m";;
purple | p) color="${code}1;35m";;
cyan | c) color="${code}1;36m";;
gray | gr) color="${code}0;37m";;
*) local text="$1"
esac
[ -z "$text" ] && local text="$color$2${code}0m"
echo "$text"
}
DATA_DIR=/srv/ishtar
CONFIG_PATH=/etc/ishtar
INSTANCES_FILE=$CONFIG_PATH/instances
case "$1" in
configure)
mkdir -p $CONFIG_PATH 2> /dev/null
if [ ! -f $CONFIG_PATH/config ]; then
cp /usr/share/python3-django-ishtar/install/config.template $CONFIG_PATH/config ;
fi
source $CONFIG_PATH/config
export LANG=$ISHTAR_LOCALE.UTF-8
if [ "$(locale 2>&1 >/dev/null|wc -l)" != 0 ]; then
cecho r "Unable to set LANG=$LANG properly"
cecho y "Try: 'dpkg-reconfigure locales' or install the 'locales-all' package."
cecho y "If you want to use another locale, modify /etc/ishtar/config properly."
exit 1
fi
instances="$( (cat $INSTANCES_FILE 2>/dev/null || true) | xargs )"
if [ -n "$instances" ]; then
cecho g "Updading instances found in $INSTANCES_FILE: $instances"
messages_compiled="";
for instance in $instances; do
if [ ! $messages_compiled ]; then
(cd $DATA_DIR; python3 $DATA_DIR/$instance/manage.py compilemessages);
messages_compiled="ok";
fi
# The upgrade procedure below was built from the "update"
# target and its dependencies in the upstream Makefile:
cecho g "Updating $instance"
cd $DATA_DIR/$instance
# migrate
python3 manage.py migrate
# "collectstatic"
python3 manage.py collectstatic --noinput
cecho g "Updating $instance: OK"
done
cecho g "Updating all instances: OK"
# the assumption is that nginx and uwsgi were configured
# through ishtar-prepare-instance, so let's restart them
# unconditionally:
invoke-rc.d uwsgi restart
invoke-rc.d nginx restart
cecho g "Restarting uwsgi and nginx: OK"
else
cecho g "Found no instances to update in $INSTANCES_FILE"
cecho g "To create a new instance:"
cecho y " ishtar-prepare-instance"
fi
;;
abort-upgrade|abort-remove|abort-deconfigure)
;;
*)
echo "postinst called with unknown argument \`$1'" >&2
exit 1
;;
esac
|