diff options
Diffstat (limited to 'debian/_buildscripts/local/scripts/build_module.sh')
-rwxr-xr-x | debian/_buildscripts/local/scripts/build_module.sh | 42 |
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 |