annotate setup.py @ 6573:4b627102b344

- issue2551185 - must set PYTHONPATH=... python2 setup.py install --prefix=/tmp/r2. Force insert --old-and-unmangable to get it to use a classic installer and not an easy install. This only affects python2.
author John Rouillard <rouilj@ieee.org>
date Thu, 23 Dec 2021 17:24:51 -0500
parents 2e568d6f72a4
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/