Empaquetage à partir des hooks ok
This commit is contained in:
30
lib/build.sh
30
lib/build.sh
@ -7,31 +7,6 @@ source "${TAMARIN_UTIL}"
|
||||
|
||||
DIST_DIR="${BASE_DIR}/dist"
|
||||
SRC_DIR="${BASE_DIR}/src"
|
||||
HOOKS_DIR="${BASE_DIR}/hooks"
|
||||
|
||||
function exec_hooks {
|
||||
|
||||
hook=${1}
|
||||
workspace=${2}
|
||||
|
||||
hook_scripts=$( find "${HOOKS_DIR}" -type f -name "*${hook}" -executable)
|
||||
|
||||
for hook_script in ${hook_scripts}; do
|
||||
|
||||
info "[hook-${hook}] Executing ${hook_script}"
|
||||
|
||||
( cd "${workspace}" && "${hook_script}" )
|
||||
|
||||
# If the script did not execute properly, we stop here
|
||||
if [ $? != 0 ]; then
|
||||
fatal "The '${hook_script}' hook script did not finished properly !"
|
||||
fi
|
||||
|
||||
info "[hook-${hook}] ${hook_script} done."
|
||||
|
||||
done
|
||||
|
||||
}
|
||||
|
||||
function build_project {
|
||||
|
||||
@ -39,7 +14,8 @@ function build_project {
|
||||
|
||||
set_opt project_name "${PROJECT_NAME}"
|
||||
|
||||
workspace=$(mktemp -d)
|
||||
local workspace=$(mktemp -d)/${PROJECT_NAME}
|
||||
mkdir -p "${workspace}"
|
||||
|
||||
# Copy sources to workspace
|
||||
cd ${SRC_DIR}
|
||||
@ -48,7 +24,7 @@ function build_project {
|
||||
exec_hooks "prebuild" "${workspace}"
|
||||
|
||||
cd "${workspace}"
|
||||
dpkg-buildpackage -us -uc
|
||||
dpkg-buildpackage -us -uc 2> >(error) 1> >(info)
|
||||
|
||||
if [ $? != 0 ]; then
|
||||
fatal "The build process has not completed successfuly !"
|
||||
|
@ -6,7 +6,7 @@ DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
|
||||
source "${DIR}/util.sh"
|
||||
|
||||
info "Updating packages definition..."
|
||||
apt-get update
|
||||
apt-get update 2> >(error) 1> >(info)
|
||||
|
||||
info "Installing package $1..."
|
||||
gdebi --n "$1"
|
||||
gdebi --n "$1" 2> >(error) 1> >(info)
|
||||
|
84
lib/util.sh
84
lib/util.sh
@ -1,36 +1,90 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
OPT_FILE="/tmp/.tamarin_opts"
|
||||
HOOKS_DIR="${BASE_DIR}/hooks"
|
||||
OPT_FILE="${BASE_DIR}/tmp/.tamarin_opts"
|
||||
|
||||
function info {
|
||||
echo "[${HOSTNAME}] [INFO] $@"
|
||||
if [ -z "$@" ]; then
|
||||
while read str; do
|
||||
log INFO "${str}"
|
||||
done
|
||||
else
|
||||
log INFO "$@"
|
||||
fi
|
||||
}
|
||||
|
||||
function debug {
|
||||
echo "[${HOSTNAME}] [DEBUG] $@"
|
||||
if [ -z "$@" ]; then
|
||||
while read str; do
|
||||
log DEBUG "${str}"
|
||||
done
|
||||
else
|
||||
log DEBUG "$@"
|
||||
fi
|
||||
}
|
||||
|
||||
function error {
|
||||
echo "[${HOSTNAME}] [ERROR] $@" >&2
|
||||
if [ -z "$@" ]; then
|
||||
while read str; do
|
||||
log ERROR "${str}" >&2
|
||||
done
|
||||
else
|
||||
log ERROR "$@" >&2
|
||||
fi
|
||||
}
|
||||
|
||||
function fatal {
|
||||
echo "[${HOSTNAME}] [FATAL] $@" >&2
|
||||
if [ -z "$@" ]; then
|
||||
while read str; do
|
||||
log FATAL "${str}" >&2
|
||||
done
|
||||
else
|
||||
log FATAL "$@" >&2
|
||||
fi
|
||||
exit 1
|
||||
}
|
||||
|
||||
function log {
|
||||
local args=( $@ )
|
||||
echo "[${HOSTNAME}] [${args[0]}] ${args[@]:1}"
|
||||
}
|
||||
|
||||
function get_opt {
|
||||
opt_name=${1}
|
||||
default_value=${2}
|
||||
touch "${OPT_FILE}"
|
||||
source "${OPT_FILE}"
|
||||
echo ${!opt_name:-${default_value}}
|
||||
local opt_name=${1}
|
||||
local default_value=${2}
|
||||
touch "${OPT_FILE}"
|
||||
source "${OPT_FILE}"
|
||||
echo ${!opt_name:-${default_value}}
|
||||
}
|
||||
|
||||
function set_opt {
|
||||
opt_name=${1}
|
||||
opt_value=${2}
|
||||
touch "${OPT_FILE}"
|
||||
sed -i "s/^${opt_name}*$//" "${OPT_FILE}"
|
||||
echo "${opt_name}=\"${opt_value}\"" >> "${OPT_FILE}"
|
||||
local opt_name=${1}
|
||||
local opt_value=${2}
|
||||
touch "${OPT_FILE}"
|
||||
sed -i "s/^${opt_name}*$//" "${OPT_FILE}"
|
||||
echo "${opt_name}=\"${opt_value}\"" >> "${OPT_FILE}"
|
||||
}
|
||||
|
||||
function exec_hooks {
|
||||
|
||||
local hook=${1}
|
||||
local workspace=${2}
|
||||
|
||||
local hook_scripts=$( find "${HOOKS_DIR}" -type f -name "*${hook}" -executable)
|
||||
|
||||
for hook_script in ${hook_scripts}; do
|
||||
|
||||
info "[${hook}] Executing ${hook_script}"
|
||||
|
||||
( cd "${workspace}" && "${hook_script}" ) 2> >(error) 1> >(info)
|
||||
|
||||
# If the script did not execute properly, we stop here
|
||||
if [ $? != 0 ]; then
|
||||
fatal "The '${hook_script}' hook script did not finished properly !"
|
||||
fi
|
||||
|
||||
info "[${hook}] ${hook_script} Done."
|
||||
|
||||
done
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user