diff --git a/perestroika/build-deb.sh b/perestroika/build-deb.sh index c18d58c..0876703 100755 --- a/perestroika/build-deb.sh +++ b/perestroika/build-deb.sh @@ -121,15 +121,33 @@ main () { && EXTRAREPO="${EXTRAREPO}|http://${REMOTE_REPO_HOST}/${REPO_REQUEST_PATH_PREFIX}/${REQUEST}/${DEB_REPO_PATH} ${DEB_PROPOSED_DIST_NAME} ${COMPONENTS}" export EXTRAREPO - pushd $BUILDDIR &>/dev/null + if [ -n "$EXTRAREPO" ] ; then + local EXTRAPARAMS="" + local OLDIFS="$IFS" + IFS='|' + for repo in $EXTRAREPO; do + IFS="$OLDIFS" + [ -n "$repo" ] && EXTRAPARAMS="${EXTRAPARAMS} --repository \"$repo\"" + IFS='|' + done + IFS="$OLDIFS" + fi + + local tmpdir=$(mktemp -d ${PKG_DIR}/build-XXXXXXXX) echo "BUILD_SUCCEEDED=false" > ${WRKDIR}/buildresult.params - bash -ex ${BINDIR}/docker-builder/build-deb-package.sh - local exitstatus=`cat buildresult/exitstatus.sbuild || echo 1` - rm -f buildresult/exitstatus.sbuild - [ -f "buildresult/buildlog.sbuild" ] && mv buildresult/buildlog.sbuild ${WRKDIR}/buildlog.txt + bash -c "${WRKDIR}/build \ + --verbose \ + --no-keep-chroot \ + --dist ${DIST} \ + --build \ + --source $BUILDDIR \ + --output $tmpdir \ + ${EXTRAPARAMS}" + local exitstatus=$(cat ${tmpdir}/exitstatus || echo 1) + [ -f "${tmpdir}/buildlog.sbuild" ] && mv "${tmpdir}/buildlog.sbuild" "${WRKDIR}/buildlog.txt" + fill_buildresult $exitstatus 0 $PACKAGENAME DEB if [ "$exitstatus" == "0" ] ; then - tmpdir=`mktemp -d ${PKG_DIR}/build-XXXXXXXX` rm -f ${WRKDIR}/buildresult.params cat >${WRKDIR}/buildresult.params<<-EOL BUILD_HOST=`hostname -f` @@ -142,9 +160,7 @@ main () { REPO_TYPE=deb DIST=$DIST EOL - mv buildresult/* $tmpdir/ fi - popd &>/dev/null exit $exitstatus } diff --git a/perestroika/build-fuel-deb.sh b/perestroika/build-fuel-deb.sh index 1710323..5b34210 100755 --- a/perestroika/build-fuel-deb.sh +++ b/perestroika/build-fuel-deb.sh @@ -95,15 +95,33 @@ main () { && EXTRAREPO="${EXTRAREPO}|http://${REMOTE_REPO_HOST}/${REPO_REQUEST_PATH_PREFIX}/${REQUEST}/${DEB_REPO_PATH} ${DEB_PROPOSED_DIST_NAME} ${COMPONENTS}" export EXTRAREPO - pushd $BUILDDIR &>/dev/null + if [ -n "$EXTRAREPO" ] ; then + local EXTRAPARAMS="" + local OLDIFS="$IFS" + IFS='|' + for repo in $EXTRAREPO; do + IFS="$OLDIFS" + [ -n "$repo" ] && EXTRAPARAMS="${EXTRAPARAMS} --repository \"$repo\"" + IFS='|' + done + IFS="$OLDIFS" + fi + + local tmpdir=$(mktemp -d ${PKG_DIR}/build-XXXXXXXX) echo "BUILD_SUCCEEDED=false" > ${WRKDIR}/buildresult.params - bash -ex ${BINDIR}/docker-builder/build-deb-package.sh - local exitstatus=`cat buildresult/exitstatus.sbuild || echo 1` - rm -f buildresult/exitstatus.sbuild - [ -f "buildresult/buildlog.sbuild" ] && mv buildresult/buildlog.sbuild ${WRKDIR}/buildlog.txt + bash -c "${WRKDIR}/build \ + --verbose \ + --no-keep-chroot \ + --dist ${DIST} \ + --build \ + --source $BUILDDIR \ + --output $tmpdir \ + ${EXTRAPARAMS}" + local exitstatus=$(cat ${tmpdir}/exitstatus || echo 1) + [ -f "${tmpdir}/buildlog.sbuild" ] && mv "${tmpdir}/buildlog.sbuild" "${WRKDIR}/buildlog.txt" + fill_buildresult $exitstatus 0 $PACKAGENAME DEB if [ "$exitstatus" == "0" ] && [ -n "${GERRIT_BRANCH}" ]; then - tmpdir=`mktemp -d ${PKG_DIR}/build-XXXXXXXX` rm -f ${WRKDIR}/buildresult.params cat >${WRKDIR}/buildresult.params<<-EOL BUILD_HOST=`hostname -f` @@ -116,9 +134,7 @@ main () { REPO_TYPE=deb DIST=$DIST EOL - mv buildresult/* $tmpdir/ fi - popd &>/dev/null echo "Packages: $PACKAGENAME" exit $exitstatus diff --git a/perestroika/build-fuel-rpm.sh b/perestroika/build-fuel-rpm.sh index e5e7f40..39a1e73 100755 --- a/perestroika/build-fuel-rpm.sh +++ b/perestroika/build-fuel-rpm.sh @@ -95,16 +95,34 @@ main () { EXTRAREPO="${EXTRAREPO}|repo3,http://${REMOTE_REPO_HOST}/${REPO_REQUEST_PATH_PREFIX}/${REQUEST}/${RPM_PROPOSED_REPO_PATH}/x86_64" export EXTRAREPO - pushd $BUILDDIR &>/dev/null + if [ -n "$EXTRAREPO" ] ; then + local EXTRAPARAMS="" + local OLDIFS="$IFS" + IFS='|' + for repo in $EXTRAREPO; do + IFS="$OLDIFS" + [ -n "$repo" ] && EXTRAPARAMS="${EXTRAPARAMS} --repository ${repo#*,}" + IFS='|' + done + IFS="$OLDIFS" + fi + + local tmpdir=$(mktemp -d ${PKG_DIR}/build-XXXXXXXX) echo "BUILD_SUCCEEDED=false" > ${WRKDIR}/buildresult.params - bash -x ${BINDIR}/docker-builder/build-rpm-package.sh - local exitstatus=`cat build/exitstatus.mock || echo 1` - rm -f build/exitstatus.mock build/state.log - [ -f "build/build.log" ] && mv build/build.log ${WRKDIR}/buildlog.txt - [ -f "build/root.log" ] && mv build/root.log ${WRKDIR}/rootlog.txt + bash -c "${WRKDIR}/build \ + --verbose \ + --no-keep-chroot \ + --dist ${DIST} \ + --build \ + --source $BUILDDIR \ + --output $tmpdir \ + ${EXTRAPARAMS}" + local exitstatus=$(cat ${tmpdir}/exitstatus || echo 1) + [ -f "${tmpdir}/build.log" ] && mv "${tmpdir}/build.log" "${WRKDIR}/buildlog.txt" + [ -f "${tmpdir}/root.log" ] && mv "${tmpdir}/root.log" "${WRKDIR}/rootlog.txt" + fill_buildresult $exitstatus 0 $PACKAGENAME RPM if [ "$exitstatus" == "0" ] && [ -n "${GERRIT_BRANCH}" ]; then - tmpdir=`mktemp -d ${PKG_DIR}/build-XXXXXXXX` rm -f ${WRKDIR}/buildresult.params cat >${WRKDIR}/buildresult.params<<-EOL BUILD_HOST=`hostname -f` @@ -117,9 +135,7 @@ main () { REPO_TYPE=rpm DIST=$DIST EOL - mv build/* $tmpdir/ fi - popd &>/dev/null echo "Packages: $PACKAGENAME" exit $exitstatus diff --git a/perestroika/build-rpm.sh b/perestroika/build-rpm.sh index 34604c7..6a2b6f3 100755 --- a/perestroika/build-rpm.sh +++ b/perestroika/build-rpm.sh @@ -129,16 +129,34 @@ This package provides the %{-n*} kernel modules EXTRAREPO="${EXTRAREPO}|repo3,http://${REMOTE_REPO_HOST}/${REPO_REQUEST_PATH_PREFIX}/${REQUEST}/${RPM_PROPOSED_REPO_PATH}/x86_64" export EXTRAREPO - pushd $BUILDDIR &>/dev/null + if [ -n "$EXTRAREPO" ] ; then + local EXTRAPARAMS="" + local OLDIFS="$IFS" + IFS='|' + for repo in $EXTRAREPO; do + IFS="$OLDIFS" + [ -n "$repo" ] && EXTRAPARAMS="${EXTRAPARAMS} --repository ${repo#*,}" + IFS='|' + done + IFS="$OLDIFS" + fi + + local tmpdir=$(mktemp -d ${PKG_DIR}/build-XXXXXXXX) echo "BUILD_SUCCEEDED=false" > ${WRKDIR}/buildresult.params - bash -x ${BINDIR}/docker-builder/build-rpm-package.sh - local exitstatus=`cat build/exitstatus.mock || echo 1` - rm -f build/exitstatus.mock build/state.log - [ -f "build/build.log" ] && mv build/build.log ${WRKDIR}/buildlog.txt - [ -f "build/root.log" ] && mv build/root.log ${WRKDIR}/rootlog.txt + bash -c "${WRKDIR}/build \ + --verbose \ + --no-keep-chroot \ + --dist ${DIST} \ + --build \ + --source $BUILDDIR \ + --output $tmpdir \ + ${EXTRAPARAMS}" + local exitstatus=$(cat ${tmpdir}/exitstatus || echo 1) + [ -f "${tmpdir}/build.log" ] && mv "${tmpdir}/build.log" "${WRKDIR}/buildlog.txt" + [ -f "${tmpdir}/root.log" ] && mv "${tmpdir}/root.log" "${WRKDIR}/rootlog.txt" + fill_buildresult $exitstatus 0 $PACKAGENAME RPM if [ "$exitstatus" == "0" ] ; then - tmpdir=`mktemp -d ${PKG_DIR}/build-XXXXXXXX` rm -f ${WRKDIR}/buildresult.params cat >${WRKDIR}/buildresult.params<<-EOL BUILD_HOST=`hostname -f` @@ -151,9 +169,7 @@ This package provides the %{-n*} kernel modules REPO_TYPE=rpm DIST=$DIST EOL - mv build/* $tmpdir/ fi - popd &>/dev/null exit $exitstatus }