commit aeb9d0382b9a6b7d8b7739ac94147701dd024688
parent 6b9f07bd784121793ff9c63689152d51c8c1b823
Author: finwo <finwo@pm.me>
Date: Sat, 3 Jan 2026 19:36:35 +0100
2.36
Diffstat:
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/);