texlive[53032] trunk: doc

commits+karl at tug.org commits+karl at tug.org
Thu Dec 5 20:15:11 CET 2019


Revision: 53032
          http://tug.org/svn/texlive?view=revision&revision=53032
Author:   karl
Date:     2019-12-05 20:15:11 +0100 (Thu, 05 Dec 2019)
Log Message:
-----------
doc

Modified Paths:
--------------
    trunk/Build/source/texk/kpathsea/progname.c
    trunk/Master/tlpkg/TeXLive/TLPOBJ.pm
    trunk/Master/tlpkg/TeXLive/TLUtils.pm
    trunk/Master/tlpkg/bin/tl-update-containers

Modified: trunk/Build/source/texk/kpathsea/progname.c
===================================================================
--- trunk/Build/source/texk/kpathsea/progname.c	2019-12-05 19:14:32 UTC (rev 53031)
+++ trunk/Build/source/texk/kpathsea/progname.c	2019-12-05 19:15:11 UTC (rev 53032)
@@ -1,6 +1,6 @@
 /* progname.c: the executable name we were invoked as; general initialization.
 
-   Copyright 1994, 1996, 1997, 2008-2013, 2016-2018 Karl Berry.
+   Copyright 1994, 1996, 1997, 2008-2013, 2016-2019 Karl Berry.
    Copyright 1998-2005 Olaf Weber.
 
    This library is free software; you can redistribute it and/or

Modified: trunk/Master/tlpkg/TeXLive/TLPOBJ.pm
===================================================================
--- trunk/Master/tlpkg/TeXLive/TLPOBJ.pm	2019-12-05 19:14:32 UTC (rev 53031)
+++ trunk/Master/tlpkg/TeXLive/TLPOBJ.pm	2019-12-05 19:15:11 UTC (rev 53032)
@@ -263,7 +263,7 @@
           $nrivblocks += int($s/$TeXLive::TLConfig::BlockSize);
           $nrivblocks++ if (($s%$TeXLive::TLConfig::BlockSize) > 0);
         } else {
-          printf STDERR "size for $f not defined, strange ...\n";
+        tlwarn("$0: (TLPOBJ::_recompute_size) size of $type $f undefined?!\n");
         }
       }
     }
@@ -458,8 +458,8 @@
     my %newd;
     $newd{'file'} = $f;
     if (defined($dfd->{$f})) {
-      # TODO should we check that there are actually only "details"
-      # and "language" as key?
+      # "details" and "language" keys now, but more could be added any time.
+      # (Such new keys would have to be added in update_from_catalogue.)
       for my $k (keys %{$dfd->{$f}}) {
         $newd{$k} = $dfd->{$f}->{$k};
       }
@@ -509,7 +509,7 @@
   }
   $self->docfiledata(%newdata);
   # if there are bin files they have definitely NOT the
-  # texmf-dist prefix, so we cannot cancel it anyway
+  # texmf-dist prefix, so no reloc to replace
 }
 
 sub cancel_common_texmf_tree {
@@ -855,7 +855,7 @@
       $foo =~ s/^.Date: //;
       # trying to extract the interesting part of a subversion date
       # keyword expansion here, e.g.,
-      # $Date$
+      # <dollar>Date: 2007-08-15 19:43:35 +0100 (Wed, 27 Nov 2019) <dollar>
       # ->2007-08-15 19:43:35 +0100
       $foo =~ s/ \(.*\)( *\$ *)$//;  # maybe nothing after parens
       $self->cataloguedata->{'date'} = $foo;
@@ -1497,26 +1497,38 @@
 
 =head1 FILE SPECIFICATION
 
-Please see L<TeXLive::TLPSRC> documentation for the specification. The
-only differences are that the various C<*pattern> keys are invalid, and
-instead there are the respective C<*files> keys described below. Furthermore
-some more I<keys> is allowed: C<revision> which specifies the maximum of
-all last changed revision of files contained in the package, anything
-starting with C<catalogue-> specifying information coming from the
-TeX Catalogue, and C<relocated> taking either 0 or 1 indicating that
-this packages has been relocated, i.e., in the containers the 
-initial C<texmf-dist> directory has been stripped off.
+See L<TeXLive::TLPSRC> documentation for the general syntax and
+specification. The differences are:
 
-All these keys have in common that they are followed by a list of files
-I<indented> by one space. They differ only in the first line itself
-(described below).
+=over 4
 
+=item The various C<*pattern> keys are invalid.
+
+=item Instead, there are respective C<*files> keys described below.
+All the C<*files> keys are followed by a list of files in the given
+category, one per line, each line I<indented> by one space.
+
+=item Several new keys beginning with C<catalogue-> specify information
+automatically taken from the TeX Catalogue.
+
+=item A new key C<revision> is defined (automatically computed),
+which specifies the maximum of all the last-changed revisions of files
+contained in the package, plus possible other changes. By default,
+Catalogue-only changes do not change the revision.
+
+=item A new key C<relocated>, either 0 or 1, which indicates that this
+packages has been relocated, i.e., in the containers the initial
+C<texmf-dist> directory has been stripped off and replaced with static
+string C<RELOC>.
+
+=back
+
 =over 4
 
 =item C<srcfiles>, C<runfiles>, C<binfiles>, C<docfiles>
-each of these items contains addition the sum of sizes of the
-single files (in number of C<TeXLive::TLConfig::BlockSize> blocks, which
-is currently 4k).
+each of these items contains addition the sum of sizes of the single
+files (in number of C<TeXLive::TLConfig::BlockSize> blocks,currently
+4k).
 
   srcfiles size=NNNNNN
   runfiles size=NNNNNN
@@ -1528,25 +1540,26 @@
 
   docfiles size=NNNNNN
 
-But the lines listing the files are allowed to have additional tags:
+But the lines listing the files are allowed to have additional tags,
+which come from the TeX Catalogue.
 
   /------- excerpt from achemso.tlpobj
   |...
-  |docfiles size=1702468
-  | texmf-dist/doc/latex/aeguill/README details="Package Readme"
+  |docfiles size=220
   | texmf-dist/doc/latex/achemso/achemso.pdf details="Package documentation" language="en"
   |...
 
-Currently only the tags C<details> and C<language> are allowed. These
+Currently only the tags C<details> and C<language> are supported. These
 additional information can be accessed via the C<docfiledata> function
 returning a hash with the respective files (including path) as key.
 
 =item C<binfiles>
 
-Since C<binfiles> are different for the different architectures one
-C<tlpobj> file can contain C<binfiles> lines for different
-architectures. The architecture is specified on the C<binfiles> using
-the C<arch=>I<XXX> tag. Thus, C<binfiles> lines look like
+Since C<binfiles> can be different for different architectures, a single
+C<tlpobj> file can, and typically does, contain C<binfiles> lines for
+all available architectures. The architecture is specified on the
+C<binfiles> using the C<arch=>I<XXX> tag. Thus, C<binfiles> lines look
+like
 
   binfiles arch=XXXX size=NNNNN
 
@@ -1557,28 +1570,26 @@
 
   |name dvipsk
   |category TLCore
-  |revision 4427
-  |docfiles size=959434
+  |revision 52851
+  |docfiles size=285
   | texmf-dist/doc/dvips/dvips.html
   | ...
-  |runfiles size=1702468
+  |runfiles size=93
   | texmf-dist/dvips/base/color.pro
   | ...
   | texmf-dist/scripts/pkfix/pkfix.pl
-  |binfiles arch=i386-solaris size=329700
+  |binfiles arch=i386-solaris size=87
   | bin/i386-solaris/afm2tfm
   | bin/i386-solaris/dvips
-  | bin/i386-solaris/pkfix
-  |binfiles arch=win32 size=161280
+  |binfiles arch=win32 size=51
   | bin/win32/afm2tfm.exe
   | bin/win32/dvips.exe
-  | bin/win32/pkfix.exe
   |...
 
 =head1 PACKAGE VARIABLES
 
-TeXLive::TLPOBJ has one package wide variable which is C<containerdir> where
-generated container files are saved (if not otherwise specified.
+TeXLive::TLPOBJ has one package-wide variable, C<containerdir>, which is
+where generated container files are saved (if not otherwise specified).
 
   TeXLive::TLPOBJ->containerdir("path/to/container/dir");
 
@@ -1638,7 +1649,7 @@
 
 =head1 OTHER FUNCTIONS
 
-The following functions can be called for an C<TLPOBJ> object:
+The following functions can be called for a C<TLPOBJ> object:
 
 =over 4
 
@@ -1844,10 +1855,9 @@
 
 =head1 SEE ALSO
 
-The modules L<TeXLive::TLConfig>, L<TeXLive::TLCrypto>,
-L<TeXLive::TLUtils>, L<TeXLive::TLPSRC>, L<TeXLive::TLPDB>,
-L<TeXLive::TLTREE>, L<TeXLive::TeXCatalogue>, etc., and the
-documentation in the repository: C<Master/tlpkg/doc/>.
+The other modules in C<Master/tlpkg/TeXLive/> (L<TeXLive::TLConfig> and
+the rest), and the scripts in C<Master/tlpg/bin/> (especially
+C<tl-update-tlpdb>), the documentation in C<Master/tlpkg/doc/>, etc.
 
 =head1 AUTHORS AND COPYRIGHT
 

Modified: trunk/Master/tlpkg/TeXLive/TLUtils.pm
===================================================================
--- trunk/Master/tlpkg/TeXLive/TLUtils.pm	2019-12-05 19:14:32 UTC (rev 53031)
+++ trunk/Master/tlpkg/TeXLive/TLUtils.pm	2019-12-05 19:15:11 UTC (rev 53032)
@@ -14,7 +14,7 @@
 
 =head1 NAME
 
-C<TeXLive::TLUtils> -- utilities used in TeX Live infrastructure
+C<TeXLive::TLUtils> - utilities used in TeX Live infrastructure
 
 =head1 SYNOPSIS
 
@@ -3477,6 +3477,7 @@
   my @items = ();
   for my $key (sort keys %hash) {
     my $val = $hash{$key};
+    $val = ".undef" if ! defined $val;
     $key =~ s/\n/\\n/g;
     $val =~ s/\n/\\n/g;
     push (@items, "$key:$val");
@@ -4038,17 +4039,20 @@
   return;
 }
 
-# compare_tlpobjs 
-# returns a hash
-#   $ret{'revision'} = "leftRev:rightRev"     if revision differ
-#   $ret{'removed'} = \[ list of files removed from A to B ]
-#   $ret{'added'} = \[ list of files added from A to B ]
-#
+

+=item C<< compare_tlpobjs($tlpA, $tlpB) >>
+
+Compare the two passed L<TLPOBJ> objects.  Returns a hash:
+
+  $ret{'revision'}  = "revA:revB" # if revisions differ
+  $ret{'removed'}   = \[ list of files removed from A to B ]
+  $ret{'added'}     = \[ list of files added from A to B ]
+
+=cut
+
 sub compare_tlpobjs {
   my ($tlpA, $tlpB) = @_;
   my %ret;
-  my @rem;
-  my @add;
 
   my $rA = $tlpA->revision;
   my $rB = $tlpB->revision;
@@ -4068,20 +4072,27 @@
   for my $f (@fA) { $removed{$f} = 1; }
   for my $f (@fB) { delete($removed{$f}); $added{$f} = 1; }
   for my $f (@fA) { delete($added{$f}); }
-  @rem = sort keys %removed;
-  @add = sort keys %added;
+  my @rem = sort keys %removed;
+  my @add = sort keys %added;
   $ret{'removed'} = \@rem if @rem;
   $ret{'added'} = \@add if @add;
+
   return %ret;
 }
 
-#
-# compare_tlpdbs
-# return several hashes
-# @{$ret{'removed_packages'}} = list of removed packages from A to B
-# @{$ret{'added_packages'}} = list of added packages from A to B
-# $ret{'different_packages'}->{$package} = output of compare_tlpobjs
-#
+

+=item C<< compare_tlpdbs($tlpdbA, $tlpdbB, @more_ignored_pkgs) >>
+
+Compare the two passed L<TLPDB> objects, ignoring the packages
+C<00texlive.installer>, C<00texlive.image>, and any passed
+C<@more_ignore_pkgs>. Returns a hash:
+
+  $ret{'removed_packages'} = \[ list of removed packages from A to B ]
+  $ret{'added_packages'}   = \[ list of added packages from A to B ]
+  $ret{'different_packages'}->{$package} = output of compare_tlpobjs
+
+=cut
+
 sub compare_tlpdbs {
   my ($tlpdbA, $tlpdbB, @add_ignored_packs) = @_;
   my @ignored_packs = qw/00texlive.installer 00texlive.image/;
@@ -4658,9 +4669,9 @@
 
 =head1 SEE ALSO
 
-The modules L<TeXLive::TLConfig>, L<TeXLive::TLCrypto>,
-L<TeXLive::TLDownload>, L<TeXLive::TLWinGoo>, etc., and the
-documentation in the repository: C<Master/tlpkg/doc/>.
+The other modules in C<Master/tlpkg/TeXLive/> (L<TeXLive::TLConfig> and
+the rest), and the scripts in C<Master/tlpg/bin/> (especially
+C<tl-update-tlpdb>), the documentation in C<Master/tlpkg/doc/>, etc.
 
 =head1 AUTHORS AND COPYRIGHT
 

Modified: trunk/Master/tlpkg/bin/tl-update-containers
===================================================================
--- trunk/Master/tlpkg/bin/tl-update-containers	2019-12-05 19:14:32 UTC (rev 53031)
+++ trunk/Master/tlpkg/bin/tl-update-containers	2019-12-05 19:15:11 UTC (rev 53032)
@@ -66,7 +66,7 @@
   # check that we have a target db.
   if (! $opt_recreate && ! -r "$opt_location/tlpkg/texlive.tlpdb") {
     die "$0: Cannot load tlpdb from output directory $opt_location;\n"
-        . "  specify --recreate if you want to populate anew.\n";
+        . "  specify --recreate if you need to populate anew.\n";
   }
 
   # get source db, same hierarchy from which we are being run.



More information about the tex-live-commits mailing list