Bug #70512 Windows source installation fails in trying to use /etc
Submitted: 3 Oct 2013 17:08 Modified: 5 Dec 2013 21:02
Reporter: Todd Farmer (OCA) Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Fabric Severity:S2 (Serious)
Version:1.4.0 OS:Microsoft Windows
Assigned to: Alfranio Tavares Correia Junior CPU Architecture:Any

[3 Oct 2013 17:08] Todd Farmer
Description:
When installing MySQL Fabric from source on Windows (only option available to Windows users currently), setup.py fails:

running install_data
Traceback (most recent call last):
  File "setup.py", line 395, in <module>
    setup(**ARGS)
  File "c:\Python27\lib\distutils\core.py", line 152, in setup
    dist.run_commands()
  File "c:\Python27\lib\distutils\dist.py", line 953, in run_commands
    self.run_command(cmd)
  File "c:\Python27\lib\distutils\dist.py", line 972, in run_command
    cmd_obj.run()
  File "setup.py", line 121, in run
    _install.run(self)
  File "c:\Python27\lib\distutils\command\install.py", line 575, in run
    self.run_command(cmd_name)
  File "c:\Python27\lib\distutils\cmd.py", line 326, in run_command
    self.distribution.run_command(command)
  File "c:\Python27\lib\distutils\dist.py", line 972, in run_command
    cmd_obj.run()
  File "setup.py", line 378, in run
    _install_data.run(self)
  File "c:\Python27\lib\distutils\command\install_data.py", line 58, in run
    dir = convert_path(f[0])
  File "c:\Python27\lib\distutils\util.py", line 124, in convert_path
    raise ValueError, "path '%s' cannot be absolute" % pathname
ValueError: path '/etc\mysql' cannot be absolute

How to repeat:
Try to run setup.py install on Windows using source package obtained from labs.mysql.com.

Suggested fix:
Problem appears to be caused by line 330 in setup.py (comments mine):

        if os.name == 'posix' and install_dir in ('/', '/usr'):
            install_sysconfdir = '/etc'
        else:
            install_sysconfdir = os.path.join(install_dir, 'etc')
        # fix on Windows requires the following line commented out:
        # install_sysconfdir = '/etc'
[7 Oct 2013 12:38] Mats Kindahl
Posted by developer:
 
Thank you for the bug report. Agree that it should be possible to install MySQL Fabric source on Windows so this needs to be fixed.
[5 Dec 2013 21:02] Philip Olson
Fixed as of the upcoming MySQL Utilities 1.4.1 release, and here's the changelog entry:

On Microsoft Windows, attempting install Fabric from source by executing
"setup.py" would fail, as it required a "/etc" directory.

Thank you for the bug report.
[5 Dec 2013 21:25] Philip Olson
Update: This is not specific to Fabric (1.4.x) and also affects the 1.3.x branch. Therefore, the 1.3.6/1.4.1 entry reads as:

On Microsoft Windows, attempting to install the MySQL Utilities from source would
fail, as "setup.py" required a "/etc" directory.