From e3ac0d70956f5b5fee633f7cbf4b3b8616e4f06c Mon Sep 17 00:00:00 2001 From: Martin Holst Swende Date: Tue, 1 Apr 2014 20:52:45 +0200 Subject: [PATCH] Fixed so build scripts utilises the git version --- tools/mkversion.pl | 48 ++++++++++------------------------------------ 1 file changed, 10 insertions(+), 38 deletions(-) diff --git a/tools/mkversion.pl b/tools/mkversion.pl index 6f2eff69..de394a85 100644 --- a/tools/mkversion.pl +++ b/tools/mkversion.pl @@ -3,58 +3,30 @@ # Normally a couple of lines of bash would be enough (see openpcd project, original firmware by Harald Welte and Milosch Meriac) # but this will, at least in theory, also work on Windows with our current compile environment. # -- Henryk Plötz 2009-09-28 +# Modified april 2014 because of the move to github. +# --- Martin Holst Swende -my $main_dir = shift; # Clear environment locale so that svn will not use localized strings $ENV{'LC_ALL'} = "C"; $ENV{'LANG'} = "C"; -my $svnversion = 0; +my $gitversion = `git describe --dirty`; +my $gitbranch = `git rev-parse --abbrev-ref HEAD`; my $clean = 2; my @compiletime = gmtime(); -# Strategy one: call svn info and extract last changed revision, call svn status and look for ^M -if(open(SVNINFO, "svn info $main_dir|")) { - while() { - if (/^Last Changed Rev: (.*)/) { - $svnversion = $1; - ## last; # Do not abort here, since SVN tends to complain about a Broken pipe - } - } - close(SVNINFO); +my $fullgitinfo= $gitbranch . '/'.$gitversion; - if(open(SVNSTATUS, "svn status $main_dir|")) { - $clean = 1; - while() { - if(/^M/) { - $clean = 0; - ## last; - } - } - close(SVNINFO); - } +$fullgitinfo=~ s/(\s)//g; -} else { - # Strategy two: look for .svn/entries. The third line should be "dir", the fourth line should contain - # the currently checked out revision, the eleventh line should contain the last changed revision. - # revision. - if(open(ENTRIES, "$main_dir/.svn/entries")) { - my $i = 1; - while() { - last if($i == 3 and !/^dir/); - if($i == 11 and /^([0-9]*)/) { - $svnversion = $1; - } - $i++; - } - } -} +# Crop so it fits within 50 characters +$fullgitinfo =~ s/.{50}\K.*//s; $compiletime[4] += 1; $compiletime[5] += 1900; my $ctime = sprintf("%6\$04i-%5\$02i-%4\$02i %3\$02i:%2\$02i:%1\$02i", @compiletime); -$svnversion=~ s/(^\s+|\s+$)//g; + print <