[X2Go-Commits] [buildscripts] 16/26: bin/sbuild-deb-package: backport from bin/build-deb-package: rewrite main function, drop TIMESTAMP, backport NO_DELAY and locking feature.
git-admin at x2go.org
git-admin at x2go.org
Sun Nov 13 20:35:47 CET 2016
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 at 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
More information about the x2go-commits
mailing list