From 58dc48be20833f4a2754b540f82c5a764fcb73ac Mon Sep 17 00:00:00 2001
From: Dirk Koopman <djk@tobit.co.uk>
Date: Sat, 11 Dec 2021 20:45:05 +0000
Subject: [PATCH] force git -C $root to make sure it gets its root

---
 Changes         |  1 +
 perl/Messages   | 12 ++++++------
 perl/cluster.pl | 14 ++++++++------
 3 files changed, 15 insertions(+), 12 deletions(-)

diff --git a/Changes b/Changes
index 53295332..a883fa66 100644
--- a/Changes
+++ b/Changes
@@ -1,5 +1,6 @@
 11Dec21=======================================================================
 1. Removed dependency on perl Git package.
+2. Fixed errors caused by change 1 (use git -C $root to force .git location).
 10Dec21=======================================================================
 1. Fix the output of set/dxgrid, set/usstate and set/dxcq or set/dxitu to how
    it was always supposed to be since 2003.
diff --git a/perl/Messages b/perl/Messages
index fddb29bc..565ec38f 100644
--- a/perl/Messages
+++ b/perl/Messages
@@ -160,7 +160,7 @@ package DXM;
 				isow => '$_[0] is isolated; unset/isolate $_[0] first',
 				join => 'joining group $_[0]',
 				l1 => 'Sorry $_[0], you are already logged on on another channel',
-				l2 => 'Hello $_[0], this is $main::mycall in $main::myqth\nrunning DXSpider V$main::version build $main::subversion.$main::build',
+				l2 => 'Hello $_[0], this is $main::mycall in $main::myqth\nrunning DXSpider V$main::version build $main::build on $^O',
 				lang => 'Language is now English',
 				lange1 => 'set/language <lang> where <lang> is one of ($_[0])',
 				lange2 => 'failed to set language on $_[0]', 
@@ -586,7 +586,7 @@ package DXM;
 				isow => '$_[0] est isolé; utilisez d\'abord unset/isolate $_[0]',
 				join => 'Affiliation au groupe $_[0]',
 				l1 => 'Désolé $_[0], vous êtes déjà connecté sur un autre canal',
-				l2 => 'Bonjour $_[0], bienvenue sur $main::mycall à $main::myqth\nServeur DXSpider V$main::version ($main::subversion.$main::build)',
+				l2 => 'Bonjour $_[0], bienvenue sur $main::mycall à $main::myqth\nServeur DXSpider V$main::version ($main::build)',
 				lang => 'Je parle maintenant français',
 				lange1 => 'Syntaxe : set/language <langue>, où <langue> est à choisir parmi ($_[0])',
 				lange2 => 'Impossible de fixer la langue à $_[0]', 
@@ -1230,7 +1230,7 @@ package DXM;
 				isow => '$_[0] ist isoliert; unset/isolate $_[0] zuerst',
 				join => 'Trete Gespraechsgruppe $_[0] bei',
 				l1 => 'Sorry $_[0], Du bist bereits auf einem anderen Kanal eingeloggt',
-				l2 => 'Moin $_[0], hier ist $main::mycall in $main::myqth\nrunning DXSpider V$main::version build $main::subversion.$main::build',
+				l2 => 'Moin $_[0], hier ist $main::mycall in $main::myqth\nrunning DXSpider V$main::version build $main::build',
 				lang => 'Sprache ist jetzt Deutsch',
 				lange1 => 'set/language <lang> wobei <lang> ist eine von ($_[0])',
 				lange2 => 'Fehler beim Setzen der Sprache auf $_[0]',
@@ -1498,7 +1498,7 @@ package DXM;
 				isoaro => 'c\'e\' una filtro sulla rotta in uscita per $_[0]; eliminala con clear/route $_[0] prima',
 				isow => '$_[0] e\' isolato; unset/isolate $_[0] prima',
 				l1 => 'Spiacente $_[0], sei già collegato sun un altro canale',
-				l2 => 'Benvenuto $_[0] sul Cluster $main::mycall a $main::myqth\nsoftware in uso DXSpider V$main::version build $main::subversion.$main::build',
+				l2 => 'Benvenuto $_[0] sul Cluster $main::mycall a $main::myqth\nsoftware in uso DXSpider V$main::version build $main::build',
 				lang => 'La lingua selezionata e\' adesso Italiano',
 				lange1 => 'set/language <lingua> dove <lingua> e\' una tra ($_[0])',
 				lange2 => 'impostazione lingua fallita per $_[0]', 
