Should work from here on.
[build.git] / build-conf-planetlab.py
1 #!/usr/bin/python
2
3 marcs_trunk_build = {
4         'tags':'planetlab-tags.mk',
5         'fcdistro':['centos5','f8'],
6         'personality':['linux32','linux64'],
7         'test': 0,
8         'release':'k22',
9 }
10                 
11 sapans_k27_build = {
12         'tags':'k27-tags.mk',
13         'fcdistro':'centos5',
14         'personality':'linux32',
15         'test':1,
16         'release':'k27'
17 }
18
19 ###
20 #
21 # DEFAULTS 
22 #
23 # Any values that you leave out from the above specs will get filled in by the defaults specified below.
24 # You shouldn't need to modify these values to add new builds
25
26 __personality_to_arch__={'linux32':'i386','linux64':'x86_64'}
27 __flag_to_test__={0:'-B', 1:''}
28
29 def __check_out_build_script__(build):
30     import os
31     tmpname = os.popen('mktemp /tmp/'+build['build-script']+'.XXXXXX').read().rstrip('\n')
32     os.system("svn cat %s/%s > %s 2>/dev/null"%(build['svnpath'],build['build-script'],tmpname))
33     return tmpname
34
35 def __today__():
36     import datetime
37     return datetime.datetime.now().strftime("%Y-%m-%d")
38
39 __default_build__ = {
40
41 ### Simple parameters
42     'tags':'planetlabs-tags.mk',
43     'fcdistro':'centos5',
44     'personality':'linux32',
45     'test':0,
46     'release':'k22',
47         'path':'/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin',
48         'sh':'/bin/bash',
49         'mailto':'build@lists.planet-lab.org',
50         'build-script':'vbuild-nightly.sh',
51         'webpath':'/vservers/build.planet-lab.org/var/www/html/install-rpms/archive',
52         'pldistro':'planetlab',
53         'date': __today__(),
54         'svnpath':'http://svn.planet-lab.org/svn/build/trunk',
55     'personality':'linux32',
56     'myplcversion':'4.3',
57
58
59 ### Parameters with dependencies: define paramater mappings as lambdas here
60
61     'arch':lambda build: __personality_to_arch__[build['personality']],
62     'runtests':lambda build: __flag_to_test__[build['test']],
63     'vbuildnightly':lambda build: __check_out_build_script__(build)
64
65 }