summaryrefslogtreecommitdiff
path: root/Master
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2022-09-25 16:50:19 +0000
committerKarl Berry <karl@freefriends.org>2022-09-25 16:50:19 +0000
commit33ec7e294dd4a5f539b0be80d939e9dade1590bc (patch)
tree7a7b7304e12d8c9a1a48024e3d094636452a1b4d /Master
parenta2b56b4380f28f01496f77e50c84069d296bb6d2 (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.pm9
-rwxr-xr-xMaster/tlpkg/bin/tl-update-tlpdb36
-rw-r--r--Master/tlpkg/doc/releng.txt17
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: