8e7f9e3458
The ::jenkins::slave class contained a lot of openstack-specific configuration rather than configuration of a generic jenkins slave. The term "bare slave" is overloaded and confusing: create simple_slave and thick_slave to differentiate between the two meanings of "bare". Some portions of ::jenkins::slave will move to simple_slave, some portions to thick_slave, and some portions to slave_common (all in the openstack_project module). Change-Id: I5281a03a7f6da3f98714bcc59ae840ace8435578
79 lines
2.4 KiB
Bash
Executable File
79 lines
2.4 KiB
Bash
Executable File
#!/bin/bash -xe
|
|
|
|
if [ -z "$PROJECT" ]
|
|
then
|
|
echo '$PROJECT not set.'
|
|
exit 1
|
|
fi
|
|
|
|
case "$ZUUL_REFNAME" in
|
|
master)
|
|
export PPAS="ppa:openstack-ppa/bleeding-edge"
|
|
;;
|
|
milestone-proposed)
|
|
export PPAS="ppa:openstack-ppa/milestone-proposed"
|
|
;;
|
|
*)
|
|
echo "No PPA defined for branch $ZUUL_REFNAME"
|
|
exit 0
|
|
esac
|
|
|
|
HUDSON=http://localhost:8080/
|
|
# We keep packaging for openstack trunk in lp:~o-u-p/$project/ubuntu
|
|
# For a release (diablo, essex), it's in lp:~o-u-p/$project/$release
|
|
OPENSTACK_RELEASE=${OPENSTACK_RELEASE:-ubuntu}
|
|
BZR_BRANCH=${BZR_BRANCH:-lp:~openstack-ubuntu-packagers/$PROJECT/${OPENSTACK_RELEASE}}
|
|
PPAS=${PPAS:-ppa:$PROJECT-core/trunk}
|
|
PACKAGING_REVNO=${PACKAGING_REVNO:--1}
|
|
series=${series:-lucid}
|
|
|
|
cd build
|
|
|
|
tarball="$(echo dist/$PROJECT*.tar.gz)"
|
|
version="${tarball%.tar.gz}"
|
|
version="${version#*$PROJECT-}"
|
|
base_version=$version
|
|
if [ -n "${EXTRAVERSION}" ]
|
|
then
|
|
version="${version%~*}${EXTRAVERSION}~${version#*~}"
|
|
fi
|
|
tar xvzf "${tarball}"
|
|
echo ln -s "${tarball}" "${PROJECT}_${version}.orig.tar.gz"
|
|
ln -s "${tarball}" "${PROJECT}_${version}.orig.tar.gz"
|
|
|
|
# Overlay packaging
|
|
# (Intentionally using the natty branch. For these PPA builds, we don't need to diverge
|
|
# (yet, at least), so it makes the branch management easier this way.
|
|
# Note: Doing a checkout and deleting .bzr afterwards instead of just doing an export,
|
|
# because export refuses to overlay over an existing directory, so this was easier.
|
|
# (We need to not have the .bzr in there, otherwise vcsversion.py might get overwritten)
|
|
echo bzr checkout -r ${PACKAGING_REVNO} --lightweight $BZR_BRANCH $PROJECT-*
|
|
bzr checkout -r ${PACKAGING_REVNO} --lightweight $BZR_BRANCH $PROJECT-*
|
|
cd $PROJECT-*
|
|
if [ -d .git ]
|
|
then
|
|
PACKAGING_REVNO="$(git log --oneline | wc -l)"
|
|
rm -rf .git
|
|
else
|
|
PACKAGING_REVNO="$(bzr revno --tree)"
|
|
rm -rf .bzr
|
|
fi
|
|
|
|
# Please don't change this. It's the only way I'll get notified
|
|
# if an upload fails.
|
|
export DEBFULLNAME="Soren Hansen"
|
|
export DEBEMAIL="soren@openstack.org"
|
|
|
|
buildno=$BUILD_NUMBER
|
|
pkgversion="${version}-0ubuntu0~${series}${buildno}"
|
|
dch -b --force-distribution --v "${pkgversion}" "Automated PPA build. Packaging revision: ${PACKAGING_REVNO}." -D $series
|
|
dpkg-buildpackage -rfakeroot -S -sa -nc -k32EE128C
|
|
if ! [ "$DO_UPLOAD" = "no" ]
|
|
then
|
|
for ppa in $PPAS
|
|
do
|
|
dput --force $ppa "../${PROJECT}_${pkgversion}_source.changes"
|
|
done
|
|
fi
|
|
cd ..
|