kohabug 1776 - enable daemon controls scripts for 'dev' mode
The daemon control scripts (koha-zebra-ctl.sh, koha-zebraqueue-ctl.sh, and koha-pazpar2-ctl.sh) are now copied and installed in a runnable fashion for a 'dev'-mode install. By default they are installed in the bin subdirectory of the runtime directory. Also: * the control scripts now work if the EUID is other than root (as would be expected for a 'dev' or 'single' install). * Split the SCRIPT_DIR installation target into SCRIPT_DIR (scripts to copy regardless of install mode) and SCRIPT_NONDEV_DIR (scripts to copy to SCRIPT_DIR unless the install mode is 'dev'). Signed-off-by: Joshua Ferraro <jmf@liblime.com>
This commit is contained in:
parent
46059fe9fc
commit
f20a58181b
4 changed files with 49 additions and 22 deletions
30
Makefile.PL
30
Makefile.PL
|
@ -197,7 +197,14 @@ things the translation toolkit and RSS feed tools.
|
||||||
|
|
||||||
=item SCRIPT_DIR
|
=item SCRIPT_DIR
|
||||||
|
|
||||||
Directory for command-line scripts and daemons.
|
Directory for command-line scripts and daemons to
|
||||||
|
be set up all for installation modes.
|
||||||
|
|
||||||
|
=item SCRIPT_NONDEV_DIR
|
||||||
|
|
||||||
|
Directory for command-line scripts that should
|
||||||
|
be installed in the same directory as the
|
||||||
|
SCRIPT_DIR target except 'dev' installs.
|
||||||
|
|
||||||
=item MAN_DIR
|
=item MAN_DIR
|
||||||
|
|
||||||
|
@ -259,7 +266,7 @@ my $target_map = {
|
||||||
'./Makefile.PL' => 'NONE',
|
'./Makefile.PL' => 'NONE',
|
||||||
'./MANIFEST.SKIP' => 'NONE',
|
'./MANIFEST.SKIP' => 'NONE',
|
||||||
'./members' => 'INTRANET_CGI_DIR',
|
'./members' => 'INTRANET_CGI_DIR',
|
||||||
'./misc' => { target => 'SCRIPT_DIR', trimdir => -1 },
|
'./misc' => { target => 'SCRIPT_NONDEV_DIR', trimdir => -1 },
|
||||||
'./misc/bin' => { target => 'SCRIPT_DIR', trimdir => -1 },
|
'./misc/bin' => { target => 'SCRIPT_DIR', trimdir => -1 },
|
||||||
'./misc/release_notes' => { target => 'DOC_DIR', trimdir => 2 },
|
'./misc/release_notes' => { target => 'DOC_DIR', trimdir => 2 },
|
||||||
'./misc/translator' => { target => 'MISC_DIR', trimdir => 2 },
|
'./misc/translator' => { target => 'MISC_DIR', trimdir => 2 },
|
||||||
|
@ -482,13 +489,11 @@ if ($config{'INSTALL_ZEBRA'} eq "yes") {
|
||||||
'blib/ZEBRA_CONF_DIR/retrieval-info-auth-grs1.xml',
|
'blib/ZEBRA_CONF_DIR/retrieval-info-auth-grs1.xml',
|
||||||
'blib/ZEBRA_CONF_DIR/retrieval-info-auth-dom.xml',
|
'blib/ZEBRA_CONF_DIR/retrieval-info-auth-dom.xml',
|
||||||
);
|
);
|
||||||
if ($config{'INSTALL_MODE'} ne 'dev') {
|
push @{ $pl_files->{'rewrite-config.PL'} }, (
|
||||||
push @{ $pl_files->{'rewrite-config.PL'} }, (
|
'blib/SCRIPT_DIR/koha-zebra-ctl.sh',
|
||||||
'blib/SCRIPT_DIR/koha-zebra-ctl.sh',
|
'blib/SCRIPT_DIR/koha-pazpar2-ctl.sh',
|
||||||
'blib/SCRIPT_DIR/koha-pazpar2-ctl.sh',
|
'blib/SCRIPT_DIR/koha-zebraqueue-ctl.sh',
|
||||||
'blib/SCRIPT_DIR/koha-zebraqueue-ctl.sh',
|
);
|
||||||
);
|
|
||||||
}
|
|
||||||
if ($config{'INSTALL_PAZPAR2'} eq 'yes') {
|
if ($config{'INSTALL_PAZPAR2'} eq 'yes') {
|
||||||
push @{ $pl_files->{'rewrite-config.PL'} }, (
|
push @{ $pl_files->{'rewrite-config.PL'} }, (
|
||||||
'blib/PAZPAR2_CONF_DIR/koha-biblios.xml',
|
'blib/PAZPAR2_CONF_DIR/koha-biblios.xml',
|
||||||
|
@ -503,7 +508,7 @@ if ($config{'INSTALL_ZEBRA'} eq "yes") {
|
||||||
if ($config{'INSTALL_MODE'} ne "dev") {
|
if ($config{'INSTALL_MODE'} ne "dev") {
|
||||||
push @{ $pl_files->{'rewrite-config.PL'} }, (
|
push @{ $pl_files->{'rewrite-config.PL'} }, (
|
||||||
'blib/PERL_MODULE_DIR/C4/Context.pm',
|
'blib/PERL_MODULE_DIR/C4/Context.pm',
|
||||||
'blib/SCRIPT_DIR/kohalib.pl'
|
'blib/SCRIPT_NONDEV_DIR/kohalib.pl'
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1176,6 +1181,7 @@ sub get_target_directories {
|
||||||
$dirmap{'PAZPAR2_CONF_DIR'} = File::Spec->catdir(@basedir, $package, 'etc', 'pazpar2');
|
$dirmap{'PAZPAR2_CONF_DIR'} = File::Spec->catdir(@basedir, $package, 'etc', 'pazpar2');
|
||||||
$dirmap{'MISC_DIR'} = File::Spec->catdir(@basedir, $package, 'misc');
|
$dirmap{'MISC_DIR'} = File::Spec->catdir(@basedir, $package, 'misc');
|
||||||
$dirmap{'SCRIPT_DIR'} = File::Spec->catdir(@basedir, $package, 'bin');
|
$dirmap{'SCRIPT_DIR'} = File::Spec->catdir(@basedir, $package, 'bin');
|
||||||
|
$dirmap{'SCRIPT_NONDEV_DIR'} = $dirmap{'SCRIPT_DIR'};
|
||||||
$dirmap{'MAN_DIR'} = File::Spec->catdir(@basedir, $package, 'man');
|
$dirmap{'MAN_DIR'} = File::Spec->catdir(@basedir, $package, 'man');
|
||||||
$dirmap{'DOC_DIR'} = File::Spec->catdir(@basedir, $package, 'doc');
|
$dirmap{'DOC_DIR'} = File::Spec->catdir(@basedir, $package, 'doc');
|
||||||
$dirmap{'ZEBRA_LOCK_DIR'} = File::Spec->catdir(@basedir, $package, 'var', 'lock', 'zebradb');
|
$dirmap{'ZEBRA_LOCK_DIR'} = File::Spec->catdir(@basedir, $package, 'var', 'lock', 'zebradb');
|
||||||
|
@ -1203,7 +1209,8 @@ sub get_target_directories {
|
||||||
$dirmap{'PAZPAR2_CONF_DIR'} = File::Spec->catdir(@basedir, $package, 'etc', 'pazpar2');
|
$dirmap{'PAZPAR2_CONF_DIR'} = File::Spec->catdir(@basedir, $package, 'etc', 'pazpar2');
|
||||||
$dirmap{'MISC_DIR'} = File::Spec->catdir(@basedir, $package, 'misc');
|
$dirmap{'MISC_DIR'} = File::Spec->catdir(@basedir, $package, 'misc');
|
||||||
$dirmap{'SCRIPT_DIR'} = File::Spec->catdir(@basedir, $package, 'bin');
|
$dirmap{'SCRIPT_DIR'} = File::Spec->catdir(@basedir, $package, 'bin');
|
||||||
$skipdirs{'SCRIPT_DIR'} = 1;
|
$dirmap{'SCRIPT_NONDEV_DIR'} = $dirmap{'SCRIPT_DIR'};
|
||||||
|
$skipdirs{'SCRIPT_NONDEV_DIR'} = 1;
|
||||||
$dirmap{'MAN_DIR'} = File::Spec->catdir(@basedir, $package, 'man');
|
$dirmap{'MAN_DIR'} = File::Spec->catdir(@basedir, $package, 'man');
|
||||||
$dirmap{'DOC_DIR'} = File::Spec->catdir(@basedir, $package, 'doc');
|
$dirmap{'DOC_DIR'} = File::Spec->catdir(@basedir, $package, 'doc');
|
||||||
$dirmap{'ZEBRA_LOCK_DIR'} = File::Spec->catdir(@basedir, $package, 'var', 'lock', 'zebradb');
|
$dirmap{'ZEBRA_LOCK_DIR'} = File::Spec->catdir(@basedir, $package, 'var', 'lock', 'zebradb');
|
||||||
|
@ -1224,6 +1231,7 @@ sub get_target_directories {
|
||||||
$dirmap{'PAZPAR2_CONF_DIR'} = File::Spec->catdir(File::Spec->rootdir(), 'etc', $package, 'pazpar2');
|
$dirmap{'PAZPAR2_CONF_DIR'} = File::Spec->catdir(File::Spec->rootdir(), 'etc', $package, 'pazpar2');
|
||||||
$dirmap{'MISC_DIR'} = File::Spec->catdir(@basedir, $package, 'misc');
|
$dirmap{'MISC_DIR'} = File::Spec->catdir(@basedir, $package, 'misc');
|
||||||
$dirmap{'SCRIPT_DIR'} = File::Spec->catdir(@basedir, $package, 'bin');
|
$dirmap{'SCRIPT_DIR'} = File::Spec->catdir(@basedir, $package, 'bin');
|
||||||
|
$dirmap{'SCRIPT_NONDEV_DIR'} = $dirmap{'SCRIPT_DIR'};
|
||||||
$dirmap{'MAN_DIR'} = File::Spec->catdir(@basedir, $package, 'man');
|
$dirmap{'MAN_DIR'} = File::Spec->catdir(@basedir, $package, 'man');
|
||||||
$dirmap{'DOC_DIR'} = File::Spec->catdir(@basedir, $package, 'doc');
|
$dirmap{'DOC_DIR'} = File::Spec->catdir(@basedir, $package, 'doc');
|
||||||
$dirmap{'ZEBRA_LOCK_DIR'} = File::Spec->catdir(File::Spec->rootdir(), 'var', 'lock', $package, 'zebradb');
|
$dirmap{'ZEBRA_LOCK_DIR'} = File::Spec->catdir(File::Spec->rootdir(), 'var', 'lock', $package, 'zebradb');
|
||||||
|
|
|
@ -12,18 +12,23 @@ PAZPAR2SRV=/usr/sbin/pazpar2
|
||||||
|
|
||||||
test -f $PAZPAR2SRV || exit 0
|
test -f $PAZPAR2SRV || exit 0
|
||||||
|
|
||||||
|
OTHERUSER=''
|
||||||
|
if [[ $EUID -eq 0 ]]; then
|
||||||
|
OTHERUSER="--user=$USER.$GROUP"
|
||||||
|
fi
|
||||||
|
|
||||||
case "$1" in
|
case "$1" in
|
||||||
start)
|
start)
|
||||||
echo "Starting PazPar2 Server"
|
echo "Starting PazPar2 Server"
|
||||||
daemon --name=$NAME --errlog=$ERRLOG --stdout=$STDOUT --output=$OUTPUT --verbose=1 --respawn --delay=30 --user=$USER.$GROUP -- $PAZPAR2SRV -f $PAZPAR2_CONF
|
daemon --name=$NAME --errlog=$ERRLOG --stdout=$STDOUT --output=$OUTPUT --verbose=1 --respawn --delay=30 $OTHERUSER -- $PAZPAR2SRV -f $PAZPAR2_CONF
|
||||||
;;
|
;;
|
||||||
stop)
|
stop)
|
||||||
echo "Stopping PazPar2 Server"
|
echo "Stopping PazPar2 Server"
|
||||||
daemon --name=$NAME --errlog=$ERRLOG --stdout=$STDOUT --output=$OUTPUT --verbose=1 --respawn --delay=30 --user=$USER.$GROUP --stop -- $PAZPAR2SRV -f $PAZPAR2_CONF
|
daemon --name=$NAME --errlog=$ERRLOG --stdout=$STDOUT --output=$OUTPUT --verbose=1 --respawn --delay=30 --stop -- $PAZPAR2SRV -f $PAZPAR2_CONF
|
||||||
;;
|
;;
|
||||||
restart)
|
restart)
|
||||||
echo "Restarting the PazPar2 Server"
|
echo "Restarting the PazPar2 Server"
|
||||||
daemon --name=$NAME --errlog=$ERRLOG --stdout=$STDOUT --output=$OUTPUT --verbose=1 --respawn --delay=30 --user=$USER.$GROUP --restart -- $PAZPAR2SRV -f $PAZPAR2_CONF
|
daemon --name=$NAME --errlog=$ERRLOG --stdout=$STDOUT --output=$OUTPUT --verbose=1 --respawn --delay=30 --restart -- $PAZPAR2SRV -f $PAZPAR2_CONF
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
echo "Usage: /etc/init.d/$NAME {start|stop|restart}"
|
echo "Usage: /etc/init.d/$NAME {start|stop|restart}"
|
||||||
|
|
|
@ -15,6 +15,11 @@ ZEBRASRV=/usr/bin/zebrasrv
|
||||||
|
|
||||||
test -f $ZEBRASRV || exit 0
|
test -f $ZEBRASRV || exit 0
|
||||||
|
|
||||||
|
OTHERUSER=''
|
||||||
|
if [[ $EUID -eq 0 ]]; then
|
||||||
|
OTHERUSER="--user=$USER.$GROUP"
|
||||||
|
fi
|
||||||
|
|
||||||
case "$1" in
|
case "$1" in
|
||||||
start)
|
start)
|
||||||
echo "Starting Zebra Server"
|
echo "Starting Zebra Server"
|
||||||
|
@ -25,25 +30,29 @@ case "$1" in
|
||||||
if [[ ! -d $RUNDIR ]]; then
|
if [[ ! -d $RUNDIR ]]; then
|
||||||
umask 022
|
umask 022
|
||||||
mkdir -p $RUNDIR
|
mkdir -p $RUNDIR
|
||||||
chown $USER:$GROUP $RUNDIR
|
if [[ $EUID -eq 0 ]]; then
|
||||||
|
chown $USER:$GROUP $RUNDIR
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
if [[ ! -d $LOCKDIR ]]; then
|
if [[ ! -d $LOCKDIR ]]; then
|
||||||
umask 022
|
umask 022
|
||||||
mkdir -p $LOCKDIR
|
mkdir -p $LOCKDIR
|
||||||
mkdir -p $LOCKDIR/biblios
|
mkdir -p $LOCKDIR/biblios
|
||||||
mkdir -p $LOCKDIR/authorities
|
mkdir -p $LOCKDIR/authorities
|
||||||
chown -R $USER:$GROUP $LOCKDIR
|
if [[ $EUID -eq 0 ]]; then
|
||||||
|
chown -R $USER:$GROUP $LOCKDIR
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
daemon --name=$NAME --errlog=$ERRLOG --stdout=$STDOUT --output=$OUTPUT --verbose=1 --respawn --delay=30 --user=$USER.$GROUP -- $ZEBRASRV -f $KOHA_CONF
|
daemon --name=$NAME --errlog=$ERRLOG --stdout=$STDOUT --output=$OUTPUT --verbose=1 --respawn --delay=30 $OTHERUSER -- $ZEBRASRV -f $KOHA_CONF
|
||||||
;;
|
;;
|
||||||
stop)
|
stop)
|
||||||
echo "Stopping Zebra Server"
|
echo "Stopping Zebra Server"
|
||||||
daemon --name=$NAME --errlog=$ERRLOG --stdout=$STDOUT --output=$OUTPUT --verbose=1 --respawn --delay=30 --user=$USER.$GROUP --stop -- $ZEBRASRV -f $KOHA_CONF
|
daemon --name=$NAME --errlog=$ERRLOG --stdout=$STDOUT --output=$OUTPUT --verbose=1 --respawn --delay=30 $OTHERUSER --stop -- $ZEBRASRV -f $KOHA_CONF
|
||||||
;;
|
;;
|
||||||
restart)
|
restart)
|
||||||
echo "Restarting the Zebra Server"
|
echo "Restarting the Zebra Server"
|
||||||
daemon --name=$NAME --errlog=$ERRLOG --stdout=$STDOUT --output=$OUTPUT --verbose=1 --respawn --delay=30 --user=$USER.$GROUP --restart -- $ZEBRASRV -f $KOHA_CONF
|
daemon --name=$NAME --errlog=$ERRLOG --stdout=$STDOUT --output=$OUTPUT --verbose=1 --respawn --delay=30 $OTHERUSER --restart -- $ZEBRASRV -f $KOHA_CONF
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
echo "Usage: /etc/init.d/$NAME {start|stop|restart}"
|
echo "Usage: /etc/init.d/$NAME {start|stop|restart}"
|
||||||
|
|
|
@ -15,18 +15,23 @@ ZEBRAQUEUE=__SCRIPT_DIR__/zebraqueue_daemon.pl
|
||||||
|
|
||||||
test -f $ZEBRAQUEUE || exit 0
|
test -f $ZEBRAQUEUE || exit 0
|
||||||
|
|
||||||
|
OTHERUSER=''
|
||||||
|
if [[ $EUID -eq 0 ]]; then
|
||||||
|
OTHERUSER="--user=$USER.$GROUP"
|
||||||
|
fi
|
||||||
|
|
||||||
case "$1" in
|
case "$1" in
|
||||||
start)
|
start)
|
||||||
echo "Starting Zebraqueue Daemon"
|
echo "Starting Zebraqueue Daemon"
|
||||||
daemon --name=$NAME --errlog=$ERRLOG --stdout=$STDOUT --output=$OUTPUT --verbose=1 --respawn --delay=30 --user=$USER.$GROUP -- perl -I $PERL5LIB $ZEBRAQUEUE -f $KOHA_CONF
|
daemon --name=$NAME --errlog=$ERRLOG --stdout=$STDOUT --output=$OUTPUT --verbose=1 --respawn --delay=30 $OTHERUSER -- perl -I $PERL5LIB $ZEBRAQUEUE -f $KOHA_CONF
|
||||||
;;
|
;;
|
||||||
stop)
|
stop)
|
||||||
echo "Stopping Zebraqueue Daemon"
|
echo "Stopping Zebraqueue Daemon"
|
||||||
daemon --name=$NAME --errlog=$ERRLOG --stdout=$STDOUT --output=$OUTPUT --verbose=1 --respawn --delay=30 --user=$USER.$GROUP --stop -- perl -I $PERL5LIB $ZEBRAQUEUE -f $KOHA_CONF
|
daemon --name=$NAME --errlog=$ERRLOG --stdout=$STDOUT --output=$OUTPUT --verbose=1 --respawn --delay=30 $OTHERUSER --stop -- perl -I $PERL5LIB $ZEBRAQUEUE -f $KOHA_CONF
|
||||||
;;
|
;;
|
||||||
restart)
|
restart)
|
||||||
echo "Restarting the Zebraqueue Daemon"
|
echo "Restarting the Zebraqueue Daemon"
|
||||||
daemon --name=$NAME --errlog=$ERRLOG --stdout=$STDOUT --output=$OUTPUT --verbose=1 --respawn --delay=30 --user=$USER.$GROUP --restart -- perl -I $PERL5LIB $ZEBRAQUEUE -f $KOHA_CONF
|
daemon --name=$NAME --errlog=$ERRLOG --stdout=$STDOUT --output=$OUTPUT --verbose=1 --respawn --delay=30 $OTHERUSER --restart -- perl -I $PERL5LIB $ZEBRAQUEUE -f $KOHA_CONF
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
echo "Usage: /etc/init.d/$NAME {start|stop|restart}"
|
echo "Usage: /etc/init.d/$NAME {start|stop|restart}"
|
||||||
|
|
Loading…
Reference in a new issue