diff options
-rwxr-xr-x | Master/tlpkg/bin/tlpkginfo | 31 |
1 files changed, 15 insertions, 16 deletions
diff --git a/Master/tlpkg/bin/tlpkginfo b/Master/tlpkg/bin/tlpkginfo index a848cbc66bf..2f65d7b30ea 100755 --- a/Master/tlpkg/bin/tlpkginfo +++ b/Master/tlpkg/bin/tlpkginfo @@ -38,30 +38,29 @@ sub tlpkgrevision { # stdout: rev# exit code: 0 # (no newline on stdout) # - # tlpkginfo -revision <pkg> [...] + # tlpkginfo -revision <pkg> [ <tltree> ] require TeXLive::TLPOBJ; require TeXLive::TLPDB; - shift @ARGV; # the --revision option - die "need at least one pkg name as argument" if (@ARGV < 1); - my $root = "$mydir/../.."; + die "need at least pkg name as argument!" if ($#ARGV < 1); + if ($#ARGV == 2) { + $root = $ARGV[2]; + } else { + $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\n"; + print "-1"; 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"; - } + 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); } - exit $bad; + print $pkg->revision; + exit(0); } |