Bugzilla – Attachment 98263 Details for
Bug 24340
Add ability to disable SIP using koha-sip
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 24340: allow koha-sip --disable inst
Bug-24340-allow-koha-sip---disable-inst.patch (text/plain), 7.31 KB, created by
David Nind
on 2020-02-01 11:20:05 UTC
(
hide
)
Description:
Bug 24340: allow koha-sip --disable inst
Filename:
MIME Type:
Creator:
David Nind
Created:
2020-02-01 11:20:05 UTC
Size:
7.31 KB
patch
obsolete
>From 492fc33898a0cf3e9a80de37997ed15a82fce180 Mon Sep 17 00:00:00 2001 >From: Liz Rea <wizzyrea@gmail.com> >Date: Fri, 3 Jan 2020 17:35:20 +0000 >Subject: [PATCH] Bug 24340: allow koha-sip --disable inst > >To test: > >- Enable sip for your testing instance > sudo koha-sip --enable inst >- Start sip for your testing instance > sudo koha-sip --start inst >- Verify it is running > ps ax |grep sip -> you should see processes >- Disable sip for your testing intance > sudo koha-sip --disable inst >- Verify that the following has happened: > * SIP is no longer running for your instance - no SIP processes > * SIP Cannot be started for the instance because it is not enabled. > >Signed-off-by: David Nind <david@davidnind.com> >--- > debian/docs/koha-sip.xml | 9 ++++- > debian/scripts/koha-functions.sh | 2 +- > debian/scripts/koha-sip | 75 +++++++++++++++++++++++++++++----------- > 3 files changed, 63 insertions(+), 23 deletions(-) > >diff --git a/debian/docs/koha-sip.xml b/debian/docs/koha-sip.xml >index 40cb57da49..807e796bb9 100644 >--- a/debian/docs/koha-sip.xml >+++ b/debian/docs/koha-sip.xml >@@ -27,6 +27,7 @@ > <arg><option>--start</option>|<option>--stop</option>|<option>--restart</option></arg> > <arg><option>--status</option></arg> > <arg><option>--enable</option></arg> >+ <arg><option>--disable</option></arg> > <arg><option>--verbose</option>|<option>-v</option></arg> > <arg><option>-h</option>|<option>--help</option></arg> > </cmdsynopsis> >@@ -56,10 +57,16 @@ > <varlistentry> > <term><option>--enable</option></term> > <listitem> >- <para>Copies the default SIP configuration file (/etc/koha/SIPconfig.xml) to the instance's configuration directory (/etc/koha/sites/)</para> >+ <para>Enables the Koha SIP server, installing a default config at /etc/koha/sites/instance/SIPconfig.xml if it doesn't already exist.</para> > </listitem> > </varlistentry> > <varlistentry> >+ <term><option>--disable</option></term> >+ <listitem> >+ <para>Disables the SIP server and shuts down running SIP processes.</para> >+ </listitem> >+ </varlistentry> >+ <varlistentry> > <term><option>--status</option></term> > <listitem> > <para>Show status information about the SIP server for the specified Koha instances.</para> >diff --git a/debian/scripts/koha-functions.sh b/debian/scripts/koha-functions.sh >index 9d42bae9e0..8687845aa5 100755 >--- a/debian/scripts/koha-functions.sh >+++ b/debian/scripts/koha-functions.sh >@@ -139,7 +139,7 @@ is_sip_enabled() > { > local instancename=$1 > >- if [ -e /etc/koha/sites/$instancename/SIPconfig.xml ]; then >+ if [ -e /var/lib/koha/$instancename/sip.enabled ]; then > return 0 > else > return 1 >diff --git a/debian/scripts/koha-sip b/debian/scripts/koha-sip >index bcc1db8ce2..00d337f075 100755 >--- a/debian/scripts/koha-sip >+++ b/debian/scripts/koha-sip >@@ -45,6 +45,8 @@ Usage: > $scriptname [--start|--stop|--restart] instancename1 [instancename2...] > $scriptname -h|--help > >+ --enable Enable the Koha SIP server. >+ --disable Disable and stop the Koha SIP server. > --start Start the SIP server for the specified instance(s) > --stop Stop the SIP server for the specified instance(s) > --restart Restart the SIP server for the specified instance(s) >@@ -62,17 +64,19 @@ start_sip() > _check_and_fix_perms $name > > if ! is_sip_running $name; then >- >- adjust_paths_dev_install $name >- export KOHA_HOME PERL5LIB >- >- if [ "$DEV_INSTALL" = "" ]; then >- LIBDIR=$KOHA_HOME/lib >+ if [ ! -f "/etc/koha/sites/${name}/SIPconfig.xml" ] || [ ! -f "/var/lib/koha/${name}/sip.enabled" ] ; then >+ echo "SIP is disabled, or you do not have a SIPconfig.xml file." > else >- LIBDIR=$KOHA_HOME >- fi >+ adjust_paths_dev_install $name >+ export KOHA_HOME PERL5LIB > >- DAEMONOPTS="--name=${name}-koha-sip \ >+ if [ "$DEV_INSTALL" = "" ]; then >+ LIBDIR=$KOHA_HOME/lib >+ else >+ LIBDIR=$KOHA_HOME >+ fi >+ >+ DAEMONOPTS="--name=${name}-koha-sip \ > --errlog=/var/log/koha/${name}/sip-error.log \ > --stdout=/var/log/koha/${name}/sip.log \ > --output=/var/log/koha/${name}/sip-output.log \ >@@ -82,18 +86,19 @@ start_sip() > --pidfiles=/var/run/koha/${name} \ > --user=${name}-koha.${name}-koha" > >- SIP_PARAMS="$LIBDIR/C4/SIP/SIPServer.pm \ >+ SIP_PARAMS="$LIBDIR/C4/SIP/SIPServer.pm \ > /etc/koha/sites/${name}/SIPconfig.xml" > >- [ "$verbose" != "no" ] && \ >- log_daemon_msg "Starting SIP server for ${name}" >+ [ "$verbose" != "no" ] && \ >+ log_daemon_msg "Starting SIP server for ${name}" > >- if daemon $DAEMONOPTS -- perl $SIP_PARAMS; then >- ([ "$verbose" != "no" ] && \ >- log_end_msg 0) || return 0 >- else >- ([ "$verbose" != "no" ] && \ >- log_end_msg 1) || return 1 >+ if daemon $DAEMONOPTS -- perl $SIP_PARAMS; then >+ ([ "$verbose" != "no" ] && \ >+ log_end_msg 0) || return 0 >+ else >+ ([ "$verbose" != "no" ] && \ >+ log_end_msg 1) || return 1 >+ fi > fi > else > if [ "$verbose" != "no" ]; then >@@ -176,6 +181,7 @@ sip_status() > enable_sip() > { > local name=$1 >+ local libdir=/var/lib/koha/${name} > > sipfile=/etc/koha/sites/${name}/SIPconfig.xml > >@@ -183,12 +189,33 @@ enable_sip() > echo "Warning: SIP server already enabled for ${name}" > else > echo "Enabling SIP server for ${name} - edit ${sipfile} to configure" >- cp -v /etc/koha/SIPconfig.xml ${sipfile} >- chown ${name}-koha:${name}-koha ${sipfile} >- chmod 600 ${sipfile} >+ touch $libdir/sip.enabled >+ if [[ ! -f "/etc/koha/sites/${name}/SIPconfig.xml" ]]; then >+ cp -v /etc/koha/SIPconfig.xml ${sipfile} >+ chown ${name}-koha:${name}-koha ${sipfile} >+ chmod 600 ${sipfile} >+ echo "This is the first time SIP has been enabled. Please check the configurations in /etc/koha/sites/${name}/SIPconfig.xml" >+ fi >+ fi >+} >+ >+disable_sip() >+{ >+ local name=$1 >+ local libdir=/var/lib/koha/${name} >+ >+ if is_sip_enabled ${name}; then >+ # SIP is enabled, we should disable it >+ echo "Stopping running SIP" >+ stop_sip ${name} >+ rm ${libdir}/sip.enabled >+ echo "Information: SIP server disabled for ${name}" >+ else >+ echo " SIP server for ${name} not enabled - use koha-sip --enable <instance> to enable." > fi > } > >+ > _check_and_fix_perms() > { > local name=$1 >@@ -262,6 +289,9 @@ while [ $# -gt 0 ]; do > --enable) > set_action "enable" > shift ;; >+ --disable) >+ set_action "disable" >+ shift ;; > -*) > die "Error: invalid option switch ($1)" ;; > *) >@@ -294,6 +324,9 @@ if [ $# -gt 0 ]; then > ;; > "enable") > enable_sip $name >+ ;; >+ "disable") >+ disable_sip $name > esac > > else >-- >2.11.0
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 24340
:
96797
|
96813
|
97360
|
97361
|
97379
|
97380
|
97381
|
98257
|
98258
|
98263
|
98716