#!/bin/bash
### MODUL-NR. 012 ###
# (c) August 2008 Stefan Schäfer / FSP Computer & Netzwerke
# (c) 2009-2017 Stefan Schäfer / invis-server.org / stefan@invis-server.org
# (c) 2013,2014 Dimitri Asarowski / invis-server.org / dimitri@invis-server.org
# (c) 2013-2017 Ingo Göppert / invis-server.org / ingo@invis-server.org

# License: GPLv3
# Questions: info@invis-server.org

# PostgreSQL Server einrichten

# PostgreSQL Server setup

# Dieses Programm ist freie Software. Sie können es unter den Bedingungen der 
# GNU General Public License, wie von der Free Software Foundation veröffentlicht,
# weitergeben und/oder modifizieren, entweder gemäß Version 3 der Lizenz oder
# (nach Ihrer Option) jeder späteren Version.

# Die Veröffentlichung dieses Programms erfolgt in der Hoffnung, daß es Ihnen
# von Nutzen sein wird, aber OHNE IRGENDEINE GARANTIE, sogar ohne die implizite 
# Garantie der MARKTREIFE oder der VERWENDBARKEIT FÜR EINEN BESTIMMTEN ZWECK. 
# Details finden Sie in der GNU General Public License.

# Sie sollten ein Exemplar der GNU General Public License zusammen mit diesem 
# Programm erhalten haben. Falls nicht, siehe <http://www.gnu.org/licenses/>. 

# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.

# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.

# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.

# include functions
source $SINEINCLUDEDIR/functions

modulename=`basename $0`

clear
windowtitle="PostgreSQL Server"
pgsubtitle="PostgreSQL Server Setup"

#Frage nach Version von PostgreSQL
dialog --backtitle "$DIALOGTITLE - Modul: $modulename" --title "$windowtitle" --exit-label "Weiter" --textbox "$INFODIR/postgresql.txt" 0 0 --and-widget --backtitle "$DIALOGTITLE" --title "$windowtitle" --yesno "Soll die openSUSE-Version von PostgreSQL installiert werden?" 0 0
cont=${?}

# Weitermachen?
if [[ $cont == "0" ]]; then
    pgsubtitle="Aktuelle Version wird installiert"
    zypper ref 2>&1|tee -a $LOGFILE |pgbox
    zypper -n install -n `cat $PACKAGELISTDIR/postgresql` 2>&1| tee -a $LOGFILE | pgbox 25 110
    zyppercheck ${PIPESTATUS[0]}
else
    pgsubtitle="Spezielle Version wird installiert"
    zypper ref 2>&1|tee -a $LOGFILE |pgbox
    zypper -n install -D -n `cat $PACKAGELISTDIR/postgresql` 2>&1| tee -a $LOGFILE | pgbox 25 110
    zyppercheck ${PIPESTATUS[0]}
fi

pgsubtitle="PostgreSQL \"vorübergehend\" starten."
systemctl start postgresql.service 2>&1|tee -a $LOGFILE |pgbox

# Konfigurationsdateien kopieren -> sind fuer kivitendo vorbereitet.
cp $TEMPLATEDIR/postgresql/*.conf /var/lib/pgsql/data 2>&1 |tee -a $LOGFILE
chown -R postgres:postgres /var/lib/pgsql/ 2>&1 |tee -a $LOGFILE
# Postgresql neu starten

yesnono "Soll PostgreSQL automatisch gestartet werden? (Ist nur notwendig, wenn Kivitendo installiert wird.)" "Runlevel Eintrag für PostgreSQL wird konfiguriert."
pgsqlrl=${?}
if [[ $pgsqlrl == "1" ]]; then
    chkservice "postgresql" disable
else
    chkservice "postgresql"
fi
