watch more modules
[build.git] / build-conf-planetlab.py
index 107da5a..f24f325 100755 (executable)
@@ -1,8 +1,27 @@
 #!/usr/bin/python
 
+###
+# Nightly build spec HOWTO
+#
+# *  To add a 'build spec', define a dictionary as in the following examples, filling in the values you would like to override in the defaults. Any values you leave out
+# will get picked up from the defaults at the bottom of this fiel.
+#
+# *  A build spec may define multiple builds encapsulating various combinations of the available parameter options. To do so, 
+# set a parameter to a list, and the parent script will automatically turn it into the combinations it encloses. e.g., the following
+# build spec defines 6 separate builds:
+#
+# my_build = {
+#   'fcdistro':['centos5','f8','f10'],
+#   'personality':['linux32','linux65']
+#
+# * If your parameters have dependencies - e.g. you only want to build the linu64 personality on f10, then define the parameter as a lambda operating
+# on the current build spec. e.g. in this case, it would be to the effect of lambda (build): if (build['fcdistro']=='f10') then ['linux32','linux64'] else ['linux32']
+#
+
+
 marcs_trunk_build = {
        'tags':'planetlab-tags.mk',
-       'distro':['centos5','f8'],
+       'fcdistro':['centos5','f8'],
        'personality':['linux32','linux64'],
        'test': 0,
        'release':'k22',
@@ -10,7 +29,7 @@ marcs_trunk_build = {
                
 sapans_k27_build = {
        'tags':'k27-tags.mk',
-       'distro':'centos5',
+       'fcdistro':['centos5','f8'],
        'personality':'linux32',
        'test':1,
        'release':'k27'
@@ -32,17 +51,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',