[IMP] fix variable quoting issues

Properly quote all variable expansions to prevent word splitting and
glob expansion issues:
- Quote $POSTGRES_SERVICE_NAME in docker exec command
- Quote $REPERTOIRE in directory test
- Remove unnecessary $ inside arithmetic expressions (($VAR -> VAR))

Unquoted variables can cause unexpected behavior when values contain
spaces or special characters. In arithmetic contexts, $ is unnecessary
and can mask errors with set -u.
This commit is contained in:
Stéphan Sainléger
2026-02-02 17:55:29 +01:00
parent 266842585b
commit 526b27fdec

View File

@@ -134,7 +134,7 @@ echo "
==== CHECKS ALL NEEDED COMPONENTS ARE AVAILABLE ===="
# Check origin database is in the local postgres
DB_EXISTS=$(docker exec -it -u 70 $POSTGRES_SERVICE_NAME psql -tc "SELECT 1 FROM pg_database WHERE datname = '$ORIGIN_DB_NAME'" | tr -d '[:space:]')
DB_EXISTS=$(docker exec -it -u 70 "$POSTGRES_SERVICE_NAME" psql -tc "SELECT 1 FROM pg_database WHERE datname = '$ORIGIN_DB_NAME'" | tr -d '[:space:]')
if [ "$DB_EXISTS" ]; then
echo "UPGRADE: Database '$ORIGIN_DB_NAME' found."
else
@@ -144,7 +144,7 @@ fi
# Check that the origin filestore exist
REPERTOIRE="/srv/datastore/data/${ORIGIN_SERVICE_NAME}/var/lib/odoo/filestore/${ORIGIN_DB_NAME}"
if [ -d $REPERTOIRE ]; then
if [ -d "$REPERTOIRE" ]; then
echo "UPGRADE: '$REPERTOIRE' filestore found."
else
echo "ERROR: '$REPERTOIRE' filestore not found, please add it and restart the upgrade process."
@@ -190,12 +190,11 @@ echo "
==== PATH OF MIGRATION ===="
# List all the versions to migrate through
declare -a versions
nb_migrations=$(($FINAL_VERSION - $ORIGIN_VERSION))
nb_migrations=$((FINAL_VERSION - ORIGIN_VERSION))
# Build the migration path
for ((i = 0; i<$nb_migrations; i++))
do
versions[$i]=$(($ORIGIN_VERSION + 1 + i))
for ((i = 0; i < nb_migrations; i++)); do
versions[i]=$((ORIGIN_VERSION + 1 + i))
done
echo "UPGRADE: Migration path is ${versions[@]}"