%post postgresql
if [ "$1" = 1 ]; then
sed -i \
- -e "s/DB_TYPE=.*$/DB_TYPE=POSTGRESQL/" \
+ -e "s/^DB_TYPE=.*$/DB_TYPE=POSTGRESQL/" \
+ -e "s/^DB_PORT=.*$/DB_PORT=5432/" \
%{_sysconfdir}/%{name}/%{name}.conf
fi
%post mysql
if [ "$1" = 1 ]; then
sed -i \
- -e "s/DB_TYPE=.*$/DB_TYPE=MYSQL/" \
+ -e "s/^DB_TYPE=.*$/DB_TYPE=MYSQL/" \
+ -e "s/^DB_PORT=.*$/DB_PORT=3306/" \
%{_sysconfdir}/%{name}/%{name}.conf
fi
#=============================================================================
USER=`id -nu`
#building data_base
(
-echo "#------------------------------------------"
+echo "#=========================================="
date
+echo "#------------------------------------------"
/bin/echo "creating $DB_TYPE:$DB_NAME data-base" >> $LOG
) >> $LOG
echo "MySQL serveur NOT found up and running (exiting!)"
exit 1
fi
- if [ ! -z "$DB_PORT" ] ; then
- SQLPORT="-P $DB_PORT"
- fi
- SQLHOST="-h localhost";
- if [ ! -z "$DB_HOST" ] ; then
- SQLHOST="-h $DB_HOST"
- fi
if [ "$USER" = "root" ] ; then
chown $APPNAME $LOG
(
- CREATE DATABASE '$APPNAME';
- CREATE USER '$APPNAME'@'localhost';
- GRANT ALL PRIVILEGES ON '$APPNAME'.* TO '$APPNAME'@'localhost';
- FLUSH PRIVILEGES;
- ) | $SQL $SQLHOST $SQLPORT >> $LOG
+ echo "CREATE DATABASE $APPNAME;"
+ echo "CREATE USER $APPNAME@localhost;"
+ echo "GRANT ALL PRIVILEGES ON $APPNAME.* TO $APPNAME@localhost;"
+ echo "FLUSH PRIVILEGES;"
+ ) | $SQL >> $LOG
/bin/echo "data-base is now created" >> $LOG
fi
;;
fi
if [ "$USER" = "root" ] ; then
chown $APPNAME $LOG
- /bin/su - -m postgres >> $LOG << !EOT
- echo "CREATE ROLE $APPNAME WITH LOGIN CREATEDB SUPERUSER" | \
- $SQL $SQLHOST $SQLPORT template1
- echo "CREATE ROLE apache WITH LOGIN" | \
- $SQL $SQLHOST $SQLPORT template1
- echo "CREATE ROLE dovecot WITH LOGIN" | \
- $SQL $SQLHOST $SQLPORT template1
- /usr/bin/createdb -T template0 -E $DB_LANG -O \
- $APPNAME $SQLHOST $SQLPORT $DB_NAME
-!EOT
- /bin/echo "data-base is now created" >> $LOG
+ (
+ echo "CREATE ROLE $APPNAME WITH LOGIN CREATEDB SUPERUSER;"
+ echo "CREATE ROLE apache WITH LOGIN;"
+ echo "CREATE ROLE dovecot WITH LOGIN;"
+ echo "CREATE DATABSE $APPNAME;"
+ ) | $SQL $SQLHOST $SQLPORT template1 >> $LOG
+ echo "data-base is now created" >> $LOG
fi
+ ) | $SQL >> $LOG
;;
"*" )
#undefined database type at that stage?