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.