marcs_trunk_build = {
'tags':'planetlab-tags.mk',
- 'distro':['centos5','f8'],
+ 'fcdistro':['centos5','f8'],
'personality':['linux32','linux64'],
'test': 0,
'release':'k22',
sapans_k27_build = {
'tags':'k27-tags.mk',
- 'distro':'centos5',
+ 'fcdistro':'centos5',
'personality':'linux32',
'test':1,
'release':'k27'
os.system("svn cat %s/%s > %s 2>/dev/null"%(build['svnpath'],build['build-script'],tmpname))
return tmpname
+def __today__():
+ import datetime
+ return datetime.datetime.now().strftime("%Y-%m-%d")
+
__default_build__ = {
### Simple parameters
-
+ 'tags':'planetlabs-tags.mk',
+ 'fcdistro':'centos5',
+ 'personality':'linux32',
+ 'test':0,
+ 'release':'k22',
'path':'/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin',
'sh':'/bin/bash',
'mailto':'build@lists.planet-lab.org',
'build-script':'vbuild-nightly.sh',
'webpath':'/vservers/build.planet-lab.org/var/www/html/install-rpms/archive',
'pldistro':'planetlab',
- 'date':'2009-07-21',
+ 'date': __today__(),
'svnpath':'http://svn.planet-lab.org/svn/build/trunk',
'personality':'linux32',
'myplcversion':'4.3',
#!/usr/bin/python
# Script to read build configs in /etc/build_conf.py, turn the configuration into command lines and execute it
+import os
+import re
+
# Assemble a list of builds from a single build spec
def interpret_build(build, param_names, current_concrete_build={}, concrete_build_list=[]):
if (param_names==[]):
# Turn a concrete build into a commandline
def concrete_build_to_commandline(concrete_build):
- import pdb
- pdb.set_trace()
+
cmdline = '''%(sh)s
%(vbuildnightly)s
-b %(pldistro)s-%(fcdistro)s-%(arch)s-%(myplcversion)s-%(release)s-%(date)s
-s %(svnpath)s
-t %(tags)s
-w %(webpath)s/%(pldistro)s/%(fcdistro)s
- %(runtests)s'''.replace('\n','')
+ %(runtests)s'''.replace('\n','')
+
cmdline = cmdline % concrete_build
- return cmdline
+ purge_spaces = re.compile('\s+')
+
+ return purge_spaces.sub(' ', cmdline)
# reduce dependencies in a build
concrete_builds = map(lambda cb: reduce_dependencies(cb), concrete_builds_without_deps)
for concrete_build in concrete_builds:
build_commandline = concrete_build_to_commandline(concrete_build)
- print build_commandline
+ os.system(build_commandline)
def main():
- config_file = './build_conf_planetlab.py'
+ config_file = '/etc/build-conf-planetlab.py'
builds = {}
try:
execfile(config_file, builds)