X-Git-Url: http://cvs.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/69135e1c04f0a36a06486551c883f55479b178fc..bf5d7992ce29e9fb006a5b6770bd3457b9b0f18b:/tools/mkversion.pl diff --git a/tools/mkversion.pl b/tools/mkversion.pl index 6f2eff69..f726640e 100644 --- a/tools/mkversion.pl +++ b/tools/mkversion.pl @@ -3,58 +3,38 @@ # 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 +# Modified january 2016 to work with Travis-CI +# --- iceman -my $main_dir = shift; - -# Clear environment locale so that svn will not use localized strings +# Clear environment locale so that git will not use localized strings $ENV{'LC_ALL'} = "C"; $ENV{'LANG'} = "C"; -my $svnversion = 0; -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 $githistory = `git fetch --all`; +my $gitversion = `git describe --dirty`; +my $gitbranch = `git rev-parse --abbrev-ref HEAD`; +my $clean = $gitversion =~ '-dirty' ? 0 : 1; +my @compiletime = localtime(); - if(open(SVNSTATUS, "svn status $main_dir|")) { - $clean = 1; - while() { - if(/^M/) { - $clean = 0; - ## last; - } - } - close(SVNINFO); - } +my $fullgitinfo = 'iceman'; +if ( defined $gitbranch and defined $gitversion ) { + $fullgitinfo = $fullgitinfo.'/'. $gitbranch . '/' . $gitversion; } 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++; - } - } + $fullgitinfo = $fullgitinfo.'/master/release-build (no_git)'; } +$fullgitinfo =~ s/(\s)//g; + +# 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 <