summaryrefslogtreecommitdiff
path: root/Master/tlpkg/bin
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2021-05-26 20:03:44 +0000
committerKarl Berry <karl@freefriends.org>2021-05-26 20:03:44 +0000
commit8d1fa48748e36b37a06fc39b09607159e1586f90 (patch)
treeb7a1d66e9903af87a5c8ba30f0b0062b55473e9e /Master/tlpkg/bin
parente640388bf9987e44c8dec30ce5654e8870070773 (diff)
huawei (26may21)
git-svn-id: svn://tug.org/texlive/trunk@59357 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/tlpkg/bin')
-rwxr-xr-xMaster/tlpkg/bin/tlpkginfo31
1 files changed, 16 insertions, 15 deletions
diff --git a/Master/tlpkg/bin/tlpkginfo b/Master/tlpkg/bin/tlpkginfo
index 2f65d7b30ea..a848cbc66bf 100755
--- a/Master/tlpkg/bin/tlpkginfo
+++ b/Master/tlpkg/bin/tlpkginfo
@@ -38,29 +38,30 @@ sub tlpkgrevision {
# stdout: rev# exit code: 0
# (no newline on stdout)
#
- # tlpkginfo -revision <pkg> [ <tltree> ]
+ # tlpkginfo -revision <pkg> [...]
require TeXLive::TLPOBJ;
require TeXLive::TLPDB;
- die "need at least pkg name as argument!" if ($#ARGV < 1);
- if ($#ARGV == 2) {
- $root = $ARGV[2];
- } else {
- $root = "$mydir/../..";
- }
+ shift @ARGV; # the --revision option
+ die "need at least one pkg name as argument" if (@ARGV < 1);
+ my $root = "$mydir/../..";
my $tlpdb = TeXLive::TLPDB->new ("root" => $root);
if (!defined($tlpdb)) {
printf STDERR "$0: Cannot find tlpdb in TL root dir $root\n";
- print "-1";
+ print "-1\n";
exit(1);
}
- my $pkg = $tlpdb->get_package($ARGV[1]);
- if (!defined($pkg)) {
- printf STDERR "Cannot find package $ARGV[1] in TL tree of $root\n";
- print "0";
- exit(1);
+ my $bad = 0;
+ for my $pkgname (@ARGV) {
+ my $pkg = $tlpdb->get_package($pkgname);
+ if (!defined($pkg)) {
+ warn "$0: cannot find package in TL tree $root: $pkgname\n";
+ $bad = 1;
+ } else {
+ print "$pkgname " if (@ARGV > 1); # if more than one arg, print name
+ print $pkg->revision, "\n";
+ }
}
- print $pkg->revision;
- exit(0);
+ exit $bad;
}