From 0a137951fca97177e99f15c5a17edcbf4dd7ddf1 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sat, 9 Nov 2019 18:08:58 +0000 Subject: tl-update-nsis: can't remove tlpobj/ dir here. tl-update-tlcritical: remove it here instead, after running makensis. tltestnet: new --rebuild option to update test repository. git-svn-id: svn://tug.org/texlive/trunk@52707 c570f23f-e606-0410-a88d-b1316a301751 --- Master/tlpkg/bin/tl-update-nsis | 13 ++++--------- Master/tlpkg/bin/tl-update-tlcritical | 12 ++++++++++++ Master/tlpkg/bin/tltestnet | 7 +++++++ 3 files changed, 23 insertions(+), 9 deletions(-) (limited to 'Master/tlpkg/bin') diff --git a/Master/tlpkg/bin/tl-update-nsis b/Master/tlpkg/bin/tl-update-nsis index 7b41c32d9be..0b121f48228 100755 --- a/Master/tlpkg/bin/tl-update-nsis +++ b/Master/tlpkg/bin/tl-update-nsis @@ -46,14 +46,11 @@ sub main { push(@allfiles, $texliveinfra->all_files); push(@allfiles, $texliveinfraw32->all_files) if defined $texliveinfraw32; - # create the tlpobj files, but if we have to create the tlpobj/ dir, - # don't leave it around after. + # create the tlpobj files, and directory if necessary. my $tlpobjdir = "$InfraLocation/tlpobj"; my $abs_tlpobjdir = "$Master/$tlpobjdir"; - my $rm_abs_tlpobjdir = 0; if (! -d $abs_tlpobjdir) { &TeXLive::TLUtils::mkdirhier($abs_tlpobjdir); - $rm_abs_tlpobjdir = 1; } my $rev = 0; # get the highest rev of all our packages for my $p ($texliveinfra, $texliveinfraw32) { @@ -69,11 +66,6 @@ sub main { } } - # remove the tlpobj/ dir if we created it. - if ($rm_abs_tlpobjdir) { - TeXLive::TLUtils::rmtree($abs_tlpobjdir); - } - my %dirtofiles; for my $f (@allfiles) { if ($f !~ m!/!) { @@ -177,6 +169,9 @@ inability to overwrite open files, and for disaster recovery. It contains the tlmgr-related infrastructure files. L explains more. +If necessary, this creates a C<.../tlpkg/tlpobj/> subdirectory in the +current hierarchy for C to read (so it is not removed). + This is invoked by the C script, along with the sibling C which creates a similar disaster recovery executable for Unix. diff --git a/Master/tlpkg/bin/tl-update-tlcritical b/Master/tlpkg/bin/tl-update-tlcritical index d172d196369..a5e2a6f128f 100755 --- a/Master/tlpkg/bin/tl-update-tlcritical +++ b/Master/tlpkg/bin/tl-update-tlcritical @@ -98,9 +98,21 @@ do_updater sh # update the Windows updater executable. echo "$0: running tl-update-nsis... (logfile: $TMPDIR/makensis.log)" +# +# we have to remove the tlpobj subdir ourselves, since it's created +# by tl-update-nsis, but read by makensis. (But if it already exists, +# don't remove it.) +tlpobj=$master/tlpkg/tlpobj +if test -d "$tlpobj"; then + keep_tlpobj=true +else + keep_tlpobj=false +fi +# tl-update-nsis >$TMPDIR/updater.nsi makensis $TMPDIR/updater.nsi >$TMPDIR/makensis.log rm -f $TMPDIR/updater.nsi +$keep_tlpobj || rm -rf $tlpobj do_updater exe echo $tlcrit: diff --git a/Master/tlpkg/bin/tltestnet b/Master/tlpkg/bin/tltestnet index 38248e89a2f..aaa1773f317 100755 --- a/Master/tlpkg/bin/tltestnet +++ b/Master/tlpkg/bin/tltestnet @@ -46,7 +46,14 @@ elif test "x$1" = x-i; then $thisrel/install-tl $pro || exit 1 # make throwaway test install exit $? +elif test "x$1" = x--rebuild; then + # update test repository. Do -s first to put code in place, and -S after. + destdir=/home/ftp/texlive/test-tlnet + tl-update-tlnet --critical --scheme infraonly --dest $destdir + tl-update-tlcritical --tlcrit $destdir --no-containers + elif test "x$1" = x-u || test "x$1" = x--all || test "x$1" = x--self; then + # update installations. if test "x$1" = x-u || test "x$1" = x--all; then uarg=--all elif test "x$1" = x--self; then -- cgit v1.2.3