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
<timezone> 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
<timezone> 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
    <timezone>Your/Timezone</timezone> (i.e. introduced behaviour works)
- Sign off :-D

Sponsored-by: ByWater Solutions

Signed-off-by: Mark Tompsett <mtompset@hotmail.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
This commit is contained in:
Tomás Cohen Arazi 2018-04-05 11:07:30 -03:00 committed by Jonathan Druart
parent 8bb531b530
commit 896bb7ec54
3 changed files with 21 additions and 2 deletions

View file

@ -40,6 +40,7 @@
<arg><option>--enable-sru</option></arg>
<arg><option>--sru-port</option> port</arg>
<arg><option>--template-cache-dir</option> directory</arg>
<arg><option>--timezone</option> time/zone</arg>
<arg><option>--upload-path</option> directory</arg>
<arg><option>--letsencrypt</option></arg>
<arg><option>--help</option>|<option>-h</option></arg>
@ -185,6 +186,13 @@
</listitem>
</varlistentry>
<varlistentry>
<term><option>--timezone</option></term>
<listitem>
<para>Specify a <option>timezone</option> for the created instance. e.g. America/Argentina</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--upload-path</option></term>
<listitem>

View file

@ -71,6 +71,7 @@ Options:
conjunction with --defaultsql and --populate-db.
--template-cache-dir Set a user defined template_cache_dir. It defaults to
/var/cache/koha/<instance>/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/<instance>/uploads
--letsencrypt Set up a https-only site with letsencrypt certificates
@ -115,6 +116,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" \
@ -413,6 +415,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
@ -443,7 +447,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,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,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!
@ -461,6 +465,7 @@ CLO_MEMCACHED_PREFIX=""
CLO_UPLOAD_PATH=""
CLO_LETSENCRYPT=""
CLO_TEMPLATE_CACHE_DIR=""
CLO_TIMEZONE=""
while true ; do
case "$1" in
@ -502,6 +507,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)
@ -548,6 +555,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

View file

@ -367,7 +367,7 @@ __END_SRU_PUBLICSERVER__
<!-- The timezone setting can let you force the timezone for this
instance to be something other then the local timezone of the
server. e.g. Antarctica/South_Pole -->
<timezone></timezone>
<timezone>__TIMEZONE__</timezone>
</config>
</yazgfs>