15 # <failed-install-package> <version> `removing' |
16 # <failed-install-package> <version> `removing' |
16 # <conflicting-package> <version> |
17 # <conflicting-package> <version> |
17 # for details, see http://www.debian.org/doc/debian-policy/ or |
18 # for details, see http://www.debian.org/doc/debian-policy/ or |
18 # the debian-policy package |
19 # the debian-policy package |
19 |
20 |
|
21 _mysql() { mysql -h"$host" -u"$adminuser" -p"$adminpass" "$@"; } |
|
22 |
20 |
23 |
21 case "$1" in |
24 case "$1" in |
22 configure) |
25 configure) |
23 db_get littlebird-tc/db/adminuser && adminuser="$RET" || true |
|
24 db_get littlebird-tc/db/adminpass && adminpass="$RET" || true |
|
25 db_get littlebird-tc/db/user && user="$RET" || true |
|
26 db_get littlebird-tc/db/pass && pass="$RET" || true |
|
27 db_get littlebird-tc/db/host && host="$RET" || true |
|
28 db_get littlebird-tc/db/name && name="$RET" || true |
|
29 |
26 |
30 # cat <<EOF |
27 # only if we have admin access to the database |
31 #$@ |
28 db_get littlebird-tc/db/have-admin || true |
32 #adminuser/pass: $adminuser/$adminpass |
29 if test "$RET" = "true"; then |
33 #user/pass: $user/$pass |
30 db_get littlebird-tc/db/adminuser && adminuser="$RET" || true |
34 #db@host: $name@$host |
31 db_get littlebird-tc/db/adminpass && adminpass="$RET" || true |
35 #EOF |
32 db_get littlebird-tc/db/host && host="$RET" || true |
36 # only init the db if there is no previous version |
33 db_get littlebird-tc/db/name && name="$RET" || true |
37 if test -z "$2" && test -n "$adminpass"; then |
|
38 |
34 |
39 if test "$host" = "localhost"; then client="localhost" |
35 # check admin access |
40 else client="%" |
36 _mysql -e "" mysql || { |
41 fi |
37 echo "Access to mysql database failed!" >&2 |
|
38 exit 1 |
|
39 } |
42 |
40 |
43 mysql -h"$host" -u"$adminuser" -p"$adminpass" <<EOF |
41 if _mysql -e "" "$name" 2>/dev/null; then |
44 CREATE DATABASE IF NOT EXISTS $name; |
42 db_subst littlebird-tc/db/exists name "$name" || true |
45 GRANT ALL ON $name.* TO '$user'@'$client' IDENTIFIED BY '$pass'; |
43 db_input medium littlebird-tc/db/exists || true |
46 FLUSH PRIVILEGES; |
44 db_go || true |
|
45 else |
|
46 # ok, setup the database |
|
47 |
|
48 db_get littlebird-tc/db/user && user="$RET" || true |
|
49 db_get littlebird-tc/db/pass && pass="$RET" || true |
|
50 if test "$host" = "localhost"; then client="localhost" |
|
51 else client="%" |
|
52 fi |
|
53 |
|
54 # create or update the user |
|
55 |
|
56 _mysql <<EOF |
|
57 CREATE DATABASE $name; |
|
58 GRANT ALL ON $name.* TO '$user'@'$client' IDENTIFIED BY '$pass'; |
|
59 FLUSH PRIVILEGES; |
47 EOF |
60 EOF |
48 ( set -e |
61 |
49 cd /usr/share/littlebird/tc-sql |
62 /usr/share/littlebird/tc-sql/install_test_iteration_2011-06.sh \ |
50 ./install_test_iteration_2011-06.sh \ |
63 --host "$host" --db "$name" \ |
51 "$host" "$name" \ |
64 --adminuser "$adminuser" --adminpass "$adminpass" \ |
52 "$adminuser" "$adminpass" \ |
65 --user "$user" --pass "$pass" |
53 "$user" "$pass" |
66 fi |
54 ) |
|
55 fi |
67 fi |
56 ;; |
68 ;; |
57 |
69 |
58 abort-upgrade|abort-remove|abort-deconfigure) |
70 abort-upgrade|abort-remove|abort-deconfigure) |
59 ;; |
71 ;; |