summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xMaster/tlpkg/bin/tlpkginfo31
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);
}