File common-Create-database-user-separately-to-allow-empty-password.patch of Package warewulf

From: Egbert Eich <eich@suse.com>
Date: Mon Oct 4 19:49:16 2021 +0200
Subject: common: Create database user separately to allow empty password
Patch-mainline: Not yet
Git-commit: 3e87929be4b49584a9a3d5c51ef5eb2dc2d1792a
References: 

Signed-off-by: Egbert Eich <eich@suse.com>
---
 common/libexec/wwinit/10-database.init | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/common/libexec/wwinit/10-database.init b/common/libexec/wwinit/10-database.init
index 5d0626b..c58c5c0 100644
--- a/common/libexec/wwinit/10-database.init
+++ b/common/libexec/wwinit/10-database.init
@@ -183,10 +183,14 @@ if [ "$DATASTORE" = "mysql" ]; then
     fi 
 
     if [ -n "$DBUSER" ] && [ "$DBUSER" != "root" ]; then
-        wwprint "Updating database permissions for base user"
+        wwprint "Creating base user if it doesn't exist"
         wwrun mysql $CLI_ARGS $DBNAME <<- END_OF_SQL
-            GRANT SELECT on $DBNAME.* 
-                TO '$DBUSER'@'$DBCLIENT' IDENTIFIED BY '$DBPASS'
+            CREATE USER if not exists '$DBUSER'@'$DBCLIENT';
+	END_OF_SQL
+	wwprint "Updating database permissions for base user"
+	wwrun mysql $CLI_ARGS $DBNAME <<- END_OF_SQL
+	    GRANT SELECT on $DBNAME.*
+	        TO '$DBUSER'@'$DBCLIENT' IDENTIFIED BY '$DBPASS'
 	END_OF_SQL
     fi
 
openSUSE Build Service is sponsored by