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.