Package: mysql-utilities
Version: 1.0.5-1
Severity: normal
File: /usr/share/pyshared/mysql/utilities/common/server.py

Dear Maintainer,

There's a problem with the version-check for the mysql-utilities
including, at least, mysqlcopydb.

If you try to copy a database from an old mysql server you'll get an
error traceback like:

Traceback (most recent call last):
  File "/usr/bin/mysqldbcopy", line 203, in <module>
    dbcopy.copy_db(source_values, dest_values, db_list, options)
  File "/usr/lib/python2.7/dist-packages/mysql/utilities/command/dbcopy.py", 
line 216, in copy_db
    servers = connect_servers(src_val, dest_val, conn_options)
  File "/usr/lib/python2.7/dist-packages/mysql/utilities/common/server.py", 
line 333, in connect_servers
    (source.name, version))
AttributeError: 'Server' object has no attribute 'name'

instead of the intended error message:

# Source on old-server: ... connected.
ERROR: The Source version is incompatible. Utility requires version 5.1.30 or 
higher.

See:

http://bugs.mysql.com/bug.php?id=67512

patch:

--- /usr/share/pyshared/mysql/utilities/common/server.py        2014-10-21 
22:29:24.364664060 -0500
+++ server.py.orig      2014-10-21 22:24:42.512529443 -0500
@@ -330,7 +330,7 @@
     if not _require_version(source, version):
         raise UtilError("The %s version is incompatible. Utility "
                         "requires version %s or higher." %
-                        (src_name, version))
+                        (source.name, version))

     # If not cloning, connect to the destination server and check version
     if not cloning:
@@ -343,7 +343,7 @@
         if not _require_version(destination, version):
             raise UtilError("The %s version is incompatible. Utility "
                             "requires version %s or higher." %
-                            (dest_name, version))
+                            (destination.name, version))
     elif not quiet and dest_dict is not None and \
          not isinstance(dest_val, Server):
         _print_connection(dest_name, src_dict)

The patch should be attached, as well. 

-- System Information:
Debian Release: 7.7
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 3.2.0-4-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages mysql-utilities depends on:
ii  python                  2.7.3-4+deb7u1
ii  python-mysql.connector  0.3.2-1
ii  python2.6               2.6.8-1.1
ii  python2.7               2.7.3-6+deb7u2

mysql-utilities recommends no packages.

mysql-utilities suggests no packages.

-- no debconf information
--- /usr/share/pyshared/mysql/utilities/common/server.py	2014-10-21 22:29:24.364664060 -0500
+++ server.py.orig	2014-10-21 22:24:42.512529443 -0500
@@ -330,7 +330,7 @@
     if not _require_version(source, version):
         raise UtilError("The %s version is incompatible. Utility "
                         "requires version %s or higher." %
-                        (src_name, version))
+                        (source.name, version))
 
     # If not cloning, connect to the destination server and check version
     if not cloning:
@@ -343,7 +343,7 @@
         if not _require_version(destination, version):
             raise UtilError("The %s version is incompatible. Utility "
                             "requires version %s or higher." %
-                            (dest_name, version))
+                            (destination.name, version))
     elif not quiet and dest_dict is not None and \
          not isinstance(dest_val, Server):
         _print_connection(dest_name, src_dict)

Reply via email to