texlive[55247] Master/tlpkg: tltestnet: run tl-update-tlnet from

commits+karl at tug.org commits+karl at tug.org
Sat May 23 22:57:09 CEST 2020


Revision: 55247
          http://tug.org/svn/texlive?view=revision&revision=55247
Author:   karl
Date:     2020-05-23 22:57:09 +0200 (Sat, 23 May 2020)
Log Message:
-----------
tltestnet: run tl-update-tlnet from working hierarchy, per PATH, to
allow for test builds without modifying the production directory.
Test hierarchy set up in /home/texlive/tstnet.

tl-update-install-pkg, tl-update-tlnet, releng.txt: doc.

Modified Paths:
--------------
    trunk/Master/tlpkg/bin/tl-update-install-pkg
    trunk/Master/tlpkg/bin/tl-update-tlnet
    trunk/Master/tlpkg/bin/tltestnet
    trunk/Master/tlpkg/doc/releng.txt

Modified: trunk/Master/tlpkg/bin/tl-update-install-pkg
===================================================================
--- trunk/Master/tlpkg/bin/tl-update-install-pkg	2020-05-23 17:43:55 UTC (rev 55246)
+++ trunk/Master/tlpkg/bin/tl-update-install-pkg	2020-05-23 20:57:09 UTC (rev 55247)
@@ -1,6 +1,6 @@
 #!/usr/bin/env perl
 # $Id$
-# Copyright 2008-2018 Reinhard Kotucha, Norbert Preining, Karl Berry
+# Copyright 2008-2020 Reinhard Kotucha, Norbert Preining, Karl Berry
 # This file is licensed under the GNU General Public License version 2
 # or any later version.
 

Modified: trunk/Master/tlpkg/bin/tl-update-tlnet
===================================================================
--- trunk/Master/tlpkg/bin/tl-update-tlnet	2020-05-23 17:43:55 UTC (rev 55246)
+++ trunk/Master/tlpkg/bin/tl-update-tlnet	2020-05-23 20:57:09 UTC (rev 55247)
@@ -81,8 +81,9 @@
 test -z "$tltrybase" \
 && tltrybase=`cd $tlweb/../.. && pwd`/tlnet-trial-`date +%y%m%d`
 tltry=$tltrybase/tlsrc.try
-echo "$0: Using tltry=$tltry"   # local working dir
-echo "$0: Using tlweb=$tlweb"   # top level network directory, mirrored
+echo "$0: running from Master=$Master"
+echo "$0: working in   tltry=$tltry"
+echo "$0: output to    tlweb=$tlweb"
 
 # Save current tlpdb in case of disaster.
 cp --force --backup $tlweb/tlpkg/texlive.tlpdb* /tmp
@@ -104,15 +105,13 @@
     : # skip mactex
   elif test "x$cow_shell" = xcow-shell; then
     cp -al "$f" $tltry  # assume GNU cp so we can link instead of copy
-    # However, cow-shell may be introducing strange errors on the 
+    # However, cow-shell is evidently introducing strange errors on the 
     # tug.org server we switched to in 2020, causing the release (tlnet)
     # directory to be modified even when changes should be kept to the
     # test (tltry) directory (ultimately resulting in checksum errors
     # since the containers and tlpdb don't match, after a failed rebuild).
-    # 
-    # We're not sure. But let's just default to straight copies,
-    # avoiding cow-shell, at least until we see if the problem happens
-    # without it, or we can get to the bottom of it.
+    # This can be confirmed with a test hierarchy and build; see tltestnet.
+    # So, do not use cow-shell.
   else
     # no cow-shell, straight copy.
     cp -a "$f" $tltry   # still assuming GNU cp for -a

Modified: trunk/Master/tlpkg/bin/tltestnet
===================================================================
--- trunk/Master/tlpkg/bin/tltestnet	2020-05-23 17:43:55 UTC (rev 55246)
+++ trunk/Master/tlpkg/bin/tltestnet	2020-05-23 20:57:09 UTC (rev 55247)
@@ -1,86 +1,30 @@
 #!/bin/sh
 # $Id$
 # Public domain.  Originally written 2019, Karl Berry.
-# 
-# Convenience script for the 2019 change to versioned containers.
-# See tlpkg/doc/packages.txt for some info. Assumes variables
-# in ~karl/.bash_login and plenty more, sorry.
+# Run an update of tlnet, but in a test directory.
 
