Adding source_hooks for hooks on source images like already supported on binary images.

This commit is contained in:
Daniel Baumann 2013-02-21 19:07:41 +01:00
parent a40fc3b92a
commit 0e5cfdb747
2 changed files with 79 additions and 0 deletions

View File

@ -51,6 +51,7 @@ lb chroot_archives source install ${@}
lb source_debian-live ${@}
lb source_debian ${@}
lb source_disk ${@}
lb source_hooks ${@}
lb source_checksums ${@}
# Building images

78
scripts/build/source_hooks Executable file
View File

@ -0,0 +1,78 @@
#!/bin/sh
## live-build(7) - System Build Scripts
## Copyright (C) 2006-2013 Daniel Baumann <daniel@debian.org>
##
## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING.
## This is free software, and you are welcome to redistribute it
## under certain conditions; see COPYING for details.
set -e
# Including common functions
[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh
# Setting static variables
DESCRIPTION="$(Echo 'execute hooks in source')"
HELP=""
USAGE="${PROGRAM} [--force]"
Arguments "${@}"
# Reading configuration files
Read_conffiles config/all config/common config/bootstrap config/chroot config/source config/source
Set_defaults
Echo_message "Begin executing hooks..."
# Requiring stage file
Require_stagefile .build/config .build/bootstrap
# Checking stage file
Check_stagefile .build/source_hooks
# Checking lock file
Check_lockfile .lock
# Creating lock file
Create_lockfile .lock
## Processing distribution hooks
# Running hooks
for _HOOK in ${LB_BINARY_HOOKS}
do
for LOCATION in "${LIVE_BUILD}/hooks" /usr/share/live/build/hooks
do
for FILE in "${LOCATION}"/????-"${_HOOK}".source
do
if [ -e "${FILE}" ]
then
cd source
"${FILE}" || { Echo_error "${_HOOK} failed (exit non-zero). You should check for errors."; exit 1 ;}
cd "${OLDPWD}"
fi
done
done
done
## Processing local hooks
if Find_files config/hooks/*.source
then
for HOOK in config/hooks/*.source
do
# Making hook executable
if [ ! -x "${HOOK}" ]
then
chmod +x "${HOOK}"
fi
# Executing hook
./"${HOOK}" || { Echo_error "${HOOK} failed (exit non-zero). You should check for errors."; exit 1 ;}
done
# Creating stage file
Create_stagefile .build/source_hooks
fi