Bug 21440: koha-create expects the file passed by $DEFAULTSQL to be in gzip format
authorAndreas Roussos <arouss1980@gmail.com>
Thu, 27 Sep 2018 16:05:48 +0000 (19:05 +0300)
committerNick Clemens <nick@bywatersolutions.com>
Tue, 9 Oct 2018 09:59:10 +0000 (09:59 +0000)
koha-create contains a call to `zcat` which fails if the file passed
as an argument is not in gzip format.

This patch fixes the issue by adding the -f flag to the zcat call in
koha-create, as per the top-voted answers in the following SE URLs:
https://unix.stackexchange.com/a/77309
https://unix.stackexchange.com/a/131944

Test plan:
1) in /etc/koha/koha-sites.conf, set the DEFAULTSQL variable to point
   to an _uncompressed_ SQL database dump
2) run `koha-create --create-db instance` and notice how it fails with:
   gzip: /path/to/dump.sql: not in gzip format
3) apply the patch
4) notice the extra line of information "The SQL file can be optionally
   compressed with gzip" in koha-sites.conf
5) run the `koha-create` command again, this time it should work
6) repeat with DEFAULTSQL pointing to a gzip'd dump, it should work too

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>

debian/scripts/koha-create
debian/templates/koha-sites.conf

index 74c8cf9..afe1f55 100755 (executable)
@@ -684,7 +684,7 @@ then
     if [ -e "$DEFAULTSQL" ]
     then
         # Populate the database with default content.
-        zcat "$DEFAULTSQL" |
+        zcat -f "$DEFAULTSQL" |
         sed "s/__KOHASITE__/koha_$name/g" |
         mysql --host="$mysqlhost" --user="$mysqluser" --password="$mysqlpwd" "$mysqldb"
 
index 53a1250..3be4c55 100644 (file)
@@ -17,6 +17,7 @@ OPACSUFFIX=""
 #
 # DEFAULTSQL: filename
 # Specify an SQL file with default data to load during instance creation
+# The SQL file can be optionally compressed with gzip
 # default: (empty)
 DEFAULTSQL=""