This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch master in repository buildscripts. commit 86edbfc61756bee1db4c00828ca4d26da785f190 Author: Mihai Moldovan <ionic@ionic.de> Date: Sun Nov 13 19:55:48 2016 +0100 bin/sbuild-deb-package: backport from bin/build-deb-package: rewrite main function, drop TIMESTAMP, backport NO_DELAY and locking feature. --- bin/sbuild-deb-package | 44 ++++++++++++++++++++++++++------------------ 1 file changed, 26 insertions(+), 18 deletions(-) diff --git a/bin/sbuild-deb-package b/bin/sbuild-deb-package index 7905648..6eb3731 100755 --- a/bin/sbuild-deb-package +++ b/bin/sbuild-deb-package @@ -37,8 +37,6 @@ REPOS_SERVER="packages.mydomain.org" PACKAGES_WITHOUT_OTHERMIRROR="keyring" GNUPGHOME="${HOME}/.gnupg" -TIMESTAMP=$(date +%s%N) - test -z "${1}" && { exec >&2 echo "usage: $(basename "${0}") [<subpath>/]<git-project> {main,main/<codename>,nightly,nightly/<codename>} [<git-checkout>]" @@ -52,6 +50,7 @@ test -f "${HOME}/.buildscripts/${PREFIX}.conf" && . "${HOME}/.buildscripts/${PRE exit 1; } +: ${NO_DELAY:="no"} : ${FORCE_BUILD:="no"} : ${DEB_BUILD_FOR:="debian:${DEBIAN_DISTROS} ubuntu:${UBUNTU_DISTROS}"} @@ -106,12 +105,12 @@ set_vars() { [ "x${DATE}" = "xtoday" ] && DATE="$(date +%Y%m%d)" # setting paths - PROJECT_DIR="${HOME}/build/${COMPONENT}/${TIMESTAMP}/${PROJECT}" - temp_cleanup+=("${PROJECT_DIR}") - temp_cleanup+=("$(dirname ${PROJECT_DIR})") - + PROJECT_DIR="${HOME}/build/${COMPONENT}/${PROJECT}" PKGDIST="${HOME}/pkg-dist/${COMPONENT}/${PROJECT}" + # lock file + LOCK_FILE="${PROJECT_DIR}/../.${PROJECT}.lock" + # creating paths mkdir -p -- "${PROJECT_DIR}" mkdir -p -- "${PKGDIST}" @@ -212,16 +211,12 @@ build_packages() { grep -qs "${l_DIST}" <<< "${DEB_DISTS_SUPPORTED}" && { for l_CODENAME in ${l_CODENAMES}; do - # prepare workspace - prepare_workspace "${l_DIST}" "${l_CODENAME}" - # in case we build a special CODENAME (squeeze, wheezy, lucid, ...) do skip # the wrong distribution here... test -z "${CODENAMES}" || grep "${CODENAMES}" <<< "${line}" || break - TEMP_DIR="$(mktemp -d --tmpdir=${TEMP_BASE})" + TEMP_DIR="$(mktemp -d --tmpdir="${TEMP_BASE}" "tmp.$(repeat_str "X" "24")")" temp_cleanup+=("${TEMP_DIR}") - mkdir -p -- "${TEMP_DIR}/${PROJECT}" chmod 2770 -Rf -- "${TEMP_DIR}" @@ -378,16 +373,29 @@ upload_packages() { return 0 } + ### MAIN ### -set_vars "$@" && { - if [ "x$(basename "${0}")" = "x${PREFIX}-build-deb-package" ] || [ "x$(basename "${0}")" = "x${PREFIX}-build+upload-deb-package" ]; then - # Treat any value other than "no" and "0" as true. - cd "${PROJECT_DIR}" && pkgneedsbuild "${CHECKOUT}" || ( [ "x${FORCE_BUILD}" != "xno" ] && [ "x${FORCE_BUILD}" != "x0" ] ) && { - clear_pkgdist - build_packages +set_vars "${@}" && { + if [ "x$(basename "${0}")" = "x${PREFIX}-sbuild-deb-package" ] || [ "x$(basename "${0}")" = "x${PREFIX}-sbuild+upload-deb-package" ]; then + FORCE_BUILD="$(make_boolean "${FORCE_BUILD}")" + NO_DELAY="$(make_boolean "${NO_DELAY}")" + + cd "${PROJECT_DIR}" && { + pkgneedsbuild "${CHECKOUT}" || [ "${FORCE_BUILD}" -eq "1" ] + } && { + if [ "${FORCE_BUILD}" -eq "1" ] && [ "${NO_DELAY}" -eq "0" ]; then + delay_build + fi + lock_workspace "${LOCK_FILE}" + prepare_workspace && { + unlock_workspace "${LOCK_FILE}" + clear_pkgdist + build_packages + } + unlock_workspace "${LOCK_FILE}" } fi - if [ "x$(basename "${0}")" = "x${PREFIX}-upload-deb-package" ] || [ "x$(basename "${0}")" = "x${PREFIX}-build+upload-deb-package" ]; then + if [ "x$(basename "${0}")" = "x${PREFIX}-upload-deb-package" ] || [ "x$(basename "${0}")" = "x${PREFIX}-sbuild+upload-deb-package" ]; then upload_packages fi } -- Alioth's /srv/git/code.x2go.org/buildscripts.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/buildscripts.git