ci-cd-pipeline-app-murano/LBaaS/LBaaS-ops-manager-tile/build_lbaas_tile.sh

96 lines
2.7 KiB
Bash
Executable File

#!/bin/bash
# Stop the script if an error occurs.
set -e
# Pack jobs and packages.
cd releases/jobs;
pushd lbaas-config
tar zcvf lbaas-config.tgz ./*;
mv lbaas-config.tgz ../
popd
pushd delete-lbaas
tar zcvf delete-lbaas.tgz ./*;
mv delete-lbaas.tgz ../
popd
cd ../packages;
pushd python/python
aptitude download binutils build-essential cpp cpp-4.8 dpkg-dev fakeroot g++-4.8 gcc gcc-4.8 libalgorithm-diff-perl \
libalgorithm-diff-xs-perl libalgorithm-merge-perl libasan0 libatomic1 libc6-dev libc-dev-bin libcloog-isl4 \
libdpkg-perl libfakeroot libffi6 libffi-dev libfile-fcntllock-perl libgcc-4.8-dev libgmp10 libgomp1 libisl10 \
libitm1 libmpc3 libmpfr4 libquadmath0 libssl-dev libssl-doc libstdc++-4.8-dev libtsan0 linux-libc-dev make \
manpages-dev manpages zlib1g-dev
wget https://www.python.org/ftp/python/3.5.0/Python-3.5.0.tgz
popd
pushd python
tar zcvf python.tgz ./*;
mv python.tgz ../
popd
cd ../..
mkdir tmp
cp -r metadata tmp/
mkdir tmp/releases
mkdir tmp/releases/jobs
mkdir tmp/releases/packages
mv releases/jobs/lbaas-config.tgz tmp/releases/jobs/
mv releases/jobs/delete-lbaas.tgz tmp/releases/jobs/
mv releases/packages/python.tgz tmp/releases/packages/
# In this case cp returns exit code 1 (it copies only files without nested directories).
set +e
cp releases/* tmp/releases/
set -e
# Put correct sha1 to release.MF
if [ "$(uname -s)" == "Darwin" ]; then
# Mac OS X.
sha1_lbaas_job=$(openssl sha1 tmp/releases/jobs/lbaas-config.tgz | cut -d '=' -f 2)
sha1_delete_lbaas_job=$(openssl sha1 tmp/releases/jobs/delete-lbaas.tgz | cut -d '=' -f 2)
sha1_python_package=$(openssl sha1 tmp/releases/packages/python.tgz | cut -d '=' -f 2)
else
# Works for Linux.
sha1_lbaas_job=$(sha1sum tmp/releases/jobs/lbaas-config.tgz | cut -d ' ' -f 1)
sha1_delete_lbaas_job=$(sha1sum tmp/releases/jobs/delete-lbaas.tgz | cut -d ' ' -f 1)
sha1_python_package=$(sha1sum tmp/releases/packages/python.tgz | cut -d ' ' -f 1)
fi
sed -i -e "s/%sha1_python_package%/${sha1_python_package}/g" tmp/releases/release.MF
sed -i -e "s/%sha1_lbaas_job%/${sha1_lbaas_job}/g" tmp/releases/release.MF
sed -i -e "s/%sha1_delete_lbaas_job%/${sha1_delete_lbaas_job}/g" tmp/releases/release.MF
# Pack the release.
cd tmp/releases;
tar zcvf example-release-10.tgz ./*;
cd ../..
# Enable option 'extended globbing' for easy deletion.
shopt -s extglob
# Delete all files except the release archive.
rm -rf tmp/releases/!(example-release-10.tgz)
# Pack tile.
cd tmp;
zip -r lbaas-tile.zip ./*;
cd ..
mv tmp/lbaas-tile.zip .
# Delete temp directory.
rm -rf tmp
# Delete downloaded debs and Python.
set +e
rm releases/packages/python/python/*.deb
rm releases/packages/python/python/Python-3.5.0.tgz