]> SAFE projects GIT repository - jmp/mailleur/commitdiff
Starting support file resetdb.sh
authorJean-Marc Pigeon (Delson) <jmp@safe.ca>
Thu, 26 Jun 2025 00:59:01 +0000 (20:59 -0400)
committerJean-Marc Pigeon (Delson) <jmp@safe.ca>
Thu, 26 Jun 2025 00:59:01 +0000 (20:59 -0400)
Makefile
conf/mailleur.conf
conf/mailleur.conf.dvl
sql/datatest.mardb.sql [deleted file]
sql/datatest.posdb.sql [deleted file]
sql/datatest.sql
support/resetdb.sh [new file with mode: 0755]

index bc45542ffd6d64e75a10343d90b2c8737ef11194..613bbb1e37d8da0cc97fe24edf17ee3df5e3f1ba 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -181,6 +181,7 @@ tstspf      :  clean debug
 #preparing a test area
 newtest        :  deltest
           @ mkdir -p $(TESTDIR)/var/run
+          @ mkdir -p $(TESTDIR)/usr/share/$(APPNAME)
           @ mkdir -p $(TESTDIR)/var/spool/$(APPNAME)/{in,out}-logs
           @ mkdir -p $(TESTDIR)/var/spool/$(APPNAME)/queue
           @ mkdir -p $(TESTDIR)/var/spool/$(APPNAME)/mails
@@ -188,6 +189,9 @@ newtest     :  deltest
           @ cp -a                                      \
                bin                                     \
                $(TESTDIR)/$(SBINDIR)
+          @ cp -a                                      \
+               sql                                     \
+               $(TESTDIR)/usr/share/$(APPNAME)/
 
 deltest        :  
           @ rm -fr $(TESTDIR)
index fe38efd53708f7ed8325e92c3408120502fe78fe..62c55defcd988f2dd14a59b1fd04f44b98148e6d 100644 (file)
@@ -2,6 +2,8 @@
 #------------------------------------------------
 #Defining application name
 APPNAME=mailleur
+#root working directoy definition for the whole application
+ROOTBASE="/"
 #defining local default domain
 DFLTDOMAIN="localdomain"
 #------------------------------------------------
index a1a0f7a1086635c1ccd2cd5b0ccd71b13c8c6147..a3ecf24790515b0e4a3ec90d63fe2898b6b716f9 100644 (file)
@@ -3,6 +3,8 @@
 #------------------------------------------------
 #Defining application name
 APPNAME=mailleur
+#root working directoy definition for the whole application
+ROOTBASE="/home/jmp/safe-mailleur/mailleur/test_area/"
 #defining local default domain
 DFLTDOMAIN="localtest.example.com"
 #------------------------------------------------
@@ -32,7 +34,8 @@ CA_KEY_CLT="./certs/localhost-key.pem"
 CA_VERIFY_CLT=0        #to check PEER/server remote certificate
 #------------------------------------------------
 #Configured for Postgresql database
-DB_TYPE=POSTGRESQL
+#DB_TYPE can be either POSTGRESQL,MYSQL, default POSTGRESQL
+DB_TYPE=MYSQL
 DB_NAME=mailleur
 DB_HOST=localhost
 DB_PORT=5432
