[tex-live] testing TL'08
Heiko Oberdiek
oberdiek at uni-freiburg.de
Sat Jun 14 23:03:07 CEST 2008
On Fri, Jun 13, 2008 at 08:31:22PM -0500, Karl Berry wrote:
> Please send bug reports here, tex-live at tug.org.
I have written a quick&dirty&writeonly Perl script for
checking the unique constraints of TDS for TDS:tex.
The result:
=== tds-unique.log ===
* Scanning tldevsrc/Master/texmf/tex ...
* 109 files in tldevsrc/Master/texmf/tex
* Scanning tldevsrc/Master/texmf-dist/tex ...
* 8620 files in tldevsrc/Master/texmf-dist/tex
* Collisions in TDS:tex/fontinst
texmf/tex/fontinst/afm2pl/README (732)
texmf-dist/tex/fontinst/cyrfinst/README (2239)
* Collisions in TDS:tex/latex
texmf-dist/tex/latex/lhcyr/lhcyralt/README (6760)
texmf-dist/tex/latex/lhcyr/lhcyrkoi/README (6671)
texmf-dist/tex/latex/lhcyr/lhcyrwin/README (6747)
texmf-dist/tex/latex/arabtex/afoot.sty (3387)
texmf-dist/tex/latex/ledmac/afoot.sty (3982)
texmf-dist/tex/latex/auncial-new/allauncl.sty (2540)
texmf-dist/tex/latex/bookhands/allauncl.sty (2030)
texmf-dist/tex/latex/amscls/amsbst.sty (7344)
texmf-dist/tex/latex/amsrefs/amsbst.sty (7344)
texmf-dist/tex/latex/auncial-new/auncial.sty (1199)
texmf-dist/tex/latex/bookhands/auncial.sty (813)
texmf-dist/tex/latex/authoraftertitle/authoraftertitle.sty (678)
texmf-dist/tex/latex/ltxmisc/authoraftertitle.sty (678)
texmf-dist/tex/latex/bbm-macros/bbm.sty (1644)
texmf-dist/tex/latex/bbm/bbm.sty (1644)
texmf-dist/tex/latex/archaic/hieroglf.sty (12059)
texmf-dist/tex/latex/hieroglf/hieroglf.sty (11550)
texmf-dist/tex/latex/achemso/jawltxdoc.sty (4752)
texmf-dist/tex/latex/chemscheme/jawltxdoc.sty (3755)
texmf-dist/tex/latex/chemstyle/jawltxdoc.sty (4886)
texmf-dist/tex/latex/notes2bib/jawltxdoc.sty (4245)
texmf-dist/tex/latex/rsc/jawltxdoc.sty (4371)
texmf-dist/tex/latex/archaic/ot1pmhg.fd (1391)
texmf-dist/tex/latex/hieroglf/ot1pmhg.fd (882)
texmf-dist/tex/latex/archaic/t1pmhg.fd (1381)
texmf-dist/tex/latex/hieroglf/t1pmhg.fd (872)
texmf-dist/tex/latex/bbm-macros/ubbm.fd (2132)
texmf-dist/tex/latex/bbm/ubbm.fd (2132)
texmf-dist/tex/latex/bbm-macros/ubbmss.fd (1919)
texmf-dist/tex/latex/bbm/ubbmss.fd (1919)
texmf-dist/tex/latex/bbm-macros/ubbmtt.fd (1586)
texmf-dist/tex/latex/bbm/ubbmtt.fd (1586)
* Collisions between TDS:tex/context and TDS:tex/generic
texmf-dist/tex/context/base/m-tex4ht.tex (136)
texmf-dist/tex/generic/tex4ht/m-tex4ht.tex (1688)
* Collisions between TDS:tex/cslatex and TDS:tex/generic
texmf-dist/tex/cslatex/base/hyphen.cfg (7535)
texmf-dist/tex/generic/babel/hyphen.cfg (12587)
* Collisions between TDS:tex/csplain and TDS:tex/generic
texmf-dist/tex/csplain/base/czech.sty (9871)
texmf-dist/tex/generic/babel/czech.sty (3559)
texmf-dist/tex/csplain/base/czhyphen.ex (246)
texmf/tex/generic/hyphen/czhyphen.ex (246)
texmf-dist/tex/csplain/base/dcfonts.tex (698)
texmf-dist/tex/generic/enctex/dcfonts.tex (103)
texmf-dist/tex/csplain/base/ecfonts.tex (713)
texmf-dist/tex/generic/enctex/ecfonts.tex (113)
texmf-dist/tex/csplain/base/skhyphen.ex (207)
texmf/tex/generic/hyphen/skhyphen.ex (207)
texmf-dist/tex/csplain/base/slovak.sty (9754)
texmf-dist/tex/generic/babel/slovak.sty (3564)
* Collisions between TDS:tex/lambda and TDS:tex/generic
texmf-dist/tex/generic/babel/hyphen.cfg (12587)
texmf-dist/tex/lambda/antomega/hyphen.cfg (5629)
texmf/tex/generic/config/language.dat (3476)
texmf-dist/tex/lambda/config/language.dat (2664)
* Collisions between TDS:tex/latex and TDS:tex/generic
texmf-dist/tex/generic/pstricks/Changes (3801)
texmf-dist/tex/latex/pstricks/Changes (1238)
texmf-dist/tex/generic/r-und-s/eng_rs.sty (12708)
texmf-dist/tex/latex/r_und_s/eng_rs.sty (13008)
texmf-dist/tex/generic/r-und-s/eng_rs.tex (11312)
texmf-dist/tex/latex/r_und_s/eng_rs.tex (11585)
texmf-dist/tex/generic/babel/lgrcmr.fd (2309)
texmf-dist/tex/latex/cbfonts/lgrcmr.fd (1631)
texmf-dist/tex/generic/babel/lgrcmro.fd (2336)
texmf-dist/tex/latex/cbfonts/lgrcmro.fd (1697)
texmf-dist/tex/generic/babel/lgrcmss.fd (2209)
texmf-dist/tex/latex/cbfonts/lgrcmss.fd (1424)
texmf-dist/tex/generic/babel/lgrcmtt.fd (2381)
texmf-dist/tex/latex/cbfonts/lgrcmtt.fd (1742)
texmf-dist/tex/generic/babel/lgrlcmss.fd (3881)
texmf-dist/tex/latex/cbfonts/lgrlcmss.fd (3240)
texmf-dist/tex/generic/babel/lgrlcmtt.fd (2834)
texmf-dist/tex/latex/cbfonts/lgrlcmtt.fd (2193)
texmf-dist/tex/generic/r-und-s/r_und_s.sty (13847)
texmf-dist/tex/latex/r_und_s/r_und_s.sty (14136)
texmf-dist/tex/generic/r-und-s/r_und_s.tex (12482)
texmf-dist/tex/latex/r_und_s/r_und_s.tex (12745)
* Collisions between TDS:tex/plain and TDS:tex/generic
texmf-dist/tex/generic/ofs/ofs-8x.tex (8196)
texmf-dist/tex/plain/antt/ofs-8x.tex (8235)
texmf-dist/tex/generic/ofs/pantyk.tex (4790)
texmf-dist/tex/plain/antt/pantyk.tex (4727)
texmf-dist/tex/generic/genmisc/verbatim.tex (12548)
texmf-dist/tex/plain/gustlib/verbatim.tex (2363)
=== tds-unique.log ===
The easiest fixes are the fixes for README. They should be
moved to TDS:doc/
Yours sincerely
Heiko <oberdiek at uni-freiburg.de>
PS:
=== cut === tds-unique.sh === cut ===
#!/bin/sh
tlbase=tldevsrc/Master
./tds-unique.pl \
texmf=$tlbase/texmf \
texmf-doc=$tlbase/texmf-doc \
texmf-dist=$tlbase/texmf-dist
=== cut === tds-unique.sh === cut ===
=== cut === tds-unique.pl === cut ===
#!/usr/bin/env perl
use strict;
$^W=1;
my $syntax = "Syntax: $0 <name 1>=<path to tds tree 1> ...\n";
@ARGV || die $syntax;
my @tree;
my %tree;
foreach my $arg (@ARGV) {
$arg =~ /^\s*([A-Za-z0-9\-\_]+)\s*=\s*([A-Za-z0-9_\-\/]+)\s*$/
or die "!!! Error: Syntax error: $arg\n";
-d $2 or die "!!! Error: Directory `$2' does not exist!\n";
push @tree, $1;
$tree{$1} = $2;
}
my %tex;
foreach my $tree (@tree) {
next unless -d "$tree{$tree}/tex";
my $count = 0;
print "* Scanning $tree{$tree}/tex ...\n";
open(IN, "cd $tree{$tree} && find tex/ -not -type d -print|")
or die "!!! Error: Finding files failed ($tree{$tree})!\n";
while (my $line = <IN>) {
next if $line =~ /\/\.svn\//;
$count++;
chomp $line;
$line =~ /^tex\/([^\/]+\/|)(.*\/|)([^\/\n\r]+)$/
or die "!!! Parse error in file name `$_'\n";
my ($format, $package, $file) = ($1, $2, $3);
my $temp = $/;
$/ = '/';
chomp($format, $package);
$/ = $temp;
$tex{$format} or $tex{$format} = [];
push @{$tex{$format}}, "$file|$format|$package|$tree";
}
close(IN);
print "* $count files in $tree{$tree}/tex\n";
}
# check clashes inside TDS:tex/<format>
foreach my $format (sort keys %tex) {
my %files;
my %collisions;
foreach my $line (@{$tex{$format}}) {
$line =~ /([^|]*)\|([^|]*)\|([^|]*)\|([^|]*)/
or die "!!! Error: Parse error: $line\n";
my ($file, $formatx, $package, $tree) = ($1, $2, $3, $4);
if ($formatx ne $format) {
die "!!! Error in format ($format): $line\n";
}
if ($files{$file}) {
$collisions{"$file|$format|$files{$file}"} = '';
$collisions{"$file|$format|$package|$tree"} = '';
}
else {
$files{$file} = "$package|$tree";
}
}
if (%collisions) {
print "* Collisions in TDS:tex/$format\n";
foreach my $entry (sort keys %collisions) {
$entry =~ /([^|]*)\|([^|]*)\|([^|]*)\|([^|]*)/
or die "!!! Error: Parse error: $entry\n";
my ($file, $formatx, $package, $tree) = ($1, $2, $3, $4);
my $size = (stat("$tree{$tree}/tex/$formatx/$package/$file"))[7];
print " $tree/tex/$formatx/$package/$file ($size)\n";
}
}
}
# check clashes between TDS:tex/generic and TDS:tex/<format>
foreach my $format (sort keys %tex) {
next if $format eq 'generic';
my %files;
my %collisions;
my $collisions = 0;
foreach my $line (@{$tex{'generic'}}) {
$line =~ /([^|]*)\|([^|]*)\|([^|]*)\|([^|]*)/
or die "!!! Error: Parse error: $line\n";
my ($file, $formatx, $package, $tree) = ($1, $2, $3, $4);
$files{$file} = "$formatx|$package|$tree";
}
foreach my $line (@{$tex{$format}}) {
$line =~ /([^|]*)\|([^|]*)\|([^|]*)\|([^|]*)/
or die "!!! Error: Parse error: $line\n";
my ($file, $formatx, $package, $tree) = ($1, $2, $3, $4);
if ($formatx ne $format) {
die "!!! Error in format ($format): $line\n";
}
if ($files{$file}) {
$collisions{"$file|$files{$file}"} = '';
$collisions{"$file|$format|$package|$tree"} = '';
}
}
if (%collisions) {
print "* Collisions between TDS:tex/$format and TDS:tex/generic\n";
foreach my $entry (sort keys %collisions) {
$entry =~ /([^|]*)\|([^|]*)\|([^|]*)\|([^|]*)/
or die "!!! Error: Parse error: $entry\n";
my ($file, $formatx, $package, $tree) = ($1, $2, $3, $4);
my $size = (stat("$tree{$tree}/tex/$formatx/$package/$file"))[7];
print " $tree/tex/$formatx/$package/$file ($size)\n";
}
}
}
__END__
=== cut === tds-unique.pl === cut ===
More information about the tex-live
mailing list