summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2019-11-09 18:08:58 +0000
committerKarl Berry <karl@freefriends.org>2019-11-09 18:08:58 +0000
commit0a137951fca97177e99f15c5a17edcbf4dd7ddf1 (patch)
tree9c00c9b2ac9ffc023ba7cf5dc39222707fd8b357
parent24bb9e4fa5f638d0e535c4cdd8a87ea482b11490 (diff)
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
-rwxr-xr-xMaster/tlpkg/bin/tl-update-nsis13
-rwxr-xr-xMaster/tlpkg/bin/tl-update-tlcritical12
-rwxr-xr-xMaster/tlpkg/bin/tltestnet7
3 files changed, 23 insertions, 9 deletions
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<http://tug.org/texlive/tlmgr.html> explains more.
+If necessary, this creates a C<.../tlpkg/tlpobj/> subdirectory in the
+current hierarchy for C<makensis> to read (so it is not removed).
+
This is invoked by the C<tl-update-tlcritical> script, along with the
sibling C<tl-makeself-from-tlnet> 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