summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2022-04-04 17:45:51 +0000
committerKarl Berry <karl@freefriends.org>2022-04-04 17:45:51 +0000
commit4ca1cb3da46997c41eff1ae88aad0d090f717b3c (patch)
treecf65844c3250610fb49b763d107e19199c892121
parentfaf2b1f50f1d5ed2f6a34d913859907b3565a7a1 (diff)
tl-update-tlnet: --no-adjust-repo option; tl-update-images: no need for global writability; releng.txt, tlmgr.pl: doc
git-svn-id: svn://tug.org/texlive/trunk@62899 c570f23f-e606-0410-a88d-b1316a301751
-rwxr-xr-xMaster/texmf-dist/scripts/texlive/tlmgr.pl3
-rwxr-xr-xMaster/tlpkg/bin/tl-update-images1
-rwxr-xr-xMaster/tlpkg/bin/tl-update-tlnet5
-rw-r--r--Master/tlpkg/doc/releng.txt138
4 files changed, 74 insertions, 73 deletions
diff --git a/Master/texmf-dist/scripts/texlive/tlmgr.pl b/Master/texmf-dist/scripts/texlive/tlmgr.pl
index 6149c77196c..647cf5d4009 100755
--- a/Master/texmf-dist/scripts/texlive/tlmgr.pl
+++ b/Master/texmf-dist/scripts/texlive/tlmgr.pl
@@ -7339,9 +7339,6 @@ TeX Live $TeXLive::TLConfig::ReleaseYear is frozen
and will no longer be routinely updated. This happens when a new
release is made, or will be made shortly.
-If you're willing to help with pretesting a new release, and we hope
-you are, please see https://tug.org/texlive/pretest.html.
-
For general status information about TeX Live, see its home page:
https://tug.org/texlive
diff --git a/Master/tlpkg/bin/tl-update-images b/Master/tlpkg/bin/tl-update-images
index 19676eeec7f..420d6b8cfb4 100755
--- a/Master/tlpkg/bin/tl-update-images
+++ b/Master/tlpkg/bin/tl-update-images
@@ -172,7 +172,6 @@ MAKEINST ()
echo "$0: $mkisofs failed (status $?), goodbye." >&2
exit $?
fi
- chmod a+rw $iso
cd $target || exit 1
rm -rf $imgdir
diff --git a/Master/tlpkg/bin/tl-update-tlnet b/Master/tlpkg/bin/tl-update-tlnet
index 6ae0f2207d9..440207a3865 100755
--- a/Master/tlpkg/bin/tl-update-tlnet
+++ b/Master/tlpkg/bin/tl-update-tlnet
@@ -15,6 +15,7 @@ unset LS_COLORS
yyyy=2022
+adjust_repo=1
check_consistency=true
chicken=false
cow_shell=/bin/sh
@@ -30,12 +31,14 @@ gpgcmd=
while test $# -gt 0; do
case $1 in
+ --adjust-repo) adjust_repo=1;; # instopt
--cow) cow_shell=cow-shell;; # see comments below
--critical) critical=--all;;
--dest) shift; tlweb=$1;;
--dry-run|-n) chicken=true;;
--gpgcmd) shift; gpgcmd="--gpgcmd \"$1\"";;
--master) shift; Master=$1;;
+ --no-adjust-repo) adjust_repo=0;;
--no-consistency) check_consistency=false;; # takes a long time.
--no-install-pkg) update_install_pkg=false;;# trunk update after freeze
--no-testinstall|-N) testinstall=false;; # and no updates; quit early.
@@ -186,7 +189,7 @@ tlpdbopt_install_srcfiles 1
tlpdbopt_create_formats 1
instopt_letter 0
instopt_adjustpath 0
-instopt_adjustrepo 1
+instopt_adjustrepo $adjust_repo
" >texlive.profile
# silence envvar warnings and the welcome message.
diff --git a/Master/tlpkg/doc/releng.txt b/Master/tlpkg/doc/releng.txt
index ef8629b4857..c474ec136bd 100644
--- a/Master/tlpkg/doc/releng.txt
+++ b/Master/tlpkg/doc/releng.txt
@@ -104,10 +104,12 @@ commit is created, clean, and up to date: see item 6 just above.
0b. In crontab, comment out "update tlnet from trunk" entry.
-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.
+1. When ready to start building tlpretest:
+ in cron job, for trunk build, set --no-adjust-repo
+ since pretest users shouldn't go to CTAN for updates.
+ Equivalent to editing tl-update-tlnet on trunk, and setting
+ option adjustrepo 0
+ In any case, this change should not go to the branch.
1b. Set up tlpretest:
Update /home/ftp/texlive/tlpretest/README.md.
@@ -144,8 +146,8 @@ Ensure that web2c/texmf.cnf is updated for the current year (per above).
6a. Then run fmtutil-user --all to check that all formats build ok.
-6b. (For karl@tug.org: leave new ~karl/.texlive`date +%Y` for bnb,
-and update ~bnb/.cshrc after commit.)
+6b. (For karl@tug.org: leave new ~karl/.texlive`date +%Y` for bnb.
+Also run mtxrun --generate to be able to run ConTeXt.)
7. Check for Build-maintained updates to config files, new files, etc.
(might have to merge back if Master was mistakenly updated):
@@ -317,19 +319,22 @@ W. Two days before the final pretest (i.e., to-be-published) build:
or can run tl-update-images --tar-source-only
and --tar-devsource-only to just build the necessary tarballs
for Master/source if you don't want to do a whole build.
- Tell developers no more commits: tlbuild, dvipdfmx, tex-live, luigi.
+ Tell developers no more commits: tlbuild, dvipdfmx, tex-live, tldoc, luigi.
Run build, by hand or by cron.
X. The day before the final pretest:
In cron.tl, catalogue_compare=false to avoid skew.
- In tl-update-tlnet, option adjustrepo 1, else install-tl-unx won't go to ctan
+ In cron job, undo --no-adjust-repo, 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
Y. 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.
+ Freeze of tlnet should happen at that night's rebuild,
+ or run the two builds by hand with:
+ env force_rebuild=true cron.pretest
+ env force_rebuild=true cron.branch
Z. After final build, to do total freeze:
In cron.tl, set *_frozen=true.
@@ -338,18 +343,21 @@ Z. After final build, to do total freeze:
Also, in /l/bin/mirror-ctan, disable Catalogue updates,
to avoid unnecessary changes if we have to rebuild the final image.
-Z0. Ask for torrents to be created. In 2021,
+Z0. Preserve Catalogue as of the freeze, for the sake of
+ post-freeze updates, e.g.,
+tar -C /home/httpd/html -czf ~karl/tmp/catalogue-freeze.tgz catalogue
+ If such post-freeze updates are required (let's hope not),
+ see tlpkg/archive/tlnet-by-hand.txt.
+
+Z1. When sure it's going to fly, ask for torrents to be created. In 2021,
Tim Stewart <timoteostewart1977@gmail.com>
made the one that worked.
-Z1. Preserve Catalogue as of the freeze, for the sake of
- post-freeze updates:
-rsync -ar /home/httpd/html/catalogue /home/texlive/catalogue-freeze
- If such post-freeze updates are required (let's hope not),
- see tlpkg/archive/tlnet-by-hand.txt.
+ Part III. Making the big release.
- Part III. Making the big release:
+1. The updates. The basic idea is to move the archives already built,
+not rebuild anything at this point.
- unmount live install of last year's:
umount /home/ftp/texlive/Contents/live
@@ -360,10 +368,12 @@ this=`date +%Y`; echo $this
mkdir $hx/$this
chgrp texlive !$
chmod g+ws !$
+ls -ld !$
cd /home/ftp/texlive/Images
-cp README.md $hx/$prev/
+cp -pv README.md $hx/$prev/
mv -v *.iso* *.torrent* $hx/$prev/
+ls # should be only README and test/ left.
mv -v test/texlive*.iso* .
mv -v test/texlive*.tar.xz* $hx/$this/ # tar version only in historic
update README.md (touch even if no real changes needed)
@@ -375,15 +385,12 @@ mkdir $hm/$prev/
cd ~ftp/tex/mactex
chgrp mactex *; chmod g+w *
mv -v *.pkg* $hm/$prev
-mv -v ~ftp/texlive/tlpretest/mactex*pkg* .
-ln -sv mactex-20*.pkg MacTeX.pkg
-ln -sv mactex-basic*.pkg BasicTeX.pkg
-ln -sv mactex-ghost*.pkg Ghostscript.pkg
-for p in [BGM]*.pkg; do md5sum $p >$p.md5; done & # used on mactex web pages
+# should be only MacTeXtras.zip* and related left.
+mv -v ~ftp/texlive/tlpretest/*.pkg* .
edit README
chgrp mactex *; chmod g+w *
mkdir $hm/$this/
-cp -v Extras*.pdf MacTeXtras-*.zip $hm/$this
+cp -pv Extras*.pdf mactex-MacTeXtras*.zip $hm/$this
- move rest of tlnet to historic, as tlnet-final:
We keep updating the $prev release while doing the pretest for $this,
@@ -391,12 +398,14 @@ We keep updating the $prev release while doing the pretest for $this,
mkdir $hx/$prev/tlnet-final
chgrp texlive !$
chmod g+s !$
+ls -ld !$
cd /home/ftp/texlive/tlnet
mv [a-z]* $hx/$prev/tlnet-final
+rm -i TEXLIVE_20* # remove old signal file
- move tlpretest to tlnet, to make the release
mv ../tlpretest/[a-z]* .
-update README.md (touch even if no real changes needed)
+update README.md (update year, check for other changes)
and ../tlpretest/README.md (pretest over)
cp install-tl-unx.tar.gz install-tl.zip $hx/$this/
touch TEXLIVE_$this # empty file to signal new version
@@ -405,8 +414,8 @@ touch TEXLIVE_$this # empty file to signal new version
fx=/home/ftp/tex
ls $fx/texlive/Source/* # ensure last year's sources
rm -f !$
-cp -av $tm/source/{install-tl,texlive-,w32tex-}*z $fx/texlive/Source/
-cp -av $tm/source/{install-tl,texlive,w32tex}*README $fx/texlive/Source/
+cp -av $tm/source/{install-tl,texlive-,windows-src-}*z $fx/texlive/Source/
+cp -av $tm/source/{install-tl,texlive,windows-src}*README $fx/texlive/Source/
- historic copy of TL web pages:
cd /home/httpd/html/texlive
@@ -417,37 +426,30 @@ cp *.html !$ # disable header.html include in bugs.html
# the pre-pruned tlpdb directory is created by tl-update-images.
preprune=/home/ftp/texlive/Images/test/preprune-tlpdb
ls -l $preprune # ensure tlpdb and xz and checksums
-tgz=/tmp/texlive-${this}0325-tlpdb-full.tar.gz # release date, not today's
+tgz=/tmp/texlive-${this}0321-tlpdb-full.tar.gz # release date, not today's
(cd $preprune && tar cvzf $tgz texlive.tlpdb texlive.tlpdb.*5*)
mv $tgz $hx/$this/
rm -rf $preprune
-- update local CTAN area, just to avoid mirroring everything back again:
-cy=/home/ftp/tex-archive/systems
-rm -rf $cy/texlive/tlnet/*; cp -ar * $cy/texlive/tlnet/
-rm $cy/texlive/Images/*; cp -a ../Images/*.* $cy/texlive/Images/
-rm $cy/texlive/Source/*; cp -a $tm/source/{install-tl,texlive-,w32tex-}*z $cy/texlive/Source/
-rm $cy/mac/mactex/*; cp -a $fx/mactex/* $cy/mac/mactex/
-
-- tug.org stuff:
-change fstab
+2. tug.org stuff:
+- change fstab
mount /mnt/tl
cd /mnt/tl
-TEXLIVE_INSTALL_NO_WELCOME=1; export TEXLIVE_INSTALL_NO_WELCOME
-echo i | time nice -19 perl install-tl # do full install to default location.
+TEXLIVE_INSTALL_NO_RESUME=1; export TEXLIVE_INSTALL_NO_RESUME
+echo i | time nice -19 perl install-tl # do full install to default location
# takes about 30min
-rm /usr/local/texlive-rel; ln -s texlive/$this /usr/local/texlive-rel
+rm /usr/local/texlive-rel && ln -s texlive/$this /usr/local/texlive-rel
ls !$
newsrc=!$/source
mkdir $newsrc
chgrp texlive !$; chmod g+ws !$
-cp -v source/{install-tl,texlive,w32tex}*.tar.?z $newsrc
+cp -pv $tm/source/{install-tl,texlive,windows-src}*.tar.?z $newsrc
ls -l !$
mount /home/ftp/texlive/Contents/live
cd
umount /mnt/tl
-update ~www/texlive web pages (search for $prev and $prev-1):
+- update ~www/texlive web pages (search for $prev and $prev-1):
acquire* - general
bugs.html - news from pretest.html, also case of $prevprev at bottom
build.html - platform list
@@ -462,26 +464,13 @@ check for new Texinfo manuals to link to html versions, and if any,
make a new link in:
~www/texinfohtml/
-- update historic/systems with final proTeXt, when ready.
- https://bscw.fernuni-hagen.de
- ftp://ftp.fernuni-hagen.de/pub/windows/win32/ProTeXt/
- ~www/protext/index.html
-
-- announcements:
-CTAN @ ISO update: remove old version, re-enable tlnet mirroring, MacTeX.
-Dick @ updating MacTeX web pages.
-Siep @ windows.html, Norbert @ debian,updmap-kanji.html.
-pdftex maintainers @ updating pdftex sources with sync-pdftex.sh + tag.
-tex-live, tldistro @ release made.
-
-- make tag + branch:
-Before: Determine revision number from svn log
- or https://tug.org/pipermail/tex-live-commits/
- in case commits were mistakenly made.
-Also: look at https://tug.org/svn/texlive/tags/ to get subnum
+3. make tag + branch for this year's release:
+Before: Determine revision number from
+ https://tug.org/pipermail/tex-live-commits/
+Also, look at https://tug.org/svn/texlive/tags/ to get subnum
and https://tug.org/svn/texlive/branches/ to avoid duplication.
-rev=58693
-subnum=1 # increase as necessary if multiple branches needed
+rev=62882
+subnum=0 # increase as necessary if multiple branches needed
tlyear=`date +%Y`; echo $tlyear # maybe previous year during pretest, as above
svn copy -r $rev \
-m"texlive-$tlyear.$subnum tag based on r$rev" \
@@ -492,16 +481,17 @@ svn copy -r $rev \
-m"branch$tlyear branch based on r$rev" \
svn://tug.org/texlive/trunk \
svn://tug.org/texlive/branches/branch$tlyear[.$subnum]
- # add .$subnum to branch name (and in comment) if not making the first.
+ # add .$subnum to branch name (and in comment) if not making the first,
+ # but no .$subnum for the first branch.
It's the same command, just different destinations.
- http://svnbook.red-bean.com/en/1.8/svn.branchmerge.html
+ https://svnbook.red-bean.com/en/1.8/svn.branchmerge.html
We do both a branch and a tag so that it's possible to easily compare
the current state of the branch with its starting point (the tag).
- To check out the branch, for critical source fixes for the sake of
- during-the-year rebuilds or for the distros, if they request it:
+3a. To check out the branch, for critical source fixes for the sake of
+ during-the-year rebuilds or for the distros, if they request it:
this=`date +%Y`; echo $this # whatever year is appropriate
cd /home/texlive
rm -rf branch # when starting a new year on tug
@@ -526,6 +516,12 @@ recovered with, where 57911 is the good revision to restore from:
so as to keep the version history, which retrieving the files and
re-adding would not do. (But renamed files are not handled, it seems.)
+3b. Back to our update job.
+- increment source versions, increment year+libversions and append /dev:
+Build/source/{version.ac,texk/{kpathsea,ptexenc}/version.ac
+reautoconf
+svn commit -m'tlYY/dev' Build/source
+
- update ~karl/bin/cron.tl, be sure cron.pretest and cron.branch are disabled,
and reenable cron.trunk when feel ready:
critical=
@@ -533,6 +529,16 @@ images_frozen=true
net_frozen=false
all_frozen=false
catalogue_compare=true intermittently
+#
+Also disable cron.synctl /home/texlive/branch and enable plain cron.synctl.
+
+- announcements:
+CTAN @ ISO update: remove old version, MacTeX.
+Dick @ updating MacTeX web pages.
+tldev: Siep @ windows.html, Norbert @ debian,updmap-kanji.html.
+pdftex maintainers @ updating pdftex sources with sync-pdftex.sh + tag.
+tex-live, tldistro @ release made.
+tlcommitters: repo open.
after TC release:
- texcollection
@@ -575,7 +581,3 @@ cp texcoll-cover.pdf ~www/texcollection/texcollection$this.pdf
#
~www/rss/tug.xml
~www/index.html
-
-- increment source versions, increment year+libversions and append /dev:
-Build/source/{version.ac,texk/{kpathsea,ptexenc}/version.ac
-reautoconf