summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2021-02-24 18:27:49 +0000
committerKarl Berry <karl@freefriends.org>2021-02-24 18:27:49 +0000
commita360890a6c2a4befab6b48084d0731ad09c46631 (patch)
treea4ba78e23d40a984e871a8f53718d60b965c98af
parent5f6231423ff11a042181be707faa0db6012b8e35 (diff)
2021 pretest setup
git-svn-id: svn://tug.org/texlive/trunk@57875 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Build/source/README9
-rw-r--r--Master/.mkisofsrc2
-rw-r--r--Master/release-texlive.txt2
-rw-r--r--Master/texmf-dist/web2c/texmf.cnf28
-rw-r--r--Master/texmf-dist/web2c/texmfcnf.lua4
-rw-r--r--Master/tlpkg/TeXLive/TLConfig.pm4
-rw-r--r--Master/tlpkg/TeXLive/TLUtils.pm6
-rw-r--r--Master/tlpkg/archive/tlnet-by-hand.txt58
-rwxr-xr-xMaster/tlpkg/bin/tl-update-images4
-rwxr-xr-xMaster/tlpkg/bin/tl-update-messages2
-rwxr-xr-xMaster/tlpkg/bin/tl-update-tlnet4
-rw-r--r--Master/tlpkg/doc/graphics/texlive-installer-graphics-horiz.pngbin16590 -> 16623 bytes
-rw-r--r--Master/tlpkg/doc/graphics/texlive-installer-graphics-vert.pngbin17026 -> 17233 bytes
-rw-r--r--Master/tlpkg/doc/graphics/texlive-installer-graphics.pdfbin129433 -> 129518 bytes
-rw-r--r--Master/tlpkg/doc/releng.txt167
-rw-r--r--Master/tlpkg/installer/texlive.pngbin15441 -> 14622 bytes
16 files changed, 165 insertions, 125 deletions
diff --git a/Build/source/README b/Build/source/README
index c5f57047e37..2ac1509d6b0 100644
--- a/Build/source/README
+++ b/Build/source/README
@@ -43,12 +43,9 @@ i386-netbsd, amd64-netbsd:
Except that we take Nelson's asy build.
i386-freebsd, amd64-freebsd:
- http://anthesphoria.net/FreeBSD/TeXLive-2018/ has details for 2018.
- 2019 and forward built on contextgarden (see below).
- In 2020: FreeBSD 12.1-RELEASE-p1
- (e.g.,
-https://build.contextgarden.net/#/builders/56/builds/141/steps/2/logs/build _info
- ) Except that we take Nelson's asy build.
+ Built on contextgarden, see below.
+ FreeBSD 11.4
+ Except that we take Nelson's asy build.
i386-linux: see travis below.
diff --git a/Master/.mkisofsrc b/Master/.mkisofsrc
index ede69bfb78b..4206e860939 100644
--- a/Master/.mkisofsrc
+++ b/Master/.mkisofsrc
@@ -1,4 +1,4 @@
APPI=Complete TeX system
COPY=LICENSE.TL
PUBL=TeX Live <tex-live@tug.org>
-VOLI=TeXLive2020
+VOLI=TeXLive2021
diff --git a/Master/release-texlive.txt b/Master/release-texlive.txt
index c6a1adc7a34..407d8dbb17c 100644
--- a/Master/release-texlive.txt
+++ b/Master/release-texlive.txt
@@ -1,4 +1,4 @@
-TeX Live (https://tug.org/texlive) version 2020
+TeX Live (https://tug.org/texlive) version 2021
This file is public domain. It is read by install-tl --version,
tlmgr --version, and texconfig conf, and a final line appended with
diff --git a/Master/texmf-dist/web2c/texmf.cnf b/Master/texmf-dist/web2c/texmf.cnf
index 631a32e3ad9..a58b3e6c990 100644
--- a/Master/texmf-dist/web2c/texmf.cnf
+++ b/Master/texmf-dist/web2c/texmf.cnf
@@ -4,8 +4,8 @@
% If you modify this original file, YOUR CHANGES WILL BE LOST when it is
% updated. Instead, put your changes -- and only your changes, not an
% entire copy! -- in ../../texmf.cnf. That is, if this file is
-% installed in /some/path/to/texlive/2020/texmf-dist/web2c/texmf.cnf,
-% add your custom settings to /some/path/to/texlive/2020/texmf.cnf.
+% installed in /some/path/to/texlive/2021/texmf-dist/web2c/texmf.cnf,
+% put your custom settings in /some/path/to/texlive/2021/texmf.cnf.
% (Below, we use YYYY in place of the specific year.)
%
% What follows is a super-summary of what this .cnf file can
@@ -84,10 +84,10 @@ TEXMFSYSCONFIG = $TEXMFROOT/texmf-config
TEXMFHOME = ~/texmf
% TEXMFVAR, where texconfig/updmap/fmtutil store cached runtime data.
-TEXMFVAR = ~/.texlive2020/texmf-var
+TEXMFVAR = ~/.texlive2021/texmf-var
% TEXMFCONFIG, where texconfig/updmap/fmtutil store configuration data.
-TEXMFCONFIG = ~/.texlive2020/texmf-config
+TEXMFCONFIG = ~/.texlive2021/texmf-config
% This is the value manipulated by tlmgr's auxtrees subcommand in the
% root texmf.cnf. Kpathsea warns about a literally empty string for a
@@ -764,9 +764,7 @@ texmf_casefold_search = 1
% Part 3: Array and other sizes for TeX, Metafont, etc.
%
% If you want to change some of these sizes only for a certain TeX
-% variant, the usual dot notation works, e.g.,
-% main_memory.hugetex = 20000000
-%
+% variant, the usual dot notation works, as shown below for ConTeXt.
% If a change here appears to be ignored, try redumping the format file.
% Memory. Must be less than 8,000,000 total.
@@ -809,8 +807,10 @@ pool_size = 6250000
string_vacancies = 90000
% Maximum number of strings.
max_strings = 500000
-% min pool space left after loading .fmt
+% Min pool space left after loading .fmt.
pool_free = 47500
+% Ensure at least this many strings are free after loading .fmt.
+strings_free = 100
% Buffer size. TeX uses the buffer to contain input lines, but macro
% expansion works by writing material into the buffer and reparsing the
@@ -825,8 +825,9 @@ buf_size = 200000
%
trie_size = 1000000
-hyph_size = 8191 % prime number of hyphenation exceptions, >610, <32767.
+hyph_size = 8191 % prime number of hyphenation exceptions, >610, <65535
% http://primes.utm.edu/curios/page.php/8191.html
+ % dynamically increased as necessary, so not important.
nest_size = 500 % simultaneous semantic levels (e.g., groups)
max_in_open = 15 % simultaneous input files and error insertions,
% also applies to MetaPost
@@ -834,11 +835,20 @@ param_size = 10000 % simultaneous macro parameters, also applies to MP
save_size = 200000 % for saving values outside current group
stack_size = 5000 % simultaneous input sources
+% Limit on recursive expansion calls so TeX has a chance to quit nicely
+% before stack space runs out. The default is 10000. Normally there is no
+% reason to change it. The web2c manual has a bit more about this.
+%expand_depth = 10000
+
% These are Omega-specific.
ocp_buf_size = 500000 % character buffers for ocp filters.
ocp_stack_size = 10000 % stacks for ocp computations.
ocp_list_size = 1000 % control for multiple ocps.
+% For pdftex and luatex: default resolution for bitmaps;
+% commonly set via \pdfpkresolution when needed to be changed.
+%pk_dpi = 72
+
% These work best if they are the same as the I/O buffer size, but it
% doesn't matter much. Must be a multiple of 8.
dvi_buf_size = 16384 % TeX
diff --git a/Master/texmf-dist/web2c/texmfcnf.lua b/Master/texmf-dist/web2c/texmfcnf.lua
index 9382ffeb137..c6cc5b959d8 100644
--- a/Master/texmf-dist/web2c/texmfcnf.lua
+++ b/Master/texmf-dist/web2c/texmfcnf.lua
@@ -45,13 +45,13 @@ return {
-- only used for FONTCONFIG_PATH & TEXMFCACHE in TeX Live
TEXMFSYSVAR = "selfautoparent:texmf-var",
- TEXMFVAR = "home:.texlive2020/texmf-var",
+ TEXMFVAR = "home:.texlive2021/texmf-var",
-- We have only one cache path but there can be more. The first writable one
-- will be chosen but there can be more readable paths.
TEXMFCACHE = "$TEXMFSYSVAR;$TEXMFVAR",
- TEXMFCONFIG = "home:.texlive2020/texmf-config",
+ TEXMFCONFIG = "home:.texlive2021/texmf-config",
-- I don't like this texmf under home and texmf-home would make more
-- sense. One never knows what installers put under texmf anywhere and
diff --git a/Master/tlpkg/TeXLive/TLConfig.pm b/Master/tlpkg/TeXLive/TLConfig.pm
index b2ec57215c7..b230e91a9c0 100644
--- a/Master/tlpkg/TeXLive/TLConfig.pm
+++ b/Master/tlpkg/TeXLive/TLConfig.pm
@@ -1,6 +1,6 @@
# $Id$
# TeXLive::TLConfig.pm - module exporting configuration values
-# Copyright 2007-2020 Norbert Preining
+# Copyright 2007-2021 Norbert Preining
# This file is licensed under the GNU General Public License version 2
# or any later version.
@@ -59,7 +59,7 @@ BEGIN {
# the year of our release, will be used in the location of the
# network packages, and in menu names, and other places.
-$ReleaseYear = 2020;
+$ReleaseYear = 2021;
# users can upgrade from this year to the current year; might be the
# same as the release year, or any number of releases earlier.
diff --git a/Master/tlpkg/TeXLive/TLUtils.pm b/Master/tlpkg/TeXLive/TLUtils.pm
index 55fd9ac3143..718df5eae0a 100644
--- a/Master/tlpkg/TeXLive/TLUtils.pm
+++ b/Master/tlpkg/TeXLive/TLUtils.pm
@@ -342,13 +342,13 @@ sub platform_name {
# We have two versions of Mac binary sets.
# 10.x and newer -> x86_64-darwin [MacTeX]
# 10.6/Snow Leopard through 10.x -> x86_64-darwinlegacy, if 64-bit
- # x changes every year. In 2020 (Big Sur) Apple started with 11.x.
+ # x changes every year. As of TL 2021 (Big Sur) Apple started with 11.x.
#
# (BTW, uname -r numbers are larger by 4 than the Mac minor version.
# We don't use uname numbers here.)
#
# this changes each year, per above:
- my $mactex_darwin = 13; # lowest minor rev supported by x86_64-darwin.
+ my $mactex_darwin = 14; # lowest minor rev supported by x86_64-darwin.
#
# Most robust approach is apparently to check sw_vers (os version,
# returns "10.x" values), and sysctl (processor hardware).
@@ -359,7 +359,7 @@ sub platform_name {
. " (from sw_vers -productVersion: $sw_vers)\n";
return "unknownmac-unknownmac";
}
- if ($os_major >= 11) {
+ if ($os_major >= 11) { # have to refine after enough years
$CPU = "x86_64";
$OS = "darwin";
} elsif ($os_minor >= $mactex_darwin) {
diff --git a/Master/tlpkg/archive/tlnet-by-hand.txt b/Master/tlpkg/archive/tlnet-by-hand.txt
new file mode 100644
index 00000000000..72a0f6f2d20
--- /dev/null
+++ b/Master/tlpkg/archive/tlnet-by-hand.txt
@@ -0,0 +1,58 @@
+ Part II.5: As a special case, we need to update tlnet even after the
+final freeze.
+ pretest is going on. To do that, the idea is to make a tag+branch for
+ the last update before switching to the pretest, check that out,
+ and use it for such critical updates. To do that,
+ a) look at https://tug.org/svn/texlive/tags/ to choose the right
+ tag name. For TL19 (during the TL20 pretest), it was texlive-2019.4,
+ since .0-3 were used during the release.
+ b) look at https://tug.org/pipermail/tex-live-commits/ to determine
+ the right revision number: probably the "autoupdate" during the
+ last build before the pretest setup. For TL19, that was 53984.
+ c) run the svn commands given below to create the tag and branch.
+ d) make working checkout of the new branch (at this point we should
+ be fine to wipe out the old branch checkout, if there was one).
+mkdir /home/texlive/branch
+cd !$
+tlyear=2019
+subnum=4
+nice -19 svn co -q svn://tug.org/texlive/branches/branch$tlyear.$subnum .
+
+ e) make the required update, probably most easily by copying the
+ affected files from the trunk. Running ctan2tl (or c2l) inside the
+ branch checkout should also work, if no other changes have intervened.
+
+ f) remake tlnet (not tlpretest); cron.tl does too much overhead for
+ this delicate situation, so run the commands by hand.
+ 1) update tlpdb so we'll get the new revision number;
+ must run from branch, not trunk, or all will be wrong!
+cd /home/texlive/branch/Master/tlpkg/bin # must be in branch directory
+ Use Catalogue snapshot saved above (at "preserve Catalogue")
+ to avoid myriad Catalogue changes.
+ If files have been removed without any other changes to a given
+ package (hopefully not), add --fix-reverse-revisions.
+catdir=/home/texlive/catalogue-freeze
+./tl-update-tlpdb --catalogue=$catdir
+ Check that only expected changes are made.
+ Might be easier to run this, get the new revision number(s),
+ then revert and manually edit if there are additional unneeded
+ changes. Don't worry about 00texlive.*, they aren't distributed.
+
+ 2) for safety, make a backup of tlnet:
+tar -cf /tmp/tlnet.tar -C /home/ftp/texlive/tlnet . # remove when done
+
+ 3) update tlnet, again from the branch, not trunk. Double check!
+ we don't want to update the installer packages, as they have
+ already been getting updated from trunk, so are newer.
+cd /home/texlive/branch/Master/tlpkg/bin
+./tl-update-tlnet --no-install-pkgs
+ It will take about an hour to run. hopefully only the intended
+ packages will get updated. if not, that's why we made the tar backup.
+
+ g) Update the tlnet-final directory in historic:
+tlnet_live=/home/ftp/texlive/tlnet
+tlnet_historic=/home/ftp/historic/systems/texlive/2019/tlnet-final
+rsync -av -n $tlnet_live/ $tlnet_historic/ # trailing /'s needed
+# remove the -n after checking that only expected files are updated.
+
+
diff --git a/Master/tlpkg/bin/tl-update-images b/Master/tlpkg/bin/tl-update-images
index 290645df107..fa7d0a8d474 100755
--- a/Master/tlpkg/bin/tl-update-images
+++ b/Master/tlpkg/bin/tl-update-images
@@ -2,7 +2,7 @@
# $Id$
# Create the .iso image(s) for TeX Live.
#
-# Copyright 2007-2020 Karl Berry.
+# Copyright 2007-2021 Karl Berry.
# Copyright 2003, 2004, 2005 Sebastian Rahtz.
#
# This file is licensed under the GNU General Public License version 2
@@ -22,7 +22,7 @@ lockfile -r 0 $lockfile || exit 1 # from procmail
trap "rm -f $lockfile; exit 0;" 0 1 2 15
NAME=texlive
-V=2020
+V=2021
D=`date +%Y%m%d`
target=/home/ftp/texlive/Images/test
diff --git a/Master/tlpkg/bin/tl-update-messages b/Master/tlpkg/bin/tl-update-messages
index 453bdc232bc..5994e68c66b 100755
--- a/Master/tlpkg/bin/tl-update-messages
+++ b/Master/tlpkg/bin/tl-update-messages
@@ -23,7 +23,7 @@ cat install-tl >>$tmpfile
xgettext -o tlpkg/translations/messages.pot \
--copyright-holder="TeX Live Team" \
--msgid-bugs-address=tex-live@tug.org \
- --package-version=2020 \
+ --package-version=2021 \
--package-name="TeX Live" \
-k__ -k\$__ -k%__ -k__x -k__n:1,2 -k__nx:1,2 -k__xn:1,2 -kN__ -k \
tlpkg/installer/tracked-install.pl \
diff --git a/Master/tlpkg/bin/tl-update-tlnet b/Master/tlpkg/bin/tl-update-tlnet
index d0ee818181e..db1575f3c76 100755
--- a/Master/tlpkg/bin/tl-update-tlnet
+++ b/Master/tlpkg/bin/tl-update-tlnet
@@ -1,5 +1,5 @@
#!/bin/sh -e
-# Copyright 2008-2020 Norbert Preining
+# Copyright 2008-2021 Norbert Preining
# This file is licensed under the GNU General Public License version 2
# or any later version.
#
@@ -13,7 +13,7 @@ renice 20 $$ >/dev/null 2>&1
unset CDPATH
unset LS_COLORS
-yyyy=2020
+yyyy=2021
check_consistency=true
chicken=false
diff --git a/Master/tlpkg/doc/graphics/texlive-installer-graphics-horiz.png b/Master/tlpkg/doc/graphics/texlive-installer-graphics-horiz.png
index e02c89936c2..67f2a66f961 100644
--- a/Master/tlpkg/doc/graphics/texlive-installer-graphics-horiz.png
+++ b/Master/tlpkg/doc/graphics/texlive-installer-graphics-horiz.png
Binary files differ
diff --git a/Master/tlpkg/doc/graphics/texlive-installer-graphics-vert.png b/Master/tlpkg/doc/graphics/texlive-installer-graphics-vert.png
index 8cfe304b75a..e338f78736f 100644
--- a/Master/tlpkg/doc/graphics/texlive-installer-graphics-vert.png
+++ b/Master/tlpkg/doc/graphics/texlive-installer-graphics-vert.png
Binary files differ
diff --git a/Master/tlpkg/doc/graphics/texlive-installer-graphics.pdf b/Master/tlpkg/doc/graphics/texlive-installer-graphics.pdf
index cb05422882b..b41dd43f3b4 100644
--- a/Master/tlpkg/doc/graphics/texlive-installer-graphics.pdf
+++ b/Master/tlpkg/doc/graphics/texlive-installer-graphics.pdf
Binary files differ
diff --git a/Master/tlpkg/doc/releng.txt b/Master/tlpkg/doc/releng.txt
index 75caaea63b4..b73229f534e 100644
--- a/Master/tlpkg/doc/releng.txt
+++ b/Master/tlpkg/doc/releng.txt
@@ -19,17 +19,20 @@ To stop updating of certain packages before the general freeze:
To run test builds without affecting production dirs, see:
tlpkg/bin/tltestnet
- I. Preparing, can be done before pretest starts.
+ Part I. Preparing, can/should be done before pretest starts.
-1. doc: write updates for pretest.html, leave commented out until start.
- - check NEWS/CHANGES/etc. files for all engines and major programs.
+1. doc: write updates for pretest.html, but leave commented out until start.
+ - check NEWS/CHANGES/etc. files for all engines and major programs;
+ ask developers as needed.
- diff new and old bindirs to see if there are interesting new programs:
- \ls $lb >/tmp/now
+ \ls /usr/local/texlive-rel/bin/x86_64-linux >/tmp/now
\ls $ib >/tmp/new
comm -3 /tmp/now /tmp/new >/tmp/cm
+ - in general, writing these news items takes considerable time, but
+ it's important, because this summary of changes is what users want to know.
- if new kpathsea file types (kpsewhich --help-formats), update kpathsea.texi.
- see also doc item below for more necessary updates after pretest starts.
-
+
2. Ask tldistro for patches.
2. No /dev suffix: Build/source/{version.ac,texk/{kpathsea,ptexenc}/version.ac
@@ -61,29 +64,45 @@ To run test builds without affecting production dirs, see:
run ~karl/bin/tlversions to see+compare engine/etc. versions
commit updates.
+6. During the pretest, we want to keep updating tlnet. But we cannot do
+that from the trunk, since the trunk will have the new binaries and
+other changes. Therefore, we set up a branch for release YYYY where we
+will continue to commit normal package updates and update tlnet, while
+the trunk is updating tlpretest for YYYY+1.
+
+The best time to create the branch is right before the first
+pretest-specific commit (the next item, in Part II).
+cd /home/texlive/branch
+rm -rf * .svn # clean out completely; trunk should also be clean
+rev=... # svn info in trunk
+tlyear=`date +%Y -d "last year"` # presumably
+svn copy -r $rev \
+ -m"branch$tlyear branch based on r$rev" \
+ svn://tug.org/texlive/trunk svn://tug.org/texlive/branches/branch$tlyear
- II. Building pretest instead of regular release.
+# If you created the branch earlier for testing or whatever, no problem,
+# just merge from trunk before starting the double commits. Add @REV
+# after trunk if needed. Probably have to M(erge) some not-really-conflicts.
+nice -19 svn merge svn://tug.org/texlive/trunk >&/tmp/merge
-0. On the day of the last tlnet update,
- Set frozen=>1 in TLConfig.pm.
- Freeze should happen at that night's rebuild.
+# Alternatively, if you forgot to create the branch at the time, also
+# no problem, just choose the right $rev and run the svn copy above.
+# For TL2021, we made the branch independent at r57871 (created earlier).
-1. Then, the next day, start building tlpretest: reset
- frozen=>0 in TLConfig.pm
-and
- option adjustrepo 0 in tl-update-tlnet
-(since pretest users shouldn't go to CTAN for updates).
-1a. Then preserve final tlnet of current release YYYY:
-cd /home/ftp/texlive/tlnet
-cp -ar ../tlnet /home/ftp/historic/systems/texlive/YYYY/tlnet-final
-# if and when post-freeze updates are needed, see below.
+ Part II. Building pretest from trunk (and tlnet from branch).
-1b. Also preserve Catalogue as of the freeze, again for the sake of
- post-freeze updates:
-rsync -ar /home/httpd/html/catalogue /home/texlive/catalogue-freeze
+0. Ensure that /home/texlive/branch from before last pretest-specific
+commit is created, clean, and up to date: see item 6 just above.
+
+0b. In crontab, disable trunk->tlnet entries.
-1c. Set up tlpretest:
+1. When ready to start building tlpretest: on trunk, set
+ option adjustrepo 0
+in tl-update-tlnet since pretest users shouldn't go to CTAN for updates.
+This change should not go to the branch.
+
+1b. Set up tlpretest:
Update /home/ftp/texlive/tlpretest/README.
Empty tlpretest except for that README and 00_TIME.txt (used for mirmon).
@@ -104,7 +123,7 @@ Master/tlpkg/bin/tl-update-messages
Master/tlpkg/bin/tl-update-tlnet
Master/tlpkg/installer/texlive.png
(make -C Master/tlpkg/doc/graphics -W texlive-installer-graphics.tex texlive.png)
- then move into place.
+ then mv into place.
Master/texmf-dist/web2c/texmfcnf.lua
Master/texmf-dist/web2c/texmf.cnf # from Build/.../kpathsea
@@ -132,7 +151,7 @@ for p in *conv hbf2gf; do cp /home/ftp/tex-archive/language/chinese/CJK/cjk-X.Y.
force_rebuild=true cron.tl
This will fail because the pretest dir is not completely set up, but
that's ok; the idea is to check the output and ensure all is basically ok.
-It's likely that .tlpsrc files will need to be adjusted.
+It's likely that .tlpsrc files will need to be adjusted for new binaries.
8a. svn commit all the above.
@@ -140,7 +159,7 @@ It's likely that .tlpsrc files will need to be adjusted.
cd /home/ftp/texlive/tlpretest
cp -ar ../tlnet/[a-u]* . # omit tlnet/README*
env force_rebuild=true cron.tl
-We use cp because we want to start with exactly the last tlnet,
+We use cp -a because we want to start with exactly the last tlnet,
and not recreate all packages, so that a file with a given name is never
rewritten. See recreate comments in tl-update-tlpdb and tl-update-containers.
@@ -153,11 +172,11 @@ This was a one-time event, but left here as an example for the unknown future.
10. Web pages: make new pretest.html live; mention pretest has started
on texlive/index.html and tug's home page (at least).
-11. Life and daily updates go on. In cron.tl, set:
- net_frozen=false
- catalogue_compare=true # maybe not every day?
+11. Life and daily updates go on. In cron.tl, set net_frozen=false.
+ In the crontab, enable the pretest entries.
+
-A. At some point, after tlnet freeze:
+A. At some point during the pretest:
Update gpg expiration, see tlpkg/gpg/tl-key-extension.txt;
do not fail to do this, or the key will expire and cause lots of hassle.
Run tl-update-linked-scripts to ensure consistency.
@@ -190,64 +209,7 @@ C. Build a test ISO image for initial TeX Collection testing:
After successful image build, email tldistro@tug.org for info/review.
Can disable image building again after the initial build for a while.
-
-L. It may be that we need to update the "frozen" release while the
- pretest is going on. To do that, the idea is to make a tag+branch for
- the last update before switching to the pretest, check that out,
- and use it for such critical updates. To do that,
- a) look at https://tug.org/svn/texlive/tags/ to choose the right
- tag name. For TL19 (during the TL20 pretest), it was texlive-2019.4,
- since .0-3 were used during the release.
- b) look at https://tug.org/pipermail/tex-live-commits/ to determine
- the right revision number: probably the "autoupdate" during the
- last build before the pretest setup. For TL19, that was 53984.
- c) run the svn commands given below to create the tag and branch.
- d) make working checkout of the new branch (at this point we should
- be fine to wipe out the old branch checkout, if there was one).
-mkdir /home/texlive/branch
-cd !$
-tlyear=2019
-subnum=4
-nice -19 svn co -q svn://tug.org/texlive/branches/branch$tlyear.$subnum .
-
- e) make the required update, probably most easily by copying the
- affected files from the trunk. Running ctan2tl (or c2l) inside the
- branch checkout should also work, if no other changes have intervened.
-
- f) remake tlnet (not tlpretest); cron.tl does too much overhead for
- this delicate situation, so run the commands by hand.
- 1) update tlpdb so we'll get the new revision number;
- must run from branch, not trunk, or all will be wrong!
-cd /home/texlive/branch/Master/tlpkg/bin # must be in branch directory
- Use Catalogue snapshot saved above (at "preserve Catalogue")
- to avoid myriad Catalogue changes.
- If files have been removed without any other changes to a given
- package (hopefully not), add --fix-reverse-revisions.
-catdir=/home/texlive/catalogue-freeze
-./tl-update-tlpdb --catalogue=$catdir
- Check that only expected changes are made.
- Might be easier to run this, get the new revision number(s),
- then revert and manually edit if there are additional unneeded
- changes. Don't worry about 00texlive.*, they aren't distributed.
-
- 2) for safety, make a backup of tlnet:
-tar -cf /tmp/tlnet.tar -C /home/ftp/texlive/tlnet . # remove when done
-
- 3) update tlnet, again from the branch, not trunk. Double check!
- we don't want to update the installer packages, as they have
- already been getting updated from trunk, so are newer.
-cd /home/texlive/branch/Master/tlpkg/bin
-./tl-update-tlnet --no-install-pkgs
- It will take about an hour to run. hopefully only the intended
- packages will get updated. if not, that's why we made the tar backup.
-
- e) Update the tlnet-final directory in historic:
-tlnet_live=/home/ftp/texlive/tlnet
-tlnet_historic=/home/ftp/historic/systems/texlive/2019/tlnet-final
-rsync -av -n $tlnet_live/ $tlnet_historic/ # trailing /'s needed
-# remove the -n after checking that only expected files are updated.
-
-M. As work proceeds, update the doc:
+M. As pretest proceeds, update the doc:
MetaPost (in texmf-dist), other engine (in source) NEWS.
Ensure all engine manuals updated in texmf-dist.
Update texlive-en.tex (+ .pdf, .html), tell tldoc to translate.
@@ -295,29 +257,42 @@ O. Two days before the final pretest (i.e., to-be-published) build:
tlmgr version number in texmf-dist/scripts/texlive/NEWS.
In cron.tl, set catalogue_compare=true for final syncs.
Rebuild test images so we get the new source.
- Tell developers no more commits: tldev +
- hironobu, luigi, mojca, takuji.
+ Tell developers no more commits: tldev +
+ hirata, hironori, luigi, mojca, takuji,
P. The day before the final pretest:
option adjustrepo 1 in tl-update-tlnet, else install-tl-unx won't go to ctan
Update Master/source (if not earlier):
xz wget w32tex-src texlive*source mactexdoc install-tl-unx.tar.gz
-Q. After final build, to do total freeze:
+Q. The day of the final tlnet-from-branch build, which may or may not
+ also be the day of the final tlpretest-from-trunk build:
+ Set frozen=>1 in branch TLConfig.pm.
+ Freeze of tlnet should happen at that night's rebuild.
+
+R. After final build, to do total freeze:
In cron.tl, set *_frozen=true.
Also, set catalogue_compare=false now or at some point earlier.
- Don't disable the cron entry, since we want to see if any commits
- are mistakenly made. Nothing more than svn update will happen
- with everything frozen.
+ For double protection, disable the nightly cron jobs.
Also, in /l/bin/mirror-ctan, disable Catalogue updates,
to avoid unnecessary changes if we have to rebuild the final image.
-R. Ask for torrents to be created. In 2019,
+S. Ask for torrents to be created. In 2020,
Tim Stewart <timoteostewart1977@gmail.com>
made the one that worked.
+T. Preserve final tlnet of current release YYYY:
+cd /home/ftp/texlive/tlnet
+cp -ar ../tlnet /home/ftp/historic/systems/texlive/YYYY/tlnet-final
+# if post-freeze updates are required (let's hope not),
+# see tlpkg/archive/tlnet-by-hand.txt.
+
+T2. Also preserve Catalogue as of the freeze, again for the sake of
+ post-freeze updates:
+rsync -ar /home/httpd/html/catalogue /home/texlive/catalogue-freeze
+
- III. Making the big release:
+ Part III. Making the big release:
- unmount live install of last year's:
umount /home/ftp/texlive/Contents/live
@@ -449,7 +424,7 @@ svn copy -r $rev \
svn copy -r $rev \
-m"branch$tlyear branch based on r$rev" \
svn://tug.org/texlive/trunk svn://tug.org/texlive/branches/branch$tlyear
- # add .$subnum to branch name (and in comment) if making
+ # add .$subnum to branch name (and in comment) if not making the first.
It's the same command, just different destinations.
http://svnbook.red-bean.com/en/1.8/svn.branchmerge.html
diff --git a/Master/tlpkg/installer/texlive.png b/Master/tlpkg/installer/texlive.png
index 0d7e4ebba17..c4343583503 100644
--- a/Master/tlpkg/installer/texlive.png
+++ b/Master/tlpkg/installer/texlive.png
Binary files differ