Author: brane
Date: Tue Nov 11 18:37:07 2014
New Revision: 1638240
URL: http://svn.apache.org/r1638240
Log:
Add build and test scripts for the svn-x64-macosx build slave.
[in tools/buildbot/slaves/svn-x64-macosx]
* mkramdisk.sh, rmramdisk.sh, setenv.sh,
svnclean.sh, svnbuild.sh, svncheck.sh: New files.
Added:
subversion/trunk/tools/buildbot/slaves/svn-x64-macosx/mkramdisk.sh (with
props)
subversion/trunk/tools/buildbot/slaves/svn-x64-macosx/rmramdisk.sh (with
props)
subversion/trunk/tools/buildbot/slaves/svn-x64-macosx/setenv.sh
subversion/trunk/tools/buildbot/slaves/svn-x64-macosx/svnbuild.sh (with
props)
subversion/trunk/tools/buildbot/slaves/svn-x64-macosx/svncheck.sh (with
props)
subversion/trunk/tools/buildbot/slaves/svn-x64-macosx/svnclean.sh (with
props)
Modified:
subversion/trunk/tools/buildbot/slaves/svn-x64-macosx/ (props changed)
Propchange: subversion/trunk/tools/buildbot/slaves/svn-x64-macosx/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Tue Nov 11 18:37:07 2014
@@ -0,0 +1,2 @@
+ramdisk
+svn-wc-*
Added: subversion/trunk/tools/buildbot/slaves/svn-x64-macosx/mkramdisk.sh
URL:
http://svn.apache.org/viewvc/subversion/trunk/tools/buildbot/slaves/svn-x64-macosx/mkramdisk.sh?rev=1638240&view=auto
==============================================================================
--- subversion/trunk/tools/buildbot/slaves/svn-x64-macosx/mkramdisk.sh (added)
+++ subversion/trunk/tools/buildbot/slaves/svn-x64-macosx/mkramdisk.sh Tue Nov
11 18:37:07 2014
@@ -0,0 +1,34 @@
+#!/bin/bash
+
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+set -e
+set -x
+
+if [ -z "$1" ]; then
+ echo "Missing parameter: volume name"
+ exit 1
+fi
+
+volume="/Volumes/$1"
+
+mount | fgrep "${volume}" >/dev/null || {
+ device=$(hdiutil attach -nomount ram://1200000)
+ newfs_hfs -M 0700 -v "$1" "${device}"
+ hdiutil mountvol "${device}"
+}
Propchange: subversion/trunk/tools/buildbot/slaves/svn-x64-macosx/mkramdisk.sh
------------------------------------------------------------------------------
svn:executable = *
Added: subversion/trunk/tools/buildbot/slaves/svn-x64-macosx/rmramdisk.sh
URL:
http://svn.apache.org/viewvc/subversion/trunk/tools/buildbot/slaves/svn-x64-macosx/rmramdisk.sh?rev=1638240&view=auto
==============================================================================
--- subversion/trunk/tools/buildbot/slaves/svn-x64-macosx/rmramdisk.sh (added)
+++ subversion/trunk/tools/buildbot/slaves/svn-x64-macosx/rmramdisk.sh Tue Nov
11 18:37:07 2014
@@ -0,0 +1,32 @@
+#!/bin/bash
+
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+set -e
+set -x
+
+if [ -z "$1" ]; then
+ echo "Missing parameter: volume name"
+ exit 1
+fi
+
+volume="/Volumes/$1"
+
+mount | fgrep "${volume}" >/dev/null && {
+ hdiutil detach "${volume}" -force
+}
Propchange: subversion/trunk/tools/buildbot/slaves/svn-x64-macosx/rmramdisk.sh
------------------------------------------------------------------------------
svn:executable = *
Added: subversion/trunk/tools/buildbot/slaves/svn-x64-macosx/setenv.sh
URL:
http://svn.apache.org/viewvc/subversion/trunk/tools/buildbot/slaves/svn-x64-macosx/setenv.sh?rev=1638240&view=auto
==============================================================================
--- subversion/trunk/tools/buildbot/slaves/svn-x64-macosx/setenv.sh (added)
+++ subversion/trunk/tools/buildbot/slaves/svn-x64-macosx/setenv.sh Tue Nov 11
18:37:07 2014
@@ -0,0 +1,66 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+## This script calls a helper that provides the folloing environemnt
+## variables:
+##
+## PATH The search path
+## SVNBB_OPENSSL OpenSSL installation prefix
+## SVNBB_BDB Berkeley DB installation prefix
+## SVNBB_SWIG Swig installation prefix
+## SVNBB_SERF Serf installation prefix
+## Note: Serf should be built only
+## with the system APR/-Util.
+## SVNBB_APR_13_NOTHREAD Path of APR-1.3 with threading disabled
+## SVNBB_APR_15 Path of APR-1.5
+## SVNBB_APR_20_DEV Path of APR-2.0
+## SVNBB_JUNIT The path of the junit.jar
+##
+## The invoking script will set local variable named ${scripts} that
+## is the absolute path the parent of this file.
+
+# Modify this to suit your deployment
+environment=$(cd "${scripts}/../tools" && pwd)/environment.sh
+
+eval $(${environment})
+export PATH
+export SVNBB_BDB
+export SVNBB_SWIG
+export SVNBB_SERF
+export SVNBB_APR_13_NOTHREAD
+export SVNBB_APR_15
+export SVNBB_APR_20_DEV
+export SVNBB_JUNIT
+
+
+# A file named 'ramdisk' containing the uniqe RAM disk volume name
+# used by the build slave must be present in the same directory as the
+# scripts.
+
+if [ ! -f "${scripts}/ramdisk" ]; then
+ echo "Missing config file: 'ramdisk'"
+ exit 1
+fi
+
+# Set the name of the RAMdisk volume
+volume_name=$(head -1 "${scripts}/ramdisk")
+
+# Set the absolute source path
+abssrc=$(pwd)
+
+# Set the absolute build path
+absbld="/Volumes/${volume_name}"
Added: subversion/trunk/tools/buildbot/slaves/svn-x64-macosx/svnbuild.sh
URL:
http://svn.apache.org/viewvc/subversion/trunk/tools/buildbot/slaves/svn-x64-macosx/svnbuild.sh?rev=1638240&view=auto
==============================================================================
--- subversion/trunk/tools/buildbot/slaves/svn-x64-macosx/svnbuild.sh (added)
+++ subversion/trunk/tools/buildbot/slaves/svn-x64-macosx/svnbuild.sh Tue Nov
11 18:37:07 2014
@@ -0,0 +1,84 @@
+#!/bin/bash
+
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+set -e
+set -x
+
+scripts=$(cd $(dirname "$0") && pwd)
+
+. ${scripts}/setenv.sh
+
+${scripts}/mkramdisk.sh ${volume_name}
+
+# These are the default APR and Serf config options
+serfconfig="--with-serf=${SVNBB_SERF} --with-apxs=/usr/sbin/apxs"
+
+# An optional parameter tells build scripts which version of APR to use
+if [ ! -z "$1" ]; then
+ aprdir=$(eval 'echo $SVNBB_'"$1")
+fi
+if [ ! -z "${aprdir}" -a -d "${aprdir}" ]; then
+ aprconfig="--with-apr=${aprdir} --with-apr-util=${aprdir}"
+ serfconfig=" --without-serf --without-apxs"
+fi
+
+#
+# Step 1: get the latest and greatest amalgamanted SQLite
+#
+
+echo "============ get-deps.sh sqlite"
+cd ${abssrc}
+rm -fr sqlite-amalgamation
+./get-deps.sh sqlite
+
+#
+# Step 2: Regenerate build scripts
+#
+
+echo "\n============ autogen.sh\n"
+cd ${abssrc}
+./autogen.sh
+
+#
+# Step 3: Configure
+#
+
+echo "============ configure"
+cd ${absbld}
+env CC=clang CXX=clang++ \
+${abssrc}/configure \
+ --prefix="${absbld}/.install-prefix" \
+ --disable-debug \
+ --enable-optimize \
+ --disable-nls \
+ --disable-mod-activation \
+ ${aprconfig}${serfconfig} \
+ --with-swig="${SVNBB_SWIG}" \
+ --with-berkeley-db=db.h:"${SVNBB_BDB}/include":${SVNBB_BDB}/lib:db \
+ --enable-javahl \
+ --without-jikes \
+ --with-junit="${SVNBB_JUNIT}"
+
+#
+# Step 4: build
+#
+
+echo "============ make"
+cd ${absbld}
+make -j4
Propchange: subversion/trunk/tools/buildbot/slaves/svn-x64-macosx/svnbuild.sh
------------------------------------------------------------------------------
svn:executable = *
Added: subversion/trunk/tools/buildbot/slaves/svn-x64-macosx/svncheck.sh
URL:
http://svn.apache.org/viewvc/subversion/trunk/tools/buildbot/slaves/svn-x64-macosx/svncheck.sh?rev=1638240&view=auto
==============================================================================
--- subversion/trunk/tools/buildbot/slaves/svn-x64-macosx/svncheck.sh (added)
+++ subversion/trunk/tools/buildbot/slaves/svn-x64-macosx/svncheck.sh Tue Nov
11 18:37:07 2014
@@ -0,0 +1,88 @@
+#!/bin/bash
+
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+
+run_tests() {
+ ra="$1"
+ fs="$2"
+
+ case "${ra}" in
+ local) check=check; skipC=;;
+ svn) check=svnserveautocheck; skipC="SKIP_C_TESTS=1";;
+ dav) check=davautocheck; skipC="SKIP_C_TESTS=1";;
+ *) exit 1;;
+ esac
+
+ echo "============ make check ${ra}+${fs}"
+ cd ${absbld}
+ make ${check} FS_TYPE=${fs} PARALLEL=2 CLEANUP=1 ${skipC}
+
+ # The tests.log file must exist
+ test -f tests.log || exit 1
+ mv tests.log tests-${ra}-${fs}.log
+
+ # If a fails.log file exists, the tests failed.
+ test -f fails.log && {
+ mv fails.log fails-${ra}-${fs}.log
+ exit 1
+ }
+}
+
+
+set -x
+
+scripts=$(cd $(dirname "$0") && pwd)
+
+. ${scripts}/setenv.sh
+
+# Parse arguments to find out which tests we should run
+check_local=false
+check_svn=false
+check_dav=false
+check_fsfs=false
+check_bdb=false
+
+while [ ! -z "$1" ]; do
+ case "$1" in
+ local) check_local=true;;
+ svn) check_svn=true;;
+ dav) check_dav=true;;
+ fsfs) check_fsfs=true;;
+ bdb) check_bdb=true;;
+ *) exit 1;;
+ esac
+ shift
+done
+
+${check_local} && {
+ ${check_fsfs} && run_tests local fsfs
+ ${check_bdb} && run_tests local bdb
+}
+
+${check_svn} && {
+ ${check_fsfs} && run_tests svn fsfs
+ ${check_bdb} && run_tests svn bdb
+}
+
+${check_dav} && {
+ ${check_fsfs} && run_tests dav fsfs
+ ${check_bdb} && run_tests dav bdb
+}
+
+exit 0
Propchange: subversion/trunk/tools/buildbot/slaves/svn-x64-macosx/svncheck.sh
------------------------------------------------------------------------------
svn:executable = *
Added: subversion/trunk/tools/buildbot/slaves/svn-x64-macosx/svnclean.sh
URL:
http://svn.apache.org/viewvc/subversion/trunk/tools/buildbot/slaves/svn-x64-macosx/svnclean.sh?rev=1638240&view=auto
==============================================================================
--- subversion/trunk/tools/buildbot/slaves/svn-x64-macosx/svnclean.sh (added)
+++ subversion/trunk/tools/buildbot/slaves/svn-x64-macosx/svnclean.sh Tue Nov
11 18:37:07 2014
@@ -0,0 +1,27 @@
+#!/bin/bash
+
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+set -e
+set -x
+
+scripts=$(cd $(dirname "$0") && pwd)
+
+. ${scripts}/setenv.sh
+
+${scripts}/rmramdisk.sh ${volume_name}
Propchange: subversion/trunk/tools/buildbot/slaves/svn-x64-macosx/svnclean.sh
------------------------------------------------------------------------------
svn:executable = *