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