From 9cf015b0509e5eac51b7de4fac5af14e6cca3eb8 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Tue, 31 Dec 2019 18:46:04 +0000 Subject: renice, doc, archive old script git-svn-id: svn://tug.org/texlive/trunk@53278 c570f23f-e606-0410-a88d-b1316a301751 --- Master/tlpkg/TeXLive/TLUtils.pm | 20 ++++++- Master/tlpkg/bin/archive/svnchangelog | 100 ++++++++++++++++++++++++++++++++++ Master/tlpkg/bin/ctan2tl | 1 + Master/tlpkg/bin/svnchangelog | 97 --------------------------------- Master/tlpkg/bin/tl-update-bindir | 2 +- Master/tlpkg/bin/tl-update-images | 4 +- 6 files changed, 121 insertions(+), 103 deletions(-) create mode 100755 Master/tlpkg/bin/archive/svnchangelog delete mode 100755 Master/tlpkg/bin/svnchangelog diff --git a/Master/tlpkg/TeXLive/TLUtils.pm b/Master/tlpkg/TeXLive/TLUtils.pm index 1c33a0d04ef..b038abecf28 100644 --- a/Master/tlpkg/TeXLive/TLUtils.pm +++ b/Master/tlpkg/TeXLive/TLUtils.pm @@ -3602,7 +3602,7 @@ sub process_logging_options { =head2 Miscellaneous -Some ideas from Fabrice Popineau's C. +A few ideas from Fabrice Popineau's C. =over 4 @@ -4470,7 +4470,7 @@ sub setup_sys_user_mode { print STDERR "" . "$prg [ERROR]: Either -sys or -user mode is required.\n" . "$prg [ERROR]: In nearly all cases you should use $prg -sys.\n" . - "$prg [ERROR]: For special cases see http://tug.org/texlive/scripts-sys-user.html\n" ; + "$prg [ERROR]: For special cases see https://tug.org/texlive/scripts-sys-user.html\n" ; exit(1); } return ($texmfconfig, $texmfvar); @@ -4540,6 +4540,12 @@ sub repository_to_array { } +=back + +=head2 JSON + +=over 4 + =item C Returns the JSON representation of the object C<$ref> is pointing at. @@ -4562,7 +4568,10 @@ bless $TLFalse, 'TLBOOLEAN'; our $jsonmode = ""; +=pod + =item C + =item C These two crazy functions must be used to get proper JSON C and @@ -4710,8 +4719,13 @@ sub array_to_json { my $ret = "[" . join(",", map { encode_json(\$_) } @$hr) . "]"; return($ret); } + +=pod + =back + =cut + 1; __END__ @@ -4724,7 +4738,7 @@ C), the documentation in C, etc. =head1 AUTHORS AND COPYRIGHT This script and its documentation were written for the TeX Live -distribution (L) and both are licensed under the +distribution (L) and both are licensed under the GNU General Public License Version 2 or later. =cut diff --git a/Master/tlpkg/bin/archive/svnchangelog b/Master/tlpkg/bin/archive/svnchangelog new file mode 100755 index 00000000000..ed86ff3439a --- /dev/null +++ b/Master/tlpkg/bin/archive/svnchangelog @@ -0,0 +1,100 @@ +#!/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.) +# +# Not used since the beginning of regular commit email: +# https://tug.org/pipermail/tex-live/ + +umask 0 + +debug=true +chicken=${OVERRIDE_CHICKEN-false} + +# to get started, ran svn log and put the first thousand changes in log. + +# we are in Master/tlpkg/bin +mydir=`dirname $0` # Master/tlpkg/bin +outdir=`cd $mydir/../../../Build/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/../libexec/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/../libexec/svnchangelog.sed $newlogs # show it to me +$debug || rm -f $newlogs $outfile.new # keep them in case of problems + +exit 0 + +# to get things started: +svn log -v -r 1000:1 /home/texlive/trunk/ >svnlog +svn add svnlog diff --git a/Master/tlpkg/bin/ctan2tl b/Master/tlpkg/bin/ctan2tl index aad3a1f830e..c2b9c1477e2 100755 --- a/Master/tlpkg/bin/ctan2tl +++ b/Master/tlpkg/bin/ctan2tl @@ -4,6 +4,7 @@ # # Attempt to push a package from CTAN into TL. +renice 20 $$ >&/dev/null unset CDPATH # avoid extraneous output LC_ALL=C; export LC_ALL # avoid problems with diff, comm, etc diff --git a/Master/tlpkg/bin/svnchangelog b/Master/tlpkg/bin/svnchangelog deleted file mode 100755 index a46829110de..00000000000 --- a/Master/tlpkg/bin/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. - -# we are in Master/tlpkg/bin -mydir=`dirname $0` # Master/tlpkg/bin -outdir=`cd $mydir/../../../Build/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/../libexec/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/../libexec/svnchangelog.sed $newlogs # show it to me -$debug || rm -f $newlogs $outfile.new # keep them in case of problems - -exit 0 - -# to get things started: -svn log -v -r 1000:1 /home/texlive/trunk/ >svnlog -svn add svnlog diff --git a/Master/tlpkg/bin/tl-update-bindir b/Master/tlpkg/bin/tl-update-bindir index dce4dd90160..b7678ba2333 100755 --- a/Master/tlpkg/bin/tl-update-bindir +++ b/Master/tlpkg/bin/tl-update-bindir @@ -3,8 +3,8 @@ # Update a TeX Live Master/bin/PLATFORM directory. vc_id='$Id$' +renice 20 $$ >&/dev/null unset CDPATH -unset GREP_OPTIONS unset LS_COLORS tmpdir=${TMPDIR-/tmp}/tlupbin.$$ diff --git a/Master/tlpkg/bin/tl-update-images b/Master/tlpkg/bin/tl-update-images index e2191c0bb1e..72a9b623835 100755 --- a/Master/tlpkg/bin/tl-update-images +++ b/Master/tlpkg/bin/tl-update-images @@ -16,8 +16,8 @@ V=2019 D=`date +%Y%m%d` target=/home/ftp/texlive/Images/test -renice +19 -p $$ >/dev/null 2>&1 -umask 0 +renice 20 $$ >/dev/null 2>&1 +umask 002 unset CDPATH # avoid output from cd XZ_OPT=-6e; export XZ_OPT # compression level, -9 for slowest-but-most, # which is not worth the (excessive) time. -- cgit v1.2.3