From 8d1fa48748e36b37a06fc39b09607159e1586f90 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Wed, 26 May 2021 20:03:44 +0000 Subject: huawei (26may21) git-svn-id: svn://tug.org/texlive/trunk@59357 c570f23f-e606-0410-a88d-b1316a301751 --- Master/tlpkg/bin/tlpkginfo | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) (limited to 'Master/tlpkg/bin') 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 [ ] + # tlpkginfo -revision [...] 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; } -- cgit v1.2.3