summaryrefslogtreecommitdiff
path: root/Build/cdbuild/dupl.pl
diff options
context:
space:
mode:
Diffstat (limited to 'Build/cdbuild/dupl.pl')
-rw-r--r--Build/cdbuild/dupl.pl76
1 files changed, 76 insertions, 0 deletions
diff --git a/Build/cdbuild/dupl.pl b/Build/cdbuild/dupl.pl
new file mode 100644
index 00000000000..c98ac231bb3
--- /dev/null
+++ b/Build/cdbuild/dupl.pl
@@ -0,0 +1,76 @@
+#!/bin/perl
+use English;
+use Getopt::Long;
+use FileHandle;
+use File::Basename;
+use File::Find;
+use Cwd;
+$_=`kpsewhich -expand-var '\$TEXMFDIST'`;
+chop;
+print "texmf is rooted at $_\n";
+chdir $_ || die "cannot change directory to [$_]\n";
+&Check("tex");
+&Check("tex/plain");
+&Check("tex/generic");
+&Check("tex/latex");
+&Check("doc");
+&Check("source");
+&Check("fonts");
+
+sub Check{
+(my $Dir) = @_;
+print "\nDUPLICATES in $Dir\n";
+find(\&lfiles,$Dir);
+foreach $i (sort keys %Files) {
+ $_ = $Files{$i};
+ if (/ /) { print "$i: $_\n";
+ @d=split(" ",$_,);
+ foreach (@d) {
+ system "ls -l $_/$i >> /tmp/$$.log";
+ }
+ open (L,"/tmp/$$.log") || die "where is /tmp/$$.log?";
+ while (<L>) { print " $_";}
+ close L;
+ unlink "/tmp/$$.log";
+ }
+ $Files{$i}="";
+}
+}
+sub lfiles {
+ if (-f) {
+ if (/README/) {}
+ elsif (/MANIFEST/) {}
+ elsif (/TODO/) {}
+ elsif (/makefile/) {}
+ elsif (/Makefile/) {}
+ elsif (/READ.ME/) {}
+ elsif (/readme/) {}
+ elsif (/patch/) {}
+ elsif (/Change/) {}
+ elsif (/CHANGE/) {}
+ elsif (/FILE/) {}
+ elsif (/NOTE/) {}
+ elsif (/INSTALL/) {}
+ elsif (/install\.*/) {}
+ elsif (/NEWS/) {}
+ elsif (/CATALOG/) {}
+ elsif (/catalog/) {}
+ elsif (/changes\.*/) {}
+ elsif (/ANNOUNCE/) {}
+ elsif (/COPY/) {}
+ elsif (/node.*html/) {}
+ elsif (/index.html/) {}
+ elsif (/example.*tex/) {}
+ elsif (/example.*dvi/) {}
+ elsif (/sample.*tex/) {}
+ elsif (/sample.*dvi/) {}
+ elsif (/\.pk$/) {}
+ elsif (/\.gif$/) {}
+ elsif (/\.inl$/) {}
+else
+ { $dir=$File::Find::dir;
+ if ( $Files{$_} ne "") { $Files{$_} .= " $dir"; }
+ else { $Files{$_}=$dir; }}
+ }
+}
+