diff options
author | Karl Berry <karl@freefriends.org> | 2008-06-09 20:12:47 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2008-06-09 20:12:47 +0000 |
commit | c2ded34c4ac6a32fbed94b870481aaf9667fc227 (patch) | |
tree | cc7b9d209a306f44bc962ea8d7357307b9460ca9 /Build/tools | |
parent | 07b1dd24a6c6ca7ac335c56b3cc3127bd7910619 (diff) |
move autoupdate scripts to new tools bindir
git-svn-id: svn://tug.org/texlive/trunk@8623 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/tools')
-rwxr-xr-x | Build/tools/htmltext | 23 | ||||
-rwxr-xr-x | Build/tools/mkdocindex | 167 | ||||
-rwxr-xr-x | Build/tools/svnchangelog | 97 | ||||
-rwxr-xr-x | Build/tools/svnchangelog.sed | 43 | ||||
-rwxr-xr-x | Build/tools/update-auto | 179 | ||||
-rwxr-xr-x | Build/tools/update-lsr | 22 |
6 files changed, 0 insertions, 531 deletions
diff --git a/Build/tools/htmltext b/Build/tools/htmltext deleted file mode 100755 index c41eb2490fe..00000000000 --- a/Build/tools/htmltext +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/sh -# $Id$ -# Public domain. Originally written 2003, Karl Berry. -# Dump a url (or -stdin) to text using lynx. - -PATH=/usr/local/bin:$PATH - -HOME=/tmp; export HOME -TERM=vt100; export TERM -: ${LYNX_CFG=/home/tug/.lynxcfg}; export LYNX_CFG -# just contains the line JUSTIFY:FALSE. - -test $# -eq 0 && set - -stdin - -for url in "$@"; do - # when we add -width=79, tables are formatted badly. - # -dump lists url's like this with -stdin (lynx 2.8.4, linux): - # file://localhost/tmp/89inmk/FAQ/german - # Since the reference list is useful, we fix it up by hand instead of - # using -nolist. - lynx -dump -nocolor -hiddenlinks=ignore "$url" \ - | sed 's,file://localhost/tmp/[a-zA-Z0-9]*/,,' -done diff --git a/Build/tools/mkdocindex b/Build/tools/mkdocindex deleted file mode 100755 index 4e7630686f4..00000000000 --- a/Build/tools/mkdocindex +++ /dev/null @@ -1,167 +0,0 @@ -#!/usr/local/bin/perl -# $Id: //depot/Master/Tools/mkdocindex#2 $ -# Make index file of all HTML and PDF documentation. -# Originally written 2004, Karl Berry. Public domain. - -exit (&main ()); - -sub main -{ - (my $progname = $0) =~ s,^.*/,,; - umask (0); - - chomp (my $mydir = `dirname $0`); # Tools - chdir ("$mydir/../../Master") || exit 1; # Master - - # shell fragment we use to find doc files in a directory. - $ENV{"_POSIX2_VERSION"} = 0; # POSIX likes to be backward-incompatible - $FIND_POST = " \\( -name \\*.html -o -name \\*.pdf \\) " - . " | tee /tmp/doclist" - . " | sort -f -t/ +2 |"; - - print <<END_HEADER; -<html> -<body> -<h1>TeX Live documentation</h2> - -<a name="packagedoc"></a> -<h2>1. Package documentation</h2> - -<p>This section lists links to all HTML and PDF files for packages (in -the <a href="texmf/">texmf</a> and <a href="texmf-dist/">texmf-dist</a> -directories), sorted by package name. - -<p><a href="#guidedoc">Jump to guide documentation</a>. -END_HEADER - - &do_package_list (); - - print <<END_BETWEEN; -<a name="guidedoc"></a> -<h2>2. Guide documentation</h2> - -<p>This section lists links to all guides, that is, packages consisting -only of documentation (in the <a href="texmf-doc/">texmf-doc</a> -directory), sorted by language. - -<p><a href="#packagedoc">Jump to package documentation</a>. -END_BETWEEN - - &do_guide_list (); - - chomp (my $date = `date`); - print <<END_TRAILER; -<hr> -<small>Generated $date by $progname.</small> -</body></html> -END_TRAILER - - return 0; -} - - - -# Package doc (texmf and texmf-dist), by package. -# -sub do_package_list -{ - &do_filelist ("find texmf/doc texmf-dist/doc $FIND_POST"); -} - - - -# Guide doc (texmf-doc), by language. In order to generate a list of -# all the languages at the beginning, we generate everything before -# writing anything. -# -sub do_guide_list -{ - # each subdir in texmf-doc is a language, except general. - my @langs = map { s,.*/,,; $_ } glob ("texmf-doc/doc/*"); - my @langs = grep { $_ ne "general" } @langs; - - print "\n<p>Languages:\n<ul>\n"; - print map { qq!<li><a href="#$_">$_</a>\n! } @langs; - print "</ul>\n"; - - $count = 0; # for subsection numbers - for my $lang (@langs) { - $count++; - print qq!<a name="#$lang"></a>\n!; - print qq!<h3>2.$count <a href="texmf-doc/doc/$lang/">$lang</a></h3>\n!; - - &do_filelist ("find texmf-doc/doc/$lang $FIND_POST"); - } -} - - - -# Process all files resulting from OPENCMD. -# -sub do_filelist -{ - my ($opencmd) = @_; - - print "\n<ol>\n"; - my $prevdir = ""; - my @entries = (); - - $FILELIST = $opencmd; - open (FILELIST) || die "open($FILELIST) failed: $!"; - while (<FILELIST>) { - chomp; - # collect all files for a given directory - (my $thisdir = $_) =~ s,/[^/]*$,,; - - if ($thisdir eq $prevdir) { - push (@entries, $_); - } else { - &do_directory ($prevdir, @entries) if $prevdir; # avoid first empty - $prevdir = $thisdir; - @entries = ($_); - } - } - close (FILELIST) || warn "close($FILELIST) failed: $!"; - - &do_directory ($prevdir, @entries); # include last - - print "\n</ol>\n"; -} - - - -# Print doc ENTRIES in DIR. -# -sub do_directory -{ - my ($dir,@entries) = @_; - - # $dir includes the texmf tree, e.g., - # texmf-dist/doc/allrunes - # This is too ugly. We just want to show allrunes, especially since - # that's what we sorted by. - my (undef,undef,$nicename) = split (/\//, $dir, 3); - - print qq!<li><b><a href="$dir">$nicename</a>!; - - # if we have an index.html or a live.html, make things nicer. - if (grep { m,/(index|live)\.html$, } @entries) { - # first remove all .html's. - @entries = grep { $_ !~ /\.html$/ - || $_ =~ m,/(index|live)\.html, } @entries; - - # if only one entry left, remove it, the directory link suffices. - @entries = () if $entries[0] =~ m,/index\.html$, && @entries == 1; - } - - # if we're going to print anything, insert punctuation. - print ":" if @entries; - print "</b><small>\n"; - - for my $e (@entries) { - (my $basename = $e) =~ s,.*/,,; - print qq! <a href="$e">$basename</a>\n!; - } - - print " </small>\n\n"; -} diff --git a/Build/tools/svnchangelog b/Build/tools/svnchangelog deleted file mode 100755 index 930751fe629..00000000000 --- a/Build/tools/svnchangelog +++ /dev/null @@ -1,97 +0,0 @@ -#!/bin/sh -# $Id$ -# Public domain. Originally written 2004, Karl Berry. -# Get change info from svn log. (see now-deleted p4changelog for the -# previous code using p4.) - -umask 0 - -debug=true -chicken=${OVERRIDE_CHICKEN-false} - -# to get started, ran svn log and put the first thousand changes in log. - -mydir=`dirname $0` # Build/tools -outdir=`cd $mydir/../logs && pwd` -outfile=$outdir/svnlog -test ! -f $outfile && exit 2 # error probably given by the cd - -# get the revision number we last logged -line=`grep '^r[0-9]' $outfile | head -1 | sed 's/^r//'` -lastlogged=`echo "$line" | awk '{print $1}'` -echo "$lastlogged" | egrep '^[0-9]+$' >/dev/null \ -|| { echo "$0: no change number in r line of $outfile: $line"; - exit 1; } - -nextneeded=`expr $lastlogged + 1` -$debug && echo "lastlogged=$lastlogged, nextneeded=$nextneeded" -if test -z "$nextneeded"; then - echo "$0: empty nextneeded?!" - exit 1 -fi - -# get the log info since then. -tlroot=`cd $mydir/../.. && pwd` -newlogs=$outdir/newlogdata -svn log -v -r HEAD:$nextneeded $tlroot >$newlogs || exit 1 -# with HEAD:next we get the entries newest first, as we want them. -$debug && ls -l $newlogs - -line=`grep '^r[0-9]* |' $newlogs | head -1 | sed 's/^r//'` -latestchange=`echo "$line" | awk '{print $1}'` -$debug && echo "latestchange=$latestchange" -if test -z "$latestchange"; then - echo "$0: empty latestchange?!" - exit 1 -fi - -# done if nothing submitted since last change. -# or if only one commit has been made, because we ourselves do a commit, -# so otherwise we'd add a useless entry every time we're run. -test $latestchange -le $nextneeded && exit 0 - -# rotate logs if crossed a 1000-change mark. -rotate=false -for c in `seq $latestchange -1 $nextneeded`; do - echo $c | grep '001$' >/dev/null && rotate=true -done -$debug && echo "rotate=$rotate" - -if ! $chicken && $rotate; then - mv -v $outfile $outfile.$lastlogged - gzip -v $outfile.$lastlogged - chmod 444 $outfile.$lastlogged.gz - ls -l $outfile.$lastlogged.gz - svn add $outfile.$lastlogged.gz - cp /dev/null $outfile -fi - -# prepend new changes to current log, and put log messages first. -$mydir/svnchangelog.sed $newlogs >$outfile.new -cat $outfile >>$outfile.new - -if $debug; then # really debug - # show first and last change number in each file. - for f in $newlogs $outfile $outfile.new; do - echo - (cd `dirname $f` && ls -l `basename $f`) - grep '^r[0-9]* |' $f | head -1 - grep '^r[0-9]* |' $f | tail -1 - done -fi - - -if ! $chicken; then - mv $outfile.new $outfile - echo "svn commit..." - svn commit -m"regenerated by $0" $outdir -fi - -$mydir/svnchangelog.sed $newlogs # show it to me -rm -f $newlogs $outfile.new - -exit 0 - -# to get things started: -svn log -v -r 1000:1 /home/texlive/trunk/ >svnlog -svn add svnlog diff --git a/Build/tools/svnchangelog.sed b/Build/tools/svnchangelog.sed deleted file mode 100755 index 699cacce1f9..00000000000 --- a/Build/tools/svnchangelog.sed +++ /dev/null @@ -1,43 +0,0 @@ -#! /bin/sed -nf -# $Id$ -# Written by Werner Lemberg, 25may06. Public domain. -# svn log outputs the paths first, then the log message. This sed -# script reverses that. - -:main -/------------------------------------------------------------------------/ { - p - n - /r[0-9][0-9]* / { - p - n - /^Changed paths:$/ { - h - n - - :loop1 - /^$/! { - H - n - bloop1 - } - - :loop2 - /------------------------------------------------------------------------/! { - p - n - bloop2 - } - - i\ - - x - p - g - bmain - } - } - bmain -} - -p diff --git a/Build/tools/update-auto b/Build/tools/update-auto deleted file mode 100755 index 24a98a46c32..00000000000 --- a/Build/tools/update-auto +++ /dev/null @@ -1,179 +0,0 @@ -#!/bin/sh -# $Id$ -# Public domain. Originally written 2003, Karl Berry. -# -# Deal with files that are automatically updated in one way or another. -# New files need to be added manually, doesn't happen often enough. - -PATH=/usr/local/bin:$PATH; export PATH -umask 0 - -chicken=echo -chicken= -cp="cp -fv" -diff="diff -U 2" - -tools=`cd \`dirname $0\` && /bin/pwd` - -# most stuff is in Master. -Master=`cd $tools/../../Master && /bin/pwd` -cd $Master || exit 1 - -temp=/tmp/ua$$ -trap "rm -f $temp*" 0 1 2 15 - -update_list= - -# autogenerate README.EN from readme.html. -# -$tools/htmltext <readme.en.html >$temp -if $diff README.EN $temp >$temp.en.diff; then - echo " README.EN ok." -else - echo "will update README.EN." - $chicken $cp $temp README.EN - update_list="$update_list README.EN" -fi - - -# English FAQ from ctan mirror on tug.org. -# -faqmaster=/home/ftp/tex-archive/help/uk-tex-faq -faqslave=texmf-doc/doc/english/FAQ-en -for f in $faqmaster/*; do - # ignore some of the generated files - echo $f | egrep '(tar.gz|dvi|ps|letterfaq.pdf)$' >/dev/null \ - && continue - - basef=`basename $f` - faqslavef=$faqslave/$basef - if $diff $faqslavef $f >$temp.$basef.diff; then - echo " $faqslavef ok." - else - $chicken $cp $f $faqslavef - update_list="$update_list $faqslavef" - fi -done -# for now, don't bother auto-updating the html files. - - -# modes.mf from elsewhere on tug.org. -# -modesmaster=/home/ftp/tex/modes.mf -modesslave=texmf-dist/metafont/misc/modes.mf -# -if $diff $modesslave $modesmaster >$temp.modes.diff; then - echo " $modesslave ok." -else - $chicken $cp $modesmaster $modesslave - update_list="$update_list $modesslave" -fi - - -# texinfo.tex from elsewhere on tug.org. -# -tximaster=/home/ftp/tex/texinfo.tex -txislave=texmf-dist/tex/texinfo/texinfo.tex -# -if $diff $txislave $tximaster >$temp.txi.diff; then - echo " $txislave ok." -else - $chicken $cp $tximaster $txislave - update_list="$update_list $txislave" -fi - - -# fontname from elsewhere on tug.org. -# -fontnamemaster=/home/httpd/html/fontname -fontnamedocslave=texmf-dist/doc/fontname -# -for basef in ChangeLog Makefile bitstrea.aka \ - fontname.pdf fontname.html fontname.texi; do - fontnameslavef=$fontnamedocslave/$basef - if $diff $fontnamemaster/$basef $fontnameslavef >$temp.$basef.diff; then - echo " $fontnameslavef ok." - else - $chicken $cp $fontnamemaster/$basef $fontnameslavef - update_list="$update_list $fontnameslavef" - fi -done - -# fontname runtime files. -# -fontnamemapslave=texmf-dist/fonts/map/fontname -# -files=`cd $fontnamemaster && ls *.map` -for basef in $files; do - test $basef = wolfram.map && continue # obsolete for TL - fontnamemapslavef=$fontnamemapslave/$basef - if $diff $fontnamemaster/$basef $fontnamemapslavef >$temp.$basef.diff; then - echo " $fontnamemapslavef ok." - else - $chicken $cp $fontnamemaster/$basef $fontnamemapslavef - update_list="$update_list $fontnamemapslavef" - fi -done - -fontnameencslave=texmf-dist/fonts/enc/dvips/base -# -files=`cd $fontnamemaster && ls *.enc | egrep -vw '(groff|t5).enc'` -for basef in $files; do - fontnameencslavef=$fontnameencslave/$basef - if $diff $fontnameencslavef $fontnamemaster/$basef >$temp.$basef.diff; then - echo " $fontnameencslavef ok." - else - $chicken $cp $fontnamemaster/$basef $fontnameencslavef - update_list="$update_list $fontnameencslavef" - fi -done - - -# config.{guess,sub} from GNU. -# -for gnuconf in config.guess config.sub; do - url="http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/$gnuconf?rev=HEAD&content-type=text/plain" - wget -O $temp $url >$temp.2 2>&1 - if test ! -s $temp; then - echo "$0: skipping, could not retrieve $gnuconf:" >&2 - cat $temp.2 - continue - fi - if $diff $gnuconf $temp >$temp.$gnuconf.diff; then - echo " $gnuconf ok." - else - $chicken $cp $temp $gnuconf - update_list="$update_list $gnuconf" - - # find all copies in source. - alldev="`find ../Build/source -name $gnuconf`" - for f in $alldev; do - $chicken $cp $gnuconf $f - done - update_list="$update_list $alldev" - fi -done - - -# doc.html. -# -$tools/mkdocindex | tee $temp.doc | grep -v '<small>Generated' >$temp.doc.new -# -grep -v '<small>Generated' doc.html >$temp.doc.cur -if $diff $temp.doc.cur $temp.doc.new >$temp.doc.diff; then - echo " doc.html ok." -else - $chicken cp -v $temp.doc.new doc.html - update_list="$update_list doc.html" -fi - - -if test -z "$update_list"; then - echo "$0: nothing to update." -else - test x"$chicken" != xecho && echo "$0: committing $update_list" - $chicken svn commit --force-log -m$0 $update_list -fi - -echo "$0: done `date`." -exit 0 diff --git a/Build/tools/update-lsr b/Build/tools/update-lsr deleted file mode 100755 index 90a761d570a..00000000000 --- a/Build/tools/update-lsr +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/sh -# $Id$ -# Originally written 2004, Karl Berry. Public domain. -# -# Update ls-R files. Called from tlrebuild and also karl@tug's cron. - -mydir=`dirname $0` -tools=`cd $mydir && pwd` -PATH=$tools:$PATH; export PATH -umask 0 - -master=`cd $mydir/../../Master && pwd` -cd $master || exit 1 - -# generate new. -./bin/i386-linux/mktexlsr - -# if texmf-var exists, it's not part of the distribution. -test -f texmf-var/ls-R && svn revert texmf-var/ls-R - -# if we have changes, submit to repository (frightening but necessary). -svn commit -m'update-lsr autoupdate' texmf*/ls-R |