X-Git-Url: http://gb7djk.dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2Fcluster.pl;h=06f93eef3444e9074cb4c7e768ede45cadc91b6e;hb=00cad49a8254a3bedf09f049cae665cdb32057a1;hp=b9031719718fc291e1ef18343a65b4639af872a8;hpb=2f9d089ec33dd606824c11a508dbc06a0cf8dfaa;p=spider.git diff --git a/perl/cluster.pl b/perl/cluster.pl index b9031719..06f93eef 100755 --- a/perl/cluster.pl +++ b/perl/cluster.pl @@ -128,7 +128,6 @@ use Data::Dumper; use IO::File; use Fcntl ':flock'; use POSIX ":sys_wait_h"; -use Version; use Local; @@ -155,6 +154,8 @@ $maxconnect_node = 0; # Ditto but for nodes. In either case if a new incoming # takes the no of references in the routing table above these numbers # then the connection is refused. This only affects INCOMING connections. +use vars qw($version $subversion $build $gitversion $gitbranch); + # send a message to call on conn and disconnect sub already_conn { @@ -318,7 +319,7 @@ sub cease $l->close_server; } - LogDbg('cluster', "DXSpider V$version, build $subversion.$build (git: $gitversion) ended"); + LogDbg('cluster', "DXSpider V$version, build $subversion.$build (git: $gitbranch/$gitversion) on $^O ended"); dbgclose(); Logclose(); @@ -366,6 +367,8 @@ sub AGWrestart # ############################################################# +chdir $root; + $starttime = $systime = time; $systime_days = int ($systime / 86400); $systime_daystart = $systime_days * 86400; @@ -398,23 +401,35 @@ if (DXSql::init($dsn)) { import Encode; $can_encode = 1; } - eval { require Git; }; - unless ($@) { - import Git; + + $gitbranch = 'none'; + $gitversion = 'none'; + + # determine the real Git build number and branch + my $desc; + eval {$desc = `git -C $root describe --long`}; + if (!$@ && $desc) { + my ($v, $s, $b, $g) = $desc =~ /^([\d\.]+)(?:\.(\d+))?-(\d+)-g([0-9a-f]+)/; + $version = $v; + $subversion = $s || 0; + $build = $b || 0; + $gitversion = "$g\[r]"; + } + if (!$@) { + my @branch; - # determine the real version number - my $repo = Git->repository(Directory => "$root/.git"); - if ($repo) { - my $desc = $repo->command_oneline(['describe'], STDERR => 0); - if ($desc) { - my ($v, $s, $b, $g) = $desc =~ /^([\d.]+)(?:\.(\d+))?-(\d+)-g([0-9a-f]+)/; - $version = $v; - $subversion = $s || 0; - $build = $b || 0; - $gitversion = "$g\[r]"; + eval {@branch = `git -C $root branch`}; + unless ($@) { + for (@branch) { + my ($star, $b) = split /\s+/; + if ($star eq '*') { + $gitbranch = $b; + last; + } } } } + $SIG{__DIE__} = $w; } @@ -424,7 +439,7 @@ DXXml::init(); # banner my ($year) = (gmtime)[5]; $year += 1900; -LogDbg('cluster', "DXSpider V$version, build $subversion.$build (git: $gitversion) started"); +LogDbg('cluster', "DXSpider V$version, build $subversion.$build (git: $gitbranch/$gitversion) on $^O started"); dbg("Copyright (c) 1998-$year Dirk Koopman G1TLH"); # load Prefixes