summaryrefslogtreecommitdiff
path: root/scripts/build
diff options
context:
space:
mode:
authorDaniel Baumann <daniel@debian.org>2011-07-19 11:57:14 +0200
committerDaniel Baumann <daniel@debian.org>2011-07-19 11:57:21 +0200
commite4793268a3d14e945a96466441e31259c0df6e1b (patch)
tree65c3447d106633bb99033abbfb1595f32bc96998 /scripts/build
parenteb2a305a5f692a1661001bae1c8e6d202f4280e9 (diff)
downloadvyos-live-build-e4793268a3d14e945a96466441e31259c0df6e1b.tar.gz
vyos-live-build-e4793268a3d14e945a96466441e31259c0df6e1b.zip
Enabling hooks based on the mode we're building for.
Diffstat (limited to 'scripts/build')
-rwxr-xr-xscripts/build/lb_chroot2
-rwxr-xr-xscripts/build/lb_chroot_hooks (renamed from scripts/build/lb_chroot_local-hooks)43
2 files changed, 35 insertions, 10 deletions
diff --git a/scripts/build/lb_chroot b/scripts/build/lb_chroot
index d0df15ec1..c01941817 100755
--- a/scripts/build/lb_chroot
+++ b/scripts/build/lb_chroot
@@ -72,7 +72,7 @@ done
lb chroot_live-packages ${*}
lb chroot_local-includes ${*}
lb chroot_local-patches ${*}
-lb chroot_local-hooks ${*}
+lb chroot_hooks ${*}
lb chroot_hacks ${*}
lb chroot_interactive ${*}
diff --git a/scripts/build/lb_chroot_local-hooks b/scripts/build/lb_chroot_hooks
index f7bc57468..1f62832e1 100755
--- a/scripts/build/lb_chroot_local-hooks
+++ b/scripts/build/lb_chroot_hooks
@@ -30,7 +30,7 @@ Echo_message "Begin executing local hooks..."
Require_stagefile .stage/config .stage/bootstrap
# Checking stage file
-Check_stagefile .stage/chroot_local-hooks
+Check_stagefile .stage/chroot_hooks
# Checking lock file
Check_lockfile .lock
@@ -38,33 +38,58 @@ Check_lockfile .lock
# Creating lock file
Create_lockfile .lock
-# Processing local-hooks
+## Processing distribution hooks
+
+# Copying hooks
+for _HOOK in ${LB_CHROOT_HOOKS}
+do
+ if [ -e "${LB_BASE}/hooks/???-${_HOOK}.chroot" ]
+ then
+ mkdir -p chroot/root/lb_chroot_hooks
+ cp "${LB_BASE}/hooks/???-${_HOOK}.chroot" chroot/root/lb_chroot_hooks
+ fi
+done
+
+# Running hooks
+if ls chroot/root/lb_chroot_hooks/* > /dev/null 2>&1
+then
+ for _HOOK in chroot/root/lb_chroot_hooks/*
+ do
+ Chroot chroot "/root/$(basename ${_HOOK})" || { Echo_error "${_HOOK} failed (exit non-zero). You should check for errors."; exit 1 ;}
+ rm -f chroot/root/"$(basename ${_HOOK})"
+ done
+
+ rmdir chroot/root/lb_chroot_hooks
+fi
+
+## Processing local hooks
+
if Find_files config/hooks/*.chroot
then
# Restoring cache
Restore_cache cache/packages_chroot
- for HOOK in config/hooks/*.chroot
+ for _HOOK in config/hooks/*.chroot
do
# Copying hook
- cp "${HOOK}" chroot/root
+ cp "${_HOOK}" chroot/root
# Making hook executable
- if [ ! -x chroot/root/"$(basename ${HOOK})" ]
+ if [ ! -x chroot/root/"$(basename ${_HOOK})" ]
then
- chmod +x chroot/root/"$(basename ${HOOK})"
+ chmod +x chroot/root/"$(basename ${_HOOK})"
fi
# Executing hook
- Chroot chroot "/root/$(basename ${HOOK})" || { Echo_error "${HOOK} failed (exit non-zero). You should check for errors."; exit 1 ;}
+ Chroot chroot "/root/$(basename ${_HOOK})" || { Echo_error "${_HOOK} failed (exit non-zero). You should check for errors."; exit 1 ;}
# Removing hook
- rm -f chroot/root/"$(basename ${HOOK})"
+ rm -f chroot/root/"$(basename ${_HOOK})"
done
# Saving cache
Save_cache cache/packages_chroot
# Creating stage file
- Create_stagefile .stage/chroot_local-hooks
+ Create_stagefile .stage/chroot_hooks
fi