From d28f5069f43fb43706bdec5bb5fe3db3fcf33f69 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Tue, 12 Jan 2016 18:58:44 +0000 Subject: remove duplicated README. cf. README, as with nucleardata git-svn-id: svn://tug.org/texlive/trunk@39363 c570f23f-e606-0410-a88d-b1316a301751 --- Master/tlpkg/libexec/place | 42 ++++++++++++++++++++++++++++++++++-------- 1 file changed, 34 insertions(+), 8 deletions(-) (limited to 'Master/tlpkg') diff --git a/Master/tlpkg/libexec/place b/Master/tlpkg/libexec/place index d037d412bf8..eb79f35bb0a 100755 --- a/Master/tlpkg/libexec/place +++ b/Master/tlpkg/libexec/place @@ -67,14 +67,45 @@ my $TOP = getcwd (); &xchdir ("$cooked_top/$package"); my $cooked_pkg = getcwd (); +print "place: checking for case-insensitive clashes\n"; # Windows/Mac checkouts +my @caseclash = `find . -print | sort | uniq -i -d`; +die "place: case clashes: @caseclash\n" if @caseclash; + +print "place: checking for trailing dot clashes\n"; +# this typically happens with a README generated from a dtx, thus +# named "README.", and the package author also includes a +# manually-renamed README in the package. This causes a clash with +# Windows checkouts. So remove the README. if it's the same, else give up. +# (= have to do something in ctan2tds to fix it.) +# +my @trailingdots = `find . -type f -name \*. -print | sort`; +for my $dot (@trailingdots) { + chomp ($dot); + (my $nodot = $dot) =~ s/\.$//; + print "place: checking $dot vs. $nodot\n"; + next if ! -e $nodot; # just foo., no foo -- unlikely, but ok + if (system ("cmp -s $dot $nodot") == 0) { + print "place: same, removing dot: $dot\n"; + unlink ($dot) || die "unlink($dot) failed: $!"; + } else { + die "place: clash between $dot and $nodot; fix in ctan2ds\n"; + } +} +# we do those checks (and possible removals) before making the new TL +# package, so the "README." file doesn't get into the data structures. + + if (-d "Master") { # maybe have both Build and Master &xchdir ("Master"); $DEST = $TOP; } my $cooked_master = getcwd (); -if (-d "texmf-dist") { $Type = "Package"; } -else { die "$cooked_master: no top level texmf-dist"; } +if (-d "texmf-dist") { + $Type = "Package"; +} else { + die "$cooked_master: no top level texmf-dist"; +} die "top-level README under $TOP, that can't be right" if <*/README>; @@ -117,12 +148,7 @@ print "\n\f "; &compare_disk_vs_tlpobj ($cooked_master, $tlpnew); &show_tlp_diffs ($tlpnew, %Old); -&xchdir ($cooked_pkg); -print "place: checking for case-insensitive clashes\n"; -print `find . -prune -o -print | sort | uniq -i -d`; -print "\n"; - -# xx need svn cp, too. +# xx need svn cp, too? my ($new_build_files,$existing_build_files) = &build_files ($cooked_pkg,$DEST); my @new_build_files = @$new_build_files; -- cgit v1.2.3