summaryrefslogtreecommitdiff
path: root/baserock-bootstrap
diff options
context:
space:
mode:
authorJannis Pohlmann <jannis.pohlmann@codethink.co.uk>2012-04-12 11:25:05 +0100
committerJannis Pohlmann <jannis.pohlmann@codethink.co.uk>2012-04-12 11:25:05 +0100
commit412ead40e1e8671f84e28d15aad72c11a962c7a1 (patch)
tree9cd43e85059c943fce9c71ff9884a0162ca51ddc /baserock-bootstrap
parentd7a7fc31242ba4ff88252bb0d6eca62ca327f8f0 (diff)
downloadmorph-412ead40e1e8671f84e28d15aad72c11a962c7a1.tar.gz
Dump build times of all passes in baserock-bootstrap.
This commit renames extract-build-times.py to dump-build-times and makes use of it after every pass in baserock-bootstrap. This will add the build times of all chunks to the bootstrap log.
Diffstat (limited to 'baserock-bootstrap')
-rwxr-xr-xbaserock-bootstrap84
1 files changed, 84 insertions, 0 deletions
diff --git a/baserock-bootstrap b/baserock-bootstrap
index 51c310df..820a78e9 100755
--- a/baserock-bootstrap
+++ b/baserock-bootstrap
@@ -90,6 +90,13 @@ pass1_build_with_morph()
--target-cflags="$TARGET_CFLAGS"
}
+pass1_dump_build_times()
+{
+ echo "Dumping pass 1 build times"
+ cd $LFS/baserock/gits/morph
+ python ./dump-build-times $LFS/baserock/cache
+}
+
pass2_get_morph()
{
echo "Get morph"
@@ -249,6 +256,43 @@ EOF
"$do_chroot" /baserock/build.sh
}
+pass2_dump_build_times()
+{
+ echo "Dumping pass 2 build times"
+ cat <<EOF > "$LFS/baserock/dump-pass2-build-times.sh"
+#!/tools/bin/bash
+set -e
+set -x
+
+cd /baserock/gits/morph
+python ./dump-build-times /baserock/cache
+EOF
+ $HOST_CHMOD +x "$LFS/baserock/dump-pass2-build-times.sh"
+ local do_chroot="$BASEDIR/do-chroot.bash"
+ $HOST_CAT <<EOF >"$do_chroot"
+#!/bin/bash
+trap "umount $LFS/proc $LFS/sys" INT TERM EXIT
+set -e
+set -x
+if ! mount | grep "$LFS/proc" >/dev/null
+then
+ mount -t proc proc "$LFS/proc"
+fi
+if ! mount | grep "$LFS/sys" >/dev/null
+then
+ mount -t sysfs sysfs "$LFS/sys"
+fi
+$HOST_CP -f /etc/resolv.conf "$LFS/etc/resolv.conf"
+/usr/sbin/chroot "$LFS" \\
+ /tools/bin/env -i HOME=/baserock TERM=\$TERM \\
+ PATH="/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin" \\
+ BOOTSTRAP_TOOLS="$LFS/tools" \\
+ "\${@-\$SHELL}"
+EOF
+ $HOST_CHMOD +x "$do_chroot"
+ "$do_chroot" /baserock/dump-pass2-build-times.sh
+}
+
pass2a_cleanup_at_end()
{
echo "Remove unnecessary stuff at the end of pass2a"
@@ -379,6 +423,43 @@ EOF
"$do_chroot" /baserock/build_pass3.sh
}
+pass3_dump_build_times()
+{
+ echo "Dumping pass 3 build times"
+
+ cat <<EOF > "$LFS/baserock/dump-pass3-build-times.sh"
+#!/bin/bash
+set -e
+set -x
+
+export PATH="/usr/bin:/bin"
+cd /baserock/gits/morph
+python ./dump-build-times /baserock/cache
+EOF
+ $HOST_CHMOD +x "$LFS/baserock/dump-pass3-build-times.sh"
+ local do_chroot="$BASEDIR/do-chroot.bash"
+ $HOST_CAT >"$do_chroot" <<EOF
+#!/bin/bash
+trap "umount $LFS/proc $LFS/sys" INT TERM EXIT
+set -e
+set -x
+if ! mount | grep "$LFS/proc" >/dev/null
+then
+ mount -t proc proc "$LFS/proc"
+fi
+if ! mount | grep "$LFS/sys" >/dev/null
+then
+ mount -t sysfs sysfs "$LFS/sys"
+fi
+$HOST_CP -f /etc/resolv.conf "$LFS/etc/resolv.conf"
+/usr/sbin/chroot "$LFS" \\
+ /usr/bin/env -i HOME=/baserock TERM=\$TERM \\
+ PATH="/bin:/usr/bin:/sbin:/usr/sbin" \\
+ "\${@-\$SHELL}"
+EOF
+ $HOST_CHMOD +x "$do_chroot"
+ "$do_chroot" /baserock/dump-pass3-build-times.sh
+}
echo "Bootstrapping Baserock development environment"
echo "LFS_TGT=$LFS_TGT"
@@ -390,6 +471,7 @@ case "$buildwhat" in
;;
pass1b)
time pass1_build_with_morph
+ time pass1_dump_build_times
;;
pass2a)
time pass2_get_morph
@@ -399,6 +481,7 @@ case "$buildwhat" in
;;
pass2b)
time pass2_build_with_morph_in_chroot
+ time pass2_dump_build_times
time pass2b_cleanup_at_end
;;
pass3a)
@@ -407,6 +490,7 @@ case "$buildwhat" in
;;
pass3b)
time pass3_build_with_morph_in_chroot
+ time pass3_dump_build_times
;;
*) echo "Usage! (sorry, I'm unhelpful)" 1>&2
exit 1