diff options
Diffstat (limited to 'Master/tlpkg/bin')
-rwxr-xr-x | Master/tlpkg/bin/c2a | 2 | ||||
-rwxr-xr-x | Master/tlpkg/bin/c2l | 8 | ||||
-rwxr-xr-x | Master/tlpkg/bin/c2lx | 59 | ||||
-rwxr-xr-x | Master/tlpkg/bin/ctan2tl | 8 | ||||
-rwxr-xr-x | Master/tlpkg/bin/tl-check-fmtshare | 2 | ||||
-rwxr-xr-x | Master/tlpkg/bin/tl-update-auto | 5 | ||||
-rwxr-xr-x | Master/tlpkg/bin/tl-update-ctan-mirrors | 10 | ||||
-rwxr-xr-x | Master/tlpkg/bin/tl-update-docindex | 5 | ||||
-rwxr-xr-x | Master/tlpkg/bin/tl-update-tlnet | 16 | ||||
-rwxr-xr-x | Master/tlpkg/bin/tl-update-tlpdb | 14 | ||||
-rwxr-xr-x | Master/tlpkg/bin/tlcom | 4 | ||||
-rwxr-xr-x | Master/tlpkg/bin/tlpkg-ctan-check | 140 | ||||
-rwxr-xr-x | Master/tlpkg/bin/tlpkginfo | 9 |
13 files changed, 143 insertions, 139 deletions
diff --git a/Master/tlpkg/bin/c2a b/Master/tlpkg/bin/c2a index 1c6eb16221c..3d1b942f4b1 100755 --- a/Master/tlpkg/bin/c2a +++ b/Master/tlpkg/bin/c2a @@ -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..2f7891be9a7 100755 --- a/Master/tlpkg/bin/c2l +++ b/Master/tlpkg/bin/c2l @@ -119,11 +119,11 @@ 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/ @@ -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..d72c2915396 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,29 @@ 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" +# 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-update-auto b/Master/tlpkg/bin/tl-update-auto index 182a98e7cb2..d847abfdbec 100755 --- a/Master/tlpkg/bin/tl-update-auto +++ b/Master/tlpkg/bin/tl-update-auto @@ -264,8 +264,9 @@ 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 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-tlnet b/Master/tlpkg/bin/tl-update-tlnet index 8915a566d36..d8df6e12d44 100755 --- a/Master/tlpkg/bin/tl-update-tlnet +++ b/Master/tlpkg/bin/tl-update-tlnet @@ -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..5de6920820f 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-2024 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) { @@ -731,11 +731,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..5e79581fe04 100755 --- a/Master/tlpkg/bin/tlpkg-ctan-check +++ b/Master/tlpkg/bin/tlpkg-ctan-check @@ -31,7 +31,7 @@ my @TLP_working = qw( adjmulticol adfsymbols adjustbox adobemapping adrconv adtrees advdate advice ae aeguill aesupp affilauthor afparticle afthesis - aguplus aiaa aichej ajl akktex akletter akshar + aguplus aiaa aichej aiplans ajl akktex akletter akshar albatross alchemist alegreya alertmessage alfaslabone alg algobox algolrevived algorithm2e algorithmicx algorithms algpseudocodex algxpar @@ -90,15 +90,16 @@ 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 @@ -109,7 +110,7 @@ my @TLP_working = qw( 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 + bib-fr bib2gls bib2qr bibarts bibcop biber biber-ms bibhtml biblatex biblatex-abnt biblatex-ajc2020unofficial biblatex-anonymous biblatex-apa biblatex-apa6 biblatex-archaeology biblatex-arthistory-bonn @@ -147,7 +148,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 +158,17 @@ 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 + caladea calcage calcfrac calctab calculation calculator calculatoritems calligra calligra-type1 callouts calrsfs cals calxxxx-yyyy 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 @@ -207,12 +208,13 @@ 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 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 @@ -226,7 +228,8 @@ my @TLP_working = qw( 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 +240,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 +277,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 +293,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 +306,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 @@ -315,7 +318,8 @@ my @TLP_working = qw( 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 + 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 @@ -324,12 +328,12 @@ my @TLP_working = qw( expdlist expex expex-acro expex-glossonly expkv-bundle export expose-expl3-dunkerque-2019 expressg exsheets exsol extarrows exteps - extpfeil extract extsizes + extpfeil extract 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 @@ -337,7 +341,7 @@ my @TLP_working = qw( ffcode ffslides fge fgruler fifinddo-info fifo-stack fig4latex figbas figbib figchild figflow figput figsize - filecontents filecontentsdef filedate filehook fileinfo filemod + filecontents filecontentsdef filedate filehook fileinfo filemod fillwith findhyph fink finstrut fira firamath firamath-otf first-latex-doc firstaid fistrum fitbox fitch fithesis fix2col fixcmex fixdif fixfoot fixjfm fixlatvian @@ -351,16 +355,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,8 +374,8 @@ 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 + gb4e gb4e-next gbt7714 gcard gchords gcite gckanbun + gelasio gelasiomath genealogy genealogytree gender gene-logic genealogy-profiles genmpage gensymb gentium-tug gentle gentombow geometry geradwp german germbib germkorr geschichtsfrkl getfiledate getitems getmap getoptk gettitlestring gfnotation @@ -407,7 +412,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 +429,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 +443,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 @@ -460,7 +467,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 @@ -535,13 +542,13 @@ 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 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 @@ -566,7 +573,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 +589,8 @@ 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 mp3d mparhack mparrows mpattern mpchess mpcolornames mpfonts mpgraphics mpkiviat mpman-ru mpostinl mptopdf mptrees msc msg mslapa msu-thesis mtgreek @@ -612,14 +619,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 @@ -641,7 +649,8 @@ my @TLP_working = qw( 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 @@ -659,7 +668,7 @@ my @TLP_working = qw( 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 @@ -677,7 +686,7 @@ 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 @@ -725,11 +734,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 +750,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 +761,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 +800,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 @@ -817,10 +828,10 @@ my @TLP_working = qw( tabriz-thesis tabstackengine tabto-generic tabto-ltx tabu tabularborder tabularray tabularcalc tabularew 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 @@ -843,10 +854,10 @@ my @TLP_working = qw( thinsp thmbox thmlist 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-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 @@ -888,7 +899,7 @@ my @TLP_working = qw( uaclasses uafthesis 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 @@ -922,11 +933,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 +952,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 +961,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: $!"; |