diff options
author | Jörg Mayer <jmayer@loplof.de> | 2004-01-17 13:09:00 +0000 |
---|---|---|
committer | Jörg Mayer <jmayer@loplof.de> | 2004-01-17 13:09:00 +0000 |
commit | 1ae6e43f5d4d3dbfefb9d9359e93befb6e751fd3 (patch) | |
tree | 1412f6ec0c2f4fa7eb81b3940582984874930055 /make-version.pl | |
parent | 8020cdf176222acab888f413ce80235e6595286d (diff) |
Integrate the "find . -name Entries" into make-version.pl, to make this
work with nmake too.
svn path=/trunk/; revision=9694
Diffstat (limited to 'make-version.pl')
-rwxr-xr-x | make-version.pl | 31 |
1 files changed, 25 insertions, 6 deletions
diff --git a/make-version.pl b/make-version.pl index 2c52b4e6d1..590171b9aa 100755 --- a/make-version.pl +++ b/make-version.pl @@ -2,7 +2,7 @@ # # Copyright 2004 Jörg Mayer (see AUTHORS file) # -# $Id: make-version.pl,v 1.1 2004/01/16 20:03:10 jmayer Exp $ +# $Id: make-version.pl,v 1.2 2004/01/17 13:09:00 jmayer Exp $ # # Ethereal - Network traffic analyzer # By Gerald Combs <gerald@ethereal.com> @@ -22,7 +22,7 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# usage: ./make-version.pl `find . -name "Entries"` +# usage: ./make-version.pl use strict; @@ -36,22 +36,41 @@ my %asctonum = ( "Jan" => "01", "Feb" => "02", "Mar" => "03", "Apr" => "04", my $current; my $last = ""; -if ($#ARGV >= 0) { - while (<>) { + +sub findentries { + my $currentdir = shift; + + opendir(DIR, "$currentdir") || print STDERR "Opendir $currentdir failed ($!)\n" && next; + grep { (-d "$currentdir/$_" && $_ !~ /^\.(|.)$/ && &findentries("$currentdir/$_")) || + (-f "$currentdir/$_" && $_ =~ /^Entries$/ && &lastentry("$currentdir/$_")) } readdir(DIR); + closedir DIR; +} + +sub lastentry { + my $file = shift; + + open(FILE, "<$file") || print STDERR "Open $file for reading failed ($!)\n" && return 1; + while (<FILE>) { chomp; # Regular lines look like this: /ethereal_be.py/1.6/Fri Aug 2 22:55:19 2002// next if (/^D/); ($d1,$d2,$d2,$date,$drest) = split(/\//, $_, 5); next if ($date !~ /\d:\d\d:\d\d/); ($wdayascii, $monthascii, $day, $time, $year) = split(/\s+/, $date); - $day = substr("0".$day, 0, 2); + $day = substr("0".$day, -2, 2); $time =~ s/://g; $current = "$year$asctonum{$monthascii}$day$time"; if ($current gt $last) { $last = $current; } } -} elsif (-f "cvsversion") { + close FILE; + return 1; +} + +&findentries("."); + +if ($last eq "" && -f "cvsversion") { $last = `cat cvsversion`; } if ( $last ne "" ) { |