From 818f1137ea6a5e5cf8c0a8d6eb935836763fc9af Mon Sep 17 00:00:00 2001 From: "alexandr.kravchenko" <alexander.kravchenko@demlabs.net> Date: Tue, 11 Feb 2020 15:55:26 +0500 Subject: [PATCH] added IMPLEMENTED variable for toggling the builds for archs --- prod_build/general/chroot_wrap.sh | 31 ++++++++++++++++++------------- prod_build/general/conf/status | 1 + 2 files changed, 19 insertions(+), 13 deletions(-) create mode 100644 prod_build/general/conf/status diff --git a/prod_build/general/chroot_wrap.sh b/prod_build/general/chroot_wrap.sh index f1f33df6a..b0b57472a 100755 --- a/prod_build/general/chroot_wrap.sh +++ b/prod_build/general/chroot_wrap.sh @@ -1,46 +1,51 @@ #!/bin/bash -export_variables() { -IFS=$'\n' -for variable in $(cat prod_build/$platform/conf/*); do - [ -z $1 ] && export $(echo "$variable" | sed 's/\"//g') || export -n $(echo $variable | cut -d '=' -f1) -done - -} +PLATFORM_CANDIDATES=$2 CHROOT_PREFIX="builder" CHROOTS_PATH=$1 -PLATFORMS=$2 +PLATFORMS="" PKG_FORMAT=$3 SRC_PATH=$4 JOB=$5 cd $SRC_PATH +echo "workdir is $(pwd)" +. prod_build/general/pre-build.sh +export_variables "./prod_build/general/conf/*" + +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" - for platform in $PLATFORMS; do - export_variables + echo "Working with $platform now" + export_variables "./prod_build/$platform/conf/*" IFS=' ' PKG_TYPE=$(echo $PKG_FORMAT | cut -d ' ' -f1) #Check if chroots are present echo $HOST_DISTR_VERSIONS echo $HOST_ARCH_VERSIONS - [ -e prod_build/$platform/scripts/pre-build.sh ] && prod_build/$platform/scripts/pre-build.sh $CHROOT_PREFIX #For actions not in chroot (version update) + [ -e prod_build/$platform/scripts/pre-build.sh ] && prod_build/$platform/scripts/pre-build.sh $CHROOT_PREFIX || exit $? #For actions before build not in chroot and in chroot (version update, install missing dependencies(under schroot)) for distr in $HOST_DISTR_VERSIONS; do for arch in $HOST_ARCH_VERSIONS; do if [ -e $CHROOTS_PATH/$CHROOT_PREFIX-$distr-$arch ]; then - schroot -c $CHROOT_PREFIX-$distr-$arch -- launcher.sh prod_build/$platform/scripts/$JOB.sh "$PKG_TYPE" || errcode=$? + schroot -c $CHROOT_PREFIX-$distr-$arch -- launcher.sh prod_build/$platform/scripts/$JOB.sh $PKG_TYPE || errcode=$? # echo "schroot stub $PKG_TYPE" else echo "chroot $CHROOT_PREFIX-$distr-$arch not found. You should install it first" fi done done + echo "workdir before postinstall is $(pwd)" [ -e prod_build/$platform/scripts/post-build.sh ] && prod_build/$platform/scripts/post-build.sh #For post-build actions not in chroot (global publish) PKG_FORMAT=$(echo $PKG_FORMAT | cut -d ' ' -f2-) -# export_variables clean + unexport_variables "./prod_build/$platform/conf/*" done #[ $(mount | grep "/run/schroot/mount") ] && sudo umount -l /run/schroot/mount && sudo rm -r /run/schroot/mount/* #Removing mountpoint odds. diff --git a/prod_build/general/conf/status b/prod_build/general/conf/status new file mode 100644 index 000000000..ec51dbab4 --- /dev/null +++ b/prod_build/general/conf/status @@ -0,0 +1 @@ +IMPLEMENTED="linux/debian" -- GitLab