Should work from here on.
authorSapan Bhatia <sapanb@cs.princeton.edu>
Thu, 23 Jul 2009 20:37:18 +0000 (20:37 +0000)
committerSapan Bhatia <sapanb@cs.princeton.edu>
Thu, 23 Jul 2009 20:37:18 +0000 (20:37 +0000)
build-conf-planetlab.py
run-nightlies.py

index 107da5a..a56c5d5 100755 (executable)
@@ -2,7 +2,7 @@
 
 marcs_trunk_build = {
        'tags':'planetlab-tags.mk',
-       'distro':['centos5','f8'],
+       'fcdistro':['centos5','f8'],
        'personality':['linux32','linux64'],
        'test': 0,
        'release':'k22',
@@ -10,7 +10,7 @@ marcs_trunk_build = {
                
 sapans_k27_build = {
        'tags':'k27-tags.mk',
-       'distro':'centos5',
+       'fcdistro':'centos5',
        'personality':'linux32',
        'test':1,
        'release':'k27'
@@ -32,17 +32,25 @@ def __check_out_build_script__(build):
     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',
index aac33ca..3e742ec 100755 (executable)
@@ -1,6 +1,9 @@
 #!/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==[]):
@@ -35,8 +38,7 @@ def complete_build_spec_with_defaults (build, default_build):
 # 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
@@ -47,10 +49,13 @@ def concrete_build_to_commandline(concrete_build):
             -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 
@@ -70,10 +75,10 @@ def process_builds (builds, build_names, default_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)