disable randomly failing testInvoiceRecreation
[tine20] / scripts / packaging / debian / tine20.postinst
1 #!/bin/sh
2 #
3 # Copyright 2012-2012 by Metaways Infosystems GmbH
4 #
5 # http://www.metaways.de/
6 #
7 # All rights reserved.
8 #
9 # The source code of this program is made available
10 # under the terms of the GNU Affero General Public License version 3
11 # (GNU AGPL V3) as published by the Free Software Foundation.
12 #
13 # Binary versions of this program provided by Univention to you as
14 # well as other copyrighted, protected or trademarked materials like
15 # Logos, graphics, fonts, specific documentations and configurations,
16 # cryptographic keys etc. are subject to a license agreement between
17 # you and Univention and not subject to the GNU AGPL V3.
18 #
19 # In the case you use this program under the terms of the GNU AGPL V3,
20 # the program is provided in the hope that it will be useful,
21 # but WITHOUT ANY WARRANTY; without even the implied warranty of
22 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23 # GNU Affero General Public License for more details.
24 #
25 # You should have received a copy of the GNU Affero General Public
26 # License with the Debian GNU/Linux or Univention distribution in file
27 # /usr/share/common-licenses/AGPL-3; if not, see
28 # <http://www.gnu.org/licenses/>.
29
30 set -e
31
32 . /usr/share/debconf/confmodule
33 db_version 2.0
34
35 if [ "$1" = "configure" ]; then
36
37     # create config.inc.php if needed
38     tine20ConfigFile="/etc/tine20/config.inc.php"
39     
40     if [ ! -e "$tine20ConfigFile" ] ; then
41         cp /usr/share/doc/tine20-tinebase/examples/config.inc.php.dist $tine20ConfigFile
42         chmod 0660       $tine20ConfigFile
43         chown 0:www-data $tine20ConfigFile
44
45         db_get tine20/setupuser
46         setupUser="$RET"
47         db_reset tine20/setupuser || true
48         
49         db_get tine20/setuppasswd
50         setupPassword="$RET"
51         db_reset tine20/setuppasswd || true
52         
53         sqlPassword=$(makepasswd --minchars=15 --maxchars=20)
54         if [ -z $setupPassword ]; then
55             setupPassword=$(makepasswd --minchars=15 --maxchars=20)
56         fi
57         
58         sed -i -e "s/_DBC_DBSERVER_/localhost/g"       $tine20ConfigFile
59         sed -i -e "s/_DBC_DBNAME_/tine20/g"            $tine20ConfigFile
60         sed -i -e "s/_DBC_DBUSER_/tine20/g"            $tine20ConfigFile
61         sed -i -e "s/_DBC_DBPASS_/$sqlPassword/g"      $tine20ConfigFile
62         sed -i -e "s/_SETUPUSERNAME_/$setupUser/g"     $tine20ConfigFile
63         sed -i -e "s/_SETUPPASSWORD_/$setupPassword/g" $tine20ConfigFile
64         
65         if [ -x /usr/bin/mysql -a -e /etc/mysql/debian.cnf ]; then
66             mysqlCmd="/usr/bin/mysql --defaults-file=/etc/mysql/debian.cnf"
67             
68             echo "CREATE DATABASE IF NOT EXISTS tine20;" | $mysqlCmd
69             echo "GRANT ALL ON tine20.* TO 'tine20'@'localhost' IDENTIFIED BY '${sqlPassword}';" | $mysqlCmd
70             
71         elif [ -x /usr/bin/psql ]; then
72             su - postgres -c "/usr/bin/createuser --no-createdb --no-createrole --no-superuser tine20"
73             su - postgres -c "/usr/bin/psql -c \"ALTER USER tine20 WITH PASSWORD '${sqlPassword}';\" -d template1"
74             su - postgres -c "/usr/bin/createdb --owner=tine20 --template=template0 --encoding=UTF8 tine20"
75             
76             sed -i -e "s/pdo_mysql/pdo_pgsql/g"        $tine20ConfigFile
77         fi
78     fi
79     
80 fi
81
82 #DEBHELPER#
83
84 exit 0