Code

Rephrased the introduction to make sure that mentioned names are the committers.
[roundup.git] / setup.py
index 5908f9730961545f63d7e5062c71db6a44db3211..1d41f79602f4fd34d0890e4ec5be55cd1420f319 100644 (file)
--- a/setup.py
+++ b/setup.py
@@ -94,6 +94,20 @@ def main():
     # 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",
@@ -101,7 +115,7 @@ def main():
           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',