-renice 20 $$ >/dev/null 2>&1
-cd $HOME
+testnet=/home/texlive/tstftp/tstlive/tstnet
+# the subdirectories there are necessary because we make the trial
+# directories two levels up. Imagine tstftp = ~ftp, tstlive = ~ftp/texlive.
 
-if test "x$1" = x-s; then
-  svn=/usr/local/bin/svn
-  for f in $xx/tlmgr.pl $pp/TLPOBJ.pm $pb/tl-update-containers; do
-    test -z "`$svn status $f`" || { echo "$f modified, goodbye"; exit 1; }
-    cp -pv $f.new $f || exit 1
-  done
-  exit 0
-
-elif test "x$1" = x-S; then
-  svn=/usr/local/bin/svn
-  for f in $xx/tlmgr.pl $pp/TLPOBJ.pm $pb/tl-update-containers; do
-    cmp -s $f $f.new || { echo "modified $f, goodbye"; exit 1; }
-    mv $f $f.new || exit 1
-    $svn update $f
-  done
-  exit 0
-
-elif test "x$1" = x-d; then
-  for f in $xx/tlmgr.pl $pp/TLPOBJ.pm $pb/tl-update-containers; do
-    diff -u1 $f $f.new
-  done >/tmp/dif
-  exit 0
-
-elif test "x$1" = x-i; then
-  dest=/tmp/ki
-  PATH=$dest/bin/x86_64-linux:/usr/bin; export PATH
-  rm -rf $dest*
-  #
-  TEXLIVE_INSTALL_ENV_NOCHECK=1; export TEXLIVE_INSTALL_ENV_NOCHECK
-  TEXLIVE_INSTALL_NO_WELCOME=1;  export TEXLIVE_INSTALL_NO_WELCOME
-  #
-  pro=--profile=/home/texlive/trunk/Master/tlpkg/dev/profiles/TLinfra.pro
-  #
-  thisrel=/usr/local/texlive/`date +%Y` 
-  $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
-  set -x
-  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
-    uarg=--self
-  else
-    echo "$0: impossible update arg: $1" >&2
-    exit 1
-  fi
-  for i in tlhttp tlftp tldsk tldev tla; do
-    bin=/tmp/$i/bin/x86_64-linux
-    printf "\n\f $bin/tlmgr update $uarg\n"
-    env PATH=$bin:/usr/bin tlmgr update $uarg
-  done
-
+fast=true
+if $fast; then
+  scheme=minimal
+  install_pkg=--no-install-pkg
+  consistency=--no-consistency
 else
-  echo "$0: what to do? ($*)" >&2
-  exit 1
+  scheme=full
+  install_pkg=
+  consistency=
 fi
 
-##repo=--repo=/home/ftp/texlive/test-tlnet
-##repo=--repo=/home/ftp/texlive/tlnet
-##repo=--repo=/home/ftp/texlive/tlcritical
-##repo=--repo=/home/ftp/texlive/tlverpkg
-##repo=--repo=ftp://fm.tug.org/texlive/test-tlnet
-#
-#set -x
-#tlmgr version
-#tlmgr -v $repo update --self
-##tlmgr $repo update
+# We assume the texlive.tlpdb file is up to date. It could be rebuilt
+# with the command here, but it's usually not desirable, because with
+# --fix-reverse updates can get committed, and without it, the result
+# may not be consistent.
+# 
+#catup= #--catalogue-compare=$tlnet_dir
+#./tlpkg/bin/tl-update-tlpdb -v --fix-reverse-revisions $catup
+
+# run out of PATH, not the reference tree.
+tl-update-tlnet --dest $testnet --scheme $scheme $install_pkg $consistency

Modified: trunk/Master/tlpkg/doc/releng.txt
===================================================================
--- trunk/Master/tlpkg/doc/releng.txt	2020-05-23 17:43:55 UTC (rev 55246)
+++ trunk/Master/tlpkg/doc/releng.txt	2020-05-23 20:57:09 UTC (rev 55247)
@@ -16,6 +16,8 @@
 To stop updating of certain packages before the general freeze:
  tlpkg/dev/tlnet-disabled-packages.txt
 
+To run test builds without affecting production dirs, see:
+ tlpkg/bin/tltestnet
 
 
 I. Preparing, can be done before pretest starts.
 



More information about the tex-live-commits mailing list.