From: Brett Smith Date: Sat, 7 Nov 2015 16:49:17 +0000 (-0500) Subject: 7591: Workaround bad permissions in the httplib2 backport. X-Git-Tag: 1.1.0~1059^2~6^2~61^2 X-Git-Url: https://git.arvados.org/arvados.git/commitdiff_plain/a5bf97676451900886f6dda7521ca7db27cdd452?hp=--cc 7591: Workaround bad permissions in the httplib2 backport. --- a5bf97676451900886f6dda7521ca7db27cdd452 diff --git a/jenkins/run-build-packages.sh b/jenkins/run-build-packages.sh index d122336d2a..fad3f776d0 100755 --- a/jenkins/run-build-packages.sh +++ b/jenkins/run-build-packages.sh @@ -422,10 +422,42 @@ LIBCLOUD_DIR=$(mktemp -d) fpm_build $LIBCLOUD_DIR "$PYTHON2_PKG_PREFIX"-apache-libcloud rm -rf $LIBCLOUD_DIR -# A few dependencies +# Python 2 dependencies for deppkg in "${PYTHON_BACKPORTS[@]}"; do outname=$(echo "$deppkg" | sed -e 's/^python-//' -e 's/[<=>].*//' -e 's/_/-/g' -e "s/^/${PYTHON2_PKG_PREFIX}-/") - fpm_build "$deppkg" "$outname" + case "$deppkg" in + httplib2) + # Work around 0640 permissions on some package files on Debian 8 + # and Ubuntu 14.04. See #7591. + httplib2_workdir=$(mktemp -d httplib2-XXXXXX) && ( + set -e + cd "$httplib2_workdir" + pip install --download . httplib2 + tar -xf httplib2-*.tar* + cd httplib2-*/ + "python$PYTHON2_VERSION" setup.py $DASHQ_UNLESS_DEBUG egg_info build + chmod -R go+rX . + set +e + # --iteration 2 provides an upgrade for previously built + # buggy packages. Arguments past $outname can be removed + # once we're building httplib2 > 0.9.2. + fpm_build . "$outname" "" python "" --iteration 2 + # The upload step uses the package timestamp to determine + # whether it's new. --no-clobber plays nice with that. + mv --no-clobber "$outname"*.$FORMAT "$WORKSPACE/packages/$TARGET" + ) + if [ 0 != "$?" ]; then + echo "ERROR: httplib2 build process failed" + EXITCODE=1 + fi + if [ -n "$httplib2_workdir" ]; then + rm -rf "$httplib2_workdir" + fi + ;; + *) + fpm_build "$deppkg" "$outname" + ;; + esac done # Python 3 dependencies