@@ -1775,7 +1775,7 @@ package DXM;
 				isoaro => 'vystupni route filtr pro $_[0] uz existuje; zadej nejprve clear/route $_[0]',
 				isow => '$_[0] je izolovan; zadej nejprve unset/isolate $_[0]',
 				l1 => 'Lituji $_[0], uz jsi zalogovan na jinem kanalu',
-				l2 => 'Ahoj $_[0], toto je $main::mycall, $main::myqth\npouzivajici DXSpider V$main::version build $main::subversion.$main::build',
+				l2 => 'Ahoj $_[0], toto je $main::mycall, $main::myqth\npouzivajici DXSpider V$main::version build $main::build',
 				lang => 'Jazyk je nyni nastaven na Cestinu (napoveda zatim v procesu)',
 				lange1 => 'set/language <lang> kde <lang> je jedno z ($_[0])',
 				lange2 => 'selhalo nastaveni jazyka na $_[0]', 
@@ -2070,7 +2070,7 @@ package DXM;
 				isow => '$_[0] est isolado; unset/isolate $_[0] primeiro',
 				join => 'a juntar ao grupo $_[0]',
 				l1 => 'Desculpe $_[0], voc est ligado noutro canal',
-				l2 => 'Ol $_[0], isto  $main::mycall em $main::myqth\nrunning DXSpider V$main::version build $main::subversion.$main::build',
+				l2 => 'Ol $_[0], isto  $main::mycall em $main::myqth\nrunning DXSpider V$main::version build $main::build',
 				lang => 'Linguagem  agora o Portugus',
 				lange1 => 'set/language <ling> aonde <ling>  uma de ($_[0])',
 				lange2 => 'falha ao definir uma lngua em $_[0]', 
diff --git a/perl/cluster.pl b/perl/cluster.pl
index 3c02e038..7436c874 100755
--- a/perl/cluster.pl
+++ b/perl/cluster.pl
@@ -319,7 +319,7 @@ sub cease
 		$l->close_server;
 	}
 
-	LogDbg('cluster', "DXSpider V$version, build $subversion.$build (git: $gitbranch/$gitversion) on $^O ended");
+	LogDbg('cluster', "DXSpider V$version build $build (git: $gitbranch/$gitversion) on $^O ended");
 	dbgclose();
 	Logclose();
 
@@ -367,6 +367,8 @@ sub AGWrestart
 #
 #############################################################
 
+chdir $root;
+
 $starttime = $systime = time;
 $systime_days = int ($systime / 86400);
 $systime_daystart = $systime_days * 86400;
@@ -405,18 +407,18 @@ if (DXSql::init($dsn)) {
 
 	# determine the real Git build number and branch
 	my $desc;
-	eval {$desc = `git describe --long`};
+	eval {$desc = `git -C $root describe --long`};
 	if (!$@ && $desc) {
-		my ($v, $s, $b, $g) = $desc =~ /^([\d.]+)(?:\.(\d+))?-(\d+)-g([0-9a-f]+)/;
+		my ($v, $s, $b, $g) = $desc =~ /^([\d\.]+)(?:\.(\d+))?-(\d+)-g([0-9a-f]+)/;
 		$version = $v;
-		my $subversion = $s || 0;
+		$subversion = $s || 0;
 		$build = $b || 0;
 		$gitversion = "$g\[r]";
 	}
     if (!$@) {
 		my @branch;
 		
-		eval {@branch = `git branch`};
+		eval {@branch = `git -C $root branch`};
 		unless ($@) {
 			for (@branch) {
 				my ($star, $b) = split /\s+/;
@@ -437,7 +439,7 @@ DXXml::init();
 # banner
 my ($year) = (gmtime)[5];
 $year += 1900;
-LogDbg('cluster', "DXSpider V$version, build $subversion.$build (git: $gitbranch/$gitversion) on $^O started");
+LogDbg('cluster', "DXSpider V$version build $build (git: $gitbranch/$gitversion) on $^O started");
 dbg("Copyright (c) 1998-$year Dirk Koopman G1TLH");
 
 # load Prefixes
-- 
2.43.0