]> git.zerfleddert.de Git - proxmark3-svn/blobdiff - tools/mkversion.pl
Added script to dump ndef-compliant tags. Written in collaboration with @asper
[proxmark3-svn] / tools / mkversion.pl
index 1c4dfcd965a1294e2a71d67b20cf9c0d2d9a7ec8..6f2eff69bdc6031d599b2b9af74dc8370075fa05 100644 (file)
@@ -4,8 +4,6 @@
 # but this will, at least in theory, also work on Windows with our current compile environment.
 # -- Henryk Plötz <henryk@ploetzli.ch> 2009-09-28
 
 # but this will, at least in theory, also work on Windows with our current compile environment.
 # -- Henryk Plötz <henryk@ploetzli.ch> 2009-09-28
 
-use strict;
-
 my $main_dir = shift;
 
 # Clear environment locale so that svn will not use localized strings
 my $main_dir = shift;
 
 # Clear environment locale so that svn will not use localized strings
@@ -13,7 +11,6 @@ $ENV{'LC_ALL'} = "C";
 $ENV{'LANG'} = "C";
 
 my $svnversion = 0;
 $ENV{'LANG'} = "C";
 
 my $svnversion = 0;
-my $present = 0;
 my $clean = 2;
 my @compiletime = gmtime();
 
 my $clean = 2;
 my @compiletime = gmtime();
 
@@ -21,13 +18,12 @@ my @compiletime = gmtime();
 if(open(SVNINFO, "svn info $main_dir|")) {
        while(<SVNINFO>) {
                if (/^Last Changed Rev: (.*)/) {
 if(open(SVNINFO, "svn info $main_dir|")) {
        while(<SVNINFO>) {
                if (/^Last Changed Rev: (.*)/) {
-                       $present = 1;
                        $svnversion = $1;
                        ## last; # Do not abort here, since SVN tends to complain about a Broken pipe
                }
        }
        close(SVNINFO);
                        $svnversion = $1;
                        ## last; # Do not abort here, since SVN tends to complain about a Broken pipe
                }
        }
        close(SVNINFO);
-       
+
        if(open(SVNSTATUS, "svn status $main_dir|")) {
                $clean = 1;
                while(<SVNSTATUS>) {
        if(open(SVNSTATUS, "svn status $main_dir|")) {
                $clean = 1;
                while(<SVNSTATUS>) {
@@ -38,16 +34,16 @@ if(open(SVNINFO, "svn info $main_dir|")) {
                }
                close(SVNINFO);
        }
                }
                close(SVNINFO);
        }
-       
+
 } else {
 } else {
-       # Strategy two: look for .svn/entries. The third line should be "dir", the fourth line should contain the current
+       # 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(<ENTRIES>) {
                        last if($i == 3 and !/^dir/);
        #  revision.
        if(open(ENTRIES, "$main_dir/.svn/entries")) {
                my $i = 1;
                while(<ENTRIES>) {
                        last if($i == 3 and !/^dir/);
-                       if($i == 4 and /^([0-9]*)/) {
-                               $present = 1;
+                       if($i == 11 and /^([0-9]*)/) {
                                $svnversion = $1;
                        }
                        $i++;
                                $svnversion = $1;
                        }
                        $i++;
@@ -58,14 +54,15 @@ if(open(SVNINFO, "svn info $main_dir|")) {
 $compiletime[4] += 1;
 $compiletime[5] += 1900;
 my $ctime = sprintf("%6\$04i-%5\$02i-%4\$02i %3\$02i:%2\$02i:%1\$02i", @compiletime);
 $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 <<EOF
 
 print <<EOF
-#include <proxmark3.h>
+#include "proxmark3.h"
 /* Generated file, do not edit */
 /* Generated file, do not edit */
-struct version_information __attribute__((section(".version_information"))) version_information = {
+const struct version_information __attribute__((section(".version_information"))) version_information = {
        VERSION_INFORMATION_MAGIC,
        1,
        VERSION_INFORMATION_MAGIC,
        1,
-       $present,
+       1,
        $clean,
        "svn $svnversion",
        "$ctime",
        $clean,
        "svn $svnversion",
        "$ctime",
Impressum, Datenschutz