From 1f75fcb399a0c2fb5bb35393ab2b7a0b6bfb912d Mon Sep 17 00:00:00 2001 From: "alexander.kravchenko" <alexander.kravchenko@demlabs.net> Date: Wed, 19 Aug 2020 13:36:15 +0500 Subject: [PATCH] Added static build support --- prod_build/general/chroot_wrap.sh | 16 ++++++++++++---- prod_build/general/conf/publish | 1 + prod_build/general/mod-handler.sh | 20 ++++++++++++++++++++ 3 files changed, 33 insertions(+), 4 deletions(-) create mode 100644 prod_build/general/conf/publish create mode 100755 prod_build/general/mod-handler.sh diff --git a/prod_build/general/chroot_wrap.sh b/prod_build/general/chroot_wrap.sh index b0b57472a..6ac25387d 100755 --- a/prod_build/general/chroot_wrap.sh +++ b/prod_build/general/chroot_wrap.sh @@ -7,24 +7,32 @@ CHROOT_PREFIX="builder" CHROOTS_PATH=$1 PLATFORMS="" PKG_FORMAT=$3 -SRC_PATH=$4 -JOB=$5 +JOB=$4 +export wd=$(pwd) cd $SRC_PATH -echo "workdir is $(pwd)" +echo "workdir is $wd" . prod_build/general/pre-build.sh export_variables "./prod_build/general/conf/*" +. prod_build/general/mod-handler.sh +mod_handler $MOD IFS=' ' echo "$PLATFORM_CANDIDATES" echo $IMPLEMENTED + for platform in $PLATFORM_CANDIDATES; do [[ $(echo $IMPLEMENTED | grep $platform) != "" ]] && PLATFORMS="$PLATFORMS$platform " || echo "Platform $platform is not implemented in this project yet. Sorry" done -echo "Platforms are $PLATFORMS" +[[ $PLATFORMS != "" ]] && PLATFORMS=$(echo $PLATFORMS | sed 's/ $//') +echo "Platforms are $PLATFORMS there" for platform in $PLATFORMS; do echo "Working with $platform now" + PLATFORM_UPPERCASED=$( echo "$platform" | tr '[:lower:]' '[:upper:]') + ENV=${PLATFORM_UPPERCASED}_ENV + varpack = $( export | grep $PLATFORM_UPPERCASED | awk '{print $3}') + [[ $platform == "linux" ]] && platform="linux/debian" export_variables "./prod_build/$platform/conf/*" IFS=' ' PKG_TYPE=$(echo $PKG_FORMAT | cut -d ' ' -f1) diff --git a/prod_build/general/conf/publish b/prod_build/general/conf/publish new file mode 100644 index 000000000..bd6ef13f3 --- /dev/null +++ b/prod_build/general/conf/publish @@ -0,0 +1 @@ +MOD="static" diff --git a/prod_build/general/mod-handler.sh b/prod_build/general/mod-handler.sh new file mode 100755 index 000000000..57a7613b4 --- /dev/null +++ b/prod_build/general/mod-handler.sh @@ -0,0 +1,20 @@ +mod_handler() { + +MODLIST=$1 +IFS=' ' +for mod in $MODLIST; do + case $mod in + "blank") + sed -ibak "s/^#DAP_BLANK/DAP_BLANK/" config.pri || sed -ibak "s/^DAP_BLANK/#DAP_BLANK/" config.pri # For toggling blank mode in general scripts. + ;; + "static") + [[ $(echo "$PLATFORM_CANDIDATES" | grep "linux") != "" ]] && sed -ibak "/static/s/^#unix/unix/" config.pri && [ ! -z "ICU_LINUX_PATH" ] && sed -ibak "s!ICU_LINUX_PATH!$ICU_LINUX_PATH!" config.pri && \ + PLATFORM_CANDIDATES=$( echo $PLATFORM_CANDIDATES | sed "s/linux\/[a-z]\+ \?//g" | sed "s/$/ linux/" | sed "s/^ //") || sed -ibak "/static/s/^unix/#unix/" config.pri #For toggling static mode + ;; + *) + echo "No handling required for mod $mod. Proceeding" + ;; + esac +done +IFS='\n' +} -- GitLab