#!/bin/bash # Get script name SCRIPT=$(basename "$0") # First param is docker container CONTAINER=$1 # Default configuration PACKAGE_PATH="/usr/lib/python3/dist-packages/" # Custom configuration FILE_PATH="${PACKAGE_PATH}odoo/service/server.py" FIND="for db_name, registry in registries.d.items()" REPLACE="for db_name, registry in registries.d.copy().items()" # Get filename FILE=`basename "$FILE_PATH"` # Copy from docker docker cp "$CONTAINER":"$FILE_PATH" . # Check if already patched FOUND=$(grep "$FIND" $FILE) # Find and replace sed -i'' "s/$FIND/$REPLACE/g" $FILE # Copy back to docker docker cp $FILE "$CONTAINER":"$FILE_PATH" # Remove file rm -f $FILE if [ -z "$FOUND" ];then exit 0 # File is already patched else exit 2 # File changed fi