ansible-role-tripleo-modify.../files/dev_install.sh

49 lines
1.1 KiB
Bash

set -eou pipefail
# Cherry-pick a refspec
# $1 : project name e.g. keystone
# $2 : Gerrit refspec(s) to cherry pick
function cherrypick {
local PROJ_NAME=$1
local REFSPECS="$2"
# check that git is installed
if ! rpm -qi git &> /dev/null; then
echo "Please install git before using this module."
exit 1
fi
if [ ! -d "$PROJ_NAME" ]; then
git clone "https://opendev.org/openstack/$PROJ_NAME"
fi
cd "$PROJ_NAME"
for REFSPEC in $REFSPECS; do
git fetch "https://review.opendev.org/openstack/$PROJ_NAME" "$REFSPEC"
git cherry-pick FETCH_HEAD || git cherry-pick --abort
done
SKIP_GENERATE_AUTHORS=1 SKIP_WRITE_GIT_CHANGELOG=1 python setup.py sdist
cp dist/*.tar.gz ../
}
# Copy a Python directory
# $1 : Python directory to copy and install to generate a tarball.
function copy {
local PYTHON_DIR=$1
rm -rf dev
cp -r $PYTHON_DIR dev
cd dev
SKIP_GENERATE_AUTHORS=1 SKIP_WRITE_GIT_CHANGELOG=1 python setup.py sdist
cp dist/*.tar.gz ../
}
mkdir -p refspec_projects
cd refspec_projects
if [[ "$GERRIT_MODE" == 1 ]]; then
cherrypick $1 $2
else
copy $1
fi