Build and deploy packages for every commit for debian/ubuntu/raspbian
This commit is contained in:
parent
766a59884d
commit
d4a8c96ede
|
@ -19,7 +19,7 @@ checksanity () {
|
|||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
|
||||
# Verify OS & DIST environment variables have been set before calling this script
|
||||
if [ -z "${OS}" ] || [ -z "${DIST}" ]; then
|
||||
echo "ERROR: both OS and DIST environment variables must be set"
|
||||
|
@ -120,7 +120,7 @@ commonprep () {
|
|||
movecrud () {
|
||||
if [ -e "web/api/app/Plugin/Crud/LICENSE.txt" ]; then
|
||||
echo "Crud plugin already installed..."
|
||||
else
|
||||
else
|
||||
echo "Unpacking Crud plugin..."
|
||||
tar -xzf build/crud-${CRUDVER}.tar.gz
|
||||
rmdir web/api/app/Plugin/Crud
|
||||
|
@ -128,7 +128,7 @@ movecrud () {
|
|||
fi
|
||||
if [ -e "web/api/app/Plugin/CakePHP-Enum-Behavior/readme.md" ]; then
|
||||
echo "CakePHP-Enum-Behavior plugin already installed..."
|
||||
else
|
||||
else
|
||||
echo "Unpacking CakePHP-Enum-Behavior plugin..."
|
||||
tar -xzf build/cakephp-enum-behavior-${CEBVER}.tar.gz
|
||||
rmdir web/api/app/Plugin/CakePHP-Enum-Behavior
|
||||
|
@ -182,7 +182,7 @@ setrpmpkgname () {
|
|||
export RELEASE="1.${numcommits}.${thedate}git${shorthash}"
|
||||
|
||||
checkvars
|
||||
|
||||
|
||||
echo
|
||||
echo "Packpack VERSION has been set to: ${VERSION}"
|
||||
echo "Packpack RELEASE has been set to: ${RELEASE}"
|
||||
|
@ -201,7 +201,7 @@ setdebpkgname () {
|
|||
export RELEASE="${DIST}"
|
||||
|
||||
checkvars
|
||||
|
||||
|
||||
echo
|
||||
echo "Packpack VERSION has been set to: ${VERSION}"
|
||||
echo "Packpack RELEASE has been set to: ${RELEASE}"
|
||||
|
@ -224,7 +224,7 @@ setdebchangelog () {
|
|||
DATE=`date -R`
|
||||
cat <<EOF > debian/changelog
|
||||
zoneminder ($VERSION-${DIST}) ${DIST}; urgency=low
|
||||
*
|
||||
*
|
||||
-- Isaac Connor <isaac@zoneminder.com> $DATE
|
||||
EOF
|
||||
}
|
||||
|
@ -294,80 +294,67 @@ checksanity
|
|||
# We don't want to build packages for all supported distros after every commit
|
||||
# Only build all packages when executed via cron
|
||||
# See https://docs.travis-ci.com/user/cron-jobs/
|
||||
if [ "${TRAVIS_EVENT_TYPE}" == "cron" ] || [ "${TRAVIS}" != "true" ] || [ "${DIST}" == "buster" ] ; then
|
||||
|
||||
# Steps common to Redhat distros
|
||||
if [ "${OS}" == "el" ] || [ "${OS}" == "fedora" ]; then
|
||||
if [ "${TRAVIS_EVENT_TYPE}" == "cron" ] || [ "${TRAVIS}" != "true" ]; then
|
||||
commonprep
|
||||
echo "Begin Redhat build..."
|
||||
|
||||
# Steps common to Redhat distros
|
||||
if [ "${OS}" == "el" ] || [ "${OS}" == "fedora" ]; then
|
||||
echo "Begin Redhat build..."
|
||||
setrpmpkgname
|
||||
|
||||
setrpmpkgname
|
||||
ln -sfT distros/redhat rpm
|
||||
|
||||
ln -sfT distros/redhat rpm
|
||||
# The rpm specfile requires the Crud submodule folder to be empty
|
||||
rm -rf web/api/app/Plugin/Crud
|
||||
mkdir web/api/app/Plugin/Crud
|
||||
|
||||
# The rpm specfile requires the Crud submodule folder to be empty
|
||||
rm -rf web/api/app/Plugin/Crud
|
||||
mkdir web/api/app/Plugin/Crud
|
||||
reporpm="rpmfusion-free-release"
|
||||
dlurl="https://download1.rpmfusion.org/free/${OS}/${reporpm}-${DIST}.noarch.rpm"
|
||||
|
||||
reporpm="rpmfusion-free-release"
|
||||
dlurl="https://download1.rpmfusion.org/free/${OS}/${reporpm}-${DIST}.noarch.rpm"
|
||||
|
||||
# Give our downloaded repo rpm a common name so redhat_package.mk can find it
|
||||
if [ -n "$dlurl" ] && [ $? -eq 0 ]; then
|
||||
echo "Retrieving ${reporpm} repo rpm..."
|
||||
curl $dlurl > build/external-repo.noarch.rpm
|
||||
else
|
||||
echo "ERROR: Failed to retrieve ${reporpm} repo rpm..."
|
||||
echo "Download url was: $dlurl"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
setrpmchangelog
|
||||
|
||||
echo "Starting packpack..."
|
||||
execpackpack
|
||||
|
||||
# Steps common to Debian based distros
|
||||
elif [ "${OS}" == "debian" ] || [ "${OS}" == "ubuntu" ] || [ "${OS}" == "raspbian" ]; then
|
||||
echo "Begin ${OS} ${DIST} build..."
|
||||
|
||||
setdebpkgname
|
||||
movecrud
|
||||
|
||||
if [ "${DIST}" == "trusty" ] || [ "${DIST}" == "precise" ]; then
|
||||
ln -sfT distros/ubuntu1204 debian
|
||||
elif [ "${DIST}" == "wheezy" ]; then
|
||||
ln -sfT distros/debian debian
|
||||
else
|
||||
ln -sfT distros/ubuntu1604 debian
|
||||
fi
|
||||
|
||||
setdebchangelog
|
||||
|
||||
echo "Starting packpack..."
|
||||
execpackpack
|
||||
|
||||
# Give our downloaded repo rpm a common name so redhat_package.mk can find it
|
||||
if [ -n "$dlurl" ] && [ $? -eq 0 ]; then
|
||||
echo "Retrieving ${reporpm} repo rpm..."
|
||||
curl $dlurl > build/external-repo.noarch.rpm
|
||||
else
|
||||
echo "ERROR: Failed to retrieve ${reporpm} repo rpm..."
|
||||
echo "Download url was: $dlurl"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# We were not triggered via cron so just build and test trusty
|
||||
elif [ "${OS}" == "ubuntu" ] && [ "${DIST}" == "trusty" ] && [ "${ARCH}" == "x86_64" ]; then
|
||||
echo "Begin Ubuntu Trusty build..."
|
||||
setrpmchangelog
|
||||
|
||||
commonprep
|
||||
setdebpkgname
|
||||
movecrud
|
||||
|
||||
ln -sfT distros/ubuntu1204 debian
|
||||
|
||||
setdebchangelog
|
||||
|
||||
echo "Starting packpack..."
|
||||
execpackpack
|
||||
fi;
|
||||
# Steps common to Debian based distros
|
||||
elif [ "${OS}" == "debian" ] || [ "${OS}" == "ubuntu" ] || [ "${OS}" == "raspbian" ]; then
|
||||
commonprep
|
||||
echo "Begin ${OS} ${DIST} build..."
|
||||
|
||||
setdebpkgname
|
||||
movecrud
|
||||
|
||||
if [ "${DIST}" == "trusty" ] || [ "${DIST}" == "precise" ]; then
|
||||
ln -sfT distros/ubuntu1204 debian
|
||||
elif [ "${DIST}" == "wheezy" ]; then
|
||||
ln -sfT distros/debian debian
|
||||
else
|
||||
ln -sfT distros/ubuntu1604 debian
|
||||
fi
|
||||
|
||||
setdebchangelog
|
||||
|
||||
echo "Starting packpack..."
|
||||
execpackpack
|
||||
|
||||
# We were not triggered via cron so just build and test trusty
|
||||
if [ "${OS}" == "ubuntu" ] && [ "${DIST}" == "trusty" ] && [ "${ARCH}" == "x86_64" ]; then
|
||||
# If we are running inside Travis then attempt to install the deb we just built
|
||||
if [ "${TRAVIS}" == "true" ]; then
|
||||
install_deb
|
||||
install_deb
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
exit 0
|
||||
|
|
Loading…
Reference in New Issue