diff options
Diffstat (limited to 'Master/tlpkg')
-rw-r--r-- | Master/tlpkg/TeXLive/TLConfig.pm | 4 | ||||
-rw-r--r-- | Master/tlpkg/TeXLive/TLUtils.pm | 6 | ||||
-rw-r--r-- | Master/tlpkg/archive/tlnet-by-hand.txt | 58 | ||||
-rwxr-xr-x | Master/tlpkg/bin/tl-update-images | 4 | ||||
-rwxr-xr-x | Master/tlpkg/bin/tl-update-messages | 2 | ||||
-rwxr-xr-x | Master/tlpkg/bin/tl-update-tlnet | 4 | ||||
-rw-r--r-- | Master/tlpkg/doc/graphics/texlive-installer-graphics-horiz.png | bin | 16590 -> 16623 bytes | |||
-rw-r--r-- | Master/tlpkg/doc/graphics/texlive-installer-graphics-vert.png | bin | 17026 -> 17233 bytes | |||
-rw-r--r-- | Master/tlpkg/doc/graphics/texlive-installer-graphics.pdf | bin | 129433 -> 129518 bytes | |||
-rw-r--r-- | Master/tlpkg/doc/releng.txt | 167 | ||||
-rw-r--r-- | Master/tlpkg/installer/texlive.png | bin | 15441 -> 14622 bytes |
11 files changed, 139 insertions, 106 deletions
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 Binary files differindex e02c89936c2..67f2a66f961 100644 --- a/Master/tlpkg/doc/graphics/texlive-installer-graphics-horiz.png +++ b/Master/tlpkg/doc/graphics/texlive-installer-graphics-horiz.png diff --git a/Master/tlpkg/doc/graphics/texlive-installer-graphics-vert.png b/Master/tlpkg/doc/graphics/texlive-installer-graphics-vert.png Binary files differindex 8cfe304b75a..e338f78736f 100644 --- a/Master/tlpkg/doc/graphics/texlive-installer-graphics-vert.png +++ b/Master/tlpkg/doc/graphics/texlive-installer-graphics-vert.png diff --git a/Master/tlpkg/doc/graphics/texlive-installer-graphics.pdf b/Master/tlpkg/doc/graphics/texlive-installer-graphics.pdf Binary files differindex cb05422882b..b41dd43f3b4 100644 --- a/Master/tlpkg/doc/graphics/texlive-installer-graphics.pdf +++ b/Master/tlpkg/doc/graphics/texlive-installer-graphics.pdf 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 Binary files differindex 0d7e4ebba17..c4343583503 100644 --- a/Master/tlpkg/installer/texlive.png +++ b/Master/tlpkg/installer/texlive.png |