[IMP] use mktemp and trap for temporary file cleanup
Replace hardcoded temporary file paths with mktemp -d for secure temporary directory creation, and add a trap to automatically clean up on script exit (success, failure, or interruption). Benefits: - Automatic cleanup even on Ctrl+C or script errors - No leftover temporary files in the working directory - Secure temporary directory creation (proper permissions) - Files isolated in dedicated temp directory Added '|| true' to grep command since it returns exit code 1 when no matches are found, which would trigger set -e otherwise.
This commit is contained in:
@@ -1,12 +1,14 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
# Global variables
|
|
||||||
ODOO_SERVICE="$1"
|
ODOO_SERVICE="$1"
|
||||||
DB_NAME="$2"
|
DB_NAME="$2"
|
||||||
DB_FINALE_MODEL="$3"
|
DB_FINALE_MODEL="$3"
|
||||||
DB_FINALE_SERVICE="$4"
|
DB_FINALE_SERVICE="$4"
|
||||||
|
|
||||||
|
TMPDIR=$(mktemp -d)
|
||||||
|
trap 'rm -rf "$TMPDIR"' EXIT
|
||||||
|
|
||||||
echo "Start database preparation"
|
echo "Start database preparation"
|
||||||
|
|
||||||
# Check POSTGRES container is running
|
# Check POSTGRES container is running
|
||||||
@@ -56,21 +58,18 @@ EOF
|
|||||||
)
|
)
|
||||||
echo "Retrieve 404 addons... "
|
echo "Retrieve 404 addons... "
|
||||||
echo "SQL REQUEST = $SQL_404_ADDONS_LIST"
|
echo "SQL REQUEST = $SQL_404_ADDONS_LIST"
|
||||||
query_postgres_container "$SQL_404_ADDONS_LIST" "$DB_NAME" > 404_addons || exit 1
|
query_postgres_container "$SQL_404_ADDONS_LIST" "$DB_NAME" > "${TMPDIR}/404_addons"
|
||||||
|
|
||||||
# Keep only the installed add-ons
|
|
||||||
INSTALLED_ADDONS="SELECT name FROM ir_module_module WHERE state='installed';"
|
INSTALLED_ADDONS="SELECT name FROM ir_module_module WHERE state='installed';"
|
||||||
query_postgres_container "$INSTALLED_ADDONS" "$DB_NAME" > installed_addons || exit 1
|
query_postgres_container "$INSTALLED_ADDONS" "$DB_NAME" > "${TMPDIR}/installed_addons"
|
||||||
|
|
||||||
grep -Fx -f 404_addons installed_addons > final_404_addons
|
grep -Fx -f "${TMPDIR}/404_addons" "${TMPDIR}/installed_addons" > "${TMPDIR}/final_404_addons" || true
|
||||||
rm -f 404_addons installed_addons
|
|
||||||
|
|
||||||
# Ask confirmation to uninstall the selected add-ons
|
|
||||||
echo "
|
echo "
|
||||||
==== ADD-ONS CHECK ====
|
==== ADD-ONS CHECK ====
|
||||||
Installed add-ons not available in final Odoo version:
|
Installed add-ons not available in final Odoo version:
|
||||||
"
|
"
|
||||||
cat final_404_addons
|
cat "${TMPDIR}/final_404_addons"
|
||||||
|
|
||||||
|
|
||||||
echo "
|
echo "
|
||||||
|
|||||||
Reference in New Issue
Block a user