Naming conventions
[build.git] / build-conf-planetlab.py
1 #!/usr/bin/python
2
3 marcs_trunk_build = {
4         'tags':'planetlab-tags.mk',
5         'distro':['centos5','f8'],
6         'personality':['linux32','linux64'],
7         'test': 0,
8         'release':'k22',
9 }
10                 
11 sapans_k27_build = {
12         'tags':'k27-tags.mk',
13         'distro':'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 __default_build__ = {
36
37 ### Simple parameters
38
39         'path':'/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin',
40         'sh':'/bin/bash',
41         'mailto':'build@lists.planet-lab.org',
42         'build-script':'vbuild-nightly.sh',
43         'webpath':'/vservers/build.planet-lab.org/var/www/html/install-rpms/archive',
44         'pldistro':'planetlab',
45         'date':'2009-07-21',
46         'svnpath':'http://svn.planet-lab.org/svn/build/trunk',
47     'personality':'linux32',
48     'myplcversion':'4.3',
49
50
51 ### Parameters with dependencies: define paramater mappings as lambdas here
52
53     'arch':lambda build: __personality_to_arch__[build['personality']],
54     'runtests':lambda build: __flag_to_test__[build['test']],
55     'vbuildnightly':lambda build: __check_out_build_script__(build)
56
57 }