annotate setup.py @ 6681:ab2ed11c021e

issue2551205: Add support for specifying valid origins for api: xmlrpc/rest We now have an allow list to filter the hosts allowed to do api requests. An element of this allow list must match the http ORIGIN header exactly or the rest/xmlrpc CORS request will result in an error. The tracker host is always allowed to do a request.
author John Rouillard <rouilj@ieee.org>
date Tue, 17 May 2022 17:18:51 -0400
parents 4b627102b344
children b3ba03d2b214
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
85
fe0b33370244 Made setup.py executable, added id and log.
Richard Jones <richard@users.sourceforge.net>
parents: 78
diff changeset
1 #! /usr/bin/env python
4717
9dc50be521ee Make roundup play nice with setup tools (for using with virtualenv)
Pradip Caulagi <caulagi@gmail.com>
parents: 4693
diff changeset
2 # -*- coding: utf-8 -*-
213
d45384bc6420 Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents: 210
diff changeset
3 #
d45384bc6420 Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents: 210
diff changeset
4 # Copyright (c) 2001 Bizar Software Pty Ltd (http://www.bizarsoftware.com.au/)
d45384bc6420 Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents: 210
diff changeset
5 # This module is free software, and you may redistribute it and/or modify
d45384bc6420 Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents: 210
diff changeset
6 # under the same terms as Python, so long as this copyright message and
d45384bc6420 Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents: 210
diff changeset
7 # disclaimer are retained in their original form.
d45384bc6420 Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents: 210
diff changeset
8 #
214
18134bffab37 stupid typo
Richard Jones <richard@users.sourceforge.net>
parents: 213
diff changeset
9 # IN NO EVENT SHALL BIZAR SOFTWARE PTY LTD BE LIABLE TO ANY PARTY FOR
213
d45384bc6420 Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents: 210
diff changeset
10 # DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING
d45384bc6420 Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents: 210
diff changeset
11 # OUT OF THE USE OF THIS CODE, EVEN IF THE AUTHOR HAS BEEN ADVISED OF THE
d45384bc6420 Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents: 210
diff changeset
12 # POSSIBILITY OF SUCH DAMAGE.
d45384bc6420 Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents: 210
diff changeset
13 #
4950
16cb37d93ec6 Put back accidentally removed line from setup.py header
anatoly techtonik <techtonik@gmail.com>
parents: 4937
diff changeset
14 # BIZAR SOFTWARE PTY LTD SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
213
d45384bc6420 Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents: 210
diff changeset
15 # BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
d45384bc6420 Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents: 210
diff changeset
16 # FOR A PARTICULAR PURPOSE. THE CODE PROVIDED HEREUNDER IS ON AN "AS IS"
d45384bc6420 Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents: 210
diff changeset
17 # BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE,
d45384bc6420 Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents: 210
diff changeset
18 # SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
2300
e98bb674cb7d binary distribution includes compiled message catalogs
Alexander Smishlajev <a1s@users.sourceforge.net>
parents: 2253
diff changeset
19 #
85
fe0b33370244 Made setup.py executable, added id and log.
Richard Jones <richard@users.sourceforge.net>
parents: 78
diff changeset
20
4033
bca7c59ac400 Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents: 4012
diff changeset
21
5376
64b05e24dbd8 Python 3 preparation: convert print to a function.
Joseph Myers <jsm@polyomino.org.uk>
parents: 5351
diff changeset
22 from __future__ import print_function
4033
bca7c59ac400 Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents: 4012
diff changeset
23 from roundup.dist.command.build_doc import build_doc
4068
e233d7a66343 Refactor setup.py.
Stefan Seefeld <stefan@seefeld.name>
parents: 4033
diff changeset
24 from roundup.dist.command.build import build, list_message_files
e233d7a66343 Refactor setup.py.
Stefan Seefeld <stefan@seefeld.name>
parents: 4033
diff changeset
25 from roundup.dist.command.bdist_rpm import bdist_rpm
4516
85dfe17c182e Installation:
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents: 4495
diff changeset
26 from roundup.dist.command.install_lib import install_lib
4717
9dc50be521ee Make roundup play nice with setup tools (for using with virtualenv)
Pradip Caulagi <caulagi@gmail.com>
parents: 4693
diff changeset
27
6378
b57c3d50505b issue2550899 Migrate setup.py to setuptools
John Rouillard <rouilj@ieee.org>
parents: 6376
diff changeset
28 from setuptools import setup
78
edcca72de643 first cut at setup.py - installs the package, but not the bin/cgi-bin yet
Anthony Baxter <anthonybaxter@users.sourceforge.net>
parents:
diff changeset
29
6438
b671ed2b49b2 2551143: Problem with installing external trackers ...
John Rouillard <rouilj@ieee.org>
parents: 6378
diff changeset
30 from sysconfig import get_path
b671ed2b49b2 2551143: Problem with installing external trackers ...
John Rouillard <rouilj@ieee.org>
parents: 6378
diff changeset
31
4068
e233d7a66343 Refactor setup.py.
Stefan Seefeld <stefan@seefeld.name>
parents: 4033
diff changeset
32 import sys, os
78
edcca72de643 first cut at setup.py - installs the package, but not the bin/cgi-bin yet
Anthony Baxter <anthonybaxter@users.sourceforge.net>
parents:
diff changeset
33 from glob import glob
593
2256f81293c1 Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents: 580
diff changeset
34
1320
3758a5af985f Lots of little fixes in this update:
Richard Jones <richard@users.sourceforge.net>
parents: 1287
diff changeset
35
4033
bca7c59ac400 Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents: 4012
diff changeset
36 def include(d, e):
bca7c59ac400 Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents: 4012
diff changeset
37 """Generate a pair of (directory, file-list) for installation.
bca7c59ac400 Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents: 4012
diff changeset
38
bca7c59ac400 Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents: 4012
diff changeset
39 'd' -- A directory
bca7c59ac400 Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents: 4012
diff changeset
40
bca7c59ac400 Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents: 4012
diff changeset
41 'e' -- A glob pattern"""
4110
435cce827b40 additional fix to handle Unauthorised in file serving
Richard Jones <richard@users.sourceforge.net>
parents: 4105
diff changeset
42
4033
bca7c59ac400 Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents: 4012
diff changeset
43 return (d, [f for f in glob('%s/%s'%(d, e)) if os.path.isfile(f)])
bca7c59ac400 Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents: 4012
diff changeset
44
6378
b57c3d50505b issue2550899 Migrate setup.py to setuptools
John Rouillard <rouilj@ieee.org>
parents: 6376
diff changeset
45
b57c3d50505b issue2550899 Migrate setup.py to setuptools
John Rouillard <rouilj@ieee.org>
parents: 6376
diff changeset
46 def mapscript(path):
593
2256f81293c1 Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents: 580
diff changeset
47 """ Helper for building a list of script names from a list of
2256f81293c1 Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents: 580
diff changeset
48 module files.
2256f81293c1 Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents: 580
diff changeset
49 """
6378
b57c3d50505b issue2550899 Migrate setup.py to setuptools
John Rouillard <rouilj@ieee.org>
parents: 6376
diff changeset
50 module = os.path.splitext(os.path.basename(path))[0]
b57c3d50505b issue2550899 Migrate setup.py to setuptools
John Rouillard <rouilj@ieee.org>
parents: 6376
diff changeset
51 script = module.replace('_', '-')
b57c3d50505b issue2550899 Migrate setup.py to setuptools
John Rouillard <rouilj@ieee.org>
parents: 6376
diff changeset
52 return '%s = roundup.scripts.%s:run' % (script, module)
b57c3d50505b issue2550899 Migrate setup.py to setuptools
John Rouillard <rouilj@ieee.org>
parents: 6376
diff changeset
53
6438
b671ed2b49b2 2551143: Problem with installing external trackers ...
John Rouillard <rouilj@ieee.org>
parents: 6378
diff changeset
54 def make_data_files_absolute(data_files, prefix):
b671ed2b49b2 2551143: Problem with installing external trackers ...
John Rouillard <rouilj@ieee.org>
parents: 6378
diff changeset
55 """Using setuptools data files are put under the egg install directory
b671ed2b49b2 2551143: Problem with installing external trackers ...
John Rouillard <rouilj@ieee.org>
parents: 6378
diff changeset
56 if the datafiles are relative paths. We don't want this. Data files
b671ed2b49b2 2551143: Problem with installing external trackers ...
John Rouillard <rouilj@ieee.org>
parents: 6378
diff changeset
57 like man pages, documentation, templates etc. should be installed
b671ed2b49b2 2551143: Problem with installing external trackers ...
John Rouillard <rouilj@ieee.org>
parents: 6378
diff changeset
58 in a directory outside of the install directory. So we prefix
b671ed2b49b2 2551143: Problem with installing external trackers ...
John Rouillard <rouilj@ieee.org>
parents: 6378
diff changeset
59 all datafiles making them absolute so man pages end up in places
b671ed2b49b2 2551143: Problem with installing external trackers ...
John Rouillard <rouilj@ieee.org>
parents: 6378
diff changeset
60 like: /usr/local/share/man, docs in /usr/local/share/doc/roundup,
b671ed2b49b2 2551143: Problem with installing external trackers ...
John Rouillard <rouilj@ieee.org>
parents: 6378
diff changeset
61 templates in /usr/local/share/roundup/templates.
b671ed2b49b2 2551143: Problem with installing external trackers ...
John Rouillard <rouilj@ieee.org>
parents: 6378
diff changeset
62 """
b671ed2b49b2 2551143: Problem with installing external trackers ...
John Rouillard <rouilj@ieee.org>
parents: 6378
diff changeset
63 new_data_files = [ (os.path.join(prefix,df[0]),df[1])
b671ed2b49b2 2551143: Problem with installing external trackers ...
John Rouillard <rouilj@ieee.org>
parents: 6378
diff changeset
64 for df in data_files ]
b671ed2b49b2 2551143: Problem with installing external trackers ...
John Rouillard <rouilj@ieee.org>
parents: 6378
diff changeset
65
b671ed2b49b2 2551143: Problem with installing external trackers ...
John Rouillard <rouilj@ieee.org>
parents: 6378
diff changeset
66 return new_data_files
b671ed2b49b2 2551143: Problem with installing external trackers ...
John Rouillard <rouilj@ieee.org>
parents: 6378
diff changeset
67
b671ed2b49b2 2551143: Problem with installing external trackers ...
John Rouillard <rouilj@ieee.org>
parents: 6378
diff changeset
68 def get_prefix():
b671ed2b49b2 2551143: Problem with installing external trackers ...
John Rouillard <rouilj@ieee.org>
parents: 6378
diff changeset
69 """Get site specific prefix using --prefix, platform lib or
b671ed2b49b2 2551143: Problem with installing external trackers ...
John Rouillard <rouilj@ieee.org>
parents: 6378
diff changeset
70 sys.prefix.
b671ed2b49b2 2551143: Problem with installing external trackers ...
John Rouillard <rouilj@ieee.org>
parents: 6378
diff changeset
71 """
b671ed2b49b2 2551143: Problem with installing external trackers ...
John Rouillard <rouilj@ieee.org>
parents: 6378
diff changeset
72 prefix_arg=False
b671ed2b49b2 2551143: Problem with installing external trackers ...
John Rouillard <rouilj@ieee.org>
parents: 6378
diff changeset
73 prefix=""
b671ed2b49b2 2551143: Problem with installing external trackers ...
John Rouillard <rouilj@ieee.org>
parents: 6378
diff changeset
74 for a in sys.argv:
b671ed2b49b2 2551143: Problem with installing external trackers ...
John Rouillard <rouilj@ieee.org>
parents: 6378
diff changeset
75 if prefix_arg:
b671ed2b49b2 2551143: Problem with installing external trackers ...
John Rouillard <rouilj@ieee.org>
parents: 6378
diff changeset
76 prefix=a
b671ed2b49b2 2551143: Problem with installing external trackers ...
John Rouillard <rouilj@ieee.org>
parents: 6378
diff changeset
77 break
b671ed2b49b2 2551143: Problem with installing external trackers ...
John Rouillard <rouilj@ieee.org>
parents: 6378
diff changeset
78 # is there a short form -p or something for this??
b671ed2b49b2 2551143: Problem with installing external trackers ...
John Rouillard <rouilj@ieee.org>
parents: 6378
diff changeset
79 if a.startswith('--prefix'):
b671ed2b49b2 2551143: Problem with installing external trackers ...
John Rouillard <rouilj@ieee.org>
parents: 6378
diff changeset
80 if a == '--prefix':
b671ed2b49b2 2551143: Problem with installing external trackers ...
John Rouillard <rouilj@ieee.org>
parents: 6378
diff changeset
81 # next argument is prefix
b671ed2b49b2 2551143: Problem with installing external trackers ...
John Rouillard <rouilj@ieee.org>
parents: 6378
diff changeset
82 prefix_arg=True
b671ed2b49b2 2551143: Problem with installing external trackers ...
John Rouillard <rouilj@ieee.org>
parents: 6378
diff changeset
83 continue
b671ed2b49b2 2551143: Problem with installing external trackers ...
John Rouillard <rouilj@ieee.org>
parents: 6378
diff changeset
84 else:
b671ed2b49b2 2551143: Problem with installing external trackers ...
John Rouillard <rouilj@ieee.org>
parents: 6378
diff changeset
85 # strip '--prefix='
b671ed2b49b2 2551143: Problem with installing external trackers ...
John Rouillard <rouilj@ieee.org>
parents: 6378
diff changeset
86 prefix=a[9:]
b671ed2b49b2 2551143: Problem with installing external trackers ...
John Rouillard <rouilj@ieee.org>
parents: 6378
diff changeset
87 if prefix:
b671ed2b49b2 2551143: Problem with installing external trackers ...
John Rouillard <rouilj@ieee.org>
parents: 6378
diff changeset
88 return prefix
b671ed2b49b2 2551143: Problem with installing external trackers ...
John Rouillard <rouilj@ieee.org>
parents: 6378
diff changeset
89 else:
6572
2e568d6f72a4 issue2551169 - setup.py enters endless loop on gentoo linux python2 installation.
John Rouillard <rouilj@ieee.org>
parents: 6524
diff changeset
90 # get the platform lib path. Must start with / else infinite loop.
6438
b671ed2b49b2 2551143: Problem with installing external trackers ...
John Rouillard <rouilj@ieee.org>
parents: 6378
diff changeset
91 plp = get_path('platlib')
b671ed2b49b2 2551143: Problem with installing external trackers ...
John Rouillard <rouilj@ieee.org>
parents: 6378
diff changeset
92 # nuke suffix that matches lib/* and return prefix
b671ed2b49b2 2551143: Problem with installing external trackers ...
John Rouillard <rouilj@ieee.org>
parents: 6378
diff changeset
93 head, tail = os.path.split(plp)
6572
2e568d6f72a4 issue2551169 - setup.py enters endless loop on gentoo linux python2 installation.
John Rouillard <rouilj@ieee.org>
parents: 6524
diff changeset
94 while tail not in ['lib', 'lib64' ] and head != '/':
6438
b671ed2b49b2 2551143: Problem with installing external trackers ...
John Rouillard <rouilj@ieee.org>
parents: 6378
diff changeset
95 head, tail = os.path.split(head)
6572
2e568d6f72a4 issue2551169 - setup.py enters endless loop on gentoo linux python2 installation.
John Rouillard <rouilj@ieee.org>
parents: 6524
diff changeset
96 if head == '/':
6438
b671ed2b49b2 2551143: Problem with installing external trackers ...
John Rouillard <rouilj@ieee.org>
parents: 6378
diff changeset
97 head = sys.prefix
b671ed2b49b2 2551143: Problem with installing external trackers ...
John Rouillard <rouilj@ieee.org>
parents: 6378
diff changeset
98 return head
b671ed2b49b2 2551143: Problem with installing external trackers ...
John Rouillard <rouilj@ieee.org>
parents: 6378
diff changeset
99
593
2256f81293c1 Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents: 580
diff changeset
100
1576
80519db85eac More tweaks to the licensing to make the Debian folks happy :)
Richard Jones <richard@users.sourceforge.net>
parents: 1461
diff changeset
101 def main():
753
938edfdeac6e Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents: 675
diff changeset
102 # template munching
4096
ab542607f2fb Move man pages into 'share/man/man1' and simplify setup.py
Stefan Seefeld <stefan@seefeld.name>
parents: 4089
diff changeset
103 packages = [
753
938edfdeac6e Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents: 675
diff changeset
104 'roundup',
4089
eddb82d0964c Add compatibility package to allow us to deal with Python versions 2.3..2.6.
Richard Jones <richard@users.sourceforge.net>
parents: 4069
diff changeset
105 'roundup.anypy',
1059
3f20880c2a7e additional packages
Richard Jones <richard@users.sourceforge.net>
parents: 937
diff changeset
106 'roundup.cgi',
3f20880c2a7e additional packages
Richard Jones <richard@users.sourceforge.net>
parents: 937
diff changeset
107 'roundup.cgi.PageTemplates',
3f20880c2a7e additional packages
Richard Jones <richard@users.sourceforge.net>
parents: 937
diff changeset
108 'roundup.cgi.TAL',
3f20880c2a7e additional packages
Richard Jones <richard@users.sourceforge.net>
parents: 937
diff changeset
109 'roundup.cgi.ZTUtils',
753
938edfdeac6e Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents: 675
diff changeset
110 'roundup.backends',
2776
10e96f3ee658 install demo.py as a module in roundup package.
Alexander Smishlajev <a1s@users.sourceforge.net>
parents: 2684
diff changeset
111 'roundup.scripts',
6376
4e48a6a40bfe Install roundup.test with setup.py
Ralf Schlatterbeck <rsc@runtux.com>
parents: 6285
diff changeset
112 'roundup.test',
753
938edfdeac6e Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents: 675
diff changeset
113 ]
437
a1e778940f92 Install html template files to share/roundup/templates
Jürgen Hermann <jhermann@users.sourceforge.net>
parents: 402
diff changeset
114
4096
ab542607f2fb Move man pages into 'share/man/man1' and simplify setup.py
Stefan Seefeld <stefan@seefeld.name>
parents: 4089
diff changeset
115 # build list of scripts from their implementation modules
6378
b57c3d50505b issue2550899 Migrate setup.py to setuptools
John Rouillard <rouilj@ieee.org>
parents: 6376
diff changeset
116 scripts = [mapscript(f) for f in glob('roundup/scripts/[!_]*.py')]
4096
ab542607f2fb Move man pages into 'share/man/man1' and simplify setup.py
Stefan Seefeld <stefan@seefeld.name>
parents: 4089
diff changeset
117
ab542607f2fb Move man pages into 'share/man/man1' and simplify setup.py
Stefan Seefeld <stefan@seefeld.name>
parents: 4089
diff changeset
118 data_files = [
ab542607f2fb Move man pages into 'share/man/man1' and simplify setup.py
Stefan Seefeld <stefan@seefeld.name>
parents: 4089
diff changeset
119 ('share/roundup/cgi-bin', ['frontends/roundup.cgi']),
ab542607f2fb Move man pages into 'share/man/man1' and simplify setup.py
Stefan Seefeld <stefan@seefeld.name>
parents: 4089
diff changeset
120 ]
1419
c717b8d63a7e included UN*X manual pages from Bastian Kleineidam
Richard Jones <richard@users.sourceforge.net>
parents: 1320
diff changeset
121 # install man pages on POSIX platforms
c717b8d63a7e included UN*X manual pages from Bastian Kleineidam
Richard Jones <richard@users.sourceforge.net>
parents: 1320
diff changeset
122 if os.name == 'posix':
4096
ab542607f2fb Move man pages into 'share/man/man1' and simplify setup.py
Stefan Seefeld <stefan@seefeld.name>
parents: 4089
diff changeset
123 data_files.append(include('share/man/man1', '*'))
1419
c717b8d63a7e included UN*X manual pages from Bastian Kleineidam
Richard Jones <richard@users.sourceforge.net>
parents: 1320
diff changeset
124
1591
21312a7564fd moving templates around
Richard Jones <richard@users.sourceforge.net>
parents: 1587
diff changeset
125 # add the templates to the data files lists
1918
Richard Jones <richard@users.sourceforge.net>
parents: 1873
diff changeset
126 from roundup.init import listTemplates
4099
3c0852dbcf39 Reformat to reduce line-length.
Stefan Seefeld <stefan@seefeld.name>
parents: 4096
diff changeset
127 templates = [t['path']
3c0852dbcf39 Reformat to reduce line-length.
Stefan Seefeld <stefan@seefeld.name>
parents: 4096
diff changeset
128 for t in listTemplates('share/roundup/templates').values()]
1591
21312a7564fd moving templates around
Richard Jones <richard@users.sourceforge.net>
parents: 1587
diff changeset
129 for tdir in templates:
4755
d2f58accb405 - Copy layout to the html directory
Pradip Caulagi <caulagi@gmail.com>
parents: 4717
diff changeset
130 for idir in '. detectors extensions html html/layout static'.split():
4096
ab542607f2fb Move man pages into 'share/man/man1' and simplify setup.py
Stefan Seefeld <stefan@seefeld.name>
parents: 4089
diff changeset
131 data_files.append(include(os.path.join(tdir, idir), '*'))
78
edcca72de643 first cut at setup.py - installs the package, but not the bin/cgi-bin yet
Anthony Baxter <anthonybaxter@users.sourceforge.net>
parents:
diff changeset
132
2300
e98bb674cb7d binary distribution includes compiled message catalogs
Alexander Smishlajev <a1s@users.sourceforge.net>
parents: 2253
diff changeset
133 # add message files
2332
804c5c735bf1 don't compile message catalogs...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents: 2316
diff changeset
134 for (_dist_file, _mo_file) in list_message_files():
4099
3c0852dbcf39 Reformat to reduce line-length.
Stefan Seefeld <stefan@seefeld.name>
parents: 4096
diff changeset
135 data_files.append((os.path.dirname(_mo_file),
3c0852dbcf39 Reformat to reduce line-length.
Stefan Seefeld <stefan@seefeld.name>
parents: 4096
diff changeset
136 [os.path.join("build", _mo_file)]))
2300
e98bb674cb7d binary distribution includes compiled message catalogs
Alexander Smishlajev <a1s@users.sourceforge.net>
parents: 2253
diff changeset
137
4033
bca7c59ac400 Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents: 4012
diff changeset
138 # add docs
4100
26f840bce0c9 Further cleanup.
Stefan Seefeld <stefan@seefeld.name>
parents: 4099
diff changeset
139 data_files.append(include('share/doc/roundup/html', '*'))
4844
6ba2d471d76b setup.py now installs static files of the HTML documentation
Thomas Arendsen Hein <thomas@intevation.de>
parents: 4796
diff changeset
140 data_files.append(include('share/doc/roundup/html/_images', '*'))
6ba2d471d76b setup.py now installs static files of the HTML documentation
Thomas Arendsen Hein <thomas@intevation.de>
parents: 4796
diff changeset
141 data_files.append(include('share/doc/roundup/html/_sources', '*'))
6ba2d471d76b setup.py now installs static files of the HTML documentation
Thomas Arendsen Hein <thomas@intevation.de>
parents: 4796
diff changeset
142 data_files.append(include('share/doc/roundup/html/_static', '*'))
4033
bca7c59ac400 Enhance documentation generation.
Stefan Seefeld <stefan@seefeld.name>
parents: 4012
diff changeset
143
6438
b671ed2b49b2 2551143: Problem with installing external trackers ...
John Rouillard <rouilj@ieee.org>
parents: 6378
diff changeset
144 data_files = make_data_files_absolute(data_files, get_prefix())
b671ed2b49b2 2551143: Problem with installing external trackers ...
John Rouillard <rouilj@ieee.org>
parents: 6378
diff changeset
145
6573
4b627102b344 - issue2551185 - must set PYTHONPATH=... python2 setup.py install --prefix=/tmp/r2.
John Rouillard <rouilj@ieee.org>
parents: 6572
diff changeset
146 # when running under python2, even if called from setup, it tries
4b627102b344 - issue2551185 - must set PYTHONPATH=... python2 setup.py install --prefix=/tmp/r2.
John Rouillard <rouilj@ieee.org>
parents: 6572
diff changeset
147 # and fails to perform an egg easy install even though it shouldn't:
4b627102b344 - issue2551185 - must set PYTHONPATH=... python2 setup.py install --prefix=/tmp/r2.
John Rouillard <rouilj@ieee.org>
parents: 6572
diff changeset
148 # https://issues.roundup-tracker.org/issue2551185
4b627102b344 - issue2551185 - must set PYTHONPATH=... python2 setup.py install --prefix=/tmp/r2.
John Rouillard <rouilj@ieee.org>
parents: 6572
diff changeset
149 # Add this argument if we are an install to prevent this.
4b627102b344 - issue2551185 - must set PYTHONPATH=... python2 setup.py install --prefix=/tmp/r2.
John Rouillard <rouilj@ieee.org>
parents: 6572
diff changeset
150 # This works right under python3.
4b627102b344 - issue2551185 - must set PYTHONPATH=... python2 setup.py install --prefix=/tmp/r2.
John Rouillard <rouilj@ieee.org>
parents: 6572
diff changeset
151 # FIXME there has to be a better way than this
4b627102b344 - issue2551185 - must set PYTHONPATH=... python2 setup.py install --prefix=/tmp/r2.
John Rouillard <rouilj@ieee.org>
parents: 6572
diff changeset
152 # https://issues.roundup-tracker.org/issue2551185
4b627102b344 - issue2551185 - must set PYTHONPATH=... python2 setup.py install --prefix=/tmp/r2.
John Rouillard <rouilj@ieee.org>
parents: 6572
diff changeset
153
4b627102b344 - issue2551185 - must set PYTHONPATH=... python2 setup.py install --prefix=/tmp/r2.
John Rouillard <rouilj@ieee.org>
parents: 6572
diff changeset
154 if sys.version_info[0] < 3:
4b627102b344 - issue2551185 - must set PYTHONPATH=... python2 setup.py install --prefix=/tmp/r2.
John Rouillard <rouilj@ieee.org>
parents: 6572
diff changeset
155 for arg in sys.argv:
4b627102b344 - issue2551185 - must set PYTHONPATH=... python2 setup.py install --prefix=/tmp/r2.
John Rouillard <rouilj@ieee.org>
parents: 6572
diff changeset
156 if arg == 'install':
4b627102b344 - issue2551185 - must set PYTHONPATH=... python2 setup.py install --prefix=/tmp/r2.
John Rouillard <rouilj@ieee.org>
parents: 6572
diff changeset
157 sys.argv.append('--old-and-unmanageable')
4b627102b344 - issue2551185 - must set PYTHONPATH=... python2 setup.py install --prefix=/tmp/r2.
John Rouillard <rouilj@ieee.org>
parents: 6572
diff changeset
158
753
938edfdeac6e Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents: 675
diff changeset
159 # perform the setup action
773
6e6c63a57df9 [SF#569415] {version]]
Richard Jones <richard@users.sourceforge.net>
parents: 753
diff changeset
160 from roundup import __version__
4110
435cce827b40 additional fix to handle Unauthorised in file serving
Richard Jones <richard@users.sourceforge.net>
parents: 4105
diff changeset
161
4495
53e438d1ca19 fix long_description again:
Ralf Schlatterbeck <schlatterbeck@users.sourceforge.net>
parents: 4492
diff changeset
162 # long_description may not contain non-ascii characters. Distutils
53e438d1ca19 fix long_description again:
Ralf Schlatterbeck <schlatterbeck@users.sourceforge.net>
parents: 4492
diff changeset
163 # will produce an non-installable installer on linux *and* we can't
53e438d1ca19 fix long_description again:
Ralf Schlatterbeck <schlatterbeck@users.sourceforge.net>
parents: 4492
diff changeset
164 # run the bdist_wininst on Linux if there are non-ascii characters
53e438d1ca19 fix long_description again:
Ralf Schlatterbeck <schlatterbeck@users.sourceforge.net>
parents: 4492
diff changeset
165 # because the distutils installer will try to use the mbcs codec
53e438d1ca19 fix long_description again:
Ralf Schlatterbeck <schlatterbeck@users.sourceforge.net>
parents: 4492
diff changeset
166 # which isn't available on non-windows platforms. See also
53e438d1ca19 fix long_description again:
Ralf Schlatterbeck <schlatterbeck@users.sourceforge.net>
parents: 4492
diff changeset
167 # http://bugs.python.org/issue10945
5026
8853f422fb62 Preparing 1.5.1 steps 4/16
anatoly techtonik <techtonik@gmail.com>
parents: 5021
diff changeset
168 long_description=open('doc/announcement.txt').read()
4492
5d43b2a5eb69 test that announcement.txt is pure ASCII...
Ralf Schlatterbeck <schlatterbeck@users.sourceforge.net>
parents: 4436
diff changeset
169 try:
5026
8853f422fb62 Preparing 1.5.1 steps 4/16
anatoly techtonik <techtonik@gmail.com>
parents: 5021
diff changeset
170 # attempt to interpret string as 'ascii'
5451
fe1bd8f12a9f fixed encoding for long_description
Christof Meerwald <cmeerw@cmeerw.org>
parents: 5376
diff changeset
171 long_description.encode('ascii')
5248
198b6e810c67 Use Python-3-compatible 'as' syntax for except statements
Eric S. Raymond <esr@thyrsus.com>
parents: 5027
diff changeset
172 except UnicodeEncodeError as cause:
5376
64b05e24dbd8 Python 3 preparation: convert print to a function.
Joseph Myers <jsm@polyomino.org.uk>
parents: 5351
diff changeset
173 print("doc/announcement.txt contains non-ascii: %s"
64b05e24dbd8 Python 3 preparation: convert print to a function.
Joseph Myers <jsm@polyomino.org.uk>
parents: 5351
diff changeset
174 % cause, file=sys.stderr)
4492
5d43b2a5eb69 test that announcement.txt is pure ASCII...
Ralf Schlatterbeck <schlatterbeck@users.sourceforge.net>
parents: 4436
diff changeset
175 sys.exit(42)
5d43b2a5eb69 test that announcement.txt is pure ASCII...
Ralf Schlatterbeck <schlatterbeck@users.sourceforge.net>
parents: 4436
diff changeset
176
4068
e233d7a66343 Refactor setup.py.
Stefan Seefeld <stefan@seefeld.name>
parents: 4033
diff changeset
177 setup(name='roundup',
e233d7a66343 Refactor setup.py.
Stefan Seefeld <stefan@seefeld.name>
parents: 4033
diff changeset
178 version=__version__,
e233d7a66343 Refactor setup.py.
Stefan Seefeld <stefan@seefeld.name>
parents: 4033
diff changeset
179 author="Richard Jones",
e233d7a66343 Refactor setup.py.
Stefan Seefeld <stefan@seefeld.name>
parents: 4033
diff changeset
180 author_email="richard@users.sourceforge.net",
4796
f61bd780892e Release preparation
Ralf Schlatterbeck <rsc@runtux.com>
parents: 4763
diff changeset
181 maintainer="Ralf Schlatterbeck",
f61bd780892e Release preparation
Ralf Schlatterbeck <rsc@runtux.com>
parents: 4763
diff changeset
182 maintainer_email="rsc@runtux.com",
4111
Richard Jones <richard@users.sourceforge.net>
parents: 4110
diff changeset
183 description="A simple-to-use and -install issue-tracking system"
4105
ed9dd44b470b reinstate description/long_description in setup.py
Richard Jones <richard@users.sourceforge.net>
parents: 4100
diff changeset
184 " with command-line, web and e-mail interfaces. Highly"
ed9dd44b470b reinstate description/long_description in setup.py
Richard Jones <richard@users.sourceforge.net>
parents: 4100
diff changeset
185 " customisable.",
4492
5d43b2a5eb69 test that announcement.txt is pure ASCII...
Ralf Schlatterbeck <schlatterbeck@users.sourceforge.net>
parents: 4436
diff changeset
186 long_description=long_description,
6264
48fa77813563 Change http://www.roundup-tracker.org to https.
John Rouillard <rouilj@ieee.org>
parents: 6225
diff changeset
187 url='https://www.roundup-tracker.org',
5830
48c4704fba8c Change download url to pypi.org from pypi.python.org.
John Rouillard <rouilj@ieee.org>
parents: 5526
diff changeset
188 download_url='https://pypi.org/project/roundup',
6456
cbc18a8bc61f Changes for release of version 2.1.0.
John Rouillard <rouilj@ieee.org>
parents: 6439
diff changeset
189 classifiers=['Development Status :: 5 - Production/Stable',
cbc18a8bc61f Changes for release of version 2.1.0.
John Rouillard <rouilj@ieee.org>
parents: 6439
diff changeset
190 #'Development Status :: 4 - Beta',
6137
eb9d00db0923 Forgot to check in changed doc files for 2.0.0beta0
John Rouillard <rouilj@ieee.org>
parents: 5949
diff changeset
191 #'Development Status :: 3 - Alpha',
4068
e233d7a66343 Refactor setup.py.
Stefan Seefeld <stefan@seefeld.name>
parents: 4033
diff changeset
192 'Environment :: Console',
e233d7a66343 Refactor setup.py.
Stefan Seefeld <stefan@seefeld.name>
parents: 4033
diff changeset
193 'Environment :: Web Environment',
5949
573b688fffeb RELEASE.txt changes checkin pre 2.0.0alpha0
John Rouillard <rouilj@ieee.org>
parents: 5832
diff changeset
194 'Intended Audience :: Customer Service',
573b688fffeb RELEASE.txt changes checkin pre 2.0.0alpha0
John Rouillard <rouilj@ieee.org>
parents: 5832
diff changeset
195 'Intended Audience :: Information Technology',
4068
e233d7a66343 Refactor setup.py.
Stefan Seefeld <stefan@seefeld.name>
parents: 4033
diff changeset
196 'Intended Audience :: End Users/Desktop',
e233d7a66343 Refactor setup.py.
Stefan Seefeld <stefan@seefeld.name>
parents: 4033
diff changeset
197 'Intended Audience :: Developers',
e233d7a66343 Refactor setup.py.
Stefan Seefeld <stefan@seefeld.name>
parents: 4033
diff changeset
198 'Intended Audience :: System Administrators',
4690
9ead86b4fe71 setup.py: Fix trove classifier. Roundup uses MIT license, not PSF.
anatoly techtonik <techtonik@gmail.com>
parents: 4516
diff changeset
199 'License :: OSI Approved :: MIT License',
4068
e233d7a66343 Refactor setup.py.
Stefan Seefeld <stefan@seefeld.name>
parents: 4033
diff changeset
200 'Operating System :: MacOS :: MacOS X',
e233d7a66343 Refactor setup.py.
Stefan Seefeld <stefan@seefeld.name>
parents: 4033
diff changeset
201 'Operating System :: Microsoft :: Windows',
e233d7a66343 Refactor setup.py.
Stefan Seefeld <stefan@seefeld.name>
parents: 4033
diff changeset
202 'Operating System :: POSIX',
e233d7a66343 Refactor setup.py.
Stefan Seefeld <stefan@seefeld.name>
parents: 4033
diff changeset
203 'Programming Language :: Python',
5526
df3f553fa414 Update documentation for Python 3 support (issue 2550968, issue 2550980).
Joseph Myers <jsm@polyomino.org.uk>
parents: 5451
diff changeset
204 'Programming Language :: Python :: 2',
df3f553fa414 Update documentation for Python 3 support (issue 2550968, issue 2550980).
Joseph Myers <jsm@polyomino.org.uk>
parents: 5451
diff changeset
205 'Programming Language :: Python :: 2.7',
df3f553fa414 Update documentation for Python 3 support (issue 2550968, issue 2550980).
Joseph Myers <jsm@polyomino.org.uk>
parents: 5451
diff changeset
206 'Programming Language :: Python :: 3',
df3f553fa414 Update documentation for Python 3 support (issue 2550968, issue 2550980).
Joseph Myers <jsm@polyomino.org.uk>
parents: 5451
diff changeset
207 'Programming Language :: Python :: 3.4',
df3f553fa414 Update documentation for Python 3 support (issue 2550968, issue 2550980).
Joseph Myers <jsm@polyomino.org.uk>
parents: 5451
diff changeset
208 'Programming Language :: Python :: 3.5',
df3f553fa414 Update documentation for Python 3 support (issue 2550968, issue 2550980).
Joseph Myers <jsm@polyomino.org.uk>
parents: 5451
diff changeset
209 'Programming Language :: Python :: 3.6',
5832
f5a0fdb56784 Add python 3.7 classification as we are running that in CI.
John Rouillard <rouilj@ieee.org>
parents: 5830
diff changeset
210 'Programming Language :: Python :: 3.7',
5949
573b688fffeb RELEASE.txt changes checkin pre 2.0.0alpha0
John Rouillard <rouilj@ieee.org>
parents: 5832
diff changeset
211 'Programming Language :: Python :: 3.8',
6285
4ba52f16276a Add python 3.9 to classifiers in setup.py.
John Rouillard <rouilj@ieee.org>
parents: 6264
diff changeset
212 'Programming Language :: Python :: 3.9',
4068
e233d7a66343 Refactor setup.py.
Stefan Seefeld <stefan@seefeld.name>
parents: 4033
diff changeset
213 'Topic :: Communications :: Email',
e233d7a66343 Refactor setup.py.
Stefan Seefeld <stefan@seefeld.name>
parents: 4033
diff changeset
214 'Topic :: Office/Business',
e233d7a66343 Refactor setup.py.
Stefan Seefeld <stefan@seefeld.name>
parents: 4033
diff changeset
215 'Topic :: Software Development :: Bug Tracking',
5949
573b688fffeb RELEASE.txt changes checkin pre 2.0.0alpha0
John Rouillard <rouilj@ieee.org>
parents: 5832
diff changeset
216 'Topic :: Internet :: WWW/HTTP :: WSGI :: Application',
4068
e233d7a66343 Refactor setup.py.
Stefan Seefeld <stefan@seefeld.name>
parents: 4033
diff changeset
217 ],
3719
a8835786ecf7 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 3588
diff changeset
218
4068
e233d7a66343 Refactor setup.py.
Stefan Seefeld <stefan@seefeld.name>
parents: 4033
diff changeset
219 # Override certain command classes with our own ones
e233d7a66343 Refactor setup.py.
Stefan Seefeld <stefan@seefeld.name>
parents: 4033
diff changeset
220 cmdclass= {'build_doc': build_doc,
e233d7a66343 Refactor setup.py.
Stefan Seefeld <stefan@seefeld.name>
parents: 4033
diff changeset
221 'build': build,
e233d7a66343 Refactor setup.py.
Stefan Seefeld <stefan@seefeld.name>
parents: 4033
diff changeset
222 'bdist_rpm': bdist_rpm,
4516
85dfe17c182e Installation:
Bernhard Reiter <Bernhard.Reiter@intevation.de>
parents: 4495
diff changeset
223 'install_lib': install_lib,
4068
e233d7a66343 Refactor setup.py.
Stefan Seefeld <stefan@seefeld.name>
parents: 4033
diff changeset
224 },
4096
ab542607f2fb Move man pages into 'share/man/man1' and simplify setup.py
Stefan Seefeld <stefan@seefeld.name>
parents: 4089
diff changeset
225 packages=packages,
6378
b57c3d50505b issue2550899 Migrate setup.py to setuptools
John Rouillard <rouilj@ieee.org>
parents: 6376
diff changeset
226 entry_points={
b57c3d50505b issue2550899 Migrate setup.py to setuptools
John Rouillard <rouilj@ieee.org>
parents: 6376
diff changeset
227 'console_scripts': scripts
b57c3d50505b issue2550899 Migrate setup.py to setuptools
John Rouillard <rouilj@ieee.org>
parents: 6376
diff changeset
228 },
4096
ab542607f2fb Move man pages into 'share/man/man1' and simplify setup.py
Stefan Seefeld <stefan@seefeld.name>
parents: 4089
diff changeset
229 data_files=data_files)
78
edcca72de643 first cut at setup.py - installs the package, but not the bin/cgi-bin yet
Anthony Baxter <anthonybaxter@users.sourceforge.net>
parents:
diff changeset
230
1576
80519db85eac More tweaks to the licensing to make the Debian folks happy :)
Richard Jones <richard@users.sourceforge.net>
parents: 1461
diff changeset
231 if __name__ == '__main__':
6524
f961dbbc3573 issue2551167 roundup issues when using pip install
John Rouillard <rouilj@ieee.org>
parents: 6456
diff changeset
232
f961dbbc3573 issue2551167 roundup issues when using pip install
John Rouillard <rouilj@ieee.org>
parents: 6456
diff changeset
233 # Prevent `pip install roundup` from building bdist_wheel.
f961dbbc3573 issue2551167 roundup issues when using pip install
John Rouillard <rouilj@ieee.org>
parents: 6456
diff changeset
234 # Man pages, templates, locales installed under site-packages not
f961dbbc3573 issue2551167 roundup issues when using pip install
John Rouillard <rouilj@ieee.org>
parents: 6456
diff changeset
235 # in normal system locations.
f961dbbc3573 issue2551167 roundup issues when using pip install
John Rouillard <rouilj@ieee.org>
parents: 6456
diff changeset
236 # https://stackoverflow.com/questions/36846260/can-python-setuptools-install-files-outside-dist-packages
f961dbbc3573 issue2551167 roundup issues when using pip install
John Rouillard <rouilj@ieee.org>
parents: 6456
diff changeset
237 '''
f961dbbc3573 issue2551167 roundup issues when using pip install
John Rouillard <rouilj@ieee.org>
parents: 6456
diff changeset
238 if 'bdist_wheel' in sys.argv:
f961dbbc3573 issue2551167 roundup issues when using pip install
John Rouillard <rouilj@ieee.org>
parents: 6456
diff changeset
239 raise RuntimeError("This setup.py does not support wheels")
f961dbbc3573 issue2551167 roundup issues when using pip install
John Rouillard <rouilj@ieee.org>
parents: 6456
diff changeset
240 '''
f961dbbc3573 issue2551167 roundup issues when using pip install
John Rouillard <rouilj@ieee.org>
parents: 6456
diff changeset
241
4896
756ff1c2ee41 Fix setting the working directory in setup.py
John Kristensen <john@jerrykan.com>
parents: 4894
diff changeset
242 os.chdir(os.path.dirname(__file__) or '.')
1640
d0b29215aa44 pre-release stuff
Richard Jones <richard@users.sourceforge.net>
parents: 1619
diff changeset
243 main()
1576
80519db85eac More tweaks to the licensing to make the Debian folks happy :)
Richard Jones <richard@users.sourceforge.net>
parents: 1461
diff changeset
244
2684
94229a0832bd install extensions directories in tracker templates.
Alexander Smishlajev <a1s@users.sourceforge.net>
parents: 2448
diff changeset
245 # vim: set filetype=python sts=4 sw=4 et si :

Roundup Issue Tracker: http://roundup-tracker.org/