diff --git a/setup.py b/setup.py
index 5908f9730961545f63d7e5062c71db6a44db3211..1d41f79602f4fd34d0890e4ec5be55cd1420f319 100644 (file)
--- a/setup.py
+++ b/setup.py
# perform the setup action
from roundup import __version__
+ # long_description may not contain non-ascii characters. Distutils
+ # will produce an non-installable installer on linux *and* we can't
+ # run the bdist_wininst on Linux if there are non-ascii characters
+ # because the distutils installer will try to use the mbcs codec
+ # which isn't available on non-windows platforms. See also
+ # http://bugs.python.org/issue10945
+ long_description=open('doc/announcement.txt').read().decode('utf8')
+ try:
+ long_description = long_description.encode('ascii')
+ except UnicodeEncodeError, cause:
+ print >> sys.stderr, "doc/announcement.txt contains non-ascii: %s" \
+ % cause
+ sys.exit(42)
+
setup(name='roundup',
version=__version__,
author="Richard Jones",
description="A simple-to-use and -install issue-tracking system"
" with command-line, web and e-mail interfaces. Highly"
" customisable.",
- long_description=open('doc/announcement.txt').read(),
+ long_description=long_description,
url='http://www.roundup-tracker.org',
download_url='http://pypi.python.org/pypi/roundup',
classifiers=['Development Status :: 5 - Production/Stable',