blob: 5efd2554896e901d7a05f862545f29bf7a59e6ec (
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
|
#!/bin/sh
set -e
set -x
DATA_DIR=/var/lib/python-django-ishtar
INSTANCES_FILE=$DATA_DIR/INSTANCES
case "$1" in
configure)
instances="$( (cat $INSTANCES_FILE 2>/dev/null || true) | xargs )"
if [ -n "$instances" ]; then
echo "updading instances found in $INSTANCES_FILE: $instances"
for instance in $instances; do
# The upgrade procedure below was built from the "update"
# target and its dependencies in the upstream Makefile:
echo "updating $instance"
cd $DATA_DIR/$instance
# from "syncdb" target:
python manage.py syncdb --noinput
python manage.py migrate
# from "compilemessages" target:
#
# NOTE: Instead of hardcoding an "apps" variable here, let's
# look at candidates with find, and check whether each of
# them indeed contains PO files as a second check:
maybe_localized=$(cd $DATA_DIR; find -maxdepth 2 -name 'locale')
for candidate in $maybe_localized; do
if find $DATA_DIR/$candidate -name '*.po' >/dev/null 2>&1; then
# Really looks like a valid app, let's strip the last
# directory, cd into it, and compile messages using
# the instance's manage.py script:
app=${candidate%%/locale}
(cd $DATA_DIR/$app; python $DATA_DIR/$instance/manage.py compilemessages)
fi
done
# XXX: Doing this only once is likely sufficient, so
# we could remember having performed that update while
# taking care of the first instance, to avoid
# extraneous reruns?
# from "collectstatic" target:
python manage.py collectstatic --noinput
echo "updating $instance: OK"
done
echo "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
echo "restarting uwsgi and nginx: OK"
else
echo "found no instances to upgrade in $INSTANCES_FILE"
fi
;;
abort-upgrade|abort-remove|abort-deconfigure)
;;
*)
echo "postinst called with unknown argument \`$1'" >&2
exit 1
;;
esac
|