annotate examples/trac/setup.py @ 73:1da51d718391 trunk

Some more performance tweaks.
author cmlenz
date Wed, 12 Jul 2006 18:47:39 +0000
parents 93b4dcbafd7b
children
rev   line source
39
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
1 #!/usr/bin/env python
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
2
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
3 import os
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
4 import os.path
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
5 import sys
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
6 import string
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
7 from glob import glob
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
8 from distutils.core import setup
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
9 from distutils.command.install import install
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
10 from distutils.command.install_data import install_data
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
11 from distutils.command.install_scripts import install_scripts
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
12 from stat import ST_MODE, S_ISDIR
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
13
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
14 import trac
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
15
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
16 PACKAGE = 'Trac'
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
17 VERSION = str(trac.__version__)
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
18 URL = trac.__url__
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
19 LICENSE = trac.__license__
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
20
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
21 if sys.version_info < (2, 3):
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
22 print >>sys.stderr, 'You need at least Python 2.3 for %s %s' \
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
23 % (PACKAGE, VERSION)
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
24 sys.exit(3)
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
25
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
26 def _p(unix_path):
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
27 return os.path.normpath(unix_path)
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
28
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
29 class my_install (install):
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
30 def run (self):
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
31 self.siteconfig()
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
32
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
33 def siteconfig(self):
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
34 path = self.prefix or self.home
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
35 path = os.path.expanduser(path)
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
36 conf_dir = os.path.join(path, 'share', 'trac', 'conf')
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
37 templates_dir = os.path.join(path, 'share', 'trac', 'templates')
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
38 htdocs_dir = os.path.join(path, 'share', 'trac', 'htdocs')
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
39 wiki_dir = os.path.join(path, 'share', 'trac', 'wiki-default')
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
40 macros_dir = os.path.join(path, 'share', 'trac', 'wiki-macros')
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
41 plugins_dir = os.path.join(path, 'share', 'trac', 'plugins')
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
42 f = open(_p('trac/siteconfig.py'), 'w')
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
43 f.write("""
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
44 # PLEASE DO NOT EDIT THIS FILE!
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
45 # This file was autogenerated when installing %(trac)s %(ver)s.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
46 #
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
47 __default_conf_dir__ = %(conf)r
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
48 __default_templates_dir__ = %(templates)r
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
49 __default_htdocs_dir__ = %(htdocs)r
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
50 __default_wiki_dir__ = %(wiki)r
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
51 __default_macros_dir__ = %(macros)r
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
52 __default_plugins_dir__ = %(plugins)r
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
53
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
54 """ % {'trac': PACKAGE, 'ver': VERSION, 'conf': _p(conf_dir),
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
55 'templates': _p(templates_dir), 'htdocs': _p(htdocs_dir),
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
56 'wiki': _p(wiki_dir), 'macros': _p(macros_dir),
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
57 'plugins': _p(plugins_dir)})
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
58 f.close()
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
59
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
60 # Run actual install
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
61 install.run(self)
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
62 print
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
63 print "Thank you for choosing Trac %s. Enjoy your stay!" % VERSION
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
64 print
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
65
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
66 class my_install_scripts (install_scripts):
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
67 def initialize_options (self):
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
68 install_scripts.initialize_options(self)
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
69 self.install_data = None
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
70
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
71 def finalize_options (self):
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
72 install_scripts.finalize_options(self)
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
73 self.set_undefined_options('install',
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
74 ('install_data', 'install_data'))
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
75
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
76 def run (self):
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
77 if not self.skip_build:
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
78 self.run_command('build_scripts')
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
79
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
80 self.outfiles = []
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
81
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
82 self.mkpath(os.path.normpath(self.install_dir))
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
83 ofile, copied = self.copy_file(os.path.join(self.build_dir,
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
84 'trac-admin'),
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
85 self.install_dir)
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
86 if copied:
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
87 self.outfiles.append(ofile)
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
88 ofile, copied = self.copy_file(os.path.join(self.build_dir,
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
89 'tracd'),
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
90 self.install_dir)
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
91 if copied:
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
92 self.outfiles.append(ofile)
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
93 ofile, copied = self.copy_file(os.path.join(self.build_dir,
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
94 'tracdb2env'),
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
95 self.install_dir)
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
96 if copied:
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
97 self.outfiles.append(ofile)
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
98
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
99 cgi_dir = os.path.join(self.install_data, 'share', 'trac', 'cgi-bin')
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
100 if not os.path.exists(cgi_dir):
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
101 os.makedirs(cgi_dir)
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
102
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
103 ofile, copied = self.copy_file(os.path.join(self.build_dir,
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
104 'trac.cgi'), cgi_dir)
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
105 if copied:
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
106 self.outfiles.append(ofile)
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
107
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
108 ofile, copied = self.copy_file(os.path.join(self.build_dir,
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
109 'trac.fcgi'), cgi_dir)
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
110 if copied:
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
111 self.outfiles.append(ofile)
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
112
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
113 for path in ('plugins', 'conf'):
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
114 full_path = os.path.join(self.install_data, 'share', 'trac', path)
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
115 if not os.path.exists(full_path):
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
116 os.makedirs(full_path)
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
117
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
118 if os.name == 'posix':
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
119 # Set the executable bits (owner, group, and world) on
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
120 # all the scripts we just installed.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
121 for file in self.get_outputs():
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
122 if not self.dry_run:
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
123 mode = ((os.stat(file)[ST_MODE]) | 0555) & 07777
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
124 os.chmod(file, mode)
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
125 elif os.name == 'nt':
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
126 # Install post-install script on windows
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
127 ofile, copied = self.copy_file(os.path.join(self.build_dir,
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
128 'trac-postinstall.py'),
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
129 self.install_dir)
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
130 if copied:
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
131 self.outfiles.append(ofile)
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
132
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
133
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
134 class my_install_data (install_data):
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
135 def run (self):
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
136 install_data.run(self)
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
137
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
138 if os.name == 'posix' and not self.dry_run:
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
139 # Make the data files we just installed world-readable,
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
140 # and the directories world-executable as well.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
141 for path in self.get_outputs():
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
142 mode = os.stat(path)[ST_MODE]
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
143 if S_ISDIR(mode):
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
144 mode |= 011
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
145 mode |= 044
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
146 os.chmod(path, mode)
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
147
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
148 # Our custom bdist_wininst
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
149 import distutils.command.bdist_wininst
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
150 from distutils.command.bdist_wininst import bdist_wininst
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
151 class my_bdist_wininst(bdist_wininst):
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
152 def initialize_options(self):
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
153 bdist_wininst.initialize_options(self)
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
154 self.title = 'Trac %s' % VERSION
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
155 self.bitmap = 'setup_wininst.bmp'
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
156 self.install_script = 'trac-postinstall.py'
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
157 distutils.command.bdist_wininst.bdist_wininst = my_bdist_wininst
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
158
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
159
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
160 # parameters for various rpm distributions
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
161 rpm_distros = {
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
162 'suse_options': { 'version_suffix': 'SuSE',
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
163 'requires': """python >= 2.3
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
164 subversion >= 1.0.0
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
165 pysqlite >= 0.4.3
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
166 clearsilver >= 0.9.3
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
167 httpd""" },
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
168
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
169 'fedora_options': { 'version_suffix': 'fc'}
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
170 }
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
171
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
172
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
173 # Our custom bdist_rpm
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
174 import distutils.command.bdist_rpm
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
175 from distutils.command.bdist_rpm import bdist_rpm
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
176 class generic_bdist_rpm(bdist_rpm):
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
177
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
178 def __init__(self, dist, distro):
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
179 self.distro = distro
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
180 bdist_rpm.__init__(self, dist)
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
181
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
182 def initialize_options(self):
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
183 bdist_rpm.initialize_options(self)
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
184 self.title = "Trac %s" % VERSION
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
185 self.packager = "Edgewall Software <info@edgewall.com>"
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
186 for x in rpm_distros[self.distro].keys():
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
187 setattr(self, x, rpm_distros[self.distro][x])
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
188 self.install_script = "scripts/rpm-install.sh"
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
189
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
190 def run(self):
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
191 bdist_rpm.run(self)
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
192 if hasattr(self, 'version_suffix'):
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
193 prefix = os.path.join(self.dist_dir, string.lower(PACKAGE)+'-'+VERSION+'-1')
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
194 os.rename(prefix+'.noarch.rpm', prefix+self.version_suffix+'.noarch.rpm')
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
195 os.rename(prefix+'.src.rpm', prefix+self.version_suffix+'.src.rpm')
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
196
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
197 class proxy_bdist_rpm(bdist_rpm):
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
198
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
199 def __init__(self, dist):
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
200 bdist_rpm.__init__(self, dist)
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
201 self.dist = dist
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
202
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
203 def initialize_options(self):
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
204 bdist_rpm.initialize_options(self)
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
205
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
206 def run(self):
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
207 for distro in rpm_distros.keys():
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
208 r = generic_bdist_rpm(self.dist, distro)
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
209 r.initialize_options()
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
210 self.dist._set_command_options(r, self.dist.command_options['bdist_rpm'])
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
211 r.finalize_options()
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
212 r.run()
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
213
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
214 distutils.command.bdist_rpm.bdist_rpm = proxy_bdist_rpm
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
215
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
216 setup(name="trac",
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
217 description="Integrated scm, wiki, issue tracker and project environment",
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
218 long_description=\
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
219 """
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
220 Trac is a minimalistic web-based software project management and bug/issue
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
221 tracking system. It provides an interface to the Subversion revision control
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
222 systems, an integrated wiki, flexible issue tracking and convenient report
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
223 facilities.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
224 """,
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
225 version=VERSION,
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
226 author="Edgewall Software",
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
227 author_email="info@edgewall.com",
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
228 license=LICENSE,
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
229 url=URL,
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
230 packages=['trac', 'trac.db', 'trac.mimeview', 'trac.scripts',
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
231 'trac.ticket', 'trac.upgrades', 'trac.util', 'trac.web',
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
232 'trac.versioncontrol', 'trac.versioncontrol.web_ui',
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
233 'trac.wiki'],
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
234 data_files=[(_p('share/trac/templates'), glob('templates/*')),
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
235 (_p('share/trac/htdocs'), glob(_p('htdocs/*.*')) + [_p('htdocs/README')]),
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
236 (_p('share/trac/htdocs/css'), glob(_p('htdocs/css/*'))),
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
237 (_p('share/trac/htdocs/js'), glob(_p('htdocs/js/*'))),
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
238 (_p('share/man/man1'), glob(_p('scripts/*.1'))),
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
239 (_p('share/trac/wiki-default'), glob(_p('wiki-default/[A-Z]*'))),
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
240 (_p('share/trac/wiki-macros'), glob(_p('wiki-macros/*.py')))],
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
241 scripts=[_p('scripts/trac-admin'),
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
242 _p('scripts/trac-postinstall.py'),
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
243 _p('scripts/tracd'),
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
244 _p('scripts/tracdb2env'),
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
245 _p('cgi-bin/trac.cgi'),
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
246 _p('cgi-bin/trac.fcgi')],
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
247 cmdclass = {'install': my_install,
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
248 'install_scripts': my_install_scripts,
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
249 'install_data': my_install_data})
Copyright (C) 2012-2017 Edgewall Software