def main(): # template munching packages = [ 'roundup', 'roundup.anypy', 'roundup.cgi', 'roundup.cgi.PageTemplates', 'roundup.cgi.TAL', 'roundup.cgi.ZTUtils', 'roundup.backends', 'roundup.scripts', ] # build list of scripts from their implementation modules scripts = [scriptname(f) for f in glob('roundup/scripts/[!_]*.py')] data_files = [ ('share/roundup/cgi-bin', ['frontends/roundup.cgi']), ] # install man pages on POSIX platforms if os.name == 'posix': data_files.append(include('share/man/man1', '*')) # add the templates to the data files lists from roundup.init import listTemplates templates = [t['path'] for t in listTemplates('share/roundup/templates').values()] for tdir in templates: for idir in '. detectors extensions html html/layout static'.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)])) # add docs data_files.append(include('share/doc/roundup/html', '*')) data_files.append(include('share/doc/roundup/html/_images', '*')) data_files.append(include('share/doc/roundup/html/_sources', '*')) data_files.append(include('share/doc/roundup/html/_static', '*')) # 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() try: # attempt to interpret string as 'ascii' long_description = long_description.encode('ascii') except UnicodeEncodeError, cause: print >> sys.stderr, "doc/announcement.txt contains non-ascii: %s" \ % cause sys.exit(42)
def main(): # template munching packages = [ 'roundup', 'roundup.anypy', 'roundup.cgi', 'roundup.cgi.PageTemplates', 'roundup.cgi.TAL', 'roundup.cgi.ZTUtils', 'roundup.backends', 'roundup.scripts', ] # build list of scripts from their implementation modules scripts = [mapscript(f) for f in glob('roundup/scripts/[!_]*.py')] data_files = [ ('share/roundup/cgi-bin', ['frontends/roundup.cgi']), ] # install man pages on POSIX platforms if os.name == 'posix': data_files.append(include('share/man/man1', '*')) # add the templates to the data files lists from roundup.init import listTemplates templates = [ t['path'] for t in listTemplates('share/roundup/templates').values() ] for tdir in templates: for idir in '. detectors extensions html html/layout static'.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)])) # add docs data_files.append(include('share/doc/roundup/html', '*')) data_files.append(include('share/doc/roundup/html/_images', '*')) data_files.append(include('share/doc/roundup/html/_sources', '*')) data_files.append(include('share/doc/roundup/html/_static', '*')) # 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)
def main(): # template munching packages = [ "roundup", "roundup.anypy", "roundup.cgi", "roundup.cgi.PageTemplates", "roundup.cgi.TAL", "roundup.cgi.ZTUtils", "roundup.backends", "roundup.scripts", ] py_modules = ["roundup.demo"] # build list of scripts from their implementation modules scripts = [scriptname(f) for f in glob("roundup/scripts/[!_]*.py")] data_files = [("share/roundup/cgi-bin", ["frontends/roundup.cgi"])] # install man pages on POSIX platforms if os.name == "posix": data_files.append(include("share/man/man1", "*")) # add the templates to the data files lists from roundup.init import listTemplates 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)])) # add docs 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)
def main(): # template munching packages = [ 'roundup', 'roundup.anypy', 'roundup.cgi', 'roundup.cgi.PageTemplates', 'roundup.cgi.TAL', 'roundup.cgi.ZTUtils', 'roundup.backends', 'roundup.scripts', ] # build list of scripts from their implementation modules scripts = [scriptname(f) for f in glob('roundup/scripts/[!_]*.py')] data_files = [ ('share/roundup/cgi-bin', ['frontends/roundup.cgi']), ] # install man pages on POSIX platforms if os.name == 'posix': data_files.append(include('share/man/man1', '*')) # add the templates to the data files lists from roundup.init import listTemplates templates = [ t['path'] for t in listTemplates('share/roundup/templates').values() ] for tdir in templates: for idir in '. detectors extensions html html/layout static'.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)])) # add docs data_files.append(include('share/doc/roundup/html', '*')) data_files.append(include('share/doc/roundup/html/_images', '*')) data_files.append(include('share/doc/roundup/html/_sources', '*')) data_files.append(include('share/doc/roundup/html/_static', '*')) # 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() try: # attempt to interpret string as 'ascii' long_description.encode('ascii') except UnicodeEncodeError as cause: print("doc/announcement.txt contains non-ascii: %s" % cause, file=sys.stderr) sys.exit(42) setup( name='roundup', version=__version__, author="Richard Jones", author_email="*****@*****.**", maintainer="Ralf Schlatterbeck", maintainer_email="*****@*****.**", 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='https://www.roundup-tracker.org', download_url='https://pypi.org/project/roundup', classifiers=[ 'Development Status :: 5 - Production/Stable', #'Development Status :: 4 - Beta', #'Development Status :: 3 - Alpha', 'Environment :: Console', 'Environment :: Web Environment', 'Intended Audience :: Customer Service', 'Intended Audience :: Information Technology', 'Intended Audience :: End Users/Desktop', 'Intended Audience :: Developers', 'Intended Audience :: System Administrators', 'License :: OSI Approved :: MIT License', 'Operating System :: MacOS :: MacOS X', 'Operating System :: Microsoft :: Windows', 'Operating System :: POSIX', 'Programming Language :: Python', 'Programming Language :: Python :: 2', 'Programming Language :: Python :: 2.7', 'Programming Language :: Python :: 3', 'Programming Language :: Python :: 3.4', 'Programming Language :: Python :: 3.5', 'Programming Language :: Python :: 3.6', 'Programming Language :: Python :: 3.7', 'Programming Language :: Python :: 3.8', 'Programming Language :: Python :: 3.9', 'Topic :: Communications :: Email', 'Topic :: Office/Business', 'Topic :: Software Development :: Bug Tracking', 'Topic :: Internet :: WWW/HTTP :: WSGI :: Application', ], # Override certain command classes with our own ones cmdclass={ 'build_doc': build_doc, 'build_scripts': build_scripts, 'build': build, 'bdist_rpm': bdist_rpm, 'install_lib': install_lib, }, packages=packages, scripts=scripts, data_files=data_files)
def main(): # template munching packages = [ 'roundup', 'roundup.anypy', 'roundup.cgi', 'roundup.cgi.PageTemplates', 'roundup.cgi.TAL', 'roundup.cgi.ZTUtils', 'roundup.backends', 'roundup.scripts', 'roundup.test', ] # build list of scripts from their implementation modules scripts = [mapscript(f) for f in glob('roundup/scripts/[!_]*.py')] # build list of zope files/directories Zope = {} Zope['module'] = [f for f in glob('frontends/ZRoundup/*.py')] Zope['module'].append('frontends/ZRoundup/refresh.txt'); Zope['icons'] = [f for f in glob('frontends/ZRoundupscripts/*.gif')] Zope['dtml'] = [f for f in glob('frontends/ZRoundupscripts/*.dtml')] data_files = [ ('share/roundup/cgi-bin', ['frontends/roundup.cgi']), ('share/roundup/frontends', ['frontends/wsgi.py']), ('share/roundup/frontends/Zope', Zope['module']), ('share/roundup/frontends/Zope/icons', Zope['icons']), ('share/roundup/frontends/Zope/dtml', Zope['dtml']) ] # install man pages on POSIX platforms if os.name == 'posix': data_files.append(include('share/man/man1', '*')) # add the templates to the data files lists from roundup.init import listTemplates templates = [t['path'] for t in listTemplates('share/roundup/templates').values()] for tdir in templates: for idir in '. detectors extensions html html/layout static'.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)])) # add docs data_files.append(include('share/doc/roundup/html', '*')) data_files.append(include('share/doc/roundup/html/_images', '*')) data_files.append(include('share/doc/roundup/html/_sources', '*')) data_files.append(include('share/doc/roundup/html/_static', '*')) data_files = make_data_files_absolute(data_files, get_prefix()) # when running under python2, even if called from setup, it tries # and fails to perform an egg easy install even though it shouldn't: # https://issues.roundup-tracker.org/issue2551185 # Add this argument if we are an install to prevent this. # This works right under python3. # FIXME there has to be a better way than this # https://issues.roundup-tracker.org/issue2551185 if sys.version_info[0] < 3: for arg in sys.argv: if arg == 'install': sys.argv.append('--old-and-unmanageable') # 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() try: # attempt to interpret string as 'ascii' long_description.encode('ascii') except UnicodeEncodeError as cause: print("doc/announcement.txt contains non-ascii: %s" % cause, file=sys.stderr) sys.exit(42) setup(name='roundup', version=__version__, author="Richard Jones", author_email="*****@*****.**", maintainer="Ralf Schlatterbeck", maintainer_email="*****@*****.**", description="A simple-to-use and -install issue-tracking system" " with command-line, web and e-mail interfaces. Highly" " customisable.", long_description=long_description, long_description_content_type='text/x-rst', url='https://www.roundup-tracker.org', download_url='https://pypi.org/project/roundup', classifiers=['Development Status :: 5 - Production/Stable', #'Development Status :: 4 - Beta', #'Development Status :: 3 - Alpha', 'Environment :: Console', 'Environment :: Web Environment', 'Intended Audience :: Customer Service', 'Intended Audience :: Information Technology', 'Intended Audience :: End Users/Desktop', 'Intended Audience :: Developers', 'Intended Audience :: System Administrators', 'License :: OSI Approved', 'License :: OSI Approved :: MIT License', 'License :: OSI Approved :: Zope Public License', 'Operating System :: MacOS :: MacOS X', 'Operating System :: Microsoft :: Windows', 'Operating System :: POSIX', 'Programming Language :: Python', 'Programming Language :: Python :: 2', 'Programming Language :: Python :: 2.7', 'Programming Language :: Python :: 3', 'Programming Language :: Python :: 3.6', 'Programming Language :: Python :: 3.7', 'Programming Language :: Python :: 3.8', 'Programming Language :: Python :: 3.9', 'Programming Language :: Python :: 3.10', 'Topic :: Communications :: Email', 'Topic :: Office/Business', 'Topic :: Software Development :: Bug Tracking', 'Topic :: Internet :: WWW/HTTP :: WSGI :: Application', ], # Override certain command classes with our own ones cmdclass= {'build_doc': build_doc, 'build': build, 'bdist_rpm': bdist_rpm, 'install_lib': install_lib, }, packages=packages, entry_points={ 'console_scripts': scripts }, data_files=data_files)
def main(): # template munching packages = [ 'roundup', 'roundup.anypy', 'roundup.cgi', 'roundup.cgi.PageTemplates', 'roundup.cgi.TAL', 'roundup.cgi.ZTUtils', 'roundup.backends', 'roundup.scripts', ] py_modules = ['roundup.demo',] # build list of scripts from their implementation modules scripts = [scriptname(f) for f in glob('roundup/scripts/[!_]*.py')] data_files = [ ('share/roundup/cgi-bin', ['frontends/roundup.cgi']), ] # install man pages on POSIX platforms if os.name == 'posix': data_files.append(include('share/man/man1', '*')) # add the templates to the data files lists from roundup.init import listTemplates 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)])) # add docs data_files.append(include('share/doc/roundup/html', '*')) # perform the setup action from roundup import __version__ setup(name='roundup', version=__version__, author="Richard Jones", author_email="*****@*****.**", description="A simple-to-use and -install issue-tracking system" " with command-line, web and e-mail interfaces. Highly" " customisable.", long_description=''' 1.4.8 fixes some regressions: - bug introduced into hyperdb filter (issue 2550505) - bug introduced into CVS export and view (issue 2550529) - bugs introduced in the migration to the email package (issue 2550531) And adds a couple of other fixes: - handle bogus pagination values (issue 2550530) - fix TLS handling with some SMTP servers (issues 2484879 and 1912923) 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 [email protected]. 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). ''', url='http://www.roundup-tracker.org', download_url='http://pypi.python.org/pypi/roundup', classifiers=['Development Status :: 5 - Production/Stable', 'Environment :: Console', 'Environment :: Web Environment', 'Intended Audience :: End Users/Desktop', 'Intended Audience :: Developers', 'Intended Audience :: System Administrators', 'License :: OSI Approved :: Python Software Foundation License', 'Operating System :: MacOS :: MacOS X', 'Operating System :: Microsoft :: Windows', 'Operating System :: POSIX', 'Programming Language :: Python', 'Topic :: Communications :: Email', 'Topic :: Office/Business', 'Topic :: Software Development :: Bug Tracking', ], # Override certain command classes with our own ones cmdclass= {'build_doc': build_doc, 'build_scripts': build_scripts, 'build_py': build_py, 'build': build, 'bdist_rpm': bdist_rpm, }, packages=packages, py_modules=py_modules, scripts=scripts, data_files=data_files)
def main(): # template munching packages = [ 'roundup', 'roundup.anypy', 'roundup.cgi', 'roundup.cgi.PageTemplates', 'roundup.cgi.TAL', 'roundup.cgi.ZTUtils', 'roundup.backends', 'roundup.scripts', ] py_modules = ['roundup.demo',] # build list of scripts from their implementation modules scripts = [scriptname(f) for f in glob('roundup/scripts/[!_]*.py')] data_files = [ ('share/roundup/cgi-bin', ['frontends/roundup.cgi']), ] # install man pages on POSIX platforms if os.name == 'posix': data_files.append(include('share/man/man1', '*')) # add the templates to the data files lists from roundup.init import listTemplates 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)])) # add docs data_files.append(include('share/doc/roundup/html', '*')) # perform the setup action from roundup import __version__ setup(name='roundup', version=__version__, author="Richard Jones", author_email="*****@*****.**", 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().decode('utf8'), url='http://www.roundup-tracker.org', download_url='http://pypi.python.org/pypi/roundup', classifiers=['Development Status :: 5 - Production/Stable', 'Environment :: Console', 'Environment :: Web Environment', 'Intended Audience :: End Users/Desktop', 'Intended Audience :: Developers', 'Intended Audience :: System Administrators', 'License :: OSI Approved :: Python Software Foundation License', 'Operating System :: MacOS :: MacOS X', 'Operating System :: Microsoft :: Windows', 'Operating System :: POSIX', 'Programming Language :: Python', 'Topic :: Communications :: Email', 'Topic :: Office/Business', 'Topic :: Software Development :: Bug Tracking', ], # Override certain command classes with our own ones cmdclass= {'build_doc': build_doc, 'build_scripts': build_scripts, 'build_py': build_py, 'build': build, 'bdist_rpm': bdist_rpm, }, packages=packages, py_modules=py_modules, scripts=scripts, data_files=data_files)