Code

- fix mailgw list of methods -- use getattr so that a derived class will
[roundup.git] / setup.py
index 68e72195d38df26942c3e945f0ca90634da75a86..8fe03db6e38a8a163c7d92e1d990ecf15e61d512 100644 (file)
--- a/setup.py
+++ b/setup.py
@@ -23,6 +23,7 @@ from roundup.dist.command.build_scripts import build_scripts
 from roundup.dist.command.build_py import build_py
 from roundup.dist.command.build import build, list_message_files
 from roundup.dist.command.bdist_rpm import bdist_rpm
+from roundup.dist.command.install_lib import install_lib
 from distutils.core import setup
 
 import sys, os
@@ -94,83 +95,28 @@ 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",
           author_email="richard@users.sourceforge.net",
-        'description': "A simple-to-use and -install issue-tracking system"
+          description="A simple-to-use and -install issue-tracking system"
             " with command-line, web and e-mail interfaces. Highly"
             " customisable.",
-        'long_description':
-'''In this release
-===============
-
-1.4.7 is primarily a bugfix release which contains important security
-fixes:
-
-- a number of security issues were discovered by Daniel Diniz
-- EditCSV and ExportCSV altered to include permission checks
-- HTTP POST required on actions which alter data
-- HTML file uploads served as application/octet-stream
-- Handle Unauthorised in file serving correctly
-- New item action reject creation of new users
-- Item retirement was not being controlled
-- Roundup is now compatible with Python 2.6
-- Improved French and German translations
-- Improve consistency of item sorting in HTML interface
-- Various other small bug fixes, robustification and optimisation
-
-Though some new features made it in also:
-
-- Provide a "no selection" option in web interface selection widgets
-- Debug logging now uses the logging module rather than print
-- Allow CGI frontend to serve XMLRPC requests.
-- Added XMLRPC actions, as well as bridging CGI actions to XMLRPC actions.
-- Optimized large file serving via mod_python / sendfile().
-- Support resuming downloads for (large) files.
-
-If you're upgrading from an older version of Roundup you *must* follow
-the "Software Upgrade" guidelines given in the maintenance documentation.
-
-Roundup requires python 2.3 or later for correct operation.
-
-To give Roundup a try, just download (see below), unpack and run::
-
-    roundup-demo
-
-Documentation is available at the website:
-     http://roundup.sourceforge.net/
-Mailing lists - the place to ask questions:
-     http://sourceforge.net/mail/?group_id=31577
-
-About Roundup
-=============
-
-Roundup is a simple-to-use and -install issue-tracking system with
-command-line, web and e-mail interfaces. It is based on the winning design
-from Ka-Ping Yee in the Software Carpentry "Track" design competition.
-
-Note: Ping is not responsible for this project. The contact for this
-project is richard@users.sourceforge.net.
-
-Roundup manages a number of issues (with flexible properties such as
-"description", "priority", and so on) and provides the ability to:
-
-(a) submit new issues,
-(b) find and edit existing issues, and
-(c) discuss issues with other participants.
-
-The system will facilitate communication among the participants by managing
-discussions and notifying interested parties when issues are edited. One of
-the major design goals for Roundup that it be simple to get going. Roundup
-is therefore usable "out of the box" with any python 2.3+ installation. It
-doesn't even need to be "installed" to be operational, though a
-disutils-based install script is provided.
-
-It comes with two issue tracker templates (a classic bug/feature tracker and
-a minimal skeleton) and five database back-ends (anydbm, sqlite, metakit,
-mysql and postgresql).
-''',
+          long_description=long_description,
           url='http://www.roundup-tracker.org',
           download_url='http://pypi.python.org/pypi/roundup',
           classifiers=['Development Status :: 5 - Production/Stable',
@@ -195,6 +141,7 @@ mysql and postgresql).
                      'build_py': build_py,
                      'build': build,
                      'bdist_rpm': bdist_rpm,
+                     'install_lib': install_lib,
                      },
           packages=packages,
           py_modules=py_modules,