#!/bin/sh ## live-build(7) - System Build Scripts ## Copyright (C) 2006-2015 Daniel Baumann ## ## 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="Execute hooks in binary" HELP="" USAGE="${PROGRAM} [--force]" Arguments "${@}" # Reading configuration files Read_conffiles config/all config/common config/bootstrap config/chroot config/binary config/source Set_defaults Echo_message "Begin executing hooks..." # Requiring stage file Require_stagefile .build/config .build/bootstrap # Checking stage file Check_stagefile .build/binary_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}".binary do if [ -e "${FILE}" ] then cd binary "${FILE}" || { Echo_error "${_HOOK} failed (exit non-zero). You should check for errors."; exit 1 ;} cd "${OLDPWD}" fi done done done ## Processing local hooks for HOOK in config/hooks/normal/*.binary config/hooks/live/*.binary do if [ ! -e "${HOOK}" ] then continue fi # Making hook executable if [ ! -x "${HOOK}" ] then chmod +x "${HOOK}" fi # Executing hook cd binary ../"${HOOK}" || { Echo_error "${HOOK} failed (exit non-zero). You should check for errors."; exit 1 ;} cd "${OLDPWD}" done # Creating stage file Create_stagefile .build/binary_hooks