:locked is deprecated, so use :lvalue instead.
[p5sagit/p5-mst-13.2.git] / Porting / check83.pl
index eb02002..56989fa 100644 (file)
@@ -11,6 +11,10 @@ use strict;
 # "no filename shall be longer than eight and a suffix if present
 # not longer than three".
 
+# The 8-level depth rule is for older VMS systems that likely won't
+# even be able to unpack the tarball if more than eight levels 
+# (including the top of the source tree) are present.
+
 my %seen;
 my $maxl = 30; # make up a limit for a maximum filename length
 
@@ -50,6 +54,10 @@ if (open(MANIFEST, "MANIFEST")) {
            print "more than one dot: $_\n";
            next;
        }
+       if ((my $slashes = $_ =~ tr|\/|\/|) > 7) {
+           print "more than eight levels deep: $_\n";
+           next;
+       }
        while (m!/|\z!g) {
            my ($dir, $edt) = eight_dot_three($`);
            next unless defined $dir;
@@ -63,9 +71,9 @@ if (open(MANIFEST, "MANIFEST")) {
 
 for my $dir (sort keys %dir) {
     for my $edt (keys %{$dir{$dir}}) {
-       my @files = @{$dir{$dir}->{$edt}};
+       my @files = @{$dir{$dir}{$edt}};
        if (@files > 1) {
-           print "directory $dir conflict $edt: @files\n";
+           print "conflict on filename $edt:\n", map "    $_\n", @files;
        }
     }
 }