diff --git a/sql/datatest.mardb.sql b/sql/datatest.mardb.sql
deleted file mode 100644 (file)
index e76937c..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-
-#include       "datatest.def"
-
-//password is generated via command line:
-//openssl password
-//present password is crypte 'mailleur'
-//adding a list of local email
-INSERT INTO emails (email,passwd)               \
-         values ('user1@mardb.example.com','$1$cBO23lDG$7l.Ooe7pF.gf8t6tD2mKp0');
-INSERT INTO emails (email,passwd)               \
-         values ('user2@mardb.example.com','$1$cBO23lDG$7l.Ooe7pF.gf8t6tD2mKp0');
diff --git a/sql/datatest.posdb.sql b/sql/datatest.posdb.sql
deleted file mode 100644 (file)
index eeeb165..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-
-#include       "datatest.def"
-
-//password is generated via command line:
-//openssl password
-//present password is crypte 'mailleur'
-//adding a list of local email
-INSERT INTO emails (email,passwd)               \
-         values ('user1@posdb.example.com','$1$cBO23lDG$7l.Ooe7pF.gf8t6tD2mKp0');
-INSERT INTO emails (email,passwd)               \
-         values ('user2@posdb.example.com','$1$cBO23lDG$7l.Ooe7pF.gf8t6tD2mKp0');
index 47c1bc4398332b686bbf1cd5f899dd2b4d95e370..317694efa05186e58e5122bfebcfae62d7b30e73 100644 (file)
@@ -5,7 +5,20 @@
 //openssl password
 //present password is crypte 'mailleur'
 //adding a list of local email
+
 INSERT INTO emails (email,passwd)              \
         values ('postmaster@example.com','$1$cBO23lDG$7l.Ooe7pF.gf8t6tD2mKp0');
 INSERT INTO emails (email,passwd)              \
         values ('webmaster@example.com','$1$cBO23lDG$7l.Ooe7pF.gf8t6tD2mKp0');
+
+//Set for Postgresql database
+INSERT INTO emails (email,passwd)               \
+         values ('user1@posdb.example.com','$1$cBO23lDG$7l.Ooe7pF.gf8t6tD2mKp0');
+INSERT INTO emails (email,passwd)               \
+         values ('user2@posdb.example.com','$1$cBO23lDG$7l.Ooe7pF.gf8t6tD2mKp0');
+
+//Set for MySQL database
+INSERT INTO emails (email,passwd)               \
+         values ('user1@mardb.example.com','$1$cBO23lDG$7l.Ooe7pF.gf8t6tD2mKp0');
+INSERT INTO emails (email,passwd)               \
+         values ('user2@mardb.example.com','$1$cBO23lDG$7l.Ooe7pF.gf8t6tD2mKp0');
diff --git a/support/resetdb.sh b/support/resetdb.sh
new file mode 100755 (executable)
index 0000000..edd88c7
--- /dev/null
@@ -0,0 +1,49 @@
+#! /usr/bin/bash
+#---------------------------------------------------------------
+#program to reset the database contents
+#parameters ["doit"] "confdirectory
+#---------------------------------------------------------------
+#start delay
+DELAY=10
+DOIT=doit
+#---------------------------------------------------------------
+if [ $# -ge 1  -a  "$1" != "$DOIT" ]  ; then
+  echo ""
+  echo "-----------"
+  echo "ATTENTION! you are requesting a FULL database RESET"
+  echo "Are you sure!"
+  echo "You have $DELAY seconds to cancel (CTRL-C)"
+  echo "-----------"
+  sleep $DELAY
+  fi
+if [ $1 == $DOIT ]  ; then
+  shift;
+  fi
+if [ $# -gt 0 ] ; then
+  . $1
+  fi
+
+#---------------------------------------------------------------
+#destroying the database
+case "$DB_TYPE" in
+  "POSTGRESQL"         )
+    DB=$(psql -U postgres -tAc "SELECT 1 FROM pg_database WHERE datname='${APPNAME}'")
+    if [ "$DB" = "1" ] ; then
+      echo "drop database $APPNAME;" | psql -q -U postgres template1
+      fi
+    echo "create database $APPNAME;" | psql -q -U postgres template1
+    SQL="psql -q $APPNAME"
+    ;;
+  "MYSQL"              )
+    echo "Got Mysql"
+    exit 1
+    ;;
+  *                    )
+    echo $DB_TYPE is not expected!, check configuration file!
+    exit 1
+    ;;
+  esac
+
+#loading database
+cpp -P -D$DB_TYPE $ROOTBASE/usr/share/$APPNAME/sql/$APPNAME.sql | $SQL
+cpp -P -D$DB_TYPE $ROOTBASE/usr/share/$APPNAME/sql/datatest.sql | $SQL