[Distutils] some small bugs

Greg Ward gward@python.net
Thu Aug 31 21:44:01 2000


On 30 August 2000, Thomas Heller said:
> Thanks for finding this (and for looking at bdist_wininst at all).
> I've applied your patches to my version of bdist_wininst, with one
> exception: The ini-data is no longer written to a separate file at all,
> this was more or less for debugging.

One comment on this patch, for either Rene or Thomas (whoever wrote the code
in question).

>       def run (self):
> +         if (sys.platform <> "win32" and
> +             ( self.distribution.has_ext_modules()
> +               or self.distribution.has_c_libraries()
> +               or self.distribution.has_scripts())):
                                       ^^^^^^^^^^^
Why blow up if trying to build a script-ful distribution for Windows
under (say) Unix?  Yeah, sure, we'll be doing unnecessary work in setting
the #! line to point to /usr/bin/python (or whatever), but I don't
see any Windows-specific code in build_scripts.py.

> +             raise DistutilsPlatformError (
> +                 # first line is shorter because it is
> +                 # preceeded by the exception class
> +                 """*** If your module contains compiled
> + extensions, you have to build the win32 installer on a win32 platform.""")

Please, no newlines in exception messages: however you handle this is a
crock, but the crock used throughout the Distutils is to assume that
someday, some clever tool will nicely reformat those run-on exception
messages.

Also, the "***" doesn't add anything: the fact that the script blows up with
an error message should be attention-getting enough.

OK, I'll check it in without the ban on script-ful distributions, and with
the exception-raising code rewritten.

        Greg