Bug #53769 MEB: Innobackup script throws warning for Perl version

Submitted: 18 May 2010 23:11 Modified: 19 Jun 2010 9:51
Reporter: Chuck Bell Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Enterprise Backup Severity:S3 (Non-critical)
Version:1.5.2 OS:Any
Assigned to: Satya B CPU Architecture:Any

[18 May 2010 23:11] Chuck Bell
Description:
The script innobackup throws a warning on later versions of Perl.

Chucks-MacBook-Pro:Downloads Chuck$ ./innobackup-1.5.2 
Version string '' contains invalid data; ignoring: '' at ./innobackup-1.5.2 line 1273.

How to repeat:
Run innobackup.

Suggested fix:
Change the Perl version detection to recognize when the version string is a string versus a number as in earlier releases of Perl.
[20 May 2010 14:49] Chuck Bell
There is another problem with this portion of the code. It does not handle Perl versions with more than a single digit in the version parts. For example, 5.8.5 is fine but 5.10.11 will print out garbage instead of 10 and 11. I will fix this as well.
[29 May 2010 19:30] Chuck Bell
It has been discussed and decided each tool shall display its version number and the MEB version number it is associated with. For example:

./ibbackup --version

ibbackup X.Y.Z MySQL Enterprise A.B.C

./innobackup --version

innobackup X.Y.Z MySQL Enterprise A.B.C

Where A,B,C | X,Y.Z are major, minor, and bug release values (or their equivalent). Build numbers shall not be included.
[29 May 2010 19:46] Chuck Bell
It has been discussed and decided each tool shall display its version number and the MEB version number it is associated with. For example:

./ibbackup --version

ibbackup X.Y.Z MySQL Enterprise A.B.C

./innobackup --version

innobackup X.Y.Z MySQL Enterprise A.B.C

Where A,B,C | X,Y.Z are major, minor, and bug release values (or their equivalent). Build numbers shall not be included.
[2 Jun 2010 9:59] Ingo Strüwing
Approved with some whining about ignored review comments.
[2 Jun 2010 14:37] Satya B
patch queued to svn+ssh://nbodapati@bk-internal.mysql.com/svnroot/innodb-innobackup/branches/1.5
[9 Jun 2010 4:56] Satya B
This is the patch:

Index: innobackup
===================================================================
--- innobackup  (revision 82)
+++ innobackup  (revision 89)
@@ -15,12 +15,12 @@

 # version of this script
-my $innobackup_version = '1.5.2';
+my $innobackup_version = '1.5.3';

 # copyright notice
 my $copyright_notice =
-"InnoDB Backup Utility v${innobackup_version}; Copyright 2003, 2009 Innobase Oy.
-All Rights Reserved.
+"InnoDB Backup Utility v${innobackup_version}
+Copyright (c) 2003, 2010, Oracle and/or its affiliates. All Rights Reserved.

 This software is published under
 the GNU GENERAL PUBLIC LICENSE Version 2, June 1991.
@@ -1260,24 +1260,14 @@
     # check the version of the perl we are running
     if (!defined $^V) {
         # this perl is prior to 5.6.0 and uses old style version string
+        # Since we are checking for 5.6.0 first, this is sufficient
+        # for checking for minimum required perl version 5.0.5
         my $required_version = $required_perl_version_old_style;
         if ($] lt $required_version) {
             print "$prefix Warning: " .
                 "Your perl is too old! Innobackup requires\n";
             print "$prefix Warning: perl $required_version or newer!\n";
         }
-    } else {
-        $perl_version = chr($required_perl_version[0])
-            . chr($required_perl_version[1])
-            . chr($required_perl_version[2]);
-        if ($^V lt $perl_version) {
-            my $version = chr(48 + $required_perl_version[0])
-                . "." . chr(48 + $required_perl_version[1])
-                . "." . chr(48 + $required_perl_version[2]);
-            print "$prefix Warning: " .
-                "Your perl is too old! Innobackup requires\n";
-            print "$prefix Warning: perl $version or newer!\n";
-        }
     }

Portions of this website are copyright © 2001, 2002 The PHP Group

Page generated in 0.057 sec. using MySQL 8.4.7-u6-cloud

Timestamp references displayed by the system are UTC.
Content reproduced on this site is the property of the respective copyright holders.
It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.