]> SAFE projects GIT repository - jmp/mailleur/commitdiff
Working to intialise mysql and postgresql database
authorJean-Marc Pigeon (Delson) <jmp@safe.ca>
Mon, 23 Jun 2025 23:28:34 +0000 (19:28 -0400)
committerJean-Marc Pigeon (Delson) <jmp@safe.ca>
Mon, 23 Jun 2025 23:28:34 +0000 (19:28 -0400)
conf/mailleur.conf
mailleur.spec.in
support/crdb.sh

index c2f654e0afa364b3e6676215536d562e836386f6..fe38efd53708f7ed8325e92c3408120502fe78fe 100644 (file)
@@ -37,7 +37,7 @@ CA_VERIFY_CLT=0       #to check PEER/server remote certificate
 DB_TYPE=TO_BE_DEFINED
 DB_NAME=mailleur
 DB_HOST=localhost
-DB_PORT=5432
+DB_PORT=TO_BE_DEFINED
 DB_LANG="UTF-8"
 #------------------------------------------------
 #Dovecot storage directory
index 86542b233e74b38631d4e9635b660442048ec2a9..c3c1b9d0c9281355731f7242fad8c911297983f4 100644 (file)
@@ -163,7 +163,8 @@ Obsoletes   :       %{name}-mysql           <= %{version}-%{release}
 %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
 
@@ -188,7 +189,8 @@ Obsoletes   :       %{name}-postgresql      <= %{version}-%{release}
 %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
 #=============================================================================
index a694c2f60579a0412bf2e414d87fb4b327aab7cd..4de10af47c8c4b0c140648b94825d1cb21694781 100755 (executable)
@@ -25,8 +25,9 @@ LOG=/etc/$APPNAME/dbinst.log
 USER=`id -nu`
 #building data_base
 (
-echo "#------------------------------------------"
+echo "#=========================================="
 date
+echo "#------------------------------------------"
 /bin/echo "creating $DB_TYPE:$DB_NAME data-base" >> $LOG
 ) >> $LOG
 
@@ -42,21 +43,14 @@ case "$DB_TYPE" in
       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
     ;;
@@ -78,18 +72,15 @@ case "$DB_TYPE" in
       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?