put git version detection code into a sub

This commit is contained in:
Matt Simerson 2014-09-17 00:02:23 -07:00
parent 4a48c4584d
commit 1ebe5ea6ec
2 changed files with 13 additions and 12 deletions

View File

@ -1,9 +1,8 @@
package Qpsmtpd; package Qpsmtpd;
use strict; use strict;
#use warnings; #use warnings;
our $VERSION = "0.95"; our $VERSION = '0.95';
use vars qw($TraceLevel $Spool_dir $Size_threshold); use vars qw($TraceLevel $Spool_dir $Size_threshold);
use lib 'lib'; use lib 'lib';
@ -12,17 +11,9 @@ use Qpsmtpd::Address;
use Qpsmtpd::Config; use Qpsmtpd::Config;
use Qpsmtpd::Constants; use Qpsmtpd::Constants;
my $git;
if (-e ".git") {
local $ENV{PATH} = "/usr/bin:/usr/local/bin:/opt/local/bin/";
$git = `git describe --tags`;
$git && chomp $git;
}
our $hooks = {}; our $hooks = {};
our $LOGGING_LOADED = 0; our $LOGGING_LOADED = 0;
my $git = git_version();
sub _restart { sub _restart {
my $self = shift; my $self = shift;
@ -41,6 +32,16 @@ sub _restart {
sub version { $VERSION . ($git ? "/$git" : "") } sub version { $VERSION . ($git ? "/$git" : "") }
sub git_version {
return if !-e '.git';
{
local $ENV{PATH} = "/usr/bin:/usr/local/bin:/opt/local/bin/";
$git = `git describe --tags`;
$git && chomp $git;
}
return $git;
}
sub TRACE_LEVEL { $TraceLevel }; # leave for plugin compatibility sub TRACE_LEVEL { $TraceLevel }; # leave for plugin compatibility
sub hooks { sub hooks {

View File

@ -14,7 +14,7 @@ sub get_qp_version {
my $rvfile = get_file_contents('lib/Qpsmtpd.pm') my $rvfile = get_file_contents('lib/Qpsmtpd.pm')
or return; or return;
my ($ver_line) = grep { $_ =~ /^our \$VERSION/ } @$rvfile; my ($ver_line) = grep { $_ =~ /^our \$VERSION/ } @$rvfile;
my ($ver) = $ver_line =~ /"([0-9\.]+)"/; my ($ver) = $ver_line =~ /['"]([0-9\.]+)['"]/;
return $ver; return $ver;
}; };