diff --git a/prod_build/general/chroot_wrap.sh b/prod_build/general/chroot_wrap.sh index f1f33df6af12acb5cd483908e7bd6fab2876eec0..b0b57472ade60cb7a9c6e0ae02471bee67b5063d 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 0000000000000000000000000000000000000000..ec51dbab4d9aec34b4975de26716109730b30df6 --- /dev/null +++ b/prod_build/general/conf/status @@ -0,0 +1 @@ +IMPLEMENTED="linux/debian"