[issue5731] bdist_wininst no longer works on non-Windows platforms

Paul Moore report at bugs.python.org
Thu Apr 9 22:51:24 CEST 2009


New submission from Paul Moore <p.f.moore at gmail.com>:

In revision 62197, Mon Apr 7 01:53:39 2008 UTC, Mark Hammond added code
to Lib/distutils/command/bdist_wininst.py which was intended to select
an architecture-specific installer executable.

In doing so, the code appears to have broken the ability to build
installers on non-Windows platforms.

The current code is

if self.plat_name == 'win32':
    sfix = ''
else:
    sfix = self.plat_name[3:] # strip 'win' - leaves eg '-amd64'
filename = os.path.join(directory, "wininst-%.1f%s.exe" % (bv, sfix))
return open(filename, "rb").read()

This says "strip 'win'", but in practice strips the first 3 characters
from any plat_name other than win32.

I've attached an untested patch to fix this, by setting sfix to '' if
self.plat_name doesn't start with 'win'.

----------
assignee: tarek
components: Distutils
files: bdist_wininst.patch
keywords: patch
messages: 85825
nosy: mhammond, pmoore, tarek
priority: normal
severity: normal
status: open
title: bdist_wininst no longer works on non-Windows platforms
type: behavior
versions: Python 2.6
Added file: http://bugs.python.org/file13666/bdist_wininst.patch

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue5731>
_______________________________________


More information about the Python-bugs-list mailing list