install-dependencies.sh: Complete the pip install logic

install-dependencies.sh includes a list of pip packages that the build
environment requires.
This functionality was added in
729d0feef0, however, the actual use of the
list is missing and instead the `pip install` commands are hard coded
into the logic.

This change complete the transition to pip-packages list.
It includes also modifying the `pip_packages` array to include a
constrain (if needed) for every package.

Fixes #16269

Signed-off-by: Eliran Sinvani <eliransin@scylladb.com>

Closes scylladb/scylladb#16282
This commit is contained in:
Eliran Sinvani
2023-11-26 14:13:29 +02:00
committed by Nadav Har'El
parent 409e20e5ab
commit d1aaca893c

View File

@@ -129,11 +129,12 @@ fedora_python3_packages=(
python3-pyudev
)
pip_packages=(
scylla-driver
geomet
traceback-with-variables
scylla-api-client
# an associative array from packages to constrains
declare -A pip_packages=(
[scylla-driver]=
[geomet]="<0.3,>=0.1"
[traceback-with-variables]=
[scylla-api-client]=
)
pip_symlinks=(
@@ -280,7 +281,7 @@ if $PRINT_PYTHON3; then
fi
if $PRINT_PIP; then
echo "${pip_packages[@]}"
echo "${!pip_packages[@]}"
exit 0
fi
@@ -319,10 +320,12 @@ elif [ "$ID" = "fedora" ]; then
fi
dnf install -y "${fedora_packages[@]}" "${fedora_python3_packages[@]}"
PIP_DEFAULT_ARGS="--only-binary=:all: -v"
pip3 install "$PIP_DEFAULT_ARGS" "geomet<0.3,>=0.1"
pip3 install "$PIP_DEFAULT_ARGS" scylla-driver
pip3 install "$PIP_DEFAULT_ARGS" traceback-with-variables
pip3 install "$PIP_DEFAULT_ARGS" scylla-api-client
pip_constrained_packages=""
for package in ${!pip_packages[@]}
do
pip_constrained_packages="${pip_constrained_packages} ${package}${pip_packages[$package]}"
done
pip3 install "$PIP_DEFAULT_ARGS" $pip_constrained_packages
cargo --config net.git-fetch-with-cli=true install cxxbridge-cmd --root /usr/local
if [ -f "$(node_exporter_fullpath)" ] && node_exporter_checksum; then