texlive[73493] trunk: doc

commits+karl at tug.org commits+karl at tug.org
Fri Jan 17 23:28:29 CET 2025


Revision: 73493
          https://tug.org/svn/texlive?view=revision&revision=73493
Author:   karl
Date:     2025-01-17 23:28:29 +0100 (Fri, 17 Jan 2025)
Log Message:
-----------
doc

Modified Paths:
--------------
    trunk/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl
    trunk/Master/texmf-dist/scripts/texlive/NEWS
    trunk/Master/texmf-dist/scripts/texlive/tlmgr.pl
    trunk/Master/tlpkg/bin/c2a
    trunk/Master/tlpkg/gpg/tl-key-extension.txt

Modified: trunk/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl
===================================================================
--- trunk/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl	2025-01-17 20:20:31 UTC (rev 73492)
+++ trunk/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl	2025-01-17 22:28:29 UTC (rev 73493)
@@ -1,5 +1,5 @@
 #!/usr/bin/env perl
-# $Id: tlmgr.pl 73459 2025-01-15 04:24:52Z preining $
+# $Id: tlmgr.pl 73476 2025-01-16 02:10:58Z preining $
 # Copyright 2008-2024 Norbert Preining
 # This file is licensed under the GNU General Public License version 2
 # or any later version.
@@ -8,8 +8,8 @@
 
 use strict; use warnings;
 
-my $svnrev = '$Revision: 73459 $';
-my $datrev = '$Date: 2025-01-15 05:24:52 +0100 (Wed, 15 Jan 2025) $';
+my $svnrev = '$Revision: 73476 $';
+my $datrev = '$Date: 2025-01-16 03:10:58 +0100 (Thu, 16 Jan 2025) $';
 my $tlmgrrevision;
 my $tlmgrversion;
 my $prg;
@@ -1801,11 +1801,12 @@
   }
   print "[" if ($fmt eq "json");
   my $first = 1;
+  my $nr_of_pkgs = $#whattolist + 1;
   foreach my $ppp (@whattolist) {
     next if ($ppp =~ m/^00texlive\./);
     print "," if ($fmt eq "json" && !$first);
     $first = 0;
-    $ret |= show_one_package($ppp, $fmt, @adds);
+    $ret |= show_one_package($ppp, $fmt, $nr_of_pkgs, @adds);
   }
   print "]\n" if ($fmt eq "json");
   if ($opts{'debug-json-timing'}) {
@@ -4052,16 +4053,16 @@
 }
 
 sub show_one_package {
-  my ($pkg, $fmt, @rest) = @_;
+  my ($pkg, $fmt, $total_nr_of_pkgs, @rest) = @_;
   my $ret;
   if ($fmt eq "list") {
-    $ret = show_one_package_list($pkg, @rest);
+    $ret = show_one_package_list($pkg, $total_nr_of_pkgs, @rest);
   } elsif ($fmt eq "detail") {
-    $ret = show_one_package_detail($pkg, @rest);
+    $ret = show_one_package_detail($pkg, $total_nr_of_pkgs, @rest);
   } elsif ($fmt eq "csv") {
-    $ret = show_one_package_csv($pkg, @rest);
+    $ret = show_one_package_csv($pkg, $total_nr_of_pkgs, @rest);
   } elsif ($fmt eq "json") {
-    $ret = show_one_package_json($pkg);
+    $ret = show_one_package_json($pkg, $total_nr_of_pkgs);
   } else {
     tlwarn("$prg: show_one_package: unknown format: $fmt\n");
     return($F_ERROR);
@@ -4070,7 +4071,7 @@
 }
 
 sub show_one_package_json {
-  my ($p) = @_;
+  my ($p, $total_nr_of_pkgs) = @_;
   my @out;
   my $loctlp = $localtlpdb->get_package($p);
   my $remtlp = $remotetlpdb->get_package($p);
@@ -4099,7 +4100,7 @@
 
 
 sub show_one_package_csv {
-  my ($p, @datafields) = @_;
+  my ($p, $total_nr_of_pkgs, @datafields) = @_;
   my @out;
   my $loctlp = $localtlpdb->get_package($p);
   my $remtlp = $remotetlpdb->get_package($p) unless ($opts{'only-installed'});
@@ -4191,7 +4192,7 @@
 }
 
 sub show_one_package_list {
-  my ($p, @rest) = @_;
+  my ($p, $total_nr_of_pkgs, @rest) = @_;
   my @out;
   my $loctlp = $localtlpdb->get_package($p);
   my $remtlp = $remotetlpdb->get_package($p) unless ($opts{'only-installed'});
@@ -4268,7 +4269,7 @@
 }
 
 sub show_one_package_detail {
-  my ($ppp, @rest) = @_;
+  my ($ppp, $total_nr_of_pkgs, @rest) = @_;
   my $ret = $F_OK;
   my ($pkg, $tag) = split ('@', $ppp, 2);
   my $tlpdb = $localtlpdb;
@@ -4370,7 +4371,7 @@
     }
   }
   if ($opts{"only-files"}) {
-    print "$pkg\n";
+    print "$pkg\n" if ($total_nr_of_pkgs > 1);
     return show_one_package_detail3($tlpdb, $pkg, $tlp, $source_found, $installed, 1, @colls);
   } else {
     return show_one_package_detail2($tlpdb, $pkg, $tlp, $source_found, $installed, 0, @colls);
@@ -4509,10 +4510,12 @@
       print "doc files:\n" if (!$silent);
       for my $f (sort $foo->docfiles) {
         print "  $f";
-        my $dfd = $foo->docfiledata;
-        if (defined($dfd->{$f})) {
-          for my $k (keys %{$dfd->{$f}}) {
-            print " $k=\"", $dfd->{$f}->{$k}, '"';
+        if (!$silent) {
+          my $dfd = $foo->docfiledata;
+          if (defined($dfd->{$f})) {
+            for my $k (keys %{$dfd->{$f}}) {
+              print " $k=\"", $dfd->{$f}->{$k}, '"';
+            }
           }
         }
         print "\n";
@@ -10615,7 +10618,7 @@
 distribution (L<https://tug.org/texlive>) and both are licensed under the
 GNU General Public License Version 2 or later.
 
-$Id: tlmgr.pl 73459 2025-01-15 04:24:52Z preining $
+$Id: tlmgr.pl 73476 2025-01-16 02:10:58Z preining $
 =cut
 
 # test HTML version: pod2html --cachedir=/tmp tlmgr.pl >/tmp/tlmgr.html

Modified: trunk/Master/texmf-dist/scripts/texlive/NEWS
===================================================================
--- trunk/Master/texmf-dist/scripts/texlive/NEWS	2025-01-17 20:20:31 UTC (rev 73492)
+++ trunk/Master/texmf-dist/scripts/texlive/NEWS	2025-01-17 22:28:29 UTC (rev 73493)
@@ -1,6 +1,9 @@
 (This file public domain.  Originally written by Norbert Preining and
 Karl Berry, 2010.)
 
+<p><b>tlmgr 73493 (released 17jan25):</b>
+<li>new option --only-files for tlmgr info to just report files of a package.
+
 <p><b>TLUtils.pm 71593 (released 23jun24):</b>
 <li>typo caused tlmgr install --file to fail.
 

Modified: trunk/Master/texmf-dist/scripts/texlive/tlmgr.pl
===================================================================
--- trunk/Master/texmf-dist/scripts/texlive/tlmgr.pl	2025-01-17 20:20:31 UTC (rev 73492)
+++ trunk/Master/texmf-dist/scripts/texlive/tlmgr.pl	2025-01-17 22:28:29 UTC (rev 73493)
@@ -8843,7 +8843,8 @@
 =item B<--only-files>
 
 If this option is given, only the files for a given package are listed,
-no further information.
+no further information. If more than one package name is given, each
+file list is preceded by the package name.
 
 =item B<--only-installed>
 

Modified: trunk/Master/tlpkg/bin/c2a
===================================================================
--- trunk/Master/tlpkg/bin/c2a	2025-01-17 20:20:31 UTC (rev 73492)
+++ trunk/Master/tlpkg/bin/c2a	2025-01-17 22:28:29 UTC (rev 73493)
@@ -43,9 +43,9 @@
   my @lines;
   ($status, at 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;

Modified: trunk/Master/tlpkg/gpg/tl-key-extension.txt
===================================================================
--- trunk/Master/tlpkg/gpg/tl-key-extension.txt	2025-01-17 20:20:31 UTC (rev 73492)
+++ trunk/Master/tlpkg/gpg/tl-key-extension.txt	2025-01-17 22:28:29 UTC (rev 73493)
@@ -24,7 +24,6 @@
 gpg -a --export $KEYID > texlive.asc
 
 # update USB drive with new stuff, remove from home,
-
 rm -rf $GNUPGHOME
 unset GNUPGHOME
 
@@ -31,7 +30,7 @@
 # send keys
 # make sure that .gnupg/dirmngr.conf does NOT contain hkp-cacert lines!!!
 
-# upload to keyserver
+# upload to keyservers. No other good key servers currently known.
 keyservers=(
   "hkps://keys.openpgp.org/"
   "hkps://keyserver.ubuntu.com/"
@@ -40,12 +39,15 @@
   gpg --send-key --keyserver $ks $KEYID
 done
 
+## upload to keys.openpgp.org:
+#gpg --export $KEYID | curl -T - https://keys.openpgp.org
+## this will give an URL to associate key with email, visit it!
 
-# old, not needed?
-# # upload to keys.openpgp.org:
-# gpg --export $KEYID | curl -T - https://keys.openpgp.org
-# # this will give an URL to associate key with email, visit it!
+# to check if it's there:
+gpg --list-key --keyserver hkp://keyserver.ubuntu.com:80 tex-live
 
+# The new GPG servers strip signatures due to signature poisoning
+# attacks, so we tell people to download the key from our web site.
 
 # update TeX Live repository
 export GNUPGHOME=/home/texlive/Master/tlpkg/gpg # wherever svn checkout
@@ -54,10 +56,11 @@
 
 svn commit
 
-
-# on the TUG server (needs the exported public key in
-# texlive.asc, see above how to export it)
-# NOTE: this needs to be done with the correct owner of the .gnupg directory
+# 

+# On the TUG server. Get the exported public key in
+#   texlive.asc, see above how to export it.
+# This needs to be done with the owner of the .gnupg directory,
+#   since group access is disallowed by gpg.
 gpg --homedir /home/texlive/.gnupg --import texlive.asc
 
 # can view that .asc with:
@@ -67,7 +70,14 @@
 cp texlive.asc ~www/texlive/files/texlive`date +%Y`.asc
 ln -s texlive`date +%Y`.asc ~www/texlive/files/texlive.asc
 
-More info: 
+# update key example on web page, as in:
+cd /home/httpd/html/texlive/
+co -l verify.html
+$EDITOR !$
+ci -u -m"`date +%Y` key update"
+
+
+
 General info: 
 . tlgpg runs a gpg command with the above TL .gnupg directory, etc.
 
 . tl-sign-file (uses tlgpg) is used to sign texlive.tlpdb.sha512.



More information about the tex-live-commits mailing list.