Factorize some code, move some useful stuff in pervasive.sh for future
[platal.git] / upgrade / inc / pervasive.sh
CommitLineData
0337d704 1#!/bin/bash
2
3MYSQL='mysql -u admin '
4
5
6set -e
7
161daeb9
FB
8if [ "$UID" != 0 ]; then
9 echo "has to be run as root"
96e2233d 10# exit 1
161daeb9 11fi
0337d704 12
f3a7456d
VZ
13if [[ -n "${DBPREFIX}" ]]; then
14 echo "Using non-default database ${DBPREFIX}x4dat."
15fi
d0293d9b
FB
16if [[ -z "${DATABASE}" ]]; then
17 DATABASE="${DBPREFIX}x4dat"
9d5e1087 18fi
f3a7456d 19
100e66fc
FB
20function die() {
21 echo $1
22 exit 1
23}
24
96e2233d
FB
25function confirm() {
26 echo "$1"
27 echo "* press ^D to start import (^C to cancel)"
28 cat
29}
30
31function mysql_pipe() {
aa1f260a
FB
32 sed -e "s/#\([0-9a-z]*\)#/${DBPREFIX}\1/g" | $MYSQL $DATABASE
33}
34
96e2233d
FB
35function mysql_run() {
36 echo -n "* running $1"
37 (cat $1 | mysql_pipe) || die "ERROR"
38 echo "OK"
39}
40
41function mysql_run_directory() {
42 for sql in $1/*.sql ; do
43 mysql_run $sql
44 done
45}
46
47function script_run() {
48 echo -n "* running $1"
49 $1 || die "ERROR"
50 echo "OK"
51}
52
0337d704 53function mailman_stop() {
54 echo -n "stops mailman"
55 /etc/init.d/mailman stop &>/dev/null
56 echo .
57}
58
59function mailman_templates() {
60 echo -n "copies new mails templates"
61 mkdir -p /etc/mailman/xorg
d4ce1cc7 62 cp -f ../../modules/lists/mail_templates/*.txt /etc/mailman/xorg
0337d704 63 echo .
64}
65
66function mailman_start() {
67 echo -n "starts mailman"
68 /etc/init.d/mailman start &>/dev/null
69 echo .
70}