diff --git a/bitnami/mysql/8.0/debian-10/Dockerfile b/bitnami/mysql/8.0/debian-10/Dockerfile index ad460cab38f7..1e533ac089ed 100644 --- a/bitnami/mysql/8.0/debian-10/Dockerfile +++ b/bitnami/mysql/8.0/debian-10/Dockerfile @@ -19,7 +19,7 @@ RUN mkdir /docker-entrypoint-initdb.d COPY rootfs / RUN /postunpack.sh ENV BITNAMI_APP_NAME="mysql" \ - BITNAMI_IMAGE_VERSION="8.0.19-debian-10-r9" \ + BITNAMI_IMAGE_VERSION="8.0.19-debian-10-r10" \ NAMI_PREFIX="/.nami" \ PATH="/opt/bitnami/mysql/bin:/opt/bitnami/mysql/sbin:$PATH" diff --git a/bitnami/mysql/8.0/debian-10/prebuildfs/libfile.sh b/bitnami/mysql/8.0/debian-10/prebuildfs/libfile.sh index 12010f043e49..337e2e779701 100644 --- a/bitnami/mysql/8.0/debian-10/prebuildfs/libfile.sh +++ b/bitnami/mysql/8.0/debian-10/prebuildfs/libfile.sh @@ -5,18 +5,56 @@ # Functions ######################## -# Ensure a line exists in the file by replacing a matching line. +# Replace a regex in a file # Arguments: # $1 - filename -# $2 - line -# $3 - match +# $2 - match regex +# $3 - substitute regex +# $4 - use POSIX regex. Default: true # Returns: # None ######################### -file_contains_line() { +replace_in_file() { local filename="${1:?filename is required}" - local line="${2:?line is required}" - local match="${3:?match is required}" + local match_regex="${2:?match regex is required}" + local substitute_regex="${3:?substitute regex is required}" + local posix_regex=${4:-true} - sed --in-place "s/^$match\$/$line/" "$filename" + local result + + # We should avoid using 'sed in-place' substitutions + # 1) They are not compatible with files mounted from ConfigMap(s) + # 2) We found incompatibility issues with Debian10 and "in-place" substitutions + if [[ $posix_regex = true ]]; then + result="$(sed -E "s@$match_regex@$substitute_regex@g" "$filename")" + else + result="$(sed "s@$match_regex@$substitute_regex@g" "$filename")" + fi + echo "$result" > "$filename" +} + +######################## +# Remove a line in a file based on a regex +# Arguments: +# $1 - filename +# $2 - match regex +# $3 - use POSIX regex. Default: true +# Returns: +# None +######################### +remove_in_file() { + local filename="${1:?filename is required}" + local match_regex="${2:?match regex is required}" + local posix_regex=${3:-true} + local result + + # We should avoid using 'sed in-place' substitutions + # 1) They are not compatible with files mounted from ConfigMap(s) + # 2) We found incompatibility issues with Debian10 and "in-place" substitutions + if [[ $posix_regex = true ]]; then + result="$(sed -E "/$match_regex/d" "$filename")" + else + result="$(sed "/$match_regex/d" "$filename")" + fi + echo "$result" > "$filename" } diff --git a/bitnami/mysql/8.0/debian-10/rootfs/libmysql.sh b/bitnami/mysql/8.0/debian-10/rootfs/libmysql.sh index f6ab430a819c..44e1c4a2c8fd 100644 --- a/bitnami/mysql/8.0/debian-10/rootfs/libmysql.sh +++ b/bitnami/mysql/8.0/debian-10/rootfs/libmysql.sh @@ -5,6 +5,8 @@ # shellcheck disable=SC1090 # shellcheck disable=SC1091 +# Load Generic Libraries +. /libfile.sh . /liblog.sh . /libos.sh . /libservice.sh @@ -409,7 +411,7 @@ EOF # After configuration, open mysql if ! is_boolean_yes "$user_provided_conf";then - sed -i 's/bind\-address=.*/bind-address=0.0.0.0/g' "$DB_CONF_DIR/my.cnf" + replace_in_file "$DB_CONF_DIR/my.cnf" "bind\-address=.*" "bind-address=0.0.0.0" false fi } diff --git a/bitnami/mysql/README.md b/bitnami/mysql/README.md index dc55fc36d2c1..6182b951411e 100644 --- a/bitnami/mysql/README.md +++ b/bitnami/mysql/README.md @@ -47,7 +47,7 @@ Learn more about the Bitnami tagging policy and the difference between rolling t * [`8.0-ol-7`, `8.0.19-ol-7-r17` (8.0/ol-7/Dockerfile)](https://github.com/bitnami/bitnami-docker-mysql/blob/8.0.19-ol-7-r17/8.0/ol-7/Dockerfile) -* [`8.0-debian-10`, `8.0.19-debian-10-r9`, `8.0`, `8.0.19`, `latest` (8.0/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-mysql/blob/8.0.19-debian-10-r9/8.0/debian-10/Dockerfile) +* [`8.0-debian-10`, `8.0.19-debian-10-r10`, `8.0`, `8.0.19`, `latest` (8.0/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-mysql/blob/8.0.19-debian-10-r10/8.0/debian-10/Dockerfile) * [`5.7-ol-7`, `5.7.29-ol-7-r17` (5.7/ol-7/Dockerfile)](https://github.com/bitnami/bitnami-docker-mysql/blob/5.7.29-ol-7-r17/5.7/ol-7/Dockerfile) * [`5.7-debian-10`, `5.7.29-debian-10-r9`, `5.7`, `5.7.29` (5.7/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-mysql/blob/5.7.29-debian-10-r9/5.7/debian-10/Dockerfile)