diff options
author | Karl Berry <karl@freefriends.org> | 2021-05-26 20:03:44 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2021-05-26 20:03:44 +0000 |
commit | 8d1fa48748e36b37a06fc39b09607159e1586f90 (patch) | |
tree | b7a1d66e9903af87a5c8ba30f0b0062b55473e9e /Master/tlpkg/bin | |
parent | e640388bf9987e44c8dec30ce5654e8870070773 (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-x | Master/tlpkg/bin/tlpkginfo | 31 |
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; } |