aboutsummaryrefslogtreecommitdiff
path: root/debian/boca-db.postinst
diff options
context:
space:
mode:
authorCassio de Campos <cassiopc@gmail.com>2018-08-24 19:23:11 +0000
committerCassio de Campos <cassiopc@gmail.com>2018-08-24 19:23:11 +0000
commit27256ca804e34366f2413222be4e675fe63a4af9 (patch)
treeab6adbbd100e3d58c6af646fea0d026129ebfb04 /debian/boca-db.postinst
parentc8994053b1ff9ccf47b532be6567c0f7f33f5f3c (diff)
parent9f05ae47d104864162f264fe6415d73797e039bd (diff)
downloadboca-27256ca804e34366f2413222be4e675fe63a4af9.tar.gz
boca-27256ca804e34366f2413222be4e675fe63a4af9.zip
Merge branch 'devel' into develc
Diffstat (limited to 'debian/boca-db.postinst')
-rw-r--r--debian/boca-db.postinst75
1 files changed, 75 insertions, 0 deletions
diff --git a/debian/boca-db.postinst b/debian/boca-db.postinst
new file mode 100644
index 0000000..c4215df
--- /dev/null
+++ b/debian/boca-db.postinst
@@ -0,0 +1,75 @@
+#!/bin/bash
+
+set -e
+
+. /usr/share/debconf/confmodule
+
+priority=high
+
+case "$1" in
+ configure|reconfigure)
+
+ if [[ -e "/etc/boca.conf" ]]; then
+ . /etc/boca.conf
+ if [[ "$bdcreated" != "" ]]; then
+ echo "If you want to reset DB configuration, please unset \"bdcreated\" in /etc/boca.conf"
+ exit 0
+ fi
+ fi
+
+ #Assume DBHOST will be localhost, since this is the package that
+ #provides postgresql
+ #XXX future work make it work as a backup DB server
+ DBHOST=localhost
+
+ db_get boca-common/dbpassword || true
+ PASSWORD="$RET"
+
+ #If we don't have a password from boca-common 2 things could be
+ #happened
+ #1) dpkg cleaned the password already
+ #2) The user did not provide a password
+ #So we will ask for a password
+ if [[ "x$PASSWORD" == "x" ]]; then
+ db_input critical boca-db/dbpassword || true
+ db_go || true
+ db_get boca-db/dbpassword || true
+ PASSWORD="$RET"
+ db_reset boca-db/dbpassword
+ else
+ db_reset boca-common/dbpassword
+ fi
+
+ if [[ "x$PASSWORD" == "x" ]]; then
+ printf "Generating password with makepasswd"
+ PASSWORD="$(makepasswd --chars 20)"
+ echo .
+ echo "Your DB password is '$PASSWORD' take care of it."
+ fi
+ export PASSWD="$PASSWORD"
+ boca-config-dbhost $DBHOST
+ unset PASSWD
+ postgresuser=postgres
+ su - $postgresuser -c "echo drop user bocauser | psql -d template1 >/dev/null 2>/dev/null"
+ su - $postgresuser -c "echo create user bocauser createdb password \'$PASSWORD\'| psql -d template1"
+ su - $postgresuser -c "echo alter user bocauser createdb password \'$PASSWORD\'| psql -d template1"
+
+ db_input critical boca-db/createdb || true
+ db_go || true
+
+ db_get boca-db/createdb || true
+
+ if [[ "$RET" == "Yes" ]]; then
+ echo YES |php /var/www/boca/src/private/createdb.php
+ echo "bdcreated=y" >> /etc/boca.conf
+ fi
+ db_reset boca-db/createdb
+
+ ;;
+ *)
+ ;;
+esac
+
+service postgresql restart || true
+
+exit 0