diff --git a/perestroika/build-deb.sh b/perestroika/build-deb.sh index 3825ff0..430e2a5 100755 --- a/perestroika/build-deb.sh +++ b/perestroika/build-deb.sh @@ -99,8 +99,14 @@ main () { # Do not perform `setup.py sdist` for rally packages tar -czf ${BUILDDIR}/$TAR_NAME $EXCLUDES . else + # Use virtualenv to deal with different pbr requirements + local venv=$(mktemp -d) + virtualenv "$venv" + source "${venv}/bin/activate" python setup.py --version # this will download pbr if it's not available PBR_VERSION=$release_tag python setup.py sdist -d ${BUILDDIR}/ + deactivate + [ -d "$venv" ] && rm -rf "$venv" # Fix source folder name at sdist tarball local sdist_tarball=$(find ${BUILDDIR}/ -maxdepth 1 -name "*.gz") if [ "$(tar -tf $sdist_tarball | head -n 1 | cut -d'/' -f1)" != "${srcpackagename}-${version}" ] ; then diff --git a/perestroika/build-rpm.sh b/perestroika/build-rpm.sh index 47aeeee..cbe3dc8 100755 --- a/perestroika/build-rpm.sh +++ b/perestroika/build-rpm.sh @@ -78,8 +78,14 @@ This package provides the %{-n*} kernel modules # Do not perform `setup.py sdist` for openstack-macros package tar -czf ${BUILDDIR}/$TAR_NAME $EXCLUDES . else + # Use virtualenv to deal with different pbr requirements + local venv=$(mktemp -d) + virtualenv "$venv" + source "${venv}/bin/activate" python setup.py --version # this will download pbr if it's not available PBR_VERSION=$release_tag python setup.py sdist -d ${BUILDDIR}/ + deactivate + [ -d "$venv" ] && rm -rf "$venv" # Fix source folder name at sdist tarball local sdist_tarball=$(find ${BUILDDIR}/ -maxdepth 1 -name "*.gz") if [ "$(tar -tf $sdist_tarball | head -n 1 | cut -d'/' -f1)" != "${PACKAGENAME}-${version}" ] ; then