texlive[45838] Master/texmf-dist/scripts/texlive/tlmgr.pl: version

commits+preining at tug.org commits+preining at tug.org
Fri Nov 17 03:13:42 CET 2017


Revision: 45838
          http://tug.org/svn/texlive?view=revision&revision=45838
Author:   preining
Date:     2017-11-17 03:13:42 +0100 (Fri, 17 Nov 2017)
Log Message:
-----------
version printing in machine readable format

Modified Paths:
--------------
    trunk/Master/texmf-dist/scripts/texlive/tlmgr.pl

Modified: trunk/Master/texmf-dist/scripts/texlive/tlmgr.pl
===================================================================
--- trunk/Master/texmf-dist/scripts/texlive/tlmgr.pl	2017-11-17 01:29:05 UTC (rev 45837)
+++ trunk/Master/texmf-dist/scripts/texlive/tlmgr.pl	2017-11-17 02:13:42 UTC (rev 45838)
@@ -9,6 +9,7 @@
 my $svnrev = '$Revision$';
 my $datrev = '$Date$';
 my $tlmgrrevision;
+my $tlmgrversion;
 my $prg;
 if ($svnrev =~ m/: ([0-9]+) /) {
   $tlmgrrevision = $1;
@@ -17,7 +18,7 @@
 }
 $datrev =~ s/^.*Date: //;
 $datrev =~ s/ \(.*$//;
-$tlmgrrevision .= " ($datrev)";
+$tlmgrversion = "$tlmgrrevision ($datrev)";
 
 our $Master;
 our $ismain;
@@ -522,7 +523,7 @@
       } else {
         # give a short message about usage
         print "
-tlmgr revision $tlmgrrevision
+tlmgr revision $tlmgrversion
 usage: tlmgr  OPTION...  ACTION  ARGUMENT...
 where ACTION is one of:\n";
         for my $k (sort keys %action_specification) {
@@ -666,29 +667,45 @@
 sub give_version {
   if (!defined($::version_string)) {
     $::version_string = "";
-    $::version_string .= "tlmgr revision $tlmgrrevision\n";
+    $::mrversion = "";
+    $::version_string .= "tlmgr revision $tlmgrversion\n";
+    $::mrversion .= "revision $tlmgrrevision\n";
     $::version_string .= "tlmgr using installation: $Master\n";
+    $::mrversion .= "installation $Master\n";
     if (open (REL_TL, "$Master/release-texlive.txt")) {
-      # print first and last lines, which have the TL version info.
-      my @rel_tl = <REL_TL>;
-      $::version_string .= $rel_tl[0];
-      $::version_string .= $rel_tl[$#rel_tl];
+      # print first, which has the TL version info.
+      my $rel_tl = <REL_TL>;
+      $::version_string .= $rel_tl;
+      # for machine readable we only want the last word which is the version
+      my @foo = split(' ', $rel_tl);
+      $::mrversion .= "tlversion $foo[$#foo]\n";
       close (REL_TL);
     }
+    #
+    # add the list of revisions
+    if ($::opt_verbosity > 0) {
+      $::version_string .= "Revisions of TeXLive:: modules:";
+      $::version_string .= "\nTLConfig: " . TeXLive::TLConfig->module_revision();
+      $::version_string .= "\nTLUtils:  " . TeXLive::TLUtils->module_revision();
+      $::version_string .= "\nTLPOBJ:   " . TeXLive::TLPOBJ->module_revision();
+      $::version_string .= "\nTLPDB:    " . TeXLive::TLPDB->module_revision();
+      $::version_string .= "\nTLPaper:  " . TeXLive::TLPaper->module_revision();
+      $::version_string .= "\nTLWinGoo: " . TeXLive::TLWinGoo->module_revision();
+      $::version_string .= "\n";
+    }
+    $::mrversion      .= "TLConfig "   . TeXLive::TLConfig->module_revision();
+    $::mrversion      .= "\nTLUtils "  . TeXLive::TLUtils->module_revision();
+    $::mrversion      .= "\nTLPOBJ "   . TeXLive::TLPOBJ->module_revision();
+    $::mrversion      .= "\nTLPDB "    . TeXLive::TLPDB->module_revision();
+    $::mrversion      .= "\nTLPaper "  . TeXLive::TLPaper->module_revision();
+    $::mrversion      .= "\nTLWinGoo " . TeXLive::TLWinGoo->module_revision();
+    $::mrversion      .= "\n";
   }
-  #
-  # add the list of revisions
-  if ($::opt_verbosity > 0) {
-    $::version_string .= "Revisions of TeXLive:: modules:";
-    $::version_string .= "\nTLConfig: " . TeXLive::TLConfig->module_revision();
-    $::version_string .= "\nTLUtils:  " . TeXLive::TLUtils->module_revision();
-    $::version_string .= "\nTLPOBJ:   " . TeXLive::TLPOBJ->module_revision();
-    $::version_string .= "\nTLPDB:    " . TeXLive::TLPDB->module_revision();
-    $::version_string .= "\nTLPaper:  " . TeXLive::TLPaper->module_revision();
-    $::version_string .= "\nTLWinGoo: " . TeXLive::TLWinGoo->module_revision();
-    $::version_string .= "\n";
+  if ($::machinereadable) {
+    return $::mrversion;
+  } else {
+    return $::version_string;
   }
-  return $::version_string;
 }
 
 

@@ -6232,7 +6249,7 @@
     } elsif ($cmd eq "help") {
       print "Please see tlmgr help or http://tug.org/texlive/tlmgr.html.\n";
     } elsif ($cmd eq "version") {
-      print give_version(), "\n";
+      print give_version();
     } elsif ($cmd =~ m/^(quit|end|bye(bye)?)$/i) {
       return $F_OK;
     } elsif ($cmd eq "setup-location") {



More information about the tex-live-commits mailing list