diff options
author | Karl Berry <karl@freefriends.org> | 2022-09-25 16:50:19 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2022-09-25 16:50:19 +0000 |
commit | 33ec7e294dd4a5f539b0be80d939e9dade1590bc (patch) | |
tree | 7a7b7304e12d8c9a1a48024e3d094636452a1b4d /Master | |
parent | a2b56b4380f28f01496f77e50c84069d296bb6d2 (diff) |
tl-update-tlpdb (suredef): new fn, replacing equal strings.
(tlpobj_catalogue_equal): use it to avoid dumb undef value warnings when
printing values. Also, show tlp[AB]->catalogue values.
TLUtils.pm (debug, ddebug, dddebug): return immediately if verbosity < 1;
this may avoid unnecessary warnings when the arguments contain undef
(and is trivially faster).
This was occasioned by a warning from the --catalogue-compare run:
Use of uninitialized value $_[5] in join or string at tlpkg/bin/../TeXLive/TLUtils.pm line 3715.
D:bibtexu: longdesc now: An enhanced, portable C version ...
vs. compare db:
With new packages, a tlp value in the old package may indeed be undef.
releng.txt: unrelated doc updates.
git-svn-id: svn://tug.org/texlive/trunk@64503 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rw-r--r-- | Master/tlpkg/TeXLive/TLUtils.pm | 9 | ||||
-rwxr-xr-x | Master/tlpkg/bin/tl-update-tlpdb | 36 | ||||
-rw-r--r-- | Master/tlpkg/doc/releng.txt | 17 |
3 files changed, 30 insertions, 32 deletions
diff --git a/Master/tlpkg/TeXLive/TLUtils.pm b/Master/tlpkg/TeXLive/TLUtils.pm index 93f0d2123e1..342e4f34f95 100644 --- a/Master/tlpkg/TeXLive/TLUtils.pm +++ b/Master/tlpkg/TeXLive/TLUtils.pm @@ -146,10 +146,11 @@ BEGIN { @::ddebug_hook = @::ddebug_hook; @::dddebug_hook = @::dddebug_hook; @::info_hook = @::info_hook; + @::install_packages_hook = @::install_packages_hook; + @::installation_failed_packages = @::installation_failed_packages; @::warn_hook = @::warn_hook; $::checksum_method = $::checksum_method; $::gui_mode = $::gui_mode; - @::install_packages_hook = @::install_packages_hook; $::machinereadable = $::machinereadable; $::no_execute_actions = $::no_execute_actions; $::regenerate_all_formats = $::regenerate_all_formats; @@ -3712,8 +3713,8 @@ package. =cut sub debug { - my $str = "D:" . join("", @_); return if ($::opt_verbosity < 1); + my $str = "D:" . join("", @_); logit(\*STDERR, 1, $str); for my $i (@::debug_hook) { &{$i}($str); @@ -3733,8 +3734,8 @@ each package, in addition to the first level. =cut sub ddebug { - my $str = "DD:" . join("", @_); return if ($::opt_verbosity < 2); + my $str = "DD:" . join("", @_); logit(\*STDERR, 2, $str); for my $i (@::ddebug_hook) { &{$i}($str); @@ -3757,8 +3758,8 @@ debugging those parts of the code, it just gets in the way. =cut sub dddebug { - my $str = "DDD:" . join("", @_); return if ($::opt_verbosity < 3); + my $str = "DDD:" . join("", @_); logit(\*STDERR, 3, $str); for my $i (@::dddebug_hook) { &{$i}($str); diff --git a/Master/tlpkg/bin/tl-update-tlpdb b/Master/tlpkg/bin/tl-update-tlpdb index 954fb73c114..bcec20a6780 100755 --- a/Master/tlpkg/bin/tl-update-tlpdb +++ b/Master/tlpkg/bin/tl-update-tlpdb @@ -2,18 +2,16 @@ # $Id$ # Convert a TL tree and *.tlpsrc files into a (possibly updated) texlive.tlpdb. # -# Copyright 2007-2020 Norbert Preining +# Copyright 2007-2022 Norbert Preining # This file is licensed under the GNU General Public License version 2 # or any later version. -#use warnings FATAL => 'all'; # can help in development BEGIN { - $^W = 1; chomp($mydir = `dirname $0`); unshift(@INC, "$mydir/.."); } -use strict; +use strict; use warnings; use experimental qw(smartmatch); # what the heck, see ~~ below use TeXLive::TLConfig; @@ -580,27 +578,27 @@ sub tlpobj_catalogue_equal { # The shortdesc and longdesc usually come from the Catalogue, # but sometimes are in the tlpsrc. - if (! &equal_strings($tlpA->shortdesc, $tlpB->shortdesc)) { + if (! &suredef($tlpA->shortdesc) ne &suredef($tlpB->shortdesc)) { # Maybe someday combine this silly code to avoid redundancy, # and show strings (hashes) for all. - debug("$pkg: shortdesc now: ", $tlpA->shortdesc, "\n", + debug("$pkg: shortdesc now: ", &suredef($tlpA->shortdesc), "\n", " " x length($pkg), - " vs. compare db:", $tlpB->shortdesc, "\n"); + " vs. compare db:", &suredef($tlpB->shortdesc), "\n"); - } elsif (! &equal_strings($tlpA->longdesc, $tlpB->longdesc)) { - debug("$pkg: longdesc now: ", $tlpA->longdesc, "\n", + } elsif (! &suredef($tlpA->longdesc) ne &suredef($tlpB->longdesc)) { + debug("$pkg: longdesc now: ", &suredef($tlpA->longdesc), "\n", " " x length($pkg), - " vs. compare db: ", $tlpB->longdesc, "\n"); + " vs. compare db: ", &suredef($tlpB->longdesc), "\n"); - } elsif (! &equal_strings($tlpA->catalogue, $tlpB->catalogue)) { - debug("$pkg: catalogue value changed\n"); + } elsif (! &suredef($tlpA->catalogue) ne &suredef($tlpB->catalogue)) { + debug("$pkg: catalogue value changed (", &suredef($tlpA->catalogue), + " -> ", &suredef($tlpB->catalogue), ")\n"); } elsif (! &equal_hashes($tlpA->cataloguedata, $tlpB->cataloguedata)) { debug("$pkg: ", debug_hash_str("cataloguedata now", $tlpA->cataloguedata), " " x (length($pkg) + 7), debug_hash_str("vs. compare db", $tlpB->cataloguedata)); - } elsif (! &equal_hashes($tlpA->docfiledata, $tlpB->docfiledata)) { debug("$pkg: docfiledata changed\n"); @@ -612,13 +610,13 @@ sub tlpobj_catalogue_equal { } -# Return true if A and B are the same strings: both undef, or both -# defined and eq. (Writing out the defined tests each time is too annoying.) +# Return ARG if it is defined, or empty string if ARG is undef. +# It is irritating to have to do this, but it seems the best available +# option to avoid uninitialized warnings. We could use the pragma, but +# cleaner to program the checks. # -sub equal_strings { - my ($a,$b) = @_; - return (!defined $a && !defined $b) - || (defined $a && defined $b && $a eq $b); +sub suredef { + return defined $_[0] ? $_[0] : ""; } diff --git a/Master/tlpkg/doc/releng.txt b/Master/tlpkg/doc/releng.txt index 8789eea22bf..689fe066526 100644 --- a/Master/tlpkg/doc/releng.txt +++ b/Master/tlpkg/doc/releng.txt @@ -561,26 +561,25 @@ mkdir -p $hy/texcollection/$this/packaging # # copy files from DVD: mount /mnt/tc -cd /mnt/tc # check that it's the current release -cp -pR [A-T]* index* setup /home/ftp/historic/systems/texcollection/$this +cd /mnt/tc +ls # check that it's the current release! +cp -pR *.* setup /home/ftp/historic/systems/texcollection/$this # # copy ctan snapshot for TUG members: -du -h ~www/members/ctan*20*.tar # just to compare +du -h ~www/members/ctan2*.tar # just to compare mkdir $hy/ctancd/$prev -mv ~www/members/ctan*20*.tar !$ +mv ~www/members/ctan2*.tar !$ ls -lt ctan/ | head # note date of last update nice -19 tar cf ~www/members/ctan`date +%y`-0410.tar ctan # update date! -chmod a=r ~www/members/ctan*.tar +chmod a=r ~www/members/ctan2*.tar ls -l !$; du -h !$ # edit members/index.html -mkdir /home/ftp/historic/systems/ctancd/$this -ln -v ~www/members/ctan*.tar !$ # cd && umount /mnt/tc # -cd $hy/$this/packaging +cd $hy/texcollection/$this/packaging # copy in files from texcollection svn: -svn -q update ~/src/texcollection/ +svn update ~/src/texcollection/ cp -p ~/src/texcollection/$this/packaging/* . # # make small image for web page: |