r1: [svn-inject] Installing original source of mysql-cn
[mysql-cn.git] / debian / postinst
1 #!/bin/sh
2
3 set -e
4
5 [ "$1" = "configure" ] || exit 0
6
7 PKG="mysql-cn"
8
9 # Load CARNet Tools
10 . /usr/share/carnet-tools/functions.sh
11
12 if [ -f /etc/mysql/my.cnf ]; then
13   # ukljuci networking, da mysql visi na portu 3306
14   cp_check_and_sed '^skip-networking' \
15                    's/^skip-networking$/#skip-networking/' \
16                    /etc/mysql/my.cnf && restart=yes || true
17
18   # ukljuci podrsku za innodb, istinabog neznam zasto, al neka :-)
19   cp_check_and_sed '^skip-innodb$' \
20                    's/^skip-innodb$/#skip-innodb/' \
21                    /etc/mysql/my.cnf && restart=yes || true
22
23   # izgasi logiranje zbog prelude logova
24   cp_check_and_sed '^log.*mysql.log' \
25                    "s,^\([\t ]*log[\t ]*=\),#\1," \
26                    /etc/mysql/my.cnf && restart=yes || true
27
28   # ukljuci podrsku za hrvatsko znakovlje
29   if ! grep -q default-character-set /etc/mysql/my.cnf; then
30     awk '/^\[mysqld\]/{print "[mysqld]"; print "default-character-set=croat"; getline}{print $0}' \
31       /etc/mysql/my.cnf > /etc/mysql/mysql-cn.$$
32     cp_mv /etc/mysql/mysql-cn.$$ /etc/mysql/my.cnf
33     restart=yes
34   fi
35 fi
36
37 # pristup samo sa lokalne mreze, preko tcp-wrappera...
38 DOMAIN=`hostname -d`
39 if ! grep -q '^mysqld' /etc/hosts.deny; then
40         echo "mysqld: ALL" >> /etc/hosts.deny
41 fi
42 if ! grep -q '^mysqld' /etc/hosts.allow; then
43         echo "mysqld: .$DOMAIN 127.0.0.1" >> /etc/hosts.allow
44 fi
45
46 # ako nije setiran admin pass, setiraj
47 [ -f ~root/.my.cnf ] && grep -q "password.*=" ~root/.my.cnf && rootmycnf=1
48 if [ -z "$rootmycnf" ]; then
49   if ! grep -q "password.*=" /etc/mysql/my.cnf; then
50     if echo | mysql mysql 2> /dev/null; then
51       mypwd="`makepasswd`"
52       mysqladmin password $mypwd
53       cp_echo "CN: Password for MySQL administrator (root@localhost) is: $mypwd"
54       cp_mail $PKG
55     fi
56   fi
57 fi
58
59 if su - nobody -c '[ -r ~root/.my.cnf ]' 2>&1 > /dev/null; then
60   if grep -q "password.*=" ~root/.my.cnf; then
61     echo "CN: WARNING: ~root/.my.cnf is world readable."
62   fi
63 fi
64
65 [ "$restart" = "yes" ] || exit 0
66 # restart mysql-a
67 if [ -x /usr/sbin/invoke-rc.d ]; then
68   [ -x /etc/init.d/mysql ] && invoke-rc.d mysql restart
69 else
70   [ -x /etc/init.d/mysql ] && /etc/init.d/mysql restart
71 fi