summaryrefslogtreecommitdiff
path: root/Master/tlpkg/bin
diff options
context:
space:
mode:
Diffstat (limited to 'Master/tlpkg/bin')
-rwxr-xr-xMaster/tlpkg/bin/c2a6
-rwxr-xr-xMaster/tlpkg/bin/c2l10
-rwxr-xr-xMaster/tlpkg/bin/c2lx61
-rwxr-xr-xMaster/tlpkg/bin/ctan2tl8
-rwxr-xr-xMaster/tlpkg/bin/tl-check-fmtshare2
-rwxr-xr-xMaster/tlpkg/bin/tl-hyph-test233
-rwxr-xr-xMaster/tlpkg/bin/tl-update-asy91
-rwxr-xr-xMaster/tlpkg/bin/tl-update-auto10
-rwxr-xr-xMaster/tlpkg/bin/tl-update-bindir4
-rwxr-xr-xMaster/tlpkg/bin/tl-update-ctan-mirrors10
-rwxr-xr-xMaster/tlpkg/bin/tl-update-docindex5
-rwxr-xr-xMaster/tlpkg/bin/tl-update-images4
-rwxr-xr-xMaster/tlpkg/bin/tl-update-linked-scripts25
-rwxr-xr-xMaster/tlpkg/bin/tl-update-messages2
-rwxr-xr-xMaster/tlpkg/bin/tl-update-tlnet20
-rwxr-xr-xMaster/tlpkg/bin/tl-update-tlpdb35
-rwxr-xr-xMaster/tlpkg/bin/tlcom4
-rwxr-xr-xMaster/tlpkg/bin/tlpkg-ctan-check226
-rwxr-xr-xMaster/tlpkg/bin/tlpkginfo9
19 files changed, 518 insertions, 247 deletions
diff --git a/Master/tlpkg/bin/c2a b/Master/tlpkg/bin/c2a
index 1c6eb16221c..670b9869f2a 100755
--- a/Master/tlpkg/bin/c2a
+++ b/Master/tlpkg/bin/c2a
@@ -43,9 +43,9 @@ sub main {
my @lines;
($status,@lines) = &run_c2l ("");
if ($status) {
- print "first c2l failed, exiting.\n";
+ print "first c2l failed, exiting ($status).\n";
print @lines;
- exit $status;
+ exit $status / 256;
}
my $i;
@@ -106,7 +106,7 @@ sub do_place {
#
sub run_c2l {
my ($arg) = @_;
- my $tmpfile = "/tmp/c2l$arg.out";
+ my $tmpfile = "/tmp/@{[getlogin()]}-c2l$arg.out";
# don't bother with svn update unless we are doing place.
if ($arg eq "p") {
diff --git a/Master/tlpkg/bin/c2l b/Master/tlpkg/bin/c2l
index 41eba37d1b6..89fc7e1a9fb 100755
--- a/Master/tlpkg/bin/c2l
+++ b/Master/tlpkg/bin/c2l
@@ -119,14 +119,14 @@ sub main {
print "$0: running ctan2tl @ARGV\n";
# we want our exit status to be from ctan2tl, not tee, hence the
# pipefail bash-ism.
- my @lines = `set -o pipefail; ctan2tl @ARGV </dev/null 2>&1 | tee /tmp/cl.out`;
+ my @lines = `set -o pipefail; ctan2tl @ARGV </dev/null 2>&1 | tee /tmp/@{[getlogin()]}-cl.out`;
my $status = $?;
my $cooked = "$TLROOT/Build/tmp.cooked";
- -d $cooked && system ("cp /tmp/cl.out $cooked/$ARGV[$#ARGV].out");
+ -d $cooked && system ("cp /tmp/@{[getlogin()]}-cl.out $cooked/$ARGV[$#ARGV].out");
# *** and other notable messages.
- my @msgs = grep { /^\*\*\*.* \S/
+ my @msgs = grep { /^\*\*\*.* /
&& ! /\* Generating /
} @lines;
push (@msgs, grep { /at \/.* line / } @lines); # perl errors
@@ -146,10 +146,10 @@ sub main {
my @page = split (/\f */, $whole_string, 4);
my $diff_list
- = `test -s /tmp/$<.tlplace.diff && sed -n -e 's/^--- //' \\
+ = `test -s /tmp/@{[getlogin()]}-$<.tlplace.diff && sed -n -e 's/^--- //' \\
-e 's/[ \\t].*//' \\
-e 's,/home/texlive/karl/, ,p' \\
- /tmp/$<.tlplace.diff`;
+ /tmp/@{[getlogin()]}-$<.tlplace.diff`;
$diff_list = "";
# page 0: build stuff.
diff --git a/Master/tlpkg/bin/c2lx b/Master/tlpkg/bin/c2lx
index 7bb7403a523..69d14e685f7 100755
--- a/Master/tlpkg/bin/c2lx
+++ b/Master/tlpkg/bin/c2lx
@@ -3,19 +3,21 @@
# Originally written by Karl Berry. Public domain.
#
# Front-front-end script for c2l to update
-# (with first arg "3") LaTeX3,
-# or (with first arg "e") LaTeX2e,
-# or (with first arg "dev") latex-dev,
-# each of which is comprised of several
-# packages that should be updated together. Look at the end of the output
-# for the summarized results for each package, e.g., to see if any files
-# ended up getting misplaced.
+# (with first arg "e") LaTeX2e,
+# or (with first arg "dev") LaTeX-dev,
+# etc.,
+# each of which is comprised of several packages to be updated together.
#
-# Additional argument "p" runs place also (same as c2l --place).
+# Look at the end of the output for the summarized results for each
+# package, e.g., to see if any files ended up getting misplaced.
+#
+# Final argument "p" runs place also (same as c2l --place).
-dirsfile=/tmp/`id -u`.tlplace.dirs
-cp /dev/null $dirsfile.tmp
-cp /dev/null /tmp/first
+placebase=${TMPDIR-/tmp}/`id -u`.tlplace
+dirsfile=$placebase.dirs
+firstfile=$placebase.first
+tmpfile=$placebase.tmp
+c2loutfile=$placebase.c2lout
if test "x$1" = xe || test "x$1" = x2e; then
shift; label=l2e
@@ -24,15 +26,6 @@ elif test "x$1" = xdev; then
shift; label=ldev
pkgs="latex-amsmath-dev latex-firstaid-dev latex-graphics-dev latex-lab-dev"
pkgs="$pkgs latex-tools-dev latex-base-dev l3build"
-elif test "x$1" = x3; then
- shift; label=l3
- pkgs="l3kernel l3packages l3experimental l3build l3backend"
-elif test "x$1" = x3dev; then
- shift; label=l3dev
- pkgs="l3kernel-dev l3backend-dev"
-elif test "x$1" = xdeng; then
- shift; label=deng
- pkgs="elegantbook elegantnote elegantpaper"
elif test "x$1" = xhep; then
shift; label=hep
pkgs="hep-font hep-math-font hep-acronym hep-bibliography hep-float"
@@ -41,37 +34,31 @@ elif test "x$1" = xjxu; then
shift; label=jxu
pkgs="colorist crefthe einfart minimalist simplivre"
#pkgs="$pkgs beaulivre create-theorem mindflow projlib q-and-a homework lebhart"
-elif test "x$1" = xluamath-all; then
- shift; label=luamath-all # not really all
- pkgs="lualinalg luanumint luaplot"
- #luagcd luamodulartables luatruthtable luacomplex luamaths luaset
elif test "x$1" = xminim-all; then
shift; label=minim
pkgs="minim-hatching minim-math minim-mp minim-pdf minim-xmp minim"
-elif test "x$1" = xqyi; then
- shift; label=qyi
- pkgs="easybook spbmark"
-elif test "x$1" = xzref-all; then
- shift; label=zref
- pkgs="zref-check zref-clever zref-vario"
else
echo "$0: unknown latex or group type: $1" >&2
- echo "$0: must be one of: e dev 3 3dev deng jxu qyi minim-all" >&2
+ echo "$0: must be one of: e dev 3 3dev ... minim-all (USTL)." >&2
exit 1
fi
echo "`basename $0`: $label pkgs: $pkgs"
+#
+>$firstfile
+>$tmpfile
for p in $pkgs; do
echo "${label} pkg $p" >&2 # progress report of a sort
printf "\f ${label} pkg $p\n"
- c2l "$@" $p | tee /tmp/c2l.out
- sed -n "1,/`printf '\f'`/p" /tmp/c2l.out >>/tmp/first
- echo >>/tmp/first
- cat $dirsfile >>$dirsfile.tmp
+ # each c2l call creates various; combine the directory lists and output.
+ c2l "$@" $p | tee $c2loutfile
+ sed -n "1,/`printf '\f'`/p" $c2loutfile >>$firstfile # first part of output
+ echo >>$firstfile
+ cat $dirsfile >>$tmpfile
done
-sort -u $dirsfile.tmp >$dirsfile
+sort -u $tmpfile >$dirsfile
wc $dirsfile
echo
-cat /tmp/first
+cat $firstfile
diff --git a/Master/tlpkg/bin/ctan2tl b/Master/tlpkg/bin/ctan2tl
index 6fa11dab89b..ccf52a6cdc4 100755
--- a/Master/tlpkg/bin/ctan2tl
+++ b/Master/tlpkg/bin/ctan2tl
@@ -10,7 +10,7 @@ LC_ALL=C; export LC_ALL # avoid problems with diff, comm, etc
umask 022
# to avoid the svn hit on every run when developing.
-TLPKGINFO_CATALOGUE_NO_UPDATE=1; export TLPKGINFO_CATALOGUE_NO_UPDATE
+#TLPKGINFO_CATALOGUE_NO_UPDATE=1; export TLPKGINFO_CATALOGUE_NO_UPDATE
mydir=`cd \`dirname $0\` && pwd` # Master/tlpkg/bin
libexec=`cd $mydir/../libexec && pwd` # Master/tlpkg/libexec
@@ -95,10 +95,6 @@ if test -z "$ctan_dir"; then
exit 1
fi
-# trying to sync catalogue changes as much as possible.
-#catfile=/home/httpd/html/catalogue/entries/$letter/
-#svn update $catfile
-
echo "$0: ctan dir for $pkg"
echo "$0: is $ctan_dir"
@@ -189,7 +185,7 @@ find $pkg -type l -ls | grep -v /Master/bin | sort >&2
# show list of files (and tee to tmp).
find $pkg \! -type d -printf "%TY%Tm%Td.%TH%TM %p\n" | sort -k2 \
-| tee ${TMPDIR-/tmp}/ctan2tl.files
+| tee ${TMPDIR-/tmp}/"$USER"-ctan2tl.files
printf "\n$0: calling place $place_chicken $contrib_place_arg $pkg\n"
rm -rf $pkg.done
diff --git a/Master/tlpkg/bin/tl-check-fmtshare b/Master/tlpkg/bin/tl-check-fmtshare
index c692a6885b9..055bae6cb84 100755
--- a/Master/tlpkg/bin/tl-check-fmtshare
+++ b/Master/tlpkg/bin/tl-check-fmtshare
@@ -258,6 +258,7 @@ for fmt in $fmts; do
echo "$0: built fmtfile: `ls -l $fmtfile` (on `hostname`)"
engineversion=`$enginedir/$engine --version | sed 1q`
echo "$0: with engine: $enginedir/$engine ($engineversion)"
+ echo "$0: full command: $ecmd"
# The TeX \command to exit a job immediately. Assume a LaTeX fmt
# if "latex" is in the name, else plain (enough).
@@ -270,6 +271,7 @@ for fmt in $fmts; do
# copy to remote machine.
#echo "$0: copying $fmtfile to $remotesys:$remotedir..."
scp -pq "$fmtfile" "$remotesys:$remotedir" || exit 1
+ ls -l "$fmtfile"; shasum "$fmtfile"
# load on remote machine.
echo "$0: running ./$engine in $remotesys:$remotedir..."
diff --git a/Master/tlpkg/bin/tl-hyph-test b/Master/tlpkg/bin/tl-hyph-test
new file mode 100755
index 00000000000..8d34dae4745
--- /dev/null
+++ b/Master/tlpkg/bin/tl-hyph-test
@@ -0,0 +1,233 @@
+#!/bin/sh
+# $Id$
+# Public domain. Karl Berry, 2021; Arthur Rosendahl, 2021--2022.
+#
+# Method for testing hyph-utf8 before committing to TL.
+# The idea is to make a new TL tree, unzip the hyph-utf8.tds.zip there,
+# build TL from the modified (not committed) tree,
+# install from that TL into another temp dir.
+# Thus checking all the steps that will happen after commit.
+# It's complicated.
+
+# Usage:
+## Initial setup for first time:
+##tmpdir=/home/texlive/hyphtest # used in TLhyphtest.pro (used below).
+## # but otherwise could be anything
+##mkdir $tmpdir # e.g., , could be anywhere
+##cd $tmpdir
+##
+## Get svn checkout of Master tree; need real checkout for the build below.
+##svn -q co svn://tug.org/texlive/trunk/Master # takes an hour
+## If on tug, slightly faster:
+##time nice -19 svn -q co file:///home/svn/texlive/trunk/Master
+#
+#
+# After the first time, when the checkout already exists:
+#cd $tmpdir
+#rm -rf inst catdump.pl # clean up from last time
+#svn update -q Master # get updates made in the meantime (30-60min)
+#svn status Master # make sure it's completely clean
+#
+# Unzip the new hyph-utf tree in our temp checkout.
+#pushd Master/texmf-dist
+#ls -l $CTAN/install/language/hyph-utf8.tds.zip # ensure new file on ctan
+#unzip !$ # overwrite All
+# In that unzip command, overwrite All symlinks with the regular files.
+# (Can't use -q since we have to do this overwrite.)
+# On tug.org, CTAN=/home/ftp/tex-archive.
+# (This unzip won't remove any no-longer-distributed files, but that
+# seems like too much trouble to deal with here. The final commit
+# will take care of it.)
+#
+# Unzip new tlpsrc files (without leading directory):
+#cd ../tlpkg/tlpsrc
+#unzip -j ../../texmf-dist/source/generic/hyph-utf8/tlpsrc.zip # overwrite All
+#
+# No tlpsrc should have any non-ASCII characters. If so, change them.
+#
+# Back to top level of $tmpdir (the one with the ./Master subdir).
+#popd
+#
+# See what we've got.
+#svn status Master # if new package/file has been added, set newpkg/file below
+#svn diff Master >/tmp/sdh # review changes
+#
+# When ready, run this script:
+#./Master/tlpkg/bin/tl-hyph-test
+#
+# Once it all works, can install hyph-utf8 with ctan2tl as usual;
+# don't just commit here, so additions and removals will be correct.
+# Also, good to run a test build right after committing since there is a
+# good chance of failure, despite all the testing:
+#force_rebuild=true cron.trunk # or cron.pretest, if during pretest
+#
+# To clean up here:
+#rm -rf inst tmp catdump.pl
+#svn revert --depth infinity Master >/tmp/svri
+#rm `svn status Master | sed -n 's/\?//p'` # remove "?" files (new ones)
+#svn status Master # ensure clean
+
+#
+: ${do_mktexlsr=true}
+: ${do_tlpdb=true}
+: ${do_lang_files=true}
+: ${do_install=true}
+: ${do_pkgs=true}
+: ${newfile=hyph-he.tex} # some new file in the new release
+: ${newpkg=hyphen-hebrew} # and the package it's in
+
+real0=`realpath $0`
+mydir=`cd \`dirname "$real0"\` && pwd` # tlpkg/bin
+
+Master=`cd $mydir/../.. && pwd`
+test -d "$Master" || { echo "$0: no Master dir: $Master" >&2; exit 1; }
+
+top=`cd $Master/.. && pwd`
+
+# /usr/local/bin for updated perl on tug.
+PATH=$Master/bin/x86_64-linux:/usr/local/bin:/usr/bin
+TMPDIR=$top/tmp; export TMPDIR
+test -d $TMPDIR || mkdir $TMPDIR
+test -d $TMPDIR || { echo "$0: no tmpdir?: $TMPDIR" >&2; exit 1; }
+
+unset TEXMFSYSVAR; unset TEXMFSYSCONFIG
+unset TEXMFVAR; unset TEXMFCONFIG
+MKTEXFMT=0; export MKTEXFMT
+MKTEXTFM=0; export MKTEXTFM
+
+if $do_mktexlsr; then
+ printf "\n\f `date`\n"
+ set -x
+ mktexlsr --verbose || exit 1; set +x
+fi
+#
+if kpsewhich $newfile >/dev/null; then :; else
+ echo "$0: kpsewhich could not find new file, ls-R problem?: $newfile" >&2
+ exit 1
+fi
+
+if $do_tlpdb; then
+ printf "\n\f `date`\n"
+ # It takes a long time to read the Catalogue info; it can be turned
+ # off as shown, but then the resulting texlive.tlpdb will be hugely
+ # different from the canonical one, which makes it hard to check.
+ nocat="--catalogue /nonesuch"; nocat=
+
+ # If running this multiple times, can use --catalogue-dump
+ # to avoid rereading the XML every time; just don't forget
+ # to remove the dump file when done, or it will never get updated.
+ # If you want to sit around waiting for the Catalogue reading every time,
+ # can just disable as shown.
+ catdump="--catalogue-dump $top/catdump.pl" #; catdump=
+
+ # -v for progress; -vv for extremely voluminous debugging.
+ # --save-anyway because there will probably be revision decreases.
+ # --from-files because we don't want to commit the new files,
+ # so the script has to read the filesystem, not svn.
+ opts="-v --save-anyway --from-files $nocat $catdump"
+ set -x
+ $Master/tlpkg/bin/tl-update-tlpdb $opts || exit 1; set +x
+fi
+#
+# we intentionally use tlmgr instead of grepping tlpdb directly
+# to make sure it's working normally.
+
+if tlmgr info --list $newpkg | grep /$newfile'$' >/dev/null; then :; else
+ echo "$0: tlmgr could not find new file, tlpdb problem?: $newfile" >&2
+ exit 1
+fi
+
+#
+# Remake the language.* files. Irritatingly different for different
+# formats and engines.
+
+# return 0 if files $1 and $2 are the same except for the first lines.
+# (we need to ignore the timestamps in the generation lines.)
+same_except_for_line1 ()
+{
+ rm -f $TMPDIR/sef1 $TMPDIR/sef2
+ sed 1d <"$1" >$TMPDIR/sef1
+ sed 1d <"$2" >$TMPDIR/sef2
+ cmp -s $TMPDIR/sef1 $TMPDIR/sef2
+}
+
+if $do_lang_files; then
+ printf "\n\f `date`\n"
+ echo "$0: updating language.* files ..."
+
+ cd $Master/texmf-dist/tex/generic/config || exit 1
+ for utype in language.dat language.def language.dat.lua; do
+ ufile=$utype
+ cmd="tlmgr -q generate --dest=$ufile.new $utype"
+ # -q to avoid the "helpful" message about running fmtutil.
+ printf "$ufile update with: $cmd\n"
+ $cmd || { echo "$0: $ufile generation failed: $cmd" >&2; exit 1; }
+ if same_except_for_line1 $ufile $ufile.new; then
+ printf " same: "; ls -l `pwd`/$ufile
+ rm $ufile.new
+ else
+ mv -v $ufile.new $ufile || exit 1
+ printf " updated: "; ls -l `pwd`/$ufile
+ svn diff $ufile >$TMPDIR/$ufile.diff
+ echo " (diff in $TMPDIR/$ufile.diff)"
+ fi
+ done
+fi
+
+#
+printf "\n\f `date`\n"
+cmd="tlmgr check files runfiles"
+echo "$0: checking file consistency: $cmd"
+$cmd || exit $?
+
+#
+# Install minimal, then install the packages with AddHyphen directives
+# (in practice: hyphen-* and dehyph-exptl), to avoid installing all the
+# non-language stuff, which is a ton.
+
+instdir=$top/inst
+if $do_install; then
+ printf "\n\f `date`\n"
+ echo "$0: installing minimal TL into: $instdir"
+
+ rm -rf $instdir
+ date
+ set -x
+ $Master/tlpkg/bin/tl-try-install \
+ -o $instdir \
+ --profile $Master/tlpkg/dev/profiles/TLhyphtest.pro \
+ --quiet \
+ --repo $Master \
+ || { echo "$0: tl-try-install failed." >&2; exit 1; }
+ set +x
+fi
+
+if $do_pkgs; then
+ printf "\n\f `date`\n"
+ echo "$0: installing hyph packages with tlmgr into: $instdir"
+
+ tlpsrc=$Master/tlpkg/tlpsrc
+ hyphen_pkgs=`cd $tlpsrc && grep -l AddHyphen * | sed s/.tlpsrc//`
+ if test -z "$hyphen_pkgs"; then
+ echo "$0: no packages with AddHyphen found in: $tlpsrc" >&2
+ exit 1
+ fi
+
+ engine_pkgs="pdftex etex xetex luatex uptex "
+
+ echo "$0: installing hyphen packages: " $hyphen_pkgs
+ echo "$0: and engine packages: " $engine_pkgs
+
+ # reset PATH to run using our just-installed tree.
+ PATH=$instdir/bin/x86_64-linux:/usr/local/bin:/usr/bin
+ date
+ set -x
+ tlmgr install $hyphen_pkgs $engine_pkgs || exit $?
+fi
+
+# also written into inst/ since we just changed PATH.
+printf "\n\f `date`\n"
+echo "$0: running fmtutil-sys separately from install for reproducibility:"
+set -x
+fmtutil-sys --all
+# and that's our exit status.
diff --git a/Master/tlpkg/bin/tl-update-asy b/Master/tlpkg/bin/tl-update-asy
index da3929daee4..49a21b3bf9a 100755
--- a/Master/tlpkg/bin/tl-update-asy
+++ b/Master/tlpkg/bin/tl-update-asy
@@ -10,9 +10,13 @@
# define for myself; feel free to peruse tug.org:~karl/.bash_login, etc.
# --karl
-test "x$1" = x--build || exit 1
+# but running the script is nevertheless useful sometimes, as described below.
+test "x$1" = x--build || test "x$1" = x--bin-github || exit 1
+
renice +19 -p $$ >/dev/null 2>&1
+fatal () { echo "$0: goodbye, $*" >&2; exit 1; }
+
#
if false && $update_sources_from_ctan; then
# this part is about copying the sources from CTAN to TL.
@@ -32,26 +36,26 @@ if false && $update_sources_from_ctan; then
# show list of files to remove:
diff -qr . /home/ftp/tex-archive/graphics/asymptote/ \
- | egrep -v ' differ' | egrep -v '\.svn' | tee /tmp/asyrm
+ | egrep -v ' differ' | egrep -v '\.svn|/binaries' | tee /tmp/asyrm
sed -e 's,: ,/,' -e 's/^Only in //' /tmp/asyrm
svn rm `!!`
# final check and commit:
svn status | fgrep \? # # don't worry about binaries.
svn commit -m"asy $ver sources" . ../README
- exit $?
#
elif test "x$1" = x--build; then
# this part is about building the x86 linux asymptote on tug.org.
- # Despite all the dire warnings above, this part actually can be run
- # as a script, because it's so often necessary to redo.
+ # Despite all the dire warnings above, this part can be executed.
unset GREP_OPTIONS CDPATH
PATH=/usr/bin:/usr/sbin; export PATH # system gcc for sake of shared libs
+ PATH=$PATH:/usr/local/gnu/bin # libtool required
PATH=$lb:$PATH # get our kpsewhich
- svn=/usr/local/bin/svn # so we need our svn explicitly
+ PYTHON=python3.9; export PYTHON # 3.6 is too old
+ svn=/usr/local/bin/svn # so we need our svn explicitly
set -x
- rhtoolset=/opt/rh/devtoolset-10/enable
+ rhtoolset=/opt/rh/gcc-toolset-13/enable
test -s $rhtoolset && . $rhtoolset
set -e
@@ -70,13 +74,13 @@ elif test "x$1" = x--build; then
--with-latex=/tmp/ainst/latex --with-context=/tmp/ainst/context \
--disable-fftw --disable-gl --disable-gsl --disable-lsp \
--enable-texlive-build \
- CFLAGS=-g CXXFLAGS=-std=c++11 LDFLAGS="-static-libgcc -static-libstdc++"
- make
+ CFLAGS=-g \
+ LDFLAGS="-static-libgcc -static-libstdc++"
+ make SILENT_MAKE=
make check
make install-prebuilt
exit 0
-
#
elif false && $update_runtime_from_ainst; then
# this part is about copying the results of a successful build
@@ -88,6 +92,7 @@ elif false && $update_runtime_from_ainst; then
xu=$B/source/utils
xy=$xu/asymptote
cd $xy
+ make distclean
ver=`awk -F\" '{print $2}' revision.cc | sed 1q`; echo $ver
#
$cp binaries/x86_64-windows/texlive/asy.exe $pg/asymptote64/
@@ -126,24 +131,50 @@ elif false && $update_runtime_from_ainst; then
#svn rm ...
svn status $ci # just to see
- scom -m"asymptote $ver support files, windows binary" $ci
-fi
+ scom -m"asymptote $ver support files + windows binary" $ci
-# the production build on x86_64-linux and i386-linux:
-#
-# cd .../Build/source/utils
-# docker run -it -v "$(pwd)/asymptote:/asymptote" --entrypoint bash debian:10
-#
-# In the docker container you are dropped in:
-# apt update
-# apt upgrade
-# # note we do NOT install libtirpc-dev because it cannot disabled by configure
-# apt install build-essential pkg-config libeigen3-dev libcurl4-openssl-dev libreadline-dev libboost-filesystem-dev flex libglu1-mesa-dev freeglut3-dev libosmesa6-dev libreadline6-dev zlib1g-dev bison libglm-dev libncurses-dev
-# cd /asymptote
-# ./configure --prefix=/tmp/asyinst --enable-static --enable-texlive-build CXXFLAGS=-std=c++11 --disable-gsl --disable-fftw --disable-lsp --disable-curl
-# sed -i -e 's/^LIBS = /LIBS = -static-libgcc -static-libstdc++ /' Makefile
-# make -j6
-# exit
-# Strip and copy the resulting asy.
-# For i386 binaries:
-# docker run -it -v "$(pwd)/asymptote:/asymptote" --entrypoint bash i386/debian:10
+#
+elif test "x$1" = x--bin-github; then
+ # The x86_64-linux binary and other platforms are built via github. See
+ # Build/source/.github/scripts/build-asy.sh (and workflows/build-asy.yml),
+ # siblings to the main TL build files there.
+ #
+ # The sources are synced every five minutes; see
+ # https://github.com/TeX-Live/texlive-source/actions/.
+ #
+ # The main.yml workflow will run automatically to build all of TL
+ # (and takes hours to complete); the build-asy.yml workflow has to be
+ # triggered manually from
+ # https://github.com/TeX-Live/texlive-source/actions/workflows/build-asy.yml
+ #
+ # Then, if it succeeds, the artifacts produced will appear on the
+ # result page and can be downloaded from there. The download links
+ # only work in a browser, not wget or curl.
+ #
+ # Then can run this script with --bin-github *.zip to install the
+ # available zips in the bin directories.
+ shift
+ mydir=`dirname $0`
+ Master=`cd $mydir/../.. && pwd`
+ bin=$Master/bin
+ test -d "$bin" || fatal "no bin directory: $bin"
+ echo "$0: installing into $bin..."
+
+ for f in "$@"; do
+ # filenames: asy-amd64-freebsd.zip asy-i386-linux.zip
+ # asy-i386-freebsd.zip asy-x86_64-linux.zip
+ # and they unpack into a single file, asy-amd64-freebsd etc.
+
+ # so, better be a known platform name.
+ platname=`echo "$f" | sed -e 's/^asy-//' -e 's/\.zip$//'`
+ platdir=$bin/$platname
+ test -d "$platdir" || fatal "no platform bin directory: $platdir"
+
+ # and we should be able to unpack into it.
+ unzip -od "$platdir" "$f" || fatal "unzip -d $platdir failed"
+
+ # and then we should be able to rename the binary to just asy.
+ mv -v "$platdir/asy-$platname" "$platdir/asy" || fatal "mv failed"
+ done
+ # then do the commit in Master/bin manually.
+fi
diff --git a/Master/tlpkg/bin/tl-update-auto b/Master/tlpkg/bin/tl-update-auto
index 182a98e7cb2..38c6664f299 100755
--- a/Master/tlpkg/bin/tl-update-auto
+++ b/Master/tlpkg/bin/tl-update-auto
@@ -44,7 +44,7 @@ add_list=
# autogenerate README.EN from readme.html.
-# (skip, better to generate when needed and avoid spurious changes.)
+# (skip, better to generate when needed to avoid spurious changes.)
#
#if $config_scripts_only; then :; else
#$mydir/htmltext <readme-html.dir/readme.en.html >$temp
@@ -264,8 +264,10 @@ if $config_scripts_only; then :; else
echo "$0: ctan mirror list already updated today, skipping update:" >&2
ls -lt $mirrors4tl >&2
- elif wget --quiet https://ctan.org/tex-archive/CTAN.sites -O $ctan_mirrors \
- && rsync rsync://rsync.dante.ctan.org/MirMon/mirmon.state $ctan_mirmon; then
+# && rsync rsync://rsync.dante.ctan.org/MirMon/mirmon.state $ctan_mirmon; then
+ elif wget -nv https://ctan.org/tex-archive/CTAN.sites -O $ctan_mirrors \
+ && scp -pq ctan.org:/serv/ctan/scripts/mirmon-2.11/mirmon.state \
+ $ctan_mirmon; then
#echo "got new mirror data"; ls -ltr $TMPDIR
$mydir/tl-update-ctan-mirrors -v $ctan_mirrors $ctan_mirmon \
>$mirrors4tl.new
@@ -284,7 +286,7 @@ if $config_scripts_only; then :; else
else
echo "$0: ctan mirror data not retrievable, skipping." >&2
fi
-fi # !config_scripts_only || !odd_day_num
+fi # !config_scripts_only
# curl cert bundle. Every other day is more than often enough.
diff --git a/Master/tlpkg/bin/tl-update-bindir b/Master/tlpkg/bin/tl-update-bindir
index c7c738a8afa..a16f1702061 100755
--- a/Master/tlpkg/bin/tl-update-bindir
+++ b/Master/tlpkg/bin/tl-update-bindir
@@ -230,12 +230,14 @@ for tlplat in $tlplats; do
# Can check status at:
# https://github.com/TeX-Live/texlive-source/actions
#
- # After ~20min, should have some new release tarballs at:
+ # After ~35min, should have release tarballs for most at:
# https://github.com/TeX-Live/texlive-source/releases
# (this is a different page than where you're put after creating
# the release)
+ # and can install them with "c2l gh".
# but arm and aarch are slow and will take hours to finish.
# Should be able to update the finished ones as they happen.
+ # (For both: "c2l aargh".)
#
# If try before ready, no harm, just get error message "missing url".
#
diff --git a/Master/tlpkg/bin/tl-update-ctan-mirrors b/Master/tlpkg/bin/tl-update-ctan-mirrors
index b2810898222..d7b53c0c01f 100755
--- a/Master/tlpkg/bin/tl-update-ctan-mirrors
+++ b/Master/tlpkg/bin/tl-update-ctan-mirrors
@@ -5,9 +5,10 @@
# or any later version.
#
# Write parsable list of active CTAN mirrors; run from tl-update-auto cron.
-# Needed input:
-# http://ctan.org/mirrors (aka CTAN.sites and README.mirrors)
-# rsync://comedy.dante.de/MirMon/mirmon.state
+#
+# Needed input are the files from:
+# https://ctan.org/mirrors (aka CTAN.sites and README.mirrors)
+# (via scp) ctan.org:/serv/ctan/scripts/mirmon-2.11/mirmon.state
# (on web: https://ctan.org/mirrors/mirmon)
use strict;
@@ -16,6 +17,7 @@ use Data::Dumper;
my $prg;
my $verbose = 0;
+my $AGE_HOURS_CUTOFF = 36; # omit a mirror if it's older than this
exit (&main ());
@@ -62,7 +64,7 @@ sub read_mstate {
} else {
# mirrors can be stale and yet not have no_time for their status.
my $age_hours = (time() - $age) / (60 * 60);
- if ($age_hours > 36) {
+ if ($age_hours > $AGE_HOURS_CUTOFF) {
printf STDERR "mirror age %.1f hours, skipping: $m\n", $age_hours
if $verbose;
} else {
diff --git a/Master/tlpkg/bin/tl-update-docindex b/Master/tlpkg/bin/tl-update-docindex
index 69a39571125..7199f14db54 100755
--- a/Master/tlpkg/bin/tl-update-docindex
+++ b/Master/tlpkg/bin/tl-update-docindex
@@ -14,9 +14,10 @@ use Fatal qw(:void open close opendir closedir chdir mkdir);
use TeXLive::TLPDB;
use File::Basename;
-my $CATALOGUE_DIR = "/home/httpd/html/catalogue/entries";
+my $top_cat = $ENV{"TEX_CATALOGUE"} || "/home/texlive/catalogue";
+our $CATALOGUE_DIR = "$top_cat/entries";
-exit(main());
+exit (main());
sub main {
diff --git a/Master/tlpkg/bin/tl-update-images b/Master/tlpkg/bin/tl-update-images
index d602593bb94..5bffa3e9c4e 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-2024 Karl Berry.
+# Copyright 2007-2025 Karl Berry.
# Copyright 2003, 2004, 2005 Sebastian Rahtz.
#
# This file is licensed under the GNU General Public License version 2
@@ -18,7 +18,7 @@ unset CDPATH # avoid output from cd
umask 022
NAME=texlive
-V=2024
+V=2025
D=`date +%Y%m%d`
target=/home/ftp/texlive/Images/test
diff --git a/Master/tlpkg/bin/tl-update-linked-scripts b/Master/tlpkg/bin/tl-update-linked-scripts
index d2c6c814008..fd6b0a01b8e 100755
--- a/Master/tlpkg/bin/tl-update-linked-scripts
+++ b/Master/tlpkg/bin/tl-update-linked-scripts
@@ -15,7 +15,7 @@ compare_and_copy () {
echo "updating $Src/$file -> $Dest/$file"
diff -u0 $Src/$file $Dest/$file
- cp $Src/$file $Dest/$file || exit 1
+ cp -pv $Src/$file $Dest/$file || exit 1
done
}
@@ -29,30 +29,7 @@ test -r $Dest/scripts.lst || {
exit 1
}
-# echo "$Src => $Dest"
-
. $Dest/scripts.lst
compare_and_copy $texmf_scripts
exit $?
-
-# Here is how we handled a second directory, that copied in the other
-# direction. As of January 2020, all the scripts in tl_scripts are gone,
-# now maintained in Master with slaves in the normal linked_scripts
-# handled above.
-#
-## Build/source/texk/texlive/tl_scripts => Master/texmf-dist/scripts/texlive
-#
-#Src=`cd $Dest/../tl_scripts && pwd`
-#Dest=$Master/texmf-dist/scripts/texlive
-#
-#test -r $Src/scripts.lst || {
-# echo "$0: \`$Src/scripts.lst' missing'"
-# exit 1
-#}
-#
-## echo "$Src => $Dest"
-#
-#. $Src/scripts.lst
-#
-#compare_and_copy $tl_scripts
diff --git a/Master/tlpkg/bin/tl-update-messages b/Master/tlpkg/bin/tl-update-messages
index 5db86276049..ef5796587c7 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=2024 \
+ --package-version=2025 \
--package-name="TeX Live" \
-k__ -k\$__ -k%__ -k__x -k__n:1,2 -k__nx:1,2 -k__xn:1,2 -kN__ -k \
texmf-dist/scripts/texlive/tlmgrgui.pl \
diff --git a/Master/tlpkg/bin/tl-update-tlnet b/Master/tlpkg/bin/tl-update-tlnet
index 8915a566d36..15177a194c7 100755
--- a/Master/tlpkg/bin/tl-update-tlnet
+++ b/Master/tlpkg/bin/tl-update-tlnet
@@ -1,5 +1,5 @@
#!/bin/sh -e
-# Copyright 2008-2024 Norbert Preining
+# Copyright 2008-2025 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=2024
+yyyy=2025
adjust_repo=1
check_consistency=true
@@ -67,6 +67,8 @@ END_NO_TLPDB
exit 1
fi
+mkdir -p /tmp/$USER-tl-update-tlnet
+
if test -z "$Master"; then
mydir=`dirname $0`
Master=`cd $mydir/../.. && pwd`
@@ -87,7 +89,7 @@ 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
+cp --force --backup $tlweb/tlpkg/texlive.tlpdb* /tmp/$USER-tl-update-tlnet
#
# Be sure we're starting the test cleanly.
@@ -291,7 +293,7 @@ if test $failure = false; then
basecmd=`basename $cmdname`
echo "$prg: `date`"
echo "$prg: Running $basecmd ($cmd)"
- outfile=/tmp/$tlnet_target.$basecmd
+ outfile=/tmp/$USER-tl-update-tlnet/$tlnet_target.$basecmd
if $cmd >$outfile 2>&1; then
echo "$prg: $basecmd ok."
else
@@ -318,16 +320,16 @@ else
: # appease -e
fi
-# In all cases, make copies in /tmp for inspection in case of
+# In all cases, make copies in /tmp/$USER-tl-update-tlnet for inspection in case of
# undetected failure.
-cp -f $tlnet_install_log /tmp
-test ! -r $install_tl_log || cp -f $install_tl_log /tmp
+cp -f $tlnet_install_log /tmp/$USER-tl-update-tlnet
+test ! -r $install_tl_log || cp -f $install_tl_log /tmp/$USER-tl-update-tlnet
if $failure || $chicken; then
echo >&2
echo "$prg: tl-update-tlnet transcript file: $tlnet_install_log" >&2
echo "$prg: install-tl log file: $install_tl_log" >&2
- echo "$prg: Copies of both are in /tmp." >&2
+ echo "$prg: Copies of both are in /tmp/$USER-tl-update-tlnet." >&2
echo "$prg: Please rm -rf the trial dir." >&2
if $failure; then
echo
@@ -359,7 +361,7 @@ rm -rf $tltrybase
# We checked this above also, but check again.
# We've removed the cwd, so cd out of it.
-cd /tmp || exit 1
+cd /tmp/$USER-tl-update-tlnet || exit 1
$Master/tlpkg/bin/tlgpg-verify $tlweb/tlpkg/texlive.tlpdb.sha512
echo "$0: Done."
diff --git a/Master/tlpkg/bin/tl-update-tlpdb b/Master/tlpkg/bin/tl-update-tlpdb
index 056c8ab5d60..32d4a6bd13d 100755
--- a/Master/tlpkg/bin/tl-update-tlpdb
+++ b/Master/tlpkg/bin/tl-update-tlpdb
@@ -1,6 +1,6 @@
#!/usr/bin/env perl
# $Id$
-# Copyright 2007-2023 Norbert Preining
+# Copyright 2007-2025 Norbert Preining
# This file is licensed under the GNU General Public License version 2
# or any later version.
#
@@ -81,7 +81,7 @@ sub main {
}
if (! $opt_catalogue) {
- $opt_catalogue = "/home/httpd/html/catalogue";
+ $opt_catalogue = "/home/texlive/catalogue";
}
if ($opt_catalogue_compare) {
@@ -143,8 +143,8 @@ sub main {
if ($opt_no_revision_check) {
if ($opt_keep_revisions) {
- copy_revisions_over($oldtlpdb, $newtlpdb);
- info("$prg: keeping old revisions due to --keep-revisions\n");
+ copy_revisions_over($oldtlpdb, $newtlpdb);
+ info("$prg: keeping old revisions due to --keep-revisions\n");
} else {
info("$prg: not checking revisions due to --no-reverse-revision-check\n");
}
@@ -211,7 +211,7 @@ sub main {
}
}
if (!$buggy_tlpdb) {
- finish($newtlpdb, $pkgcount);
+ finish($newtlpdb, $pkgcount); # never returns
} else {
# return error to the shell script, it is evaluated in cron.tl!
return 1;
@@ -277,10 +277,12 @@ sub compare_and_fix_tlpdbs {
my ($rA, $rB) = split(':',
$cmp{'different_packages'}->{$p}->{'revision'});
# since we only register 'revision' key when there is a
- # change, we have either rA < rB or rA > rB
- if ($rA > $rB) {
+ # change, we have either rA < rB or rA > rB.
+ # If read filesystem, the existing revision will always be 1,
+ # no use in giving a warning about every package.
+ if ($rA > $rB && (!$opt_fromfiles && $rB == 1)) {
tlwarn("$prg: BIG WARNING for $p: file lists didn't change "
- . "but revision is going backward ($rA > $rB)!\n");
+ . "but revision is going backward ($rA > $rB)\n");
$packages_needing_fixup{$p} = 1;
} # if strange revision change
} # no revision changes
@@ -702,6 +704,13 @@ sub is_hash_ref {
sub finish {
my ($tlpdb,$pkgcount) = @_;
+
+ # uncommenting this line is the way to test parse_AddHyphen_line and
+ # similar, since that's the only time they are called. Seems like it
+ # would be cleaner to parse them when the *.tlpsrc is read. Someday.
+ #TeXLive::TLUtils::create_language_def($tlpdb, "/tmp/tlut-language.def",
+ # "/dev/null");
+
if ($opt_output) {
if (open(OUT, ">$opt_output")) {
$tlpdb->writeout(\*OUT);
@@ -731,11 +740,11 @@ tl-update-tlpdb [OPTION]... [TLPSRC]...
=item B<--catalogue> I<Catalogue_dir>
-The I<Catalogue_file> must point to a valid TeX Catalogue checkout; the
-default is C</home/httpd/html/catalogue>. If the directory is readable,
-the generated tlpobj files will contain information gathered from the
-TeX Catalogue. To disable this, specify a nonexistent filename, e.g.,
-C<--catalogue=/nonesuch>.
+The I<Catalogue_file> must point to a valid TeX Catalogue checkout, with
+subdirectory C</entries>; the default is C</home/texlive/catalogue>. If
+the directory is readable, the generated tlpobj files will contain
+information gathered from the TeX Catalogue. To disable this, specify a
+nonexistent filename, e.g., C<--catalogue=/nonesuch>.
=item B<--catalogue-compare> I<tlpdb>
diff --git a/Master/tlpkg/bin/tlcom b/Master/tlpkg/bin/tlcom
index 0d93bedfea4..924dc92167b 100755
--- a/Master/tlpkg/bin/tlcom
+++ b/Master/tlpkg/bin/tlcom
@@ -1,7 +1,9 @@
#!/bin/sh
# $Id$
# Commit after TL package update. We rely on PATH to deal with trunk vs.
-# branch. (See c2a and c2b.)
+# branch (see c2a and c2b). See also libexec/ctan2tds for the real work
+# of importing from CTAN; c2l and ctan2tl are additional wrappers
+# (called by c2a).
test $# -eq 0 && cd /
/bin/pwd >/dev/null || exit 1
diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check
index 9ef8b4f5133..bacbc9b77ec 100755
--- a/Master/tlpkg/bin/tlpkg-ctan-check
+++ b/Master/tlpkg/bin/tlpkg-ctan-check
@@ -30,8 +30,8 @@ my @TLP_working = qw(
adfathesis adforn adhocfilelist adigraph
adjmulticol adfsymbols adjustbox adobemapping
adrconv adtrees advdate advice
- ae aeguill aesupp affilauthor afparticle afthesis
- aguplus aiaa aichej ajl akktex akletter akshar
+ ae aeguill aesupp affilauthor afthesis
+ aguplus aiaa aichej aiplans ajl akktex akletter akshar
albatross alchemist alegreya alertmessage alfaslabone
alg algobox algolrevived
algorithm2e algorithmicx algorithms algpseudocodex algxpar
@@ -42,7 +42,7 @@ my @TLP_working = qw(
amsaddr amscdx amscls amscls-doc amsfonts amslatex-primer
amsldoc-it amsldoc-vn
amsmath amsmath-it amsrefs amstex amsthdoc-it
- andika annee-scolaire animate annotate annotate-equations
+ andika annee-scolaire anima animate annotate annotate-equations
anonchap anonymous-acm anonymouspro answers
antanilipsum antique-spanish-units antiqua antomega antt anufinalexam
anyfontsize anysize
@@ -61,7 +61,8 @@ my @TLP_working = qw(
askinclude askmaps asmeconf asmejour aspectratio
assignment association-matrix assoccnt asternote astro asyfig
asymptote-faq-zh-cn asymptote-by-example-zh-cn asymptote-manual-zh-cn
- asy-overview asypictureb atbegshi atenddvi atendofenv atkinson atveryend
+ asy-overview asypictureb atableau atbegshi
+ atenddvi atendofenv atkinson atveryend
attachfile attachfile2
aucklandthesis augie auncial-new aurical aurl
auto-pst-pdf-lua autobreak autopdf
@@ -90,32 +91,34 @@ my @TLP_working = qw(
babelbib background backnaur baekmuk
bagpipe bangla bangorcsthesis bangorexam bangtex bankstatement
barcodes bardiag barr barracuda bartel-chess-fonts bashful basicarith
- baskervald baskervaldx baskervillef
+ baskervaldadf baskervaldx baskervillef
basque-book basque-date bath-bst
bbcard bbding bbm bbm-macros bbold bboldx bbold-type1 bchart bclogo
beamer beamer2thesis beamer-fuberlin beamer-rl beamer-tut-pt beamer-verona
beamerappendixnote beameraudience beamerauxtheme
beamercolorthemeowl beamerdarkthemes beamerposter
beamersubframe beamerswitch beamertheme-arguelles beamertheme-cuerna
- beamertheme-detlevcm beamertheme-epyt beamertheme-focus
- beamertheme-light beamertheme-metropolis beamertheme-npbt
+ beamertheme-detlevcm beamertheme-epyt beamertheme-focus beamertheme-gotham
+ beamertheme-light beamertheme-metropolis beamertheme-mirage
+ beamertheme-npbt
beamertheme-phnompenh beamertheme-pure-minimalistic beamertheme-rainbow
beamertheme-saintpetersburg beamertheme-simpledarkblue
beamertheme-simpleplus
beamertheme-tcolorbox beamertheme-trigon beamertheme-upenn-bc
- beamerthemeamurmaple beamerthemeconcrete beamerthemejltree beamerthemelalic
- beamerthemenirma beamerthemenord
+ beamerthemeamurmaple beamerthemecelestia beamerthemeconcrete
+ beamerthemejltree beamerthemelalic
+ beamerthemenirma beamerthemenord beamertools
bearwear beaulivre beautybook beautynote
beebe begingreek begriff beilstein belleek bengali
bera berenisadf besjournals bestpapers betababel beton beuron
bewerbung bez123 bezierplot bfh-ci bgteubner bguq bhcexam
- bib-fr bib2gls bibarts bibcop biber biber-ms bibhtml
- biblatex biblatex-abnt biblatex-ajc2020unofficial
+ bib-fr bib2gls bib2qr bibarts bibcop biber biber-ms bibhtml
+ biblatex biblatex-abnt biblatex-accursius biblatex-ajc2020unofficial
biblatex-anonymous biblatex-apa biblatex-apa6
biblatex-archaeology biblatex-arthistory-bonn
biblatex-bath biblatex-bookinarticle biblatex-bookinother biblatex-bwl
biblatex-caspervector biblatex-cheatsheet biblatex-chem
- biblatex-chicago biblatex-claves biblatex-cv
+ biblatex-chicago biblatex-claves biblatex-cse biblatex-cv
biblatex-dw biblatex-enc biblatex-ext
biblatex-fiwi biblatex-gb7714-2015 biblatex-german-legal biblatex-gost
biblatex-historian
@@ -147,7 +150,7 @@ my @TLP_working = qw(
bjfuthesis blacklettert1 blindtext blkarray
blochsphere block blockdraw_mp blopentype bloques blowup blox
bmstu bmstu-iu8 bnumexpr bodegraph bodeplot bohr boisik bold-extra
- boites boldtensors bondgraph bondgraphs book-of-common-prayer
+ boites boldtensors bondgraph bondgraphs bonum-otf book-of-common-prayer
bookcover bookdb bookest bookhands booklet bookman bookmark
bookshelf booktabs booktabs-de booktabs-fr boolexpr boondox bophook
borceux bosisio
@@ -157,17 +160,18 @@ my @TLP_working = qw(
breakcites breakurl bredzenie breqn bropd brushscr
bubblesort buctthesis bullcntr bundledoc burmese
businesscard-qrcode bussproofs bussproofs-extra
- bxbase bxcalc bxcjkjatype bxdpx-beamer bxdvidriver bxghost
+ bxbase bxcalc bxcjkjatype bxcoloremoji bxdpx-beamer bxdvidriver bxghost
bxjaholiday bxjaprnind bxjatoucs bxpapersize bxpdfver bxeepic bxenclose
bxjalipsum bxjscls bxnewfont bxorigcapt bxtexlogo bxwareki
byo-twemojis byrne bytefield
c90 c-pascal cabin cachepic cahierprof
- caladea calcage calcfrac calctab calculation calculator
- calligra calligra-type1 callouts calrsfs cals calxxxx-yyyy cancel
+ caladea calcage calcfrac calctab calculation calculator calculatoritems
+ calligra calligra-type1 callouts callouts-box calrsfs cals calxxxx-yyyyes
+ cancel
canoniclayout cantarell
capt-of captcont captdef caption
carbohydrates carlisle carlito carolmin-ps cartonaugh
- cascade cascadia-code cascadilla cases casyl
+ cascade cascadia-code cascadiamono-otf cascadilla cases casyl
catchfile catchfilebetweentags catcodes catechis
catoptions catppuccinpalette causets
cbcoptic cbfonts cbfonts-fd
@@ -186,7 +190,7 @@ my @TLP_working = qw(
chhaya chicago chicagoa chicagolinks chicago-annote chickenize
chifoot childdoc chinese-jfm chinesechess chivo
chkfloat chklref chletter chngcntr chordbars chordbox chronology
- chronosys chs-physics-report chscite churchslavonic
+ chronosys chs-physics-report chscite churchslavonic chuushaku
cidarticle cinzel circ circledsteps circledtext circuit-macros circuitikz
circularglyphs citation-style-language cite citeall citeref
cje cjhebrew cjk cjk-gs-integrate cjk-ko cjkpunct cjs-rcs-article
@@ -207,12 +211,14 @@ my @TLP_working = qw(
colorsep colorspace colortab
colortbl colorwav colorweb colourchange
combelow combine combinedgraphics combofont comfortaa comicneue
- comma commado commath commedit comment commonunicode commutative-diagrams
+ comma commado commalists-tools commath commedit comment
+ commonunicode commutative-diagrams
compactbib compare competences
- complexity components comprehensive computational-complexity
+ complexity complexpolylongdiv components
+ comprehensive computational-complexity
concepts concmath concmath-fonts concmath-otf concprog concrete
conditext confproc constants conteq
- context-calendar-examples
+ context-calendar-examples context-chat
context-collating-marks
context-cyrillicnumbers
context-filter
@@ -222,11 +228,12 @@ my @TLP_working = qw(
context-simpleslides context-squares context-sudoku
context-transliterator context-typescripts context-vim
context-visualcounter
- continue contour contracard contract conv-xkv convbkmk
+ continue contour contracard contract conv-xkv convbkmk convert-jpfonts
cooking cooking-units cookingsymbols
cool coolfn coollist coolstr coolthms cooltooltips
coop-writing cooperhewitt
- coordsys copyedit copyrightbox cormorantgaramond correctmathalign coseoul
+ coordsys copyedit copyrightbox
+ cora-macs cormorantgaramond correctmathalign coseoul
couleurs-fr
count1to counterz countriesofeurope counttexruns
courier courier-scaled courierten
@@ -237,7 +244,7 @@ my @TLP_working = qw(
crossreference crossreftools crossrefenum crossrefware crossword crosswrd
crumbs cryptocode cryst
cs cs-techrep csassignments csbulletin cslatex csplain csquotes csquotes-de
- css-colors cstex cstypo csvmerge csvsimple
+ css-colors cstex csthm cstypo csvmerge csvsimple
ctan-o-mat ctan_chk ctanbib ctanify ctanupload
ctable ctablestack ctex ctex-faq
culmus cuprum cursolatex cuisine
@@ -274,7 +281,7 @@ my @TLP_working = qw(
dk-bib dlfltxb
dnaseq dnp doc-pictex docbytex doclicense
docmfp docmute docshots docsurvey doctools documentation docutils
- doi doipubmed domitian
+ doi doibanner doipubmed domaincoloring domitian
dosepsbin dotlessi dot2texi dotarrow dotseqn dottex
doublestroke doulossil dowith download dox dozenal
dpcircling dpfloat dprogress
@@ -290,11 +297,11 @@ my @TLP_working = qw(
ebezier ebgaramond ebgaramond-maths ebong ebook ebproof ebsthesis
ec ecc ecclesiastic ecltree eco ecobiblatex
econ-bst econlipsum econometrics economic ecothesis
- ecv eczar ed edfnotes edichokey edmac edmargin
+ ecv eczar ed edfnotes edichokey edmac edmargin edmaths
eemeir eepic efbox egameps
egpeirce egplot ehhline eiad eiad-ltx eijkhout einfart
ejpecp ekaia ekdosis ektype-tanka
- elbioimp electrum eledform eledmac elements
+ elbioimp electrumadf eledform eledmac elements
ellipse ellipsis
elmath elocalloc elpres els-cas-templates elsarticle
elteiktdk elteikthesis eltex elvish elzcards
@@ -303,7 +310,7 @@ my @TLP_working = qw(
enctex encxvlna endfloat endheads endiagram
endnotes endnotes-hy endnotesj endofproofwd
engpron engrec engtlc enigma enotez ensps-colorscheme
- enumitem enumitem-zref envbig environ envlab eolang
+ enumext enumitem enumitem-zref envbig enverb environ envlab eolang
epcqrcode epigrafica epigram epigraph epigraph-keys epiolmec eplain
epsdice epsf epsf-dvipdfmx epsincl epslatex-fr
epspdfconversion epstopdf epstopdf-pkg
@@ -314,22 +321,23 @@ my @TLP_working = qw(
eso-pic esrelation esstix estcpmm esvect
etaremune etbb etdipa etex-pkg etexcmds etextools ethiop ethiop-t1 etl
etoc etoolbox etoolbox-de etoolbox-generic etsvthor
- euclideangeometry euenc euflag eukdate
- euler euler-math eulerpx eulervm euro euro-ce europasscv europecv eurosym
+ euclidean-lattice euclideangeometry euenc euflag eukdate
+ euler euler-math eulerpx eulervm
+ euro euro-ce euromoney europasscv europecv eurosym
evangelion-jfm everyhook everypage everysel everyshi
exam exam-lite exam-n exam-randomizechoices exam-zh
examdesign example examplep examz
exceltex excludeonly exercise exercisebank exercisepoints exercises
exercisesheets exesheet exframe exp-testopt
- expdlist expex expex-acro expex-glossonly expkv-bundle export
+ expdlist expex expex-acro expex-glossonly expkv-bundle expltools export
expose-expl3-dunkerque-2019 expressg
exsheets exsol extarrows exteps
- extpfeil extract extsizes
+ extpfeil extract extractbb extsizes ezedits
facsimile factura facture facture-belge-simple-sans-tva fadingimage
fail-fast faktor familytree
fancybox fancyhandout fancyhdr fancyhdr-it fancylabel fancynum fancypar
fancyqr fancyref fancyslides fancytabs fancytooltips fancyvrb fandol
- faq-fr fascicules fast-diagram fbb fbithesis fbox fbs
+ faq-fr faq-fr-gutenberg fascicules fast-diagram fbb fbithesis fbox fbs
fc fcavtex fcltxdoc fcolumn fdsymbol fduthesis featpost fei
fenetrecas fenixpar
fetamont fetchcls
@@ -338,6 +346,7 @@ my @TLP_working = qw(
fifinddo-info fifo-stack
fig4latex figbas figbib figchild figflow figput figsize
filecontents filecontentsdef filedate filehook fileinfo filemod
+ fillpages fillwith
findhyph fink finstrut fira firamath firamath-otf
first-latex-doc firstaid fistrum fitbox fitch fithesis
fix2col fixcmex fixdif fixfoot fixjfm fixlatvian
@@ -351,16 +360,17 @@ my @TLP_working = qw(
foekfont foilhtml foliono fonetika
font-change font-change-xetex
fontawesome fontawesome5 fontaxes fontbook fontch fontinst
- fontinstallationguide fontmfizz fontools fontscale
+ fontinstallationguide fontmfizz fontools
fonts-churchslavonic fonts-tlwg
- fontsetup fontsize fontspec fonttable fontwrap
+ fontscale fontscripts fontsetup fontsize fontspec fonttable fontwrap
footbib footmisc footmisx footnotebackref footnotehyper
footnoterange footnpag
forarray foreign forest forest-quickstart forloop
formal-grammar formlett formation-latex-ul forms16be formular forum
fouridx fourier fouriernc
fp fpl
- fragmaster fragments frame framed francais-bst frankenstein frcursive
+ fragmaster fragments frame framed framedsyntax
+ francais-bst frankenstein frcursive
frederika2016 freealign frege frenchmath frimurer frletter frontespizio
froufrou frpseudocode
ftc-notebook ftcap ftnxtra
@@ -369,9 +379,9 @@ my @TLP_working = qw(
g-brief gaceta galois gamebook gamebooklib gammas
garamond-libre garamond-math garuda-c90
garrigues gastex gates gatherenum gauss
- gb4e gbt7714 gcard gchords gcite gckanbun
- gelasio genealogy genealogytree gender gene-logic genealogy-profiles
- genmpage gensymb gentium-tug gentle gentombow geometry
+ gb4e gb4e-next gbt7714 gcard gchords gcite gckanbun
+ gelasio gelasiomath genealogy genealogytree gender gene-logic genealogy-profiles
+ genmpage gensymb gentium-otf gentium-sil gentle gentombow geometry
geradwp german germbib germkorr geschichtsfrkl
getfiledate getitems getmap getoptk gettitlestring gfnotation
gfsartemisia gfsbaskerville gfsbodoni gfscomplutum gfsdidot gfsdidotclassic
@@ -396,7 +406,8 @@ my @TLP_working = qw(
graph35 graphbox graphics
graphics-cfg graphics-def graphics-pln
graphicx-psmin graphicscache graphicxbox graphicxpsd
- graphpaper graphviz grayhints greek-fontenc greek-inputenc
+ graphpaper graphviz gratzer-color-scheme grayhints
+ greek-fontenc greek-inputenc
greekdates greektex greektonoi greenpoint gregoriotex
grfext grffile grfpaste
grid grid-system gridpapers gridset gridslides grotesq grundgesetze
@@ -407,7 +418,8 @@ my @TLP_working = qw(
happy4th har2nat haranoaji haranoaji-extra
hardwrap harmony harnon-cv harpoon
harvard harveyballs harvmac hatching hausarbeit-jura havannah
- hc he-she hebrew-fonts hecthese helmholtz-ellis-ji-notation helvetic
+ hc hduthesis he-she hebdomon hebrew-fonts hecthese
+ helmholtz-ellis-ji-notation helvetic
hep hep-acronym hep-bibliography hep-float hep-font hep-float hep-graphic
hep-math hep-math-font hep-paper hep-reference hep-text hep-title hepnames
hepparticles hepthesis hepunits here hereapplies heria heros-otf hershey-mp
@@ -423,7 +435,7 @@ my @TLP_working = qw(
hpsdiss href-ul hrefhide hrlatex
hu-berlin-bundle huawei huaz huffman hulipsum hustthesis
hvarabic hvextern hvfloat hvindex hvlogos hvpygmentex hvqrurl
- hwemoji hycolor hypdestopt hypdoc hypdvips
+ hwemoji hycolor hypcap hypdestopt hypdoc hypdvips
hyper hyperbar hypernat hyperref hyperxmp
hyph-utf8 hyphen-base
hyphenat hyphenex hyplain
@@ -437,11 +449,12 @@ my @TLP_working = qw(
imfellenglish impnattypo import imsproc imtekda
incgraph includernw inconsolata inconsolata-nerd-font
index indextools infwarerr
- initials inkpaper inline-images inlinebib inlinedef inlinelabel innerscript
+ initials inkpaper inline-images
+ inlinebib inlinedef inlinegraphicx inlinelabel innerscript
inputenx inputnormalization inputtrc
inriafonts insbox install-latex-guide-zh-cn installfont
intcalc inter interactiveworkbook
- interchar interfaces interpreter interval intopdf
+ interchar interfaces interlinear interpreter interval intopdf
intro-scientific
inversepath invoice invoice-class invoice2
iodhbwm ionumbers iopart-num ipaex ipaex-type1 ipsum iran-bibtex
@@ -450,7 +463,7 @@ my @TLP_working = qw(
isphysicalmath issuulinks istgame itnumpar
iwona iwonamath
jablantile jacow jamtimes japanese-mathformulas japanese-otf
- jbact jeuxcartes jfmutil jieeetran jigsaw
+ jbact jetbrainsmono-otf jeuxcartes jfmutil jieeetran jigsaw
jknapltx jkmath jlabels jlreq jlreq-deluxe
jmb jmlr jmsdelim jneurosci jnuexam
jobname-suffix joinbox josefin jourcl jourrr
@@ -460,7 +473,7 @@ my @TLP_working = qw(
kalendarium kanaparser kanbun kantlipsum karnaugh karnaugh-map karnaughmap
kastrup kaytannollista-latexia
kblocks kdgdocs kdpcover kerkis kerntest ketcindy
- keycommand keyfloat keyindex keyparse keyreader keystroke
+ keycommand keyfloat keyindex keyparse keyreader keystroke keytheorems
keyval2e keyvaltable kfupm-math-exam khatalmaqala kinematikz kix kixfont
knitting knittingpattern knowledge
knuth-errata knuth-hint knuth-lib knuth-local knuth-pdf
@@ -505,12 +518,13 @@ my @TLP_working = qw(
libertine libertinegc libertinus
libertinus-fonts libertinus-otf libertinus-type1 libertinust1math
libgreek librarian librebaskerville librebodoni librecaslon librefranklin
- libris lie-hasse liftarm light-latex-make ligtype lilyglyphs limap limecv
+ libris lie-hasse liederbuch liftarm
+ light-latex-make ligtype lilyglyphs limap limecv
lineara linearregression linebreaker linegoal
lineno ling-macros linguex linguisticspro linop
lion-msc lipsum lisp-on-tex
listbib listing listings listings-ext listingsutf8 listlbls listliketab
- listofitems listofsymbols litebook litesolution litetable
+ listofitems listofsymbols listparskip litetable
lithuanian liturg lkproof llncs llncsconf lm lm-math lmake lni lobster2
locality localloc logbox logical-markup-utils logicproof logicpuzzle logix
logoetalab logpap logreq lollipop
@@ -535,20 +549,21 @@ my @TLP_working = qw(
luaimageembed luaindex luainputenc luakeys
lualatex-doc-de
lualatex-math lualatex-truncate lualibs lualinalg luamathalign luamaths
- luamesh luamodulartables luamplib luanumint luaoptions luaotfload
+ luamesh luamml luamodulartables luamplib luanumint luaoptions luaotfload
luapackageloader luaplot luaprogtable luapstricks
luaquotes luarandom
- luaset luasseq luatex85 luatexbase luatexja luatexko luatextra
+ luaset luasseq
+ luatbls luatex85 luatexbase luatexja luatexko luatextra luatikz
luatodonotes luatruthtable luavlna luaxml
- lutabulartools lwarp lxfonts ly1 lyluatex
- macrolist macros2e macroswap mafr magaz magicnum magra
+ lutabulartools luwiantype lwarp lxfonts ly1 lyluatex
+ macrolist macros2e macroswap mafr magaz magicnum magicwatermark magra
mahjong mailing mailmerge
make4ht makebarcode makebase makebox
makecell makecirc makecmds makecookbook
makedtx makeglos makelabels makeplot maker makerobust
makeshape mandi manfnt manfnt-font manuscript manyind
- marathi marcellus margbib
- marginfit marginfix marginnote markdown marvosym
+ marathi marcellus margbib marginalia
+ marginfit marginfix marginnote maritime markdown marvosym
matapli matc3 matc3mem match_parens
math-into-latex-4 mathabx mathabx-type1 mathalpha mathastext
mathcommand mathcomp mathdesign mathdots mathexam
@@ -566,7 +581,7 @@ my @TLP_working = qw(
metafont-beginners metago metalogo metalogox metanorma metaobj metaplot
metapost-colorbrewer metapost-examples metastr metatex metatype1 metauml
method metre metrix metsymb
- mf2pt1 mfirstuc mflogo mflogo-font mfnfss mfpic mfpic4ode mftinc
+ mf2pt1 mfb-oldstyle mfirstuc mflogo mflogo-font mfnfss mfpic mfpic4ode mftinc
mgltex mhchem
mhequ miama mi-solns
microtype microtype-de midnight midpage miller milog milsymb
@@ -582,8 +597,9 @@ my @TLP_working = qw(
modref modroman modular modulus
moloch mongolian-babel montserrat
monofill montex moodle
- moreenum morefloats morehype moresize
- moreverb morewrites morisawa movement-arrows movie15 mp3d
+ moreenum morefloats morehype moremath moresize
+ moreverb morewrites morisawa movement-arrows movie15
+ mp-geom2d mp-neuralnetwork mp3d
mparhack mparrows mpattern mpchess mpcolornames
mpfonts mpgraphics mpkiviat
mpman-ru mpostinl mptopdf mptrees msc msg mslapa msu-thesis mtgreek
@@ -602,7 +618,7 @@ my @TLP_working = qw(
navigator navydocs
ncclatex ncctools nchairx ncntrsbk
nddiss ndsu-thesis ndsu-thesis-2022
- needspace nestquot neuralnetwork nevelok
+ needspace neoschool nestquot neuralnetwork nevelok
newcastle-bst newcommand newcomputermodern newenviron newfile newfloat
newlfm newpax newpx
newsletr newspaper
@@ -612,14 +628,15 @@ my @TLP_working = qw(
nidanfloat nih nihbiosketch
nimbus15 nimsticks ninecolors njurepo njustthesis njuthesis njuvisual
nkarta nl-interval nlctdoc
- nmbib nndraw nnext noconflict nodetree noindentafter noitcrul nolbreaks
+ nmbib nndraw nnext noconflict nodepthtext nodetree
+ noindentafter noitcrul nolbreaks
nomencl nomentbl non-decimal-units nonfloat nonumonpart
nopageno norasi-c90 normalcolor
nostarch notebeamer notes notes2bib notespages notestex
notex-bst noto noto-emoji notoccite notomath
novel nowidow nox
- nrc ntgclass nth ntheorem ntheorem-vn nuc nucleardata
- numberedblock numberpt
+ nrc nstc-proposal ntgclass nth ntheorem ntheorem-vn nuc nucleardata
+ numberedblock numberpt numbersets
numerica numerica-plus numerica-tables numericplots
numname numnameru numprint numspell nunito
nwafuthesis nwejm nxuthesis
@@ -627,21 +644,22 @@ my @TLP_working = qw(
ocg-p ocgx ocgx2 ocherokee ocr-b ocr-b-outline ocr-latex octave octavo
odesandpdes odsfile ofs
ogham oinuit old-arrows oldlatin oldstandard
- oldstyle olsak-misc
+ oldstyle olsak-misc omgtudoc-asoiu
onedown onlyamsmath onrannual opbible opcit opencolor opensans oplotsymbl
opteng optex optexcount optidef optional options
orcidlink ordinalpt orientation orkhun
- oscola osda oststud oswald ot-tableau othello othelloboard
+ oscola oststud oswald ot-tableau othello othelloboard
oubraces oup-authoring-template
outerhbox outilsgeomtikz outline outliner outlines outlining
overarrows overlays overlock overpic
- pacioli padauk padcount
+ pacioli packdoc padcount
pagecolor pagecont pagegrid pagelayout
pagella-otf pagenote pagerange pagesel pageslts
palatino palette pangram panneauxroute paper papercdcase papermas papertex
papiergurvan paracol parades paralist parallel paratype
paresse parnotes parrun parsa parsimatn parsinevis parselines parskip
- pas-cours pas-crosswords pas-cv pas-tableur pascaltriangle passivetex
+ pas-cours pas-crosswords pas-cv pas-tableur
+ pascaltriangle passivetex passopt
patch patchcmd patgen2-tutorial path pauldoc pawpict pax
pbalance pbibtex-base pbox pb-diagram pbibtex-manual pbsheet
pdf14
@@ -653,19 +671,20 @@ my @TLP_working = qw(
pdfpagediff pdfpages pdfpc pdfpc-movie pdfprivacy pdfrender pdfreview
pdfscreen pdfslide pdfsync
pdftex-quiet pdftexcmds pdftricks pdftricks2 pdfx pdfxup
- pecha pedigree-perl penlight penlightplus perception perfectcut perltex
+ pecha pedigree-perl pegmatch
+ penlight penlightplus perception perfectcut perltex
permute persian-bib
petiteannonce petri-nets pfarrei pfdicons
pgf pgf-blur pgf-interference pgf-periodictable pgf-pie
pgf-soroban pgf-spectra pgf-umlcd pgf-umlsd
pgfgantt pgfkeysearch pgfkeyx pgfmath-xfp pgfmolbio pgfmorepages
- pgfopts pgfornament pgfornament-han pgfplots
+ pgfopts pgfornament pgfornament-han pgfplots pgfplotsthemebeamer
phaistos phfcc phfextendedabstract phffullpagefigure
phfnote phfparen phfqit phfquotetext
phfsvnwatermark phfthm
philex philokalia philosophersimprint
phonenumbers phonetic phonrule photo photobook
- physconst physics physics2 physunits
+ physconst physics physics2 physics-patch physunits
piano picinpar pict2e
pictex pictex2 pictexsum pictochrono picture piechartmp piff pigpen
pinlabel pinoutikz pitex piton pittetd pixelart pixelarttikz
@@ -677,16 +696,16 @@ my @TLP_working = qw(
plnfss plstmary plweb pm-isomath
pmboxdraw pmdraw pmgraph pmhanguljamo pmx pmxchords pnas2009
poemscol poetry poetrytex poiretone polexpr polski poltawski
- polyglossia polyhedra polynom polynomial
+ polyglossia polyhedra polynom polynomial polyomino
polytable poormanlog postage postcards poster-mac postit postnotes
powerdot powerdot-fuberlin powerdot-tuliplab
ppmcheckpdf ppr-prv ppt-slides pracjourn practicalreports
precattl prelim2e preprint prerex present
pressrelease prettyref prettytok preview prftree
- principia printlen proba probsoln prociagssymp
+ principia printlen prisma-flow-diagram proba probsoln prociagssymp
prodint productbox profcollege proflabo proflycee profmaquette
profsio program
- progress progressbar projlib
+ progress progressbar projlib pronunciation
proof-at-the-end proofread prooftrees proposal properties
prosper protex protocol prtec przechlewski-book
psbao pseudo pseudocode psfrag psfrag-italian psfragx
@@ -725,11 +744,12 @@ my @TLP_working = qw(
qualitype quantikz quantumarticle quattrocento
quickreaction quicktype quiver quiz2socrative quizztex
quotchap quoting quotmark
- quran quran-bn quran-de quran-en quran-id quran-ur qyxf-book
- r_und_s ragged2e raleway ran_toks randbild randexam
+ quran quran-bn quran-de quran-en quran-es quran-id quran-ur qyxf-book
+ r_und_s ragged2e raleway ran_toks randbild randexam randintlist
random randomlist randomwalk randtext
rank-2-roots rbt-mathnotes rccol rcs rcs-multi rcsinfo
- readablecv readarray realboxes realhats realscripts realtranspose rec-thy
+ readablecv readarray realboxes realhats realscripts realtranspose
+ rebuttal rec-thy
recipe recipebook recipecard recorder-fingering recycle rectopma
refcheck refcount refenums reflectgraphics refman refstyle
regcount regexpatch register regstats regulatory
@@ -740,7 +760,7 @@ my @TLP_working = qw(
rgltxdoc ribbonproofs rigidnotation rit-fonts
rjlparshap rlepsf rmathbr rmpage
robotarm roboto robust-externalize robustcommand robustindex rojud
- romanbar romanbarpagenumber romande romanneg romannum
+ romanbar romanbarpagenumber romandeadf romanneg romannum
rorlink rosario rotfloat rotpages rouequestions roundbox roundrect
rpgicons rrgtrees rsc rsfs rsfso
rterface rtkinenc rtklage
@@ -751,13 +771,13 @@ my @TLP_working = qw(
sanskrit sanskrit-t1 sansmath sansmathaccent sansmathfonts
sapthesis sasnrdisplay sauerj
sauter sauterfonts saveenv savefnmark savesym savetrees
- scale scalebar scalerel scanpages
+ scale scalebar scalerel scaletextbullet scanpages
schedule schemabloc schemata schola-otf scholax schooldocs
schulmathematik sclang-prettifier
schule schulschriften schwalbe-chess
scikgtex sciposter scientific-thesis-cover scontents
scrabble scrambledenvs scratch scratch3 scratchx screenplay screenplay-pkg
- scripture scrjrnl scrlayer-fancyhdr scrlttr2copy scrwfile scsnowman
+ scrhack scripture scrjrnl scrlayer-fancyhdr scrlttr2copy scrwfile scsnowman
sdaps sdrt sduthesis
se2thesis secdot secnum section sectionbox sectionbreak sectsty seealso
selectp selinput selnolig semantex semantic semantic-markup semaphor
@@ -790,21 +810,22 @@ my @TLP_working = qw(
spacekern spacingtricks spalign spark-otf sparklines spath3 spbmark
spectral spectralsequences spelatex spelling spie spix
sphack sphdthesis splines splitbib splitindex
- spot spotcolor spreadtab spverbatim
- sr-vorl srbook-mem srbtiks srcltx srdp-mathematik srcredact sseq sslides
+ spot spotcolor spreadtab spverbatim sqltex
+ sr-vorl srbook-mem srbtiks srcltx srdp-mathematik srcredact
+ sseq sshrc-insight sslides
stack stackengine stage standalone standardsectioning stanli
starfont startex
statex statex2 statistics statistik statmath staves starray
stdclsdv stdpage stealcaps steinmetz
stellenbosch stellenbosch-2 step stepgreek stex
- stickstoo stix stix2-otf stix2-type1 stmaryrd storebox storecmd
+ stickstoo stix stix2-otf stix2-type1 stmaryrd stocksize storebox storecmd
strands stricttex string-diagrams stringenc stringstrings
structmech struktex
- sttools stubs studenthandouts sty2dtx styledcmd suanpan
+ sttools stubs studenthandouts sty2dtx styledcmd suanpan suanpan-l3
subdocs subdepth subeqn subeqnarray
subfig subfigmat subfigure subfiles subfloat substances
substr subsupscripts subtext
- sudoku sudokubundle suftesi sugconf
+ sudoku sudokubundle suftesi sugconf sunpath
superiors supertabular suppose susy svg svg-inkscape svgcolor
svn svn-multi svn-prov svninfo svrsymbols
swebib swfigure swimgraf swrule swungdash syllogism
@@ -815,19 +836,19 @@ my @TLP_working = qw(
tabbing tabfigures table-fct tableaux tablefootnote tableof
tablists tablor tabls tablvar
tabriz-thesis tabstackengine tabto-generic tabto-ltx
- tabu tabularborder tabularray tabularcalc tabularew
+ tabu tabularborder tabularray tabularcalc tabularew tabularray-abnt
tabulary tabvar tagging tagpair tagpdf talk talos tamefloats
- tamethebeast tangocolors tangramtikz tap tapir tasks
+ tamethebeast tango tangocolors tangramtikz tap tapir tasks
tblr-extras tcldoc tcolorbox tdclock tds tdsfrmath
- technics technion-thesis-template ted
- templates-fenn templates-sommer templatetools tempora
+ technics technion-thesis-template ted telprint
+ templates-fenn templates-sommer templatetools tempora temporal-logic
tengwarscript
tensind tensor termcal termcal-de termes-otf termlist termmenu termsim
testhyphens testidx
tetragonos teubner
tex-ewd tex-font-errors-cheatsheet tex-gyre tex-gyre-math tex-ini-files
tex-label tex-locale tex-nutshell tex-overview tex-ps
- tex-refs tex-virtual-academy-pl tex-vpat
+ tex-virtual-academy-pl tex-vpat
tex4ebook texaccents texapi texblend texbytopic texcount
texdate texdef texdiff texdimens texdirflatten texdoc texdraw
texfindpkg texfot texinfo texilikechaps texilikecover
@@ -840,25 +861,27 @@ my @TLP_working = qw(
theanodidot theanomodern theanooldstyle theatre
thematicpuzzle theoremref thermodynamics
thesis-ekf thesis-gwu thesis-qom thesis-titlepage-fhac
- thinsp thmbox thmlist thmtools
+ thinsp thmbox thmtools
threadcol threeddice threeparttable threeparttablex
thuaslogos thubeamer thucoursework thumb thumbpdf thumbs thumby thuthesis
- ticket ticollege tidyres
+ ticket ticollege tidyres tiet-question-paper
tikz2d-fr tikz3d-fr tikz-3dplot
- tikz-among-us tikz-bagua tikz-bayesnet tikz-bbox
- tikz-cd tikz-dependency tikz-dimline tikz-ext
+ tikz-among-us tikz-bagua tikz-bayesnet tikz-bbox tikz-bpmn
+ tikz-cd tikz-decofonts tikz-dependency tikz-dimline tikz-ext
tikz-feynhand tikz-feynman tikz-imagelabels tikz-inet
tikz-kalender tikz-karnaugh tikz-ladder tikz-lake-fig tikz-layers
tikz-mirror-lens tikz-nef tikz-network tikz-nfold tikz-opm tikz-optics
tikz-osci tikz-page tikz-palattice tikz-planets tikz-qtree
- tikz-relay tikz-sfc tikz-swigs tikz-timing tikz-trackschematic tikz-truchet
+ tikz-relay tikz-sfc tikz-swigs
+ tikz-timing tikz-trackschematic tikz-triminos tikz-truchet
tikzbricks tikzcodeblocks tikzdotncross tikzducks
tikzfill tikzinclude tikzlings
tikzmark tikzmarmots tikzorbital
tikzpackets tikzpagenodes tikzpeople tikzpfeile tikzpingus tikzposter
tikzquads tikzquests tikzscale tikzsymbols
tikztosvg tikzviolinplots tile-graphic tilings
- timbreicmc times timetable timing-diagrams tinos tipa tipa-de tipauni tipfr
+ timbreicmc timechart timeop times timetable timing-diagrams
+ tinos tipa tipa-de tipauni tipfr
tiscreen titlecaps titlefoot titlepages titlepic titleref titlesec titling
tkz-base tkz-berge tkz-bernoulli tkz-doc tkz-elements tkz-euclide
tkz-fct tkz-graph tkz-grapheur tkz-orm tkz-tab tkzexample
@@ -879,16 +902,16 @@ my @TLP_working = qw(
tree-dvips treesvr treetex trfsigns
trigonometry trimspaces trivfloat trivialpursuit trsym truncate truthtable
tsemlines tsvtemplate
- tucv tuda-ci tudscr tufte-latex tugboat tugboat-plain
+ tucv tuda-ci tudscr tufte-latex tugboat tugboat-plain tuple
tui turabian turabian-formatting turkmen turnstile turnthepage tutodoc
twemoji-colr twemojis twoinone twoup twoxtwogame
txfonts txfontsb txgreeks txuprcal
type1cm typed-checklist typeface typehtml typeoutfileinfo typewriter
typicons typoaid typog typogrid typstfun tzplot
- uaclasses uafthesis uantwerpendocs uassign ucalgmthesis
+ uaclasses uafthesis ualberta uantwerpendocs uassign ucalgmthesis
ucharcat ucharclasses ucbthesis ucdavisthesis ucph-revy
ucs ucsmonograph
- ucthesis udepcolor udes-genie-these udesoftec
+ ucthesis udepcolor udes-genie-these udesoftec udiss
uebungsblatt uestcthesis ufrgscca
uhhassignment uhrzeit uiucredborder uiucthesis
ukbill ukrhyph ulem ulqda ulthese
@@ -898,7 +921,7 @@ my @TLP_working = qw(
undar-digitacion undergradmath underlin underoverlap underscore undolabl
unfonts-core unfonts-extra
uni-titlepage uni-wtal-ger uni-wtal-lin
- unicode-alphabets unicode-data unicode-bidi
+ unibidi-lua unicode-alphabets unicode-data unicode-bidi
unicode-math unicode-math-input
unicodefonttable unifith unifront unigrazpub unimath-plain-xetex
uninormalize uniquecounter unisc unisugar
@@ -922,11 +945,12 @@ my @TLP_working = qw(
voss-mathcol
vpe vruler vtable vwcol
wadalab wallcalendar wallpaper wargame warning warpcol
- was wasy wasy-type1 wasysym webguide webquiz weiqi wheelchart
+ was wasy wasy-type1 wasysym webguide webquiz weiqi whatsnote wheelchart
widetable widows-and-orphans williams willowtreebook
windycity withargs witharrows
wnri wnri-latex wordcloud wordcount wordle wordlike worldflags worksheet
- wrapfig wrapfig2 wrapstuff writeongrid wsemclassic wsuipa wtref
+ wrapfig wrapfig2 wrapstuff wrapstuff-doc-en
+ writeongrid wsemclassic wsuipa wtref
xargs xassoccnt xbmks xcharter xcharter-math xcite xcjk2uni xcntperchap
xcolor xcolor-material xcolor-solarized
xcomment xcookybooky xcpdftips xdoc xduthesis xduts
@@ -940,7 +964,7 @@ my @TLP_working = qw(
xkcdcolors xkeymask xkeyval xlop xltabular xltxtra
xml2pmx xmltex xmpincl xmuthesis xnewcommand
xoptarg xpatch xpeek xpiano xpicture xpinyin xprintlen xpunctuate
- xq xsavebox xsim xskak xstring xtab xtuthesis xunicode xurl
+ xq xreview xsavebox xsim xskak xstring xtab xtuthesis xunicode xurl
xwatermark xyling xymtex xypic xypic-tut-pt xytree
yafoot yagusylo yaletter yamlvars yannisgr yathesis yax yazd-thesis
yb-book ycbook ydoc yet-another-guide-latex2e
@@ -949,7 +973,7 @@ my @TLP_working = qw(
zapfchan zapfding zbmath-review-template zebra-goodies zed-csp zennote
zhlineskip zhlipsum zhnumber zhmetrics zhmetrics-uptex zhspacing
ziffer zitie zlmtt zootaxa-bst zref zref-check zref-clever zref-vario
- zwgetfdate zwpagelayout
+ zugferd zwgetfdate zwpagelayout
zx-calculus zxjafbfont zxjafont zxjatype zztex
);
diff --git a/Master/tlpkg/bin/tlpkginfo b/Master/tlpkg/bin/tlpkginfo
index b89e8f8eef6..45df00708ab 100755
--- a/Master/tlpkg/bin/tlpkginfo
+++ b/Master/tlpkg/bin/tlpkginfo
@@ -67,10 +67,11 @@ sub tlpkgrevision {
sub ctaninfo {
$CTAN = $ENV{"CTAN"} || "/home/ftp/tex-archive";
$TMPDIR = $ENV{"TMPDIR"} || "/tmp";
- $CATALOGUE = $ENV{"TEX_CATALOGUE"} || "/home/httpd/html/catalogue/entries";
+ my $top_cat = $ENV{"TEX_CATALOGUE"} || "/home/texlive/catalogue";
+ $CATALOGUE = "$top_cat/entries";
-d "$CATALOGUE/k"
- || die "$0: TEX_CATALOGUE ($CATALOGUE) must point to entries/ subdir"
- . " of a TeX Catalogue checkout.\n";
+ || die "$0: TEX_CATALOGUE ($CATALOGUE) must point to the top level"
+ . " of a TeX Catalogue checkout (with entries/ subdir).\n";
# erroneous or problematic tds files (when new, tell CTAN and author).
# ieeeconf: capitals in directory names.
@@ -474,7 +475,7 @@ sub prepare {
sub copy_to_tmpdir {
my ($pkgname,$src) = @_;
- my $pkgdir = "$TMPDIR/tl.$pkgname";
+ my $pkgdir = "$TMPDIR/$<.tl.$pkgname";
system ("rm -rf $pkgdir");
mkdir ($pkgdir, 0777) || die "mkdir($pkgdir) failed: $!";