This repository has been archived by the owner on Nov 22, 2018. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 8
/
config.py
212 lines (175 loc) · 5.69 KB
/
config.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
# Config vars
import os
import stat
# Default distro to make tarballs on (can be overridden in def file)
mktarball_host = "suse-110-x86_64"
# Set release base dir
# Must do at startup, opposed to doing this in a function
module_dir = os.path.dirname(__file__)
if module_dir != "": module_dir += os.sep
release_repo_root = os.path.abspath(module_dir + '..')
# This gets set to /home/wberrier/wa/msvn/release
# Packaging paths
packaging_dir = release_repo_root + '/packaging'
platform_conf_dir = packaging_dir + "/conf"
def_dir = packaging_dir + "/defs"
# Full path to where the builds are output
packages_dir = packaging_dir + "/packages"
snapshot_packages_dir = packaging_dir + "/snapshot_packages"
# Source dirs
sources_dir = packaging_dir + "/sources"
snapshot_sources_dir = packaging_dir + "/snapshot_sources"
# smbclient password file
smb_passfile = packaging_dir + "/.smbpass"
# Mono repo svn location
#MONO_ROOT = "svn://anonsvn.mono-project.com/source"
#src_key_file = ""
MONO_ROOT = "svn+ssh://distro@mono-cvs.ximian.com/source"
src_key_file = packaging_dir + os.sep + "distro_source_key"
#buildenv_key_file = ""
buildenv_key_file = packaging_dir + os.sep + "distro_source_key"
# Url path from view of webserver
web_root_dir = release_repo_root + "/monobuild/www"
build_info_dir = web_root_dir + "/builds"
mktarball_logs = web_root_dir + "/tarball_logs"
mktarball_logs_release_relpath = 'monobuild/www/tarball_logs'
# Can set this to a full path if needed
tar_path="tar"
# Tarball daemon config info
##############################################
td_active = True
# Seconds
td_network_error_interval = 60
td_max_poll_interval = 60
#td_max_poll_interval = 10
# How many revisions to go back when starting to build sequential tarballs
td_num_sequential = 10
# static list of packages to create tarballs for
# More difficult to build head versions of these...
#gtk-sharp
td_packages = """
gecko-sharp2
gluezilla
gnome-sharp2
gtk-sharp28
gtk-sharp210
gtk-sharp212
gtksourceview-sharp2
libgdiplus
mod_mono
mono
mono-addins
mono-branch
libgdiplus-branch
mono-basic
mono-debugger
mono-debugger-branch
mono-tools
monodevelop
monodevelop-boo
monodevelop-database
monodevelop-java
moon
moon-branch
olive
uiaatkbridge
uiautomationwinforms
xsp
""".split()
# builds each and every checkin if true, otherwise, only build the latest checkin
td_sequential = False
##############################################
# Scheduler daemon config info
##############################################
sd_active = True
# (auto reloading only works for the wakeup_interval and latest_build_packages on the scheduler daemon)
# seconds
sd_wakeup_interval = 60
#sd_wakeup_interval = 300
# Currently not used...
sd_sequential_build_distros = [ 'redhat-9-i386' ]
sd_sequential_build_packages = [ 'mono', 'mono-1.1.13' ]
# List of platforms/packages
#sunos-8-sparc
sd_latest_build_distros = """
debian-4-arm
debian-4-sparc
macos-10-ppc
macos-10-x86
sles-10-i586
sles-10-ia64
sles-10-ppc
sle-11-ppc64
sles-10-x86_64
sunos-10-sparc
sunos-10-x86
suse-103-i586
suse-103-ppc
suse-103-x86_64
suse-110-i586
suse-110-x86_64
win-4-i386
""".split()
sd_latest_build_packages = td_packages
##############################################
# Sync thread options
##############################################
sync_active = True
sync_host = 'mono-web@mono.ximian.com'
sync_target_dir = '~/release'
# Testing
#sync_host = 'wberrier@wblinux.provo.novell.com'
#sync_target_dir = 'wa/msvn/release/monobuild/www/builds'
#sync_num_builds = 50 # 880 MB in one test...
#sync_num_builds = 20 # 434 MB in one test...
sync_num_builds = 10 # 268 MB in one test...
sync_sleep_time = 10
# That's what autoconf gives us... try it out
sync_max_arg_len = 32768
##############################################
##############################################
# Default environment (used by sshutils and packaging.buildenv)
# TODO: there needs to be a better correlation between these env vars and the _path vars in packaging/conf
env_vars = {
'chroot_path': '/usr/sbin/chroot',
'strip_path': 'strip',
'tar_path': 'tar',
'make_path': 'make',
'build_location': '/tmp/monobuild',
#'shell_path': '/bin/sh',
# We depend on bash (ie: env string in execute_command)
'shell_path': '/bin/bash',
'python_path': 'python', # full path can be set in conf file for individual jails
}
######################################
# Common place for source extensions, which can be compiled to reg later
# Ennumerate to make it simpler...
# (Src.zip for IronPython)
# (note: these need to be in the order of increasingly less specific, for 'packaging/build')
source_extensions = """
-src.tar.bz2
-src.tar.gz
.tar.bz2
.tar.gz
-Src.zip
-src.zip
.zip
""".split()
# Results in something like:
# = "(\.tar\.gz|\.zip)"
sources_ext_re_string = "(" + "|".join(source_extensions).replace(".", "\.") + ")"
######################################
######################################
# Commonly used permission settings
all_rwx = stat.S_IRWXU | stat.S_IRWXG | stat.S_IRWXO # 777
shell_perms = stat.S_IRWXU | stat.S_IRGRP | stat.S_IXGRP | stat.S_IROTH | stat.S_IXOTH # 755
data_perms = stat.S_IRUSR | stat.S_IWUSR | stat.S_IRGRP | stat.S_IROTH # 644
dir_perms = stat.S_IRWXU | stat.S_IRWXG | stat.S_IROTH | stat.S_IXOTH # 775
######################################
# Common place to put all ssh options
ssh_options = '-o BatchMode=yes -o StrictHostKeyChecking=no -o Cipher=blowfish'
# Add key file to options for all ssh stuff, so all you need is the distro key
if os.path.exists(buildenv_key_file) and buildenv_key_file != "":
ssh_options += ' -i ' + buildenv_key_file
# Note: these options are passed to _all_ svn commands.
svn_options = '--non-interactive'