Author: wade
Date: 2007-06-01 21:37:39 -0400 (Fri, 01 Jun 2007)
New Revision: 78469

Modified:
   trunk/release/conf/olive/ximian-build.conf
   trunk/release/packaging/build
   trunk/release/packaging/defs/olive
   trunk/release/packaging/do-build
   trunk/release/packaging/do-zip-build
   trunk/release/pyutils/buildenv.py
Log:
packaging/do-zip-build:
packaging/do-build:
packaging/build:
-New monobuild feature: collect files output by build steps:

pyutils/buildenv.py:
-use bash's login switch (-l), instead of shell's interactive switch
(-i)

packaging/defs/olive:
-took advantage of above new file collecting feature, and generate class
status pages for olive

conf/olive/ximian-build.conf:
-filelist update



Modified: trunk/release/conf/olive/ximian-build.conf
===================================================================
--- trunk/release/conf/olive/ximian-build.conf  2007-06-02 00:32:07 UTC (rev 
78468)
+++ trunk/release/conf/olive/ximian-build.conf  2007-06-02 01:37:39 UTC (rev 
78469)
@@ -77,6 +77,9 @@
          <i>[[usrprefix]]/lib/mono/gac/System.Xml.Linq</i>
          <i>[[usrprefix]]/lib/mono/3.0/System.Xml.Linq.dll*</i>         
 
+         <i>[[usrprefix]]/lib/mono/gac/System.ServiceModel.Web</i>
+         <i>[[usrprefix]]/lib/mono/3.0/System.ServiceModel.Web*</i>         
+
          <i>[[usrprefix]]/lib/pkgconfig/olive.pc</i>         
         </files>
 

Modified: trunk/release/packaging/build
===================================================================
--- trunk/release/packaging/build       2007-06-02 00:32:07 UTC (rev 78468)
+++ trunk/release/packaging/build       2007-06-02 01:37:39 UTC (rev 78469)
@@ -69,6 +69,16 @@
                build_info.update_step(name, state="inprogress", 
log=os.path.basename(LOGFILE), start=utils.get_time(), finish="")
 
                (result, output) = conf.buildenv.execute_code("%s %s " % 
(step_env_pre_cmd, code), working_dir=remote_src_dir, env=conf.env_vars, 
logger=log_obj, output_timeout=timeout, max_output_size=max_output_size)
+
+               # Get results, if any
+               results_dir = os.path.join(config.build_info_dir, 
build_info.rel_files_dir, 'files', 'steps')
+               distutils.dir_util.mkpath(results_dir)
+               
conf.buildenv.copy_from(os.path.join(conf.env_vars['build_location'], 'steps', 
name), results_dir)
+
+               # if files were gathered, add 'download' link to the build info
+               if os.path.exists(results_dir + os.sep + name):
+                       build_info.update_step(name, download='steps' + os.sep 
+ name)
+
                state = get_state(result, test=test)
                if result:
                        print "Step %s failed..." % name

Modified: trunk/release/packaging/defs/olive
===================================================================
--- trunk/release/packaging/defs/olive  2007-06-02 00:32:07 UTC (rev 78468)
+++ trunk/release/packaging/defs/olive  2007-06-02 01:37:39 UTC (rev 78469)
@@ -1,7 +1,7 @@
 web_index=5
 
 BUILD_HOSTS=(
-        suse-100-i586
+       suse-100-i586
 )
 
 USE_HOSTS=(
@@ -43,3 +43,47 @@
        $make_path run-test
 }
 
+POSTBUILD_STEP_NAME2="api-diff"
+POSTBUILD_STEP2 () {
+
+       mkdir status
+       cd status
+
+       wget http://mono.ximian.com/masterinfos/masterinfos-3.0.tar.gz
+
+       # todo: wget these out of subversion
+       wget http://primates.ximian.com/~wberrier/class_status/deploy.tar.bz2
+       wget http://primates.ximian.com/~wberrier/class_status/mono-api.xsl
+       wget http://primates.ximian.com/~wberrier/class_status/transform.exe
+
+       tar -zxf masterinfos-3.0.tar.gz
+       tar -jxf deploy.tar.bz2
+
+       mkdir infos
+       mkdir src
+
+       echo "<ul>" >> deploy/index.html
+
+       # Output to step-output dir, which will get recursively copied back to 
the build info
+       # Are these per file, or can multiple namespaces be in a file... ??
+       # (ie: is it ok for this list to be generated dynamically?)
+       for i in `find /tmp/scratch/dest/usr/lib/mono/3.0 -name *\.dll` ; do
+               f=`basename $i .dll`
+
+               # Only generate for the files we have master infos for
+               if [ -e masterinfos/$f.xml ] ; then
+                       echo "building class status page for: $i"
+                       mono-api-info2 $i > infos/$f.xml
+                       mono-api-diff masterinfos/$f.xml infos/$f.xml > 
src/$f.src
+                       mono transform.exe src/$f.src mono-api.xsl 
source-name=$f.src > deploy/$f.html
+                       echo "<li><a href=\"$f.html\">$f</a></li>" >> 
deploy/index.html
+               fi
+       done
+       echo "</ul>" >> deploy/index.html
+
+       target=$build_location/steps/api-diff
+       mkdir -p $target
+       cp -Rf deploy/*  $target
+}
+
+

Modified: trunk/release/packaging/do-build
===================================================================
--- trunk/release/packaging/do-build    2007-06-02 00:32:07 UTC (rev 78468)
+++ trunk/release/packaging/do-build    2007-06-02 01:37:39 UTC (rev 78469)
@@ -12,6 +12,7 @@
 # Make sure it exists...
 mkdir -p $build_location                               || exit 1
 cd $build_location && rm -rf scratch                   || exit 1
+rm -rf steps                                           || exit 1
 mkdir scratch && cd scratch                            || exit 1
 
 # These need sudo because the uids of builder of the host and jail may not 
match up

Modified: trunk/release/packaging/do-zip-build
===================================================================
--- trunk/release/packaging/do-zip-build        2007-06-02 00:32:07 UTC (rev 
78468)
+++ trunk/release/packaging/do-zip-build        2007-06-02 01:37:39 UTC (rev 
78469)
@@ -27,7 +27,7 @@
 pack_def = packaging.package(conf, package, inside_jail=True)
 
 
-for d in [ 'builder/built-packages', 'scratch', '/tmp/install' ]:
+for d in [ 'builder/built-packages', 'scratch', '/tmp/install', 'steps' ]:
        if os.path.exists(d):
                shutil.rmtree(d)
 

Modified: trunk/release/pyutils/buildenv.py
===================================================================
--- trunk/release/pyutils/buildenv.py   2007-06-02 00:32:07 UTC (rev 78468)
+++ trunk/release/pyutils/buildenv.py   2007-06-02 01:37:39 UTC (rev 78469)
@@ -93,7 +93,7 @@
                        mode = self.login_mode
 
                # TODO: the old code didn't call a shell when root_dir wasn't 
set (does that matter?)
-               command = "%s %s %s" % (self.root_dir_options, 
self.env['shell_path'], "-i")
+               command = "%s %s %s" % (self.root_dir_options, 
self.env['shell_path'], "-l")
 
                mode = self.modes[mode].login(command)
 

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to