summaryrefslogtreecommitdiffstats
path: root/debian/_buildscripts/local/scripts/build_module.sh
diff options
context:
space:
mode:
Diffstat (limited to 'debian/_buildscripts/local/scripts/build_module.sh')
-rwxr-xr-xdebian/_buildscripts/local/scripts/build_module.sh42
1 files changed, 28 insertions, 14 deletions
diff --git a/debian/_buildscripts/local/scripts/build_module.sh b/debian/_buildscripts/local/scripts/build_module.sh
index 586501c0e..3961123fe 100755
--- a/debian/_buildscripts/local/scripts/build_module.sh
+++ b/debian/_buildscripts/local/scripts/build_module.sh
@@ -99,11 +99,11 @@ if [ "bool_BUILD_LOCALLY" = "y" ]; then
fi
# pbuilder absolute paths
-PBUILDER_REPO="/var/cache/pbuilder/repo"
-PBUILDER_HOOK_DIR="/usr/lib/pbuilder/hooks"
+PBUILDER_HOOK_DIR="$HOME/.pbuilder/hooks"
PBUILDER_SHELL_HOOK="$PBUILDER_HOOK_DIR/C10shell"
PBUILDER_SHELL_HOOK_TEMPLATE="$PBUILDER_HOOK_DIR/__template_C10shell"
-HOOKDIR="$PBUILDER_HOOK_DIR" # real pbuilder hook dir setting
+PBUILDER_DEPS_HOOK="$PBUILDER_HOOK_DIR/D05deps"
+PBUILDER_DEPS_HOOK_SAVE="$PBUILDER_HOOK_DIR/__saved_D05deps"
# Local option variables
# - internal pbuilder
@@ -140,7 +140,7 @@ GIT_EXTRA_DEPENDENCIES="$TDE_DIR/$CFG_GIT_EXTRA_DEPENDENCIES"
HOOK_DIR="$TDE_DIR/$CFG_HOOK_DIR"
# This folders must exists
-BASE_DIRS=("GIT_DIR" "BUILD_DIR" "SCRIPT_DIR" "GIT_TDE_MAIN" "GIT_TDE_PACKAGING" "GIT_EXTRA_DEPENDENCIES" "HOOK_DIR" "PBUILDER_REPO")
+BASE_DIRS=("GIT_DIR" "BUILD_DIR" "SCRIPT_DIR" "GIT_TDE_MAIN" "GIT_TDE_PACKAGING" "GIT_EXTRA_DEPENDENCIES" "HOOK_DIR")
for var_name in ${BASE_DIRS[@]}; do
if [ ! -d "${!var_name}" ]; then
@@ -413,20 +413,34 @@ else
rm "$PBUILDER_SHELL_HOOK" &>/dev/null
fi
fi
- # Build
- mount --bind "$TDE_DEBS_DIR" "$PBUILDER_REPO"
- if [ $? -ne 0 ]; then
- echo "Unable to mount folder \"$TDE_DEBS_DIR\" to \"$PBUILDER_REPO\". Can not proceed :("
- do_exit 11
- fi
- #
+ # Build using pbuilder
echo -e "${CYellow}> Building using pbuilder${CNone}"
+ # Create pbuilder hook to make sure all available packages are scanned
+ # Store any existing D05 hook as a temporary file, this will be reinstated at the end
+ if [ -x "$PBUILDER_DEPS_HOOK" ]; then
+ mv "$PBUILDER_DEPS_HOOK" "$PBUILDER_DEPS_HOOK_SAVE"
+ fi
+ cat <<END_D05 > "$PBUILDER_DEPS_HOOK"
+#!/bin/sh
+(cd "$TDE_DEBS_DIR"; apt-ftparchive packages . > Packages)
+echo "deb [trusted=yes] file://$TDE_DEBS_DIR ./" >> /etc/apt/sources.list
+apt-get update
+END_D05
+ chmod a+x "$PBUILDER_DEPS_HOOK"
+ # Build
eval pdebuild $OPT_INTERNAL_PBUILDER $OPT_SIGN_PKG_PBUILDER \
- --architecture $ARCHITECTURE --buildresult \"$MOD_DEB_PATH\" \
+ --architecture $ARCHITECTURE \
+ --buildresult \"$MOD_DEB_PATH\" \
--pbuilderroot \"sudo DIST=$DISTRO_NAME ARCH=$ARCHITECTURE\" \
- --logfile \"$BUILDING_LOG_FILE\" $OPT_SHOW_LOGS\"$BUILDING_LOG_FILE\"
+ --logfile \"$BUILDING_LOG_FILE\" \
+ -- \
+ --bindmounts \"$TDE_DEBS_DIR\" \
+ --hookdir \"$PBUILDER_HOOK_DIR\" \
+ $OPT_SHOW_LOGS\"$BUILDING_LOG_FILE\"
build_retval=$?
- umount "$PBUILDER_REPO"
+ if [ -x "$PBUILDER_DEPS_HOOK" ]; then
+ mv "$PBUILDER_DEPS_HOOK_SAVE" "$PBUILDER_DEPS_HOOK"
+ fi
fi
if [ $build_retval -eq 0 ]; then