annotate setup.py @ 2806:845e87d5e3ba

translator objects now have the following search path: - selected locale messages in the tracker locale dir - selected locale messages in the system locale dir - english messages in the tracker locale dir - english messages in the system locale dir automatically compile .mo files if needed (found .po file and .mo is missing or .po mtime is greater that .mo mtime) removed support for python < 2.0. gettext module is now required. get_translation: removed 'domain' argument, added 'tracker_home' argument
author Alexander Smishlajev <a1s@users.sourceforge.net>
date Sat, 23 Oct 2004 14:03:34 +0000
parents 10e96f3ee658
children fdad30b046e2
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
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
18134bffab37 stupid typo
Richard Jones <richard@users.sourceforge.net>
parents: 213
diff changeset
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
Richard Jones <richard@users.sourceforge.net>
parents: 1873
diff changeset
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
c1ecd373b5c9 minor stuff
Richard Jones <richard@users.sourceforge.net>
parents: 1419
diff changeset
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 :

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