crossroads

Git mirror of https://crossroads.e-tunity.com/
git clone git://git.finwo.net/app/crossroads
Log | Files | Refs | LICENSE

commit aeb9d0382b9a6b7d8b7739ac94147701dd024688
parent 6b9f07bd784121793ff9c63689152d51c8c1b823
Author: finwo <finwo@pm.me>
Date:   Sat,  3 Jan 2026 19:36:35 +0100

2.36

Diffstat:
MChangeLog | 5+++++
MMakefile | 2+-
Mdoc/xr.1 | 3++-
Mdoc/xr.odt | 0
Mdoc/xr.pdf | 0
Mdoc/xrctl.1 | 3++-
Mdoc/xrctl.xml.5 | 4++--
Mxrctl/xrctl | 22++++++++++++++++++----
8 files changed, 30 insertions(+), 9 deletions(-)

diff --git a/ChangeLog b/ChangeLog @@ -1,3 +1,8 @@ +2.36 [KK 2008-11-11] +- Typo bugfix in xrctl, fixed. +- xrctl will take the environment's PATH if no path is given in the + configuration. + 2.35 [KK 2008-11-11] - The wakeup and checkup thread are always started, even when no wakeups or checkups are defined. Reason is that later these timers diff --git a/Makefile b/Makefile @@ -1,7 +1,7 @@ # Top-level Makefile for XR # ------------------------- -VER = 2.35 +VER = 2.36 PREFIX = $(DESTDIR)/usr BINDIR = $(PREFIX)/sbin MANDIR = $(PREFIX)/share/man diff --git a/doc/xr.1 b/doc/xr.1 @@ -1,4 +1,4 @@ -.TH "XR" "1" "Nov 6, 2008" "Man Pages" +.TH "XR" "1" "Nov 6, 2008" "Crossroads" "Man Page" .SH "NAME" xr \- Crossroads Load Balancer & Fail Over Utility @@ -52,5 +52,6 @@ xrctl(1) .SH "AUTHOR" XR was written by Karel Kubat <karel@kubat.nl>. Web page: http://crossroads.e-tunity.com + .P This man page was written by Frederik Dannemare <frederik@dannemare.net>. diff --git a/doc/xr.odt b/doc/xr.odt Binary files differ. diff --git a/doc/xr.pdf b/doc/xr.pdf Binary files differ. diff --git a/doc/xrctl.1 b/doc/xrctl.1 @@ -1,4 +1,4 @@ -.TH "XRCTL" "1" "Nov 7, 2008" "Man Pages" +.TH "XRCTL" "1" "Nov 7, 2008" "Crossroads" "Man Page" .SH "NAME" xrctl \- Crossroads control-script @@ -33,5 +33,6 @@ xr(1), xrctl.xml(5) .SH "AUTHOR" xrctl was written by Karel Kubat <karel@kubat.nl>. Web page: http://crossroads.e-tunity.com + .P This man page was written by Frederik Dannemare <frederik@dannemare.net>. diff --git a/doc/xrctl.xml.5 b/doc/xrctl.xml.5 @@ -1,4 +1,4 @@ -.TH "XRCTL.XML" "5" "Nov 8, 2008" "Man Pages" +.TH "XRCTL.XML" "5" "Nov 8, 2008" "Crossroads" "Man Page" .SH "NAME" xrctl.xml \- Crossroads control-script configuration file @@ -209,5 +209,5 @@ xr(1), xrctl(1) xrctl and the corresponding configuration file format were written by Karel Kubat <karel@kubat.nl>. Web page: http://crossroads.e-tunity.com -.p +.P This man page was written by Karel Kubat <karel@kubat.nl>. diff --git a/xrctl/xrctl b/xrctl/xrctl @@ -51,6 +51,10 @@ for my $tag qw(piddir pscmd uselogger logdir maxlogsize loghistory path) { $sysconf{$tag} = $sysxp->data($tag); msg("System config $tag: $sysconf{$tag}\n"); } +if ($sysconf{path} eq '') { + msg ("No path in configuration, using environment\n"); + $sysconf{path} = $ENV{PATH}; +} # Load up the service names. my @service_name; @@ -169,7 +173,7 @@ sub cmd_status { } sub cmd_rotate { - if ($sysconf{uselogger} and find_bin('logger')) { + if ($sysconf{uselogger} and find_bin($default_logger)) { print ("Rotating not necessary, logging goes via logger\n"); return; } @@ -299,7 +303,7 @@ sub is_running { sub start_service { my $s = shift; my @args = xr_cmdarr($s); - my $xr = find_bin('xr'); + my $xr = xfind_bin('xr'); my $logstr = log_file($s); my $logtype = substr($logstr, 0, 1); my $logout = substr($logstr, 1); @@ -341,10 +345,20 @@ sub msg { sub find_bin { my $bin = shift; for my $d (split (/:/, $sysconf{path})) { - return ("$d/$bin") if (-x "$d/$bin"); + if (-x "$d/$bin") { + msg ("Binary '$bin' found as '$d/$bin'\n"); + return ("$d/$bin"); + } } + msg ("Binary '$bin' not found along $sysconf{path}\n"); return (undef); } +sub xfind_bin { + my $bin = shift; + my $ret = find_bin ($bin) + or die ("Binary '$bin' cannot be found along path '$sysconf{path}'\n"); + return ($ret); +} # Process name according to a service name sub process_name { @@ -377,7 +391,7 @@ sub xr_command { my $service = shift; my @parts = xr_cmdarr($service); msg ("Command: @parts\n"); - my $ret = find_bin('xr'); + my $ret = xfind_bin('xr'); for (my $i = 1; $i <= $#parts; $i++) { my $sub = $parts[$i]; $sub = "'$sub'" if ($sub =~ /\s/);