[bitnami/mysql] Release 5.7.39-debian-11-r19 (#6488)

Signed-off-by: Bitnami Containers <bitnami-bot@vmware.com>

Signed-off-by: Bitnami Containers <bitnami-bot@vmware.com>
This commit is contained in:
Bitnami Bot 2022-09-14 17:01:13 +02:00 committed by GitHub
parent cbc4f50469
commit 35b3ca665b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 182 additions and 10 deletions

View File

@ -4,7 +4,7 @@ ARG TARGETARCH
LABEL org.opencontainers.image.authors="https://bitnami.com/contact" \
org.opencontainers.image.description="Application packaged by Bitnami" \
org.opencontainers.image.ref.name="5.7.39-debian-11-r18" \
org.opencontainers.image.ref.name="5.7.39-debian-11-r19" \
org.opencontainers.image.source="https://github.com/bitnami/containers/tree/main/bitnami/mysql" \
org.opencontainers.image.title="mysql" \
org.opencontainers.image.vendor="VMware, Inc." \
@ -26,7 +26,7 @@ RUN mkdir -p /tmp/bitnami/pkg/cache/ && cd /tmp/bitnami/pkg/cache/ && \
fi && \
sha256sum -c ini-file-1.4.3-153-linux-${OS_ARCH}-debian-11.tar.gz.sha256 && \
tar -zxf ini-file-1.4.3-153-linux-${OS_ARCH}-debian-11.tar.gz -C /opt/bitnami --strip-components=2 --no-same-owner --wildcards '*/files' && \
rm -rf ini-file-1.4.3-153-linux-${OS_ARCH}-debian-11.tar.gz
rm -rf ini-file-1.4.3-153-linux-${OS_ARCH}-debian-11.tar.gz ini-file-1.4.3-153-linux-${OS_ARCH}-debian-11.tar.gz.sha256
RUN mkdir -p /tmp/bitnami/pkg/cache/ && cd /tmp/bitnami/pkg/cache/ && \
if [ ! -f mysql-5.7.39-2-linux-${OS_ARCH}-debian-11.tar.gz ]; then \
curl -SsLf https://downloads.bitnami.com/files/stacksmith/mysql-5.7.39-2-linux-${OS_ARCH}-debian-11.tar.gz -O ; \
@ -34,7 +34,7 @@ RUN mkdir -p /tmp/bitnami/pkg/cache/ && cd /tmp/bitnami/pkg/cache/ && \
fi && \
sha256sum -c mysql-5.7.39-2-linux-${OS_ARCH}-debian-11.tar.gz.sha256 && \
tar -zxf mysql-5.7.39-2-linux-${OS_ARCH}-debian-11.tar.gz -C /opt/bitnami --strip-components=2 --no-same-owner --wildcards '*/files' && \
rm -rf mysql-5.7.39-2-linux-${OS_ARCH}-debian-11.tar.gz
rm -rf mysql-5.7.39-2-linux-${OS_ARCH}-debian-11.tar.gz mysql-5.7.39-2-linux-${OS_ARCH}-debian-11.tar.gz.sha256
RUN mkdir -p /tmp/bitnami/pkg/cache/ && cd /tmp/bitnami/pkg/cache/ && \
if [ ! -f gosu-1.14.0-154-linux-${OS_ARCH}-debian-11.tar.gz ]; then \
curl -SsLf https://downloads.bitnami.com/files/stacksmith/gosu-1.14.0-154-linux-${OS_ARCH}-debian-11.tar.gz -O ; \
@ -42,7 +42,7 @@ RUN mkdir -p /tmp/bitnami/pkg/cache/ && cd /tmp/bitnami/pkg/cache/ && \
fi && \
sha256sum -c gosu-1.14.0-154-linux-${OS_ARCH}-debian-11.tar.gz.sha256 && \
tar -zxf gosu-1.14.0-154-linux-${OS_ARCH}-debian-11.tar.gz -C /opt/bitnami --strip-components=2 --no-same-owner --wildcards '*/files' && \
rm -rf gosu-1.14.0-154-linux-${OS_ARCH}-debian-11.tar.gz
rm -rf gosu-1.14.0-154-linux-${OS_ARCH}-debian-11.tar.gz gosu-1.14.0-154-linux-${OS_ARCH}-debian-11.tar.gz.sha256
RUN apt-get update && apt-get upgrade -y && \
rm -r /var/lib/apt/lists /var/cache/apt/archives
RUN chmod g+rwX /opt/bitnami

View File

@ -170,18 +170,19 @@ configure_permissions_ownership() {
read -r -a filepaths <<<"$paths"
for p in "${filepaths[@]}"; do
if [[ -e "$p" ]]; then
find -L "$p" -printf ""
if [[ -n $dir_mode ]]; then
find -L "$p" -type d -exec chmod "$dir_mode" {} \;
find -L "$p" -type d ! -perm "$dir_mode" -print0 | xargs -r -0 chmod "$dir_mode"
fi
if [[ -n $file_mode ]]; then
find -L "$p" -type f -exec chmod "$file_mode" {} \;
find -L "$p" -type f ! -perm "$file_mode" -print0 | xargs -r -0 chmod "$file_mode"
fi
if [[ -n $user ]] && [[ -n $group ]]; then
chown -LR "$user":"$group" "$p"
find -L "$p" -print0 | xargs -r -0 chown "${user}:${group}"
elif [[ -n $user ]] && [[ -z $group ]]; then
chown -LR "$user" "$p"
find -L "$p" -print0 | xargs -r -0 chown "${user}"
elif [[ -z $user ]] && [[ -n $group ]]; then
chgrp -LR "$group" "$p"
find -L "$p" -print0 | xargs -r -0 chgrp "${group}"
fi
else
stderr_print "$p does not exist"

View File

@ -464,3 +464,37 @@ convert_to_hex() {
printf '%x' "'${char}"
done
}
########################
# Get boot time
# Globals:
# None
# Arguments:
# None
# Returns:
# Boot time metadata
#########################
get_boot_time() {
stat /proc --format=%Y
}
########################
# Get machine ID
# Globals:
# None
# Arguments:
# None
# Returns:
# Machine ID
#########################
get_machine_id() {
local machine_id
if [[ -f /etc/machine-id ]]; then
machine_id="$(cat /etc/machine-id)"
fi
if [[ -z "$machine_id" ]]; then
# Fallback to the boot-time, which will at least ensure a unique ID in the current session
machine_id="$(get_boot_time)"
fi
echo "$machine_id"
}

View File

@ -271,3 +271,140 @@ remove_logrotate_conf() {
local logrotate_conf_dir="/etc/logrotate.d"
rm -f "${logrotate_conf_dir}/${service_name}"
}
########################
# Generate a Systemd configuration file
# Arguments:
# $1 - Service name
# Flags:
# --exec-start - Start command (required)
# --exec-stop - Stop command (optional)
# --exec-reload - Reload command (optional)
# --name - Service full name (e.g. Apache HTTP Server, defaults to $1)
# --restart - When to restart the Systemd service after being stopped (defaults to always)
# --pid-file - Service PID file (required when --restart is set to always)
# --type - Systemd unit type (defaults to forking)
# --user - System user to start the service with
# --group - System group to start the service with
# --environment - Environment variable to define (multiple --environment options may be passed)
# Returns:
# None
#########################
generate_systemd_conf() {
local -r service_name="${1:?service name is missing}"
local -r systemd_units_dir="/etc/systemd/system"
local -r service_file="${systemd_units_dir}/bitnami.${service_name}.service"
# Default values
local name="$service_name"
local type="forking"
local user=""
local group=""
local environment=""
local exec_start=""
local exec_stop=""
local exec_reload=""
local restart="always"
local pid_file=""
# Parse CLI flags
shift
while [[ "$#" -gt 0 ]]; do
case "$1" in
--name \
| --type \
| --user \
| --group \
| --exec-start \
| --exec-stop \
| --exec-reload \
| --restart \
| --pid-file \
)
var_name="$(echo "$1" | sed -e "s/^--//" -e "s/-/_/g")"
shift
declare "$var_name"="${1:?"$var_name" is missing}"
;;
--environment)
shift
# It is possible to add multiple environment lines
[[ -n "$environment" ]] && environment+=$'\n'
environment+="Environment=${1:?"environment" is missing}"
;;
*)
echo "Invalid command line flag ${1}" >&2
return 1
;;
esac
shift
done
# Validate inputs
local error="no"
if [[ -z "$exec_start" ]]; then
error "The --exec-start option is required"
error="yes"
fi
if [[ "$restart" = "always" && -z "$pid_file" ]]; then
error "The --restart option cannot be set to 'always' if --pid-file is not set"
error="yes"
fi
if [[ "$error" != "no" ]]; then
return 1
fi
# Generate the Systemd unit
cat > "$service_file" <<EOF
[Unit]
Description=Bitnami service for ${name}
# Starting/stopping the main bitnami service should cause the same effect for this service
PartOf=bitnami.service
[Service]
Type=${type}
ExecStart=${exec_start}
EOF
# Optional stop and reload commands
if [[ -n "$exec_stop" ]]; then
cat >> "$service_file" <<EOF
ExecStop=${exec_stop}
EOF
fi
if [[ -n "$exec_reload" ]]; then
cat >> "$service_file" <<EOF
ExecReload=${exec_reload}
EOF
fi
# User and group
if [[ -n "$user" ]]; then
cat >> "$service_file" <<EOF
User=${user}
EOF
fi
if [[ -n "$group" ]]; then
cat >> "$service_file" <<EOF
Group=${group}
EOF
fi
# PID file allows to determine if the main process is running properly (for Restart=always)
if [[ -n "$pid_file" ]]; then
cat >> "$service_file" <<EOF
PIDFile=${pid_file}
EOF
fi
# Environment flags (may be specified multiple times in a unit)
if [[ -n "$environment" ]]; then
cat >> "$service_file" <<< "$environment"
fi
cat >> "$service_file" <<EOF
Restart=${restart}
# Optimizations
TimeoutSec=5min
IgnoreSIGPIPE=no
KillMode=mixed
# Limits
LimitNOFILE=infinity
# Configure output to appear in instance console output
StandardOutput=journal+console
[Install]
# Enabling/disabling the main bitnami service should cause the same effect for this service
WantedBy=bitnami.service
EOF
}

View File

@ -48,7 +48,7 @@ Learn more about the Bitnami tagging policy and the difference between rolling t
* [`8.0`, `8.0-debian-11`, `8.0.30`, `8.0.30-debian-11-r18`, `latest` (8.0/debian-11/Dockerfile)](https://github.com/bitnami/containers/blob/main/bitnami/mysql/8.0/debian-11/Dockerfile)
* [`5.7`, `5.7-debian-11`, `5.7.39`, `5.7.39-debian-11-r18` (5.7/debian-11/Dockerfile)](https://github.com/bitnami/containers/blob/main/bitnami/mysql/5.7/debian-11/Dockerfile)
* [`5.7`, `5.7-debian-11`, `5.7.39`, `5.7.39-debian-11-r19` (5.7/debian-11/Dockerfile)](https://github.com/bitnami/containers/blob/main/bitnami/mysql/5.7/debian-11/Dockerfile)
Subscribe to project updates by watching the [bitnami/containers GitHub repo](https://github.com/bitnami/containers).