diff options
author | Felix Fietkau <nbd@openwrt.org> | 2006-04-20 03:45:03 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2006-04-20 03:45:03 +0000 |
commit | 290190f5a69d4b308e56cad98d81d876fa80289b (patch) | |
tree | 956f348606a1c0dd041a533bdd7a1eb979652c05 /scripts | |
parent | 95011de87182e89bcc644061bfbfd8a5fef54886 (diff) | |
download | upstream-290190f5a69d4b308e56cad98d81d876fa80289b.tar.gz upstream-290190f5a69d4b308e56cad98d81d876fa80289b.tar.bz2 upstream-290190f5a69d4b308e56cad98d81d876fa80289b.zip |
add proper package dependency handling
git-svn-id: svn://svn.openwrt.org/openwrt/branches/buildroot-ng/openwrt@3679 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/timestamp.pl | 34 |
1 files changed, 25 insertions, 9 deletions
diff --git a/scripts/timestamp.pl b/scripts/timestamp.pl index 1089221919..a4bb7ecda0 100755 --- a/scripts/timestamp.pl +++ b/scripts/timestamp.pl @@ -1,31 +1,47 @@ #!/usr/bin/perl use strict; -sub get_ts($) { +sub get_ts($$) { my $path = shift; + my $options = shift; my $ts = 0; - open FIND, "find $path -not -path \\*.svn\\* -and -not -path \\*CVS\\* 2>/dev/null |"; + my $fn = ""; + -d "$path" and $path .= "/*"; + open FIND, "find $path -not -path \\*.svn\\* -and -not -path \\*CVS\\* $options 2>/dev/null |"; while (<FIND>) { - open FILE, "<$_"; + chomp; + my $file = $_; + open FILE, "<$file"; my @stat = stat FILE; close FILE; - $ts = $stat[9] if ($stat[9] > $ts); + if ($stat[9] > $ts) { + $ts = $stat[9]; + $fn = $file; + } } close FIND; - return $ts; + return ($ts, $fn); } (@ARGV > 0) or push @ARGV, "."; my $ts = 0; my $n = "."; my %options; -foreach my $path (@ARGV) { - if ($path =~ /^-/) { +while (@ARGV > 0) { + my $path = shift @ARGV; + if ($path =~ /^-x/) { + my $str = shift @ARGV; + $options{"-x"} .= " -and -not -path \\*".$str."\\*" + } elsif ($path =~ /^-/) { $options{$path} = 1; } else { - my $tmp = get_ts($path); + my ($tmp, $fname) = get_ts($path, $options{"-x"}); if ($tmp > $ts) { - $n = $path; + if ($options{'-f'}) { + $n = $fname; + } else { + $n = $path; + } $ts = $tmp; } } |