Bug 18564: Improve koha-common.cnf parsing to pick the mysql host
authorEric Vantillard <eric.vantillard@evaxion.fr>
Tue, 9 May 2017 21:10:21 +0000 (23:10 +0200)
committerJonathan Druart <jonathan.druart@bugs.koha-community.org>
Fri, 20 Oct 2017 18:58:21 +0000 (15:58 -0300)
my koha-common.cnf is using this form:

[client]
host=db
user=root
password="move_rootpwd_to_dotenv"

this file is working has expected with mysql tools.

but koha-create parsing will not find the db host resulting in
koha-conf.xml containing no values in hostname element.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>

debian/scripts/koha-create

index 74888bc..7b6b512 100755 (executable)
@@ -124,9 +124,10 @@ generate_config_file() {
 
 getmysqlhost() {
     awk '
-        /^\[/ { inclient = 0 }
-        /^\[client\]/ { inclient = 1 }
-        inclient && /^ *host *=/ { print $3 }' \
+        BEGIN { FS="=" }
+        $1 ~/\[/ { inclient=0 }
+        $1 ~/\[client\]/ { inclient=1; next }
+        inclient==1 && $1 ~/host/ { gsub(/ /, "", $2); print $2 }' \
         /etc/mysql/koha-common.cnf
 }