Mercurial > p > roundup > code
annotate setup.py @ 2776:10e96f3ee658
install demo.py as a module in roundup package.
fix collecting template files: listir() broke for non-existing
extensions subdir.
| author | Alexander Smishlajev <a1s@users.sourceforge.net> |
|---|---|
| date | Mon, 18 Oct 2004 07:51:46 +0000 |
| parents | 94229a0832bd |
| children | fdad30b046e2 |
| 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 |
|
213
d45384bc6420
Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents:
210
diff
changeset
|
2 # |
|
d45384bc6420
Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents:
210
diff
changeset
|
3 # 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
|
4 # 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
|
5 # 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
|
6 # 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
|
7 # |
| 214 | 8 # 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
|
9 # 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
|
10 # 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
|
11 # POSSIBILITY OF SUCH DAMAGE. |
|
d45384bc6420
Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents:
210
diff
changeset
|
12 # |
|
d45384bc6420
Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents:
210
diff
changeset
|
13 # BIZAR SOFTWARE PTY LTD SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, |
|
d45384bc6420
Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents:
210
diff
changeset
|
14 # 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
|
15 # 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
|
16 # 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
|
17 # SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. |
|
2300
e98bb674cb7d
binary distribution includes compiled message catalogs
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2253
diff
changeset
|
18 # |
|
2776
10e96f3ee658
install demo.py as a module in roundup package.
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2684
diff
changeset
|
19 # $Id: setup.py,v 1.72 2004-10-18 07:51:46 a1s Exp $ |
|
85
fe0b33370244
Made setup.py executable, added id and log.
Richard Jones <richard@users.sourceforge.net>
parents:
78
diff
changeset
|
20 |
|
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
|
21 from distutils.core import setup, Extension |
|
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
|
22 from distutils.util import get_platform |
|
593
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
23 from distutils.command.build_scripts import build_scripts |
|
2214
39ffc2a7d901
check MANIFEST at build time
Richard Jones <richard@users.sourceforge.net>
parents:
2213
diff
changeset
|
24 from distutils.command.build import build |
|
2776
10e96f3ee658
install demo.py as a module in roundup package.
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2684
diff
changeset
|
25 from distutils.command.build_py import build_py |
|
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
|
26 |
|
593
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
27 import sys, os, string |
|
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
|
28 from glob import glob |
|
593
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
29 |
|
1320
3758a5af985f
Lots of little fixes in this update:
Richard Jones <richard@users.sourceforge.net>
parents:
1287
diff
changeset
|
30 # patch distutils if it can't cope with the "classifiers" keyword |
|
1673
85cb3f524bba
make distutils less whiney
Richard Jones <richard@users.sourceforge.net>
parents:
1662
diff
changeset
|
31 from distutils.dist import DistributionMetadata |
|
85cb3f524bba
make distutils less whiney
Richard Jones <richard@users.sourceforge.net>
parents:
1662
diff
changeset
|
32 if not hasattr(DistributionMetadata, 'classifiers'): |
|
1320
3758a5af985f
Lots of little fixes in this update:
Richard Jones <richard@users.sourceforge.net>
parents:
1287
diff
changeset
|
33 DistributionMetadata.classifiers = None |
|
1461
c0673f1739c3
oops, handle older pythons w.r.t. download_url
Richard Jones <richard@users.sourceforge.net>
parents:
1458
diff
changeset
|
34 DistributionMetadata.download_url = None |
|
1320
3758a5af985f
Lots of little fixes in this update:
Richard Jones <richard@users.sourceforge.net>
parents:
1287
diff
changeset
|
35 |
|
593
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
36 |
|
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
37 ############################################################################# |
|
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
38 ### Build script files |
|
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
39 ############################################################################# |
|
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
40 |
|
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
41 class build_scripts_create(build_scripts): |
|
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
42 """ Overload the build_scripts command and create the scripts |
|
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
43 from scratch, depending on the target platform. |
|
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
44 |
|
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
45 You have to define the name of your package in an inherited |
|
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
46 class (due to the delayed instantiation of command classes |
|
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
47 in distutils, this cannot be passed to __init__). |
|
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
48 |
|
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
49 The scripts are created in an uniform scheme: they start the |
|
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
50 run() function in the module |
|
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
51 |
|
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
52 <packagename>.scripts.<mangled_scriptname> |
|
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
53 |
|
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
54 The mangling of script names replaces '-' and '/' characters |
|
2300
e98bb674cb7d
binary distribution includes compiled message catalogs
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2253
diff
changeset
|
55 with '-' and '.', so that they are valid module paths. |
|
2365
3a80831ecebe
If the target platform is win32, create .bat files...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2332
diff
changeset
|
56 |
|
3a80831ecebe
If the target platform is win32, create .bat files...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2332
diff
changeset
|
57 If the target platform is win32, create .bat files instead of |
|
3a80831ecebe
If the target platform is win32, create .bat files...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2332
diff
changeset
|
58 *nix shell scripts. Target platform is set to "win32" if main |
|
3a80831ecebe
If the target platform is win32, create .bat files...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2332
diff
changeset
|
59 command is 'bdist_wininst' or if the command is 'bdist' and |
|
3a80831ecebe
If the target platform is win32, create .bat files...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2332
diff
changeset
|
60 it has the list of formats (from command line or config file) |
|
3a80831ecebe
If the target platform is win32, create .bat files...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2332
diff
changeset
|
61 and the first item on that list is wininst. Otherwise |
|
3a80831ecebe
If the target platform is win32, create .bat files...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2332
diff
changeset
|
62 target platform is set to current (build) platform. |
|
593
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
63 """ |
|
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
64 package_name = None |
|
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
65 |
|
2365
3a80831ecebe
If the target platform is win32, create .bat files...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2332
diff
changeset
|
66 def initialize_options(self): |
|
3a80831ecebe
If the target platform is win32, create .bat files...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2332
diff
changeset
|
67 build_scripts.initialize_options(self) |
|
3a80831ecebe
If the target platform is win32, create .bat files...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2332
diff
changeset
|
68 self.script_preamble = None |
|
3a80831ecebe
If the target platform is win32, create .bat files...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2332
diff
changeset
|
69 self.target_platform = None |
|
3a80831ecebe
If the target platform is win32, create .bat files...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2332
diff
changeset
|
70 self.python_executable = None |
|
3a80831ecebe
If the target platform is win32, create .bat files...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2332
diff
changeset
|
71 |
|
3a80831ecebe
If the target platform is win32, create .bat files...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2332
diff
changeset
|
72 def finalize_options(self): |
|
3a80831ecebe
If the target platform is win32, create .bat files...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2332
diff
changeset
|
73 build_scripts.finalize_options(self) |
|
3a80831ecebe
If the target platform is win32, create .bat files...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2332
diff
changeset
|
74 cmdopt=self.distribution.command_options |
|
3a80831ecebe
If the target platform is win32, create .bat files...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2332
diff
changeset
|
75 |
|
3a80831ecebe
If the target platform is win32, create .bat files...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2332
diff
changeset
|
76 # find the target platform |
|
3a80831ecebe
If the target platform is win32, create .bat files...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2332
diff
changeset
|
77 if self.target_platform: |
|
3a80831ecebe
If the target platform is win32, create .bat files...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2332
diff
changeset
|
78 # TODO? allow explicit setting from command line |
|
3a80831ecebe
If the target platform is win32, create .bat files...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2332
diff
changeset
|
79 target = self.target_platform |
|
2448
487d9256f32e
2.1-compatibility
Richard Jones <richard@users.sourceforge.net>
parents:
2365
diff
changeset
|
80 if cmdopt.has_key("bdist_wininst"): |
|
2365
3a80831ecebe
If the target platform is win32, create .bat files...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2332
diff
changeset
|
81 target = "win32" |
|
2448
487d9256f32e
2.1-compatibility
Richard Jones <richard@users.sourceforge.net>
parents:
2365
diff
changeset
|
82 elif cmdopt.get("bdist", {}).has_key("formats"): |
|
2365
3a80831ecebe
If the target platform is win32, create .bat files...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2332
diff
changeset
|
83 formats = cmdopt["bdist"]["formats"][1].split(",") |
|
3a80831ecebe
If the target platform is win32, create .bat files...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2332
diff
changeset
|
84 if formats[0] == "wininst": |
|
3a80831ecebe
If the target platform is win32, create .bat files...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2332
diff
changeset
|
85 target = "win32" |
|
3a80831ecebe
If the target platform is win32, create .bat files...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2332
diff
changeset
|
86 else: |
|
3a80831ecebe
If the target platform is win32, create .bat files...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2332
diff
changeset
|
87 target = sys.platform |
|
3a80831ecebe
If the target platform is win32, create .bat files...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2332
diff
changeset
|
88 if len(formats) > 1: |
|
3a80831ecebe
If the target platform is win32, create .bat files...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2332
diff
changeset
|
89 self.warn( |
|
3a80831ecebe
If the target platform is win32, create .bat files...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2332
diff
changeset
|
90 "Scripts are built for %s only (requested formats: %s)" |
|
3a80831ecebe
If the target platform is win32, create .bat files...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2332
diff
changeset
|
91 % (target, ",".join(formats))) |
|
3a80831ecebe
If the target platform is win32, create .bat files...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2332
diff
changeset
|
92 else: |
|
3a80831ecebe
If the target platform is win32, create .bat files...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2332
diff
changeset
|
93 # default to current platform |
|
3a80831ecebe
If the target platform is win32, create .bat files...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2332
diff
changeset
|
94 target = sys.platform |
|
3a80831ecebe
If the target platform is win32, create .bat files...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2332
diff
changeset
|
95 self.target_platfom = target |
|
3a80831ecebe
If the target platform is win32, create .bat files...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2332
diff
changeset
|
96 |
|
3a80831ecebe
If the target platform is win32, create .bat files...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2332
diff
changeset
|
97 # for native builds, use current python executable path; |
|
3a80831ecebe
If the target platform is win32, create .bat files...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2332
diff
changeset
|
98 # for cross-platform builds, use default executable name |
|
3a80831ecebe
If the target platform is win32, create .bat files...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2332
diff
changeset
|
99 if self.python_executable: |
|
3a80831ecebe
If the target platform is win32, create .bat files...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2332
diff
changeset
|
100 # TODO? allow command-line option |
|
3a80831ecebe
If the target platform is win32, create .bat files...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2332
diff
changeset
|
101 pass |
|
3a80831ecebe
If the target platform is win32, create .bat files...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2332
diff
changeset
|
102 if target == sys.platform: |
|
3a80831ecebe
If the target platform is win32, create .bat files...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2332
diff
changeset
|
103 self.python_executable = os.path.normpath(sys.executable) |
|
3a80831ecebe
If the target platform is win32, create .bat files...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2332
diff
changeset
|
104 else: |
|
3a80831ecebe
If the target platform is win32, create .bat files...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2332
diff
changeset
|
105 self.python_executable = "python" |
|
3a80831ecebe
If the target platform is win32, create .bat files...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2332
diff
changeset
|
106 |
|
3a80831ecebe
If the target platform is win32, create .bat files...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2332
diff
changeset
|
107 # for windows builds, add ".bat" extension |
|
3a80831ecebe
If the target platform is win32, create .bat files...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2332
diff
changeset
|
108 if target == "win32": |
|
3a80831ecebe
If the target platform is win32, create .bat files...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2332
diff
changeset
|
109 # *nix-like scripts may be useful also on win32 (cygwin) |
|
3a80831ecebe
If the target platform is win32, create .bat files...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2332
diff
changeset
|
110 # to build both script versions, use: |
|
3a80831ecebe
If the target platform is win32, create .bat files...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2332
diff
changeset
|
111 #self.scripts = list(self.scripts) + [script + ".bat" |
|
3a80831ecebe
If the target platform is win32, create .bat files...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2332
diff
changeset
|
112 # for script in self.scripts] |
|
3a80831ecebe
If the target platform is win32, create .bat files...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2332
diff
changeset
|
113 self.scripts = [script + ".bat" for script in self.scripts] |
|
3a80831ecebe
If the target platform is win32, create .bat files...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2332
diff
changeset
|
114 |
|
3a80831ecebe
If the target platform is win32, create .bat files...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2332
diff
changeset
|
115 # tweak python path for installations outside main python library |
|
2448
487d9256f32e
2.1-compatibility
Richard Jones <richard@users.sourceforge.net>
parents:
2365
diff
changeset
|
116 if cmdopt.get("install", {}).has_key("prefix"): |
|
2365
3a80831ecebe
If the target platform is win32, create .bat files...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2332
diff
changeset
|
117 prefix = cmdopt['install']['prefix'][1] |
|
3a80831ecebe
If the target platform is win32, create .bat files...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2332
diff
changeset
|
118 version = '%d.%d'%sys.version_info[:2] |
|
3a80831ecebe
If the target platform is win32, create .bat files...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2332
diff
changeset
|
119 self.script_preamble = ''' |
|
3a80831ecebe
If the target platform is win32, create .bat files...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2332
diff
changeset
|
120 import sys |
|
3a80831ecebe
If the target platform is win32, create .bat files...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2332
diff
changeset
|
121 sys.path.insert(1, "%s/lib/python%s/site-packages") |
|
3a80831ecebe
If the target platform is win32, create .bat files...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2332
diff
changeset
|
122 '''%(prefix, version) |
|
3a80831ecebe
If the target platform is win32, create .bat files...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2332
diff
changeset
|
123 else: |
|
3a80831ecebe
If the target platform is win32, create .bat files...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2332
diff
changeset
|
124 self.script_preamble = '' |
|
3a80831ecebe
If the target platform is win32, create .bat files...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2332
diff
changeset
|
125 |
|
593
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
126 def copy_scripts(self): |
|
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
127 """ Create each script listed in 'self.scripts' |
|
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
128 """ |
|
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
129 if not self.package_name: |
|
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
130 raise Exception("You have to inherit build_scripts_create and" |
|
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
131 " provide a package name") |
|
2300
e98bb674cb7d
binary distribution includes compiled message catalogs
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2253
diff
changeset
|
132 |
|
593
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
133 to_module = string.maketrans('-/', '_.') |
|
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
134 |
|
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
135 self.mkpath(self.build_dir) |
|
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
136 for script in self.scripts: |
|
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
137 outfile = os.path.join(self.build_dir, os.path.basename(script)) |
|
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
138 |
|
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
139 #if not self.force and not newer(script, outfile): |
|
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
140 # self.announce("not copying %s (up-to-date)" % script) |
|
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
141 # continue |
|
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
142 |
|
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
143 if self.dry_run: |
|
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
144 self.announce("would create %s" % outfile) |
|
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
145 continue |
|
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
146 |
|
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
147 module = os.path.splitext(os.path.basename(script))[0] |
|
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
148 module = string.translate(module, to_module) |
|
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
149 script_vars = { |
|
2365
3a80831ecebe
If the target platform is win32, create .bat files...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2332
diff
changeset
|
150 'python': self.python_executable, |
|
593
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
151 'package': self.package_name, |
|
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
152 'module': module, |
|
2365
3a80831ecebe
If the target platform is win32, create .bat files...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2332
diff
changeset
|
153 'prefix': self.script_preamble, |
|
593
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
154 } |
|
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
155 |
|
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
156 self.announce("creating %s" % outfile) |
|
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
157 file = open(outfile, 'w') |
|
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
158 |
|
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
159 try: |
|
2365
3a80831ecebe
If the target platform is win32, create .bat files...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2332
diff
changeset
|
160 # could just check self.target_platform, |
|
3a80831ecebe
If the target platform is win32, create .bat files...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2332
diff
changeset
|
161 # but looking at the script extension |
|
3a80831ecebe
If the target platform is win32, create .bat files...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2332
diff
changeset
|
162 # makes it possible to build both *nix-like |
|
3a80831ecebe
If the target platform is win32, create .bat files...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2332
diff
changeset
|
163 # and windows-like scripts on win32. |
|
3a80831ecebe
If the target platform is win32, create .bat files...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2332
diff
changeset
|
164 # may be useful for cygwin. |
|
3a80831ecebe
If the target platform is win32, create .bat files...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2332
diff
changeset
|
165 if os.path.splitext(outfile)[1] == ".bat": |
|
593
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
166 file.write('@echo off\n' |
|
1287
5402a6f2a754
Added quotes around python interpreter in windows bat [SF#623963]
Richard Jones <richard@users.sourceforge.net>
parents:
1188
diff
changeset
|
167 'if NOT "%%_4ver%%" == "" "%(python)s" -O -c "from %(package)s.scripts.%(module)s import run; run()" %%$\n' |
|
5402a6f2a754
Added quotes around python interpreter in windows bat [SF#623963]
Richard Jones <richard@users.sourceforge.net>
parents:
1188
diff
changeset
|
168 'if "%%_4ver%%" == "" "%(python)s" -O -c "from %(package)s.scripts.%(module)s import run; run()" %%*\n' |
|
593
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
169 % script_vars) |
|
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
170 else: |
|
1619
7034b61e9d9e
I thought I already made this change...
Richard Jones <richard@users.sourceforge.net>
parents:
1594
diff
changeset
|
171 file.write('#! %(python)s -O\n%(prefix)s' |
|
593
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
172 'from %(package)s.scripts.%(module)s import run\n' |
|
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
173 'run()\n' |
|
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
174 % script_vars) |
|
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
175 finally: |
|
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
176 file.close() |
|
669
fbe3c24c499d
chmod +x for scripts
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
593
diff
changeset
|
177 os.chmod(outfile, 0755) |
|
593
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
178 |
|
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
179 |
|
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
180 class build_scripts_roundup(build_scripts_create): |
|
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
181 package_name = 'roundup' |
|
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
182 |
|
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
183 |
|
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
184 def scriptname(path): |
|
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
185 """ 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
|
186 module files. |
|
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
187 """ |
|
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
188 script = os.path.splitext(os.path.basename(path))[0] |
|
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
189 script = string.replace(script, '_', '-') |
|
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
190 return script |
|
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
191 |
|
2300
e98bb674cb7d
binary distribution includes compiled message catalogs
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2253
diff
changeset
|
192 ### Build Roundup |
|
e98bb674cb7d
binary distribution includes compiled message catalogs
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2253
diff
changeset
|
193 |
|
2332
804c5c735bf1
don't compile message catalogs...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2316
diff
changeset
|
194 def list_message_files(suffix=".mo"): |
|
2303
bf3d44f6b91e
reorganized locale sources:
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2300
diff
changeset
|
195 """Return list of all found message files and their intallation paths""" |
|
2332
804c5c735bf1
don't compile message catalogs...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2316
diff
changeset
|
196 _files = glob("locale/*" + suffix) |
|
2303
bf3d44f6b91e
reorganized locale sources:
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2300
diff
changeset
|
197 _list = [] |
|
bf3d44f6b91e
reorganized locale sources:
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2300
diff
changeset
|
198 for _file in _files: |
|
bf3d44f6b91e
reorganized locale sources:
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2300
diff
changeset
|
199 # basename (without extension) is a locale name |
|
bf3d44f6b91e
reorganized locale sources:
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2300
diff
changeset
|
200 _locale = os.path.splitext(os.path.basename(_file))[0] |
|
bf3d44f6b91e
reorganized locale sources:
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2300
diff
changeset
|
201 _list.append((_file, os.path.join( |
|
bf3d44f6b91e
reorganized locale sources:
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2300
diff
changeset
|
202 "share", "locale", _locale, "LC_MESSAGES", "roundup.mo"))) |
|
bf3d44f6b91e
reorganized locale sources:
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2300
diff
changeset
|
203 return _list |
|
2300
e98bb674cb7d
binary distribution includes compiled message catalogs
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2253
diff
changeset
|
204 |
|
2213
3c38d9be63a6
check MANIFEST against the files actually unpacked
Richard Jones <richard@users.sourceforge.net>
parents:
2105
diff
changeset
|
205 def check_manifest(): |
|
3c38d9be63a6
check MANIFEST against the files actually unpacked
Richard Jones <richard@users.sourceforge.net>
parents:
2105
diff
changeset
|
206 """Check that the files listed in the MANIFEST are present when the |
|
3c38d9be63a6
check MANIFEST against the files actually unpacked
Richard Jones <richard@users.sourceforge.net>
parents:
2105
diff
changeset
|
207 source is unpacked. |
|
3c38d9be63a6
check MANIFEST against the files actually unpacked
Richard Jones <richard@users.sourceforge.net>
parents:
2105
diff
changeset
|
208 """ |
|
3c38d9be63a6
check MANIFEST against the files actually unpacked
Richard Jones <richard@users.sourceforge.net>
parents:
2105
diff
changeset
|
209 try: |
|
3c38d9be63a6
check MANIFEST against the files actually unpacked
Richard Jones <richard@users.sourceforge.net>
parents:
2105
diff
changeset
|
210 f = open('MANIFEST') |
|
3c38d9be63a6
check MANIFEST against the files actually unpacked
Richard Jones <richard@users.sourceforge.net>
parents:
2105
diff
changeset
|
211 except: |
|
3c38d9be63a6
check MANIFEST against the files actually unpacked
Richard Jones <richard@users.sourceforge.net>
parents:
2105
diff
changeset
|
212 print '\n*** SOURCE ERROR: The MANIFEST file is missing!' |
|
3c38d9be63a6
check MANIFEST against the files actually unpacked
Richard Jones <richard@users.sourceforge.net>
parents:
2105
diff
changeset
|
213 sys.exit(1) |
|
3c38d9be63a6
check MANIFEST against the files actually unpacked
Richard Jones <richard@users.sourceforge.net>
parents:
2105
diff
changeset
|
214 try: |
|
3c38d9be63a6
check MANIFEST against the files actually unpacked
Richard Jones <richard@users.sourceforge.net>
parents:
2105
diff
changeset
|
215 manifest = [l.strip() for l in f.readlines()] |
|
3c38d9be63a6
check MANIFEST against the files actually unpacked
Richard Jones <richard@users.sourceforge.net>
parents:
2105
diff
changeset
|
216 finally: |
|
3c38d9be63a6
check MANIFEST against the files actually unpacked
Richard Jones <richard@users.sourceforge.net>
parents:
2105
diff
changeset
|
217 f.close() |
|
3c38d9be63a6
check MANIFEST against the files actually unpacked
Richard Jones <richard@users.sourceforge.net>
parents:
2105
diff
changeset
|
218 err = [line for line in manifest if not os.path.exists(line)] |
|
3c38d9be63a6
check MANIFEST against the files actually unpacked
Richard Jones <richard@users.sourceforge.net>
parents:
2105
diff
changeset
|
219 if err: |
|
3c38d9be63a6
check MANIFEST against the files actually unpacked
Richard Jones <richard@users.sourceforge.net>
parents:
2105
diff
changeset
|
220 n = len(manifest) |
|
3c38d9be63a6
check MANIFEST against the files actually unpacked
Richard Jones <richard@users.sourceforge.net>
parents:
2105
diff
changeset
|
221 print '\n*** SOURCE ERROR: There are files missing (%d/%d found)!'%( |
|
3c38d9be63a6
check MANIFEST against the files actually unpacked
Richard Jones <richard@users.sourceforge.net>
parents:
2105
diff
changeset
|
222 n-len(err), n) |
|
2237
f624fc20f8fe
added capturing of stats
Richard Jones <richard@users.sourceforge.net>
parents:
2220
diff
changeset
|
223 print 'Missing:', '\nMissing: '.join(err) |
|
2213
3c38d9be63a6
check MANIFEST against the files actually unpacked
Richard Jones <richard@users.sourceforge.net>
parents:
2105
diff
changeset
|
224 sys.exit(1) |
|
593
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
225 |
|
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
226 |
|
2776
10e96f3ee658
install demo.py as a module in roundup package.
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2684
diff
changeset
|
227 class build_py_roundup(build_py): |
|
10e96f3ee658
install demo.py as a module in roundup package.
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2684
diff
changeset
|
228 |
|
10e96f3ee658
install demo.py as a module in roundup package.
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2684
diff
changeset
|
229 def find_modules(self): |
|
10e96f3ee658
install demo.py as a module in roundup package.
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2684
diff
changeset
|
230 # Files listed in py_modules are in the toplevel directory |
|
10e96f3ee658
install demo.py as a module in roundup package.
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2684
diff
changeset
|
231 # of the source distribution. |
|
10e96f3ee658
install demo.py as a module in roundup package.
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2684
diff
changeset
|
232 modules = [] |
|
10e96f3ee658
install demo.py as a module in roundup package.
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2684
diff
changeset
|
233 for module in self.py_modules: |
|
10e96f3ee658
install demo.py as a module in roundup package.
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2684
diff
changeset
|
234 path = string.split(module, '.') |
|
10e96f3ee658
install demo.py as a module in roundup package.
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2684
diff
changeset
|
235 package = string.join(path[0:-1], '.') |
|
10e96f3ee658
install demo.py as a module in roundup package.
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2684
diff
changeset
|
236 module_base = path[-1] |
|
10e96f3ee658
install demo.py as a module in roundup package.
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2684
diff
changeset
|
237 module_file = module_base + '.py' |
|
10e96f3ee658
install demo.py as a module in roundup package.
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2684
diff
changeset
|
238 if self.check_module(module, module_file): |
|
10e96f3ee658
install demo.py as a module in roundup package.
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2684
diff
changeset
|
239 modules.append((package, module_base, module_file)) |
|
10e96f3ee658
install demo.py as a module in roundup package.
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2684
diff
changeset
|
240 return modules |
|
10e96f3ee658
install demo.py as a module in roundup package.
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2684
diff
changeset
|
241 |
|
10e96f3ee658
install demo.py as a module in roundup package.
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2684
diff
changeset
|
242 |
|
2214
39ffc2a7d901
check MANIFEST at build time
Richard Jones <richard@users.sourceforge.net>
parents:
2213
diff
changeset
|
243 class build_roundup(build): |
|
2316
f8a4c51e5847
distutils.log is not available on Python 2.2 and below...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2303
diff
changeset
|
244 |
|
2332
804c5c735bf1
don't compile message catalogs...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2316
diff
changeset
|
245 def build_message_files(self): |
|
804c5c735bf1
don't compile message catalogs...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2316
diff
changeset
|
246 """Copy all .mo files to their locale directories""" |
|
804c5c735bf1
don't compile message catalogs...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2316
diff
changeset
|
247 for (_src, _dst) in list_message_files(): |
|
804c5c735bf1
don't compile message catalogs...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2316
diff
changeset
|
248 _build_dst = os.path.join("build", _dst) |
|
804c5c735bf1
don't compile message catalogs...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2316
diff
changeset
|
249 self.mkpath(os.path.dirname(_build_dst)) |
|
804c5c735bf1
don't compile message catalogs...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2316
diff
changeset
|
250 self.copy_file(_src, _build_dst) |
|
2316
f8a4c51e5847
distutils.log is not available on Python 2.2 and below...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2303
diff
changeset
|
251 |
|
2214
39ffc2a7d901
check MANIFEST at build time
Richard Jones <richard@users.sourceforge.net>
parents:
2213
diff
changeset
|
252 def run(self): |
|
39ffc2a7d901
check MANIFEST at build time
Richard Jones <richard@users.sourceforge.net>
parents:
2213
diff
changeset
|
253 check_manifest() |
|
2332
804c5c735bf1
don't compile message catalogs...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2316
diff
changeset
|
254 self.build_message_files() |
|
2214
39ffc2a7d901
check MANIFEST at build time
Richard Jones <richard@users.sourceforge.net>
parents:
2213
diff
changeset
|
255 build.run(self) |
|
39ffc2a7d901
check MANIFEST at build time
Richard Jones <richard@users.sourceforge.net>
parents:
2213
diff
changeset
|
256 |
|
593
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
257 ############################################################################# |
|
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
258 ### Main setup stuff |
|
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
259 ############################################################################# |
|
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
260 |
|
1576
80519db85eac
More tweaks to the licensing to make the Debian folks happy :)
Richard Jones <richard@users.sourceforge.net>
parents:
1461
diff
changeset
|
261 def main(): |
|
753
938edfdeac6e
Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents:
675
diff
changeset
|
262 # build list of scripts from their implementation modules |
|
938edfdeac6e
Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents:
675
diff
changeset
|
263 roundup_scripts = map(scriptname, glob('roundup/scripts/[!_]*.py')) |
|
437
a1e778940f92
Install html template files to share/roundup/templates
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
402
diff
changeset
|
264 |
|
753
938edfdeac6e
Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents:
675
diff
changeset
|
265 # template munching |
|
938edfdeac6e
Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents:
675
diff
changeset
|
266 packagelist = [ |
|
938edfdeac6e
Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents:
675
diff
changeset
|
267 'roundup', |
|
1059
3f20880c2a7e
additional packages
Richard Jones <richard@users.sourceforge.net>
parents:
937
diff
changeset
|
268 'roundup.cgi', |
|
3f20880c2a7e
additional packages
Richard Jones <richard@users.sourceforge.net>
parents:
937
diff
changeset
|
269 'roundup.cgi.PageTemplates', |
|
3f20880c2a7e
additional packages
Richard Jones <richard@users.sourceforge.net>
parents:
937
diff
changeset
|
270 'roundup.cgi.TAL', |
|
3f20880c2a7e
additional packages
Richard Jones <richard@users.sourceforge.net>
parents:
937
diff
changeset
|
271 'roundup.cgi.ZTUtils', |
|
753
938edfdeac6e
Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents:
675
diff
changeset
|
272 'roundup.backends', |
|
2776
10e96f3ee658
install demo.py as a module in roundup package.
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2684
diff
changeset
|
273 'roundup.scripts', |
|
753
938edfdeac6e
Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents:
675
diff
changeset
|
274 ] |
|
938edfdeac6e
Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents:
675
diff
changeset
|
275 installdatafiles = [ |
|
938edfdeac6e
Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents:
675
diff
changeset
|
276 ('share/roundup/cgi-bin', ['cgi-bin/roundup.cgi']), |
|
2300
e98bb674cb7d
binary distribution includes compiled message catalogs
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2253
diff
changeset
|
277 ] |
|
2776
10e96f3ee658
install demo.py as a module in roundup package.
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2684
diff
changeset
|
278 py_modules = ['roundup.demo',] |
|
437
a1e778940f92
Install html template files to share/roundup/templates
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
402
diff
changeset
|
279 |
|
1419
c717b8d63a7e
included UN*X manual pages from Bastian Kleineidam
Richard Jones <richard@users.sourceforge.net>
parents:
1320
diff
changeset
|
280 # 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
|
281 if os.name == 'posix': |
|
c717b8d63a7e
included UN*X manual pages from Bastian Kleineidam
Richard Jones <richard@users.sourceforge.net>
parents:
1320
diff
changeset
|
282 installdatafiles.append(('man/man1', ['doc/roundup-admin.1', |
|
c717b8d63a7e
included UN*X manual pages from Bastian Kleineidam
Richard Jones <richard@users.sourceforge.net>
parents:
1320
diff
changeset
|
283 'doc/roundup-mailgw.1', 'doc/roundup-server.1'])) |
|
c717b8d63a7e
included UN*X manual pages from Bastian Kleineidam
Richard Jones <richard@users.sourceforge.net>
parents:
1320
diff
changeset
|
284 |
|
1591
21312a7564fd
moving templates around
Richard Jones <richard@users.sourceforge.net>
parents:
1587
diff
changeset
|
285 # add the templates to the data files lists |
| 1918 | 286 from roundup.init import listTemplates |
|
1594
eee8b5eecb33
oops, use correct templates source dir
Richard Jones <richard@users.sourceforge.net>
parents:
1591
diff
changeset
|
287 templates = [t['path'] for t in listTemplates('templates').values()] |
|
1591
21312a7564fd
moving templates around
Richard Jones <richard@users.sourceforge.net>
parents:
1587
diff
changeset
|
288 for tdir in templates: |
|
753
938edfdeac6e
Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents:
675
diff
changeset
|
289 # scan for data files |
|
2684
94229a0832bd
install extensions directories in tracker templates.
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2448
diff
changeset
|
290 for idir in '. detectors extensions html'.split(): |
|
1591
21312a7564fd
moving templates around
Richard Jones <richard@users.sourceforge.net>
parents:
1587
diff
changeset
|
291 idir = os.path.join(tdir, idir) |
|
2776
10e96f3ee658
install demo.py as a module in roundup package.
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2684
diff
changeset
|
292 if not os.path.isdir(idir): |
|
10e96f3ee658
install demo.py as a module in roundup package.
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2684
diff
changeset
|
293 continue |
|
1591
21312a7564fd
moving templates around
Richard Jones <richard@users.sourceforge.net>
parents:
1587
diff
changeset
|
294 tfiles = [] |
|
21312a7564fd
moving templates around
Richard Jones <richard@users.sourceforge.net>
parents:
1587
diff
changeset
|
295 for f in os.listdir(idir): |
|
21312a7564fd
moving templates around
Richard Jones <richard@users.sourceforge.net>
parents:
1587
diff
changeset
|
296 if f.startswith('.'): |
|
21312a7564fd
moving templates around
Richard Jones <richard@users.sourceforge.net>
parents:
1587
diff
changeset
|
297 continue |
|
21312a7564fd
moving templates around
Richard Jones <richard@users.sourceforge.net>
parents:
1587
diff
changeset
|
298 ifile = os.path.join(idir, f) |
|
21312a7564fd
moving templates around
Richard Jones <richard@users.sourceforge.net>
parents:
1587
diff
changeset
|
299 if os.path.isfile(ifile): |
|
21312a7564fd
moving templates around
Richard Jones <richard@users.sourceforge.net>
parents:
1587
diff
changeset
|
300 tfiles.append(ifile) |
|
21312a7564fd
moving templates around
Richard Jones <richard@users.sourceforge.net>
parents:
1587
diff
changeset
|
301 installdatafiles.append( |
|
21312a7564fd
moving templates around
Richard Jones <richard@users.sourceforge.net>
parents:
1587
diff
changeset
|
302 (os.path.join('share', 'roundup', idir), tfiles) |
|
21312a7564fd
moving templates around
Richard Jones <richard@users.sourceforge.net>
parents:
1587
diff
changeset
|
303 ) |
|
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
|
304 |
|
2300
e98bb674cb7d
binary distribution includes compiled message catalogs
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2253
diff
changeset
|
305 # add message files |
|
2332
804c5c735bf1
don't compile message catalogs...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2316
diff
changeset
|
306 for (_dist_file, _mo_file) in list_message_files(): |
|
2303
bf3d44f6b91e
reorganized locale sources:
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2300
diff
changeset
|
307 installdatafiles.append((os.path.dirname(_mo_file), |
|
bf3d44f6b91e
reorganized locale sources:
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2300
diff
changeset
|
308 [os.path.join("build", _mo_file)])) |
|
2300
e98bb674cb7d
binary distribution includes compiled message catalogs
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2253
diff
changeset
|
309 |
|
753
938edfdeac6e
Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents:
675
diff
changeset
|
310 # perform the setup action |
|
773
6e6c63a57df9
[SF#569415] {version]]
Richard Jones <richard@users.sourceforge.net>
parents:
753
diff
changeset
|
311 from roundup import __version__ |
|
753
938edfdeac6e
Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents:
675
diff
changeset
|
312 setup( |
|
2300
e98bb674cb7d
binary distribution includes compiled message catalogs
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2253
diff
changeset
|
313 name = "roundup", |
|
773
6e6c63a57df9
[SF#569415] {version]]
Richard Jones <richard@users.sourceforge.net>
parents:
753
diff
changeset
|
314 version = __version__, |
|
1873
f63aa57386b0
Backend improvements.
Richard Jones <richard@users.sourceforge.net>
parents:
1748
diff
changeset
|
315 description = "A simple-to-use and -install issue-tracking system" |
|
f63aa57386b0
Backend improvements.
Richard Jones <richard@users.sourceforge.net>
parents:
1748
diff
changeset
|
316 " with command-line, web and e-mail interfaces. Highly" |
|
f63aa57386b0
Backend improvements.
Richard Jones <richard@users.sourceforge.net>
parents:
1748
diff
changeset
|
317 " customisable.", |
|
2300
e98bb674cb7d
binary distribution includes compiled message catalogs
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2253
diff
changeset
|
318 long_description = |
|
1643
41dbd406a79c
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
1640
diff
changeset
|
319 '''Roundup is a simple-to-use and -install issue-tracking system with |
|
41dbd406a79c
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
1640
diff
changeset
|
320 command-line, web and e-mail interfaces. It is based on the winning design |
|
41dbd406a79c
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
1640
diff
changeset
|
321 from Ka-Ping Yee in the Software Carpentry "Track" design competition. |
|
41dbd406a79c
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
1640
diff
changeset
|
322 |
|
2105
44f3c1dd636b
pre-release stuff
Richard Jones <richard@users.sourceforge.net>
parents:
1918
diff
changeset
|
323 If you're upgrading from an older version of Roundup you *must* follow |
|
44f3c1dd636b
pre-release stuff
Richard Jones <richard@users.sourceforge.net>
parents:
1918
diff
changeset
|
324 the "Software Upgrade" guidelines given in the maintenance documentation. |
|
44f3c1dd636b
pre-release stuff
Richard Jones <richard@users.sourceforge.net>
parents:
1918
diff
changeset
|
325 |
|
2253
91118ac2fa7f
pre-release stuff
Richard Jones <richard@users.sourceforge.net>
parents:
2237
diff
changeset
|
326 This release introduces far too many features to list here so I've put |
|
91118ac2fa7f
pre-release stuff
Richard Jones <richard@users.sourceforge.net>
parents:
2237
diff
changeset
|
327 together a What's New page: |
|
2105
44f3c1dd636b
pre-release stuff
Richard Jones <richard@users.sourceforge.net>
parents:
1918
diff
changeset
|
328 |
|
2253
91118ac2fa7f
pre-release stuff
Richard Jones <richard@users.sourceforge.net>
parents:
2237
diff
changeset
|
329 http://roundup.sourceforge.net/doc-0.7/whatsnew-0.7.html |
|
2105
44f3c1dd636b
pre-release stuff
Richard Jones <richard@users.sourceforge.net>
parents:
1918
diff
changeset
|
330 |
|
2253
91118ac2fa7f
pre-release stuff
Richard Jones <richard@users.sourceforge.net>
parents:
2237
diff
changeset
|
331 Some highlights: |
|
1643
41dbd406a79c
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
1640
diff
changeset
|
332 |
|
2220
34df21044229
include the MANIFEST so we can check it
Richard Jones <richard@users.sourceforge.net>
parents:
2214
diff
changeset
|
333 - added postgresql backend |
|
34df21044229
include the MANIFEST so we can check it
Richard Jones <richard@users.sourceforge.net>
parents:
2214
diff
changeset
|
334 - trackers using postgresql or mysql backends may have many users |
|
34df21044229
include the MANIFEST so we can check it
Richard Jones <richard@users.sourceforge.net>
parents:
2214
diff
changeset
|
335 - new "actor" automatic property (user who caused the last "activity") |
|
34df21044229
include the MANIFEST so we can check it
Richard Jones <richard@users.sourceforge.net>
parents:
2214
diff
changeset
|
336 - RDBMS backends have data typed columns and indexes on several columns |
|
34df21044229
include the MANIFEST so we can check it
Richard Jones <richard@users.sourceforge.net>
parents:
2214
diff
changeset
|
337 - registration may be concluded by replying to the confirmation email |
|
34df21044229
include the MANIFEST so we can check it
Richard Jones <richard@users.sourceforge.net>
parents:
2214
diff
changeset
|
338 - HTML templating permission checks are greatly simplified |
|
34df21044229
include the MANIFEST so we can check it
Richard Jones <richard@users.sourceforge.net>
parents:
2214
diff
changeset
|
339 - database exports now include full journals |
|
34df21044229
include the MANIFEST so we can check it
Richard Jones <richard@users.sourceforge.net>
parents:
2214
diff
changeset
|
340 - IMAP support in the mail gateway |
|
1643
41dbd406a79c
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
1640
diff
changeset
|
341 ''', |
|
753
938edfdeac6e
Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents:
675
diff
changeset
|
342 author = "Richard Jones", |
|
938edfdeac6e
Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents:
675
diff
changeset
|
343 author_email = "richard@users.sourceforge.net", |
|
1654
284c26c1ef19
aargh, b2 was b0rken
Richard Jones <richard@users.sourceforge.net>
parents:
1643
diff
changeset
|
344 url = 'http://roundup.sourceforge.net/', |
| 1458 | 345 download_url = 'http://sourceforge.net/project/showfiles.php?group_id=31577', |
|
753
938edfdeac6e
Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents:
675
diff
changeset
|
346 packages = packagelist, |
|
2776
10e96f3ee658
install demo.py as a module in roundup package.
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2684
diff
changeset
|
347 py_modules = py_modules, |
|
1320
3758a5af985f
Lots of little fixes in this update:
Richard Jones <richard@users.sourceforge.net>
parents:
1287
diff
changeset
|
348 classifiers = [ |
|
2105
44f3c1dd636b
pre-release stuff
Richard Jones <richard@users.sourceforge.net>
parents:
1918
diff
changeset
|
349 'Development Status :: 4 - Beta', |
|
1320
3758a5af985f
Lots of little fixes in this update:
Richard Jones <richard@users.sourceforge.net>
parents:
1287
diff
changeset
|
350 'Environment :: Console', |
|
3758a5af985f
Lots of little fixes in this update:
Richard Jones <richard@users.sourceforge.net>
parents:
1287
diff
changeset
|
351 'Environment :: Web Environment', |
|
3758a5af985f
Lots of little fixes in this update:
Richard Jones <richard@users.sourceforge.net>
parents:
1287
diff
changeset
|
352 'Intended Audience :: End Users/Desktop', |
|
3758a5af985f
Lots of little fixes in this update:
Richard Jones <richard@users.sourceforge.net>
parents:
1287
diff
changeset
|
353 'Intended Audience :: Developers', |
|
3758a5af985f
Lots of little fixes in this update:
Richard Jones <richard@users.sourceforge.net>
parents:
1287
diff
changeset
|
354 'Intended Audience :: System Administrators', |
|
3758a5af985f
Lots of little fixes in this update:
Richard Jones <richard@users.sourceforge.net>
parents:
1287
diff
changeset
|
355 'License :: OSI Approved :: Python Software Foundation License', |
|
3758a5af985f
Lots of little fixes in this update:
Richard Jones <richard@users.sourceforge.net>
parents:
1287
diff
changeset
|
356 'Operating System :: MacOS :: MacOS X', |
|
3758a5af985f
Lots of little fixes in this update:
Richard Jones <richard@users.sourceforge.net>
parents:
1287
diff
changeset
|
357 'Operating System :: Microsoft :: Windows', |
|
3758a5af985f
Lots of little fixes in this update:
Richard Jones <richard@users.sourceforge.net>
parents:
1287
diff
changeset
|
358 'Operating System :: POSIX', |
|
3758a5af985f
Lots of little fixes in this update:
Richard Jones <richard@users.sourceforge.net>
parents:
1287
diff
changeset
|
359 'Programming Language :: Python', |
|
3758a5af985f
Lots of little fixes in this update:
Richard Jones <richard@users.sourceforge.net>
parents:
1287
diff
changeset
|
360 'Topic :: Communications :: Email', |
|
3758a5af985f
Lots of little fixes in this update:
Richard Jones <richard@users.sourceforge.net>
parents:
1287
diff
changeset
|
361 'Topic :: Office/Business', |
|
3758a5af985f
Lots of little fixes in this update:
Richard Jones <richard@users.sourceforge.net>
parents:
1287
diff
changeset
|
362 'Topic :: Software Development :: Bug Tracking', |
|
3758a5af985f
Lots of little fixes in this update:
Richard Jones <richard@users.sourceforge.net>
parents:
1287
diff
changeset
|
363 ], |
|
593
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
364 |
|
753
938edfdeac6e
Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents:
675
diff
changeset
|
365 # Override certain command classes with our own ones |
|
938edfdeac6e
Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents:
675
diff
changeset
|
366 cmdclass = { |
|
938edfdeac6e
Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents:
675
diff
changeset
|
367 'build_scripts': build_scripts_roundup, |
|
2776
10e96f3ee658
install demo.py as a module in roundup package.
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2684
diff
changeset
|
368 'build_py': build_py_roundup, |
|
2214
39ffc2a7d901
check MANIFEST at build time
Richard Jones <richard@users.sourceforge.net>
parents:
2213
diff
changeset
|
369 'build': build_roundup, |
|
753
938edfdeac6e
Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents:
675
diff
changeset
|
370 }, |
|
938edfdeac6e
Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents:
675
diff
changeset
|
371 scripts = roundup_scripts, |
|
593
2256f81293c1
Conversion to generated script stubs
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
580
diff
changeset
|
372 |
|
753
938edfdeac6e
Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents:
675
diff
changeset
|
373 data_files = installdatafiles |
|
938edfdeac6e
Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents:
675
diff
changeset
|
374 ) |
|
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
|
375 |
|
1576
80519db85eac
More tweaks to the licensing to make the Debian folks happy :)
Richard Jones <richard@users.sourceforge.net>
parents:
1461
diff
changeset
|
376 if __name__ == '__main__': |
|
1640
d0b29215aa44
pre-release stuff
Richard Jones <richard@users.sourceforge.net>
parents:
1619
diff
changeset
|
377 main() |
|
1576
80519db85eac
More tweaks to the licensing to make the Debian folks happy :)
Richard Jones <richard@users.sourceforge.net>
parents:
1461
diff
changeset
|
378 |
|
2684
94229a0832bd
install extensions directories in tracker templates.
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
2448
diff
changeset
|
379 # vim: set filetype=python sts=4 sw=4 et si : |
