diff --git a/setup.py b/setup.py
index f1f247beb784d09ea8b88ac6594fb5a0adc91980..8fe03db6e38a8a163c7d92e1d990ecf15e61d512 100644 (file)
--- a/setup.py
+++ b/setup.py
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
'd' -- A directory
'e' -- A glob pattern"""
-
+
return (d, [f for f in glob('%s/%s'%(d, e)) if os.path.isfile(f)])
def scriptname(path):
# add the templates to the data files lists
from roundup.init import listTemplates
- templates = [t['path'] for t in listTemplates(os.path.join('share','roundup','templates')).values()]
+ templates = [t['path']
+ for t in listTemplates('share/roundup/templates').values()]
for tdir in templates:
for idir in '. detectors extensions html'.split():
data_files.append(include(os.path.join(tdir, idir), '*'))
# add message files
for (_dist_file, _mo_file) in list_message_files():
- data_files.append((os.path.dirname(_mo_file), [os.path.join("build", _mo_file)]))
+ data_files.append((os.path.dirname(_mo_file),
+ [os.path.join("build", _mo_file)]))
# add docs
- data_files.append(include(os.path.join('share', 'doc', 'roundup', 'html'), '*'))
+ data_files.append(include('share/doc/roundup/html', '*'))
# 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='Issue-tracking System.',
- long_description="""Roundup is a simple-to-use and -install issue-tracking system
-with command-line, web and e-mail interfaces. Highly customisable.""",
+ description="A simple-to-use and -install issue-tracking system"
+ " with command-line, web and e-mail interfaces. Highly"
+ " customisable.",
+ long_description=long_description,
url='http://www.roundup-tracker.org',
download_url='http://pypi.python.org/pypi/roundup',
classifiers=['Development Status :: 5 - Production/Stable',
'build_py': build_py,
'build': build,
'bdist_rpm': bdist_rpm,
+ 'install_lib': install_lib,
},
packages=packages,
py_modules=py_modules,