From 02d2c5b258e678927b6e3639f81b96682650018b Mon Sep 17 00:00:00 2001 From: Tomas Cohen Arazi Date: Thu, 5 Apr 2018 11:07:30 -0300 Subject: [PATCH] Bug 20525: Add --timezone switch to koha-create This patch adds a --timezone switch to koha-create so the timezone can be set on creation time. It defaults to empty (i.e. using the server's local time). To test: - Create an instance: $ sudo koha-create --create-db timezone1 => SUCCESS: /etc/koha/sites/timezone1/koha-conf.xml contains an empty entry. - Apply this patch - Run: $ perl misc4dev/cp_debian_files.pl - Create a new instance: $ sudo koha-create --create-db timezone2 => SUCCESS: /etc/koha/sites/timezone2/koha-conf.xml contains an empty entry (i.e. the current behaviour is preserved). - Create a new instance: $ sudo koha-create --create-db --timezone Your/Timezone timezone3 => SUCCESS: /etc/koha/sites/timezone3/koha-conf.xml contains Your/Timezone (i.e. introduced behaviour works) - Sign off :-D Sponsored-by: ByWater Solutions Signed-off-by: Mark Tompsett --- debian/docs/koha-create.xml | 8 ++++++++ debian/scripts/koha-create | 13 ++++++++++++- debian/templates/koha-conf-site.xml.in | 2 +- 3 files changed, 21 insertions(+), 2 deletions(-) diff --git a/debian/docs/koha-create.xml b/debian/docs/koha-create.xml index 632140d..e1132b2 100644 --- a/debian/docs/koha-create.xml +++ b/debian/docs/koha-create.xml @@ -41,6 +41,7 @@ port directory + time/zone directory | @@ -194,6 +195,13 @@ + + + Specify a for the created instance. e.g. America/Argentina + + + + Specify a for storing the permanently uploaded files of the instance. diff --git a/debian/scripts/koha-create b/debian/scripts/koha-create index cdfa63d..ffde66a 100755 --- a/debian/scripts/koha-create +++ b/debian/scripts/koha-create @@ -72,6 +72,7 @@ Options: conjunction with --defaultsql and --populate-db. --template-cache-dir Set a user defined template_cache_dir. It defaults to /var/cache/koha//templates + --timezone time/zone Specify a timezone. e.g. America/Argentina --upload-path dir Set a user defined upload_path. It defaults to /var/lib/koha//uploads --letsencrypt Set up a https-only site with letsencrypt certificates @@ -116,6 +117,7 @@ generate_config_file() { -e "s/__UNIXUSER__/$username/g" \ -e "s/__UNIXGROUP__/$username/g" \ -e "s#__TEMPLATE_CACHE_DIR__#$TEMPLATE_CACHE_DIR#g" \ + -e "s#__TIMEZONE__#$TIMEZONE#g" \ -e "s#__UPLOAD_PATH__#$UPLOAD_PATH#g" \ -e "s/__LOG_DIR__/\/var\/log\/koha\/$name/g" \ -e "s/__PLUGINS_DIR__/\/var\/lib\/koha\/$name\/plugins/g" \ @@ -414,6 +416,8 @@ DEFAULT_MEMCACHED_PREFIX="koha_" UPLOAD_PATH_BASE="/var/lib/koha" UPLOAD_DIR="uploads" UPLOAD_PATH="" +# timezone defaults to empty +TIMEZONE="" # cache base dir CACHE_DIR_BASE="/var/cache/koha" # Generate a randomizaed API secret @@ -444,7 +448,7 @@ fi [ $# -ge 1 ] && [ $# -le 16 ] || ( usage ; die "Error: wrong parameters" ) -TEMP=`getopt -o chrpm:l:d:f:b:a: -l create-db,request-db,populate-db,use-db,use-memcached,enable-sru,sru-port:,help,marcflavor:,auth-idx:,biblio-idx:,zebralang:,defaultsql:,configfile:,passwdfile:,dbhost:,database:,adminuser:,memcached-servers:,memcached-prefix:,template-cache-dir:,upload-path:,letsencrypt, \ +TEMP=`getopt -o chrpm:l:d:f:b:a: -l create-db,request-db,populate-db,use-db,use-memcached,enable-sru,sru-port:,help,marcflavor:,auth-idx:,biblio-idx:,zebralang:,defaultsql:,configfile:,passwdfile:,dbhost:,database:,adminuser:,memcached-servers:,memcached-prefix:,template-cache-dir:,timezone:,upload-path:,letsencrypt, \ -n "$0" -- "$@"` # Note the quotes around `$TEMP': they are essential! @@ -462,6 +466,7 @@ CLO_MEMCACHED_PREFIX="" CLO_UPLOAD_PATH="" CLO_LETSENCRYPT="" CLO_TEMPLATE_CACHE_DIR="" +CLO_TIMEZONE="" while true ; do case "$1" in @@ -505,6 +510,8 @@ while true ; do SRU_SERVER_PORT="$2" ; shift 2 ;; --template-cache-dir) CLO_TEMPLATE_CACHE_DIR="$2" ; shift 2 ;; + --timezone) + CLO_TIMEZONE="$2" ; shift 2 ;; --upload-path) CLO_UPLOAD_PATH="$2" ; shift 2 ;; --letsencrypt) @@ -551,6 +558,10 @@ then PASSWDFILE="$CLO_PASSWDFILE" fi +if [ "$CLO_TIMEZONE" != "" ]; then + TIMEZONE=$CLO_TIMEZONE +fi + if [ "$CLO_BIBLIOS_INDEXING_MODE" != "" ]; then BIBLIOS_INDEXING_MODE=$CLO_BIBLIOS_INDEXING_MODE fi diff --git a/debian/templates/koha-conf-site.xml.in b/debian/templates/koha-conf-site.xml.in index d6f515f..b1f78c9 100644 --- a/debian/templates/koha-conf-site.xml.in +++ b/debian/templates/koha-conf-site.xml.in @@ -359,7 +359,7 @@ __END_SRU_PUBLICSERVER__ - + __TIMEZONE__ -- 2.1.4