aboutsummaryrefslogtreecommitdiff
path: root/node/build
diff options
context:
space:
mode:
Diffstat (limited to 'node/build')
-rwxr-xr-xnode/build83
1 files changed, 53 insertions, 30 deletions
diff --git a/node/build b/node/build
index 4a068dc..4026433 100755
--- a/node/build
+++ b/node/build
@@ -12,6 +12,9 @@
# $2 = build CONFIG, base64-encoded
#
+BUILD_SCRIPT_ROOT=$(readlink -f "$(dirname "${0}")/../build-scripts")
+
+source "${BUILD_SCRIPT_ROOT}"/helpers
REPO_TOOL_URL="https://android.git.linaro.org/gitweb?p=tools/repo.git;a=blob_plain;f=repo;hb=refs/heads/stable"
# Dump system release to build log
@@ -35,17 +38,19 @@ function update-repo-tool () {
mv /tmp/repo /usr/local/bin/repo
}
-update-repo-tool
+if is_on_ec2; then
+ update-repo-tool
+fi
+
+mkdir -p $(get_build_config)/build-tools
-BUILD_SCRIPT_ROOT=$(readlink -f "$(dirname "${0}")/../build-scripts")
-mkdir -p /var/run/build-tools
if ! $BUILD_SCRIPT_ROOT/../node/prepare_build_config.py --base64 "$2"; then
echo "Early exit due to build environment validation failure"
exit 1
fi
-# At this point, safely sourceable build config is in /var/run/build-tools/build-config
-cat /var/run/build-tools/build-config
-source /var/run/build-tools/build-config
+# At this point, safely sourceable build config is in /tmp/build-tools/build-config
+cat $(get_build_config)/build-tools/build-config
+source $(get_build_config)/build-tools/build-config
if [ -n "$BUILD_CONFIG_REPO" ]; then
echo "Fetching build config indirectly from git"
@@ -58,7 +63,7 @@ if [ -n "$BUILD_CONFIG_REPO" ]; then
git checkout "$BUILD_CONFIG_BRANCH"
$BUILD_SCRIPT_ROOT/../node/prepare_build_config.py "$(cat "$BUILD_CONFIG_FILENAME")"
cd $save_dir
- source /var/run/build-tools/build-config
+ source $(get_build_config)/build-tools/build-config
fi
@@ -68,41 +73,59 @@ mount | grep -E "^tmpfs on .+workspace/" | awk ' {print $3}' | xargs --no-run-if
umount build/out/target || true
umount build/out || true
umount build || true
-rm -rf build
-mkdir build
-ramdisk_size=$(get_ramdisk_size $2)
+if is_on_ec2; then
+ rm -rf build
+fi
+mkdir -p build
+
+if is_on_ec2; then
+ ramdisk_size=$(get_ramdisk_size $2)
-if [ -z "$ramdisk_size" ]; then
- ramdisk_size=0
+ if [ -z "$ramdisk_size" ]; then
+ ramdisk_size=0
+ fi
fi
# Put build/* on a ramdisk to speed up build
-if [ -z "$ramdisk_size" -o "$ramdisk_size" != "0" ]; then
- mem_total=`cat /proc/meminfo | grep MemTotal | sed -s 's/[^0-9]*\([0-9]*\) kB/\1/'`
- if [ "$mem_total" -gt 15680064 ]; then
- ramdisk_size=${ramdisk_size:-11750M}
- echo "Using $ramdisk_size tmpfs for build"
- mount -t tmpfs -o size=$ramdisk_size tmpfs build
- elif [ "$mem_total" -gt 12485760 ]; then
- # XXX mounting build/out/target on a tmpfs is probably a bit android specific...
- ramdisk_size=${ramdisk_size:-11G}
- echo "Using $ramdisk_size tmpfs for build/out/target"
- mkdir -p build/out/target
- mount -t tmpfs -o size=$ramdisk_size tmpfs build/out/target
- else
- mkdir build/out
+if is_on_ec2; then
+ if [ -z "$ramdisk_size" -o "$ramdisk_size" != "0" ]; then
+ mem_total=`cat /proc/meminfo | grep MemTotal | sed -s 's/[^0-9]*\([0-9]*\) kB/\1/'`
+ if [ "$mem_total" -gt 15680064 ]; then
+ ramdisk_size=${ramdisk_size:-11750M}
+ echo "Using $ramdisk_size tmpfs for build"
+ mount -t tmpfs -o size=$ramdisk_size tmpfs build
+ elif [ "$mem_total" -gt 12485760 ]; then
+ # XXX mounting build/out/target on a tmpfs is probably a bit android specific...
+ ramdisk_size=${ramdisk_size:-11G}
+ echo "Using $ramdisk_size tmpfs for build/out/target#"
+ mkdir -p build/out/target
+ mount -t tmpfs -o size=$ramdisk_size tmpfs build/out/target
+ else
+ mkdir build/out
+ fi
fi
+else
+ mkdir build/out
+fi
+
+if is_on_ec2; then
+ chown :nogroup -R /mnt/jenkins
+ chown jenkins-build:nogroup -R build
fi
-chown :nogroup -R /mnt/jenkins
-chown jenkins-build:nogroup -R build
cd build
-sudo -E -H -u jenkins-build bash -xes "${BUILD_SCRIPT_ROOT}" "$@" <<\EOF
+if is_on_ec2; then
+ exec_cmd="sudo -E -H -u jenkins-build bash"
+else
+ exec_cmd="bash"
+fi
+$exec_cmd -xes "${BUILD_SCRIPT_ROOT}" "$@" <<\EOF
export BUILD_SCRIPT_ROOT="${1}"
HOST="${2}"
+source "${BUILD_SCRIPT_ROOT}"/helpers
set -a
-source /var/run/build-tools/build-config
+source $(get_build_config)/build-tools/build-config
set +a