From 2a871d7999fe31175fdf7683415bb0f4c70634f6 Mon Sep 17 00:00:00 2001 From: Bitnami Bot Date: Mon, 12 Sep 2022 21:21:05 +0200 Subject: [PATCH] [bitnami/mediawiki] Release 1.38.2-debian-11-r30 (#6275) Signed-off-by: Bitnami Containers Signed-off-by: Bitnami Containers --- bitnami/mediawiki/1/debian-11/Dockerfile | 20 +-- .../opt/bitnami/.bitnami_components.json | 4 +- .../prebuildfs/opt/bitnami/scripts/libfs.sh | 11 +- .../prebuildfs/opt/bitnami/scripts/libos.sh | 34 +++++ .../opt/bitnami/scripts/libservice.sh | 137 ++++++++++++++++++ .../scripts/locales/add-extra-locales.sh | 44 ------ bitnami/mediawiki/README.md | 2 +- 7 files changed, 188 insertions(+), 64 deletions(-) delete mode 100755 bitnami/mediawiki/1/debian-11/rootfs/opt/bitnami/scripts/locales/add-extra-locales.sh diff --git a/bitnami/mediawiki/1/debian-11/Dockerfile b/bitnami/mediawiki/1/debian-11/Dockerfile index 40bd4c05c041..c090e8a32ca6 100644 --- a/bitnami/mediawiki/1/debian-11/Dockerfile +++ b/bitnami/mediawiki/1/debian-11/Dockerfile @@ -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="1.38.2-debian-11-r28" \ + org.opencontainers.image.ref.name="1.38.2-debian-11-r30" \ org.opencontainers.image.source="https://github.com/bitnami/containers/tree/main/bitnami/mediawiki" \ org.opencontainers.image.title="mediawiki" \ org.opencontainers.image.vendor="VMware, Inc." \ @@ -18,15 +18,15 @@ ENV HOME="/" \ COPY prebuildfs / SHELL ["/bin/bash", "-o", "pipefail", "-c"] # Install required system packages and dependencies -RUN install_packages acl ca-certificates curl git gzip libaudit1 libbrotli1 libbsd0 libbz2-1.0 libc6 libcap-ng0 libcom-err2 libcrypt1 libcurl4 libexpat1 libffi7 libfftw3-double3 libfontconfig1 libfreetype6 libgcc-s1 libgcrypt20 libglib2.0-0 libgmp10 libgnutls30 libgomp1 libgpg-error0 libgssapi-krb5-2 libhogweed6 libicu67 libidn2-0 libjpeg62-turbo libk5crypto3 libkeyutils1 libkrb5-3 libkrb5support0 liblcms2-2 libldap-2.4-2 liblqr-1-0 libltdl7 liblzma5 libmagickcore-6.q16-6 libmagickwand-6.q16-6 libmcrypt4 libmd0 libmemcached11 libncurses6 libnettle8 libnghttp2-14 libonig5 libp11-kit0 libpam0g libpcre2-8-0 libpcre3 libpng16-16 libpq5 libpsl5 libreadline8 librtmp1 libsasl2-2 libsodium23 libsqlite3-0 libssh2-1 libssl1.1 libstdc++6 libsybdb5 libtasn1-6 libtidy5deb1 libtinfo6 libunistring2 libuuid1 libwebp6 libx11-6 libxau6 libxcb1 libxdmcp6 libxext6 libxml2 libxslt1.1 libzip4 locales procps sqlite3 tar zlib1g +RUN install_packages acl ca-certificates curl gzip libaudit1 libbrotli1 libbsd0 libbz2-1.0 libc6 libcap-ng0 libcom-err2 libcrypt1 libcurl4 libexpat1 libffi7 libfftw3-double3 libfontconfig1 libfreetype6 libgcc-s1 libgcrypt20 libglib2.0-0 libgmp10 libgnutls30 libgomp1 libgpg-error0 libgssapi-krb5-2 libhogweed6 libicu67 libidn2-0 libjpeg62-turbo libk5crypto3 libkeyutils1 libkrb5-3 libkrb5support0 liblcms2-2 libldap-2.4-2 liblqr-1-0 libltdl7 liblzma5 libmagickcore-6.q16-6 libmagickwand-6.q16-6 libmcrypt4 libmd0 libmemcached11 libncurses6 libnettle8 libnghttp2-14 libonig5 libp11-kit0 libpam0g libpcre2-8-0 libpcre3 libpng16-16 libpq5 libpsl5 libreadline8 librtmp1 libsasl2-2 libsodium23 libsqlite3-0 libssh2-1 libssl1.1 libstdc++6 libsybdb5 libtasn1-6 libtidy5deb1 libtinfo6 libunistring2 libuuid1 libwebp6 libx11-6 libxau6 libxcb1 libxdmcp6 libxext6 libxml2 libxslt1.1 libzip4 procps tar zlib1g RUN mkdir -p /tmp/bitnami/pkg/cache/ && cd /tmp/bitnami/pkg/cache/ && \ - if [ ! -f php-7.4.30-161-linux-${OS_ARCH}-debian-11.tar.gz ]; then \ - curl -SsLf https://downloads.bitnami.com/files/stacksmith/php-7.4.30-161-linux-${OS_ARCH}-debian-11.tar.gz -O ; \ - curl -SsLf https://downloads.bitnami.com/files/stacksmith/php-7.4.30-161-linux-${OS_ARCH}-debian-11.tar.gz.sha256 -O ; \ + if [ ! -f php-7.4.30-162-linux-${OS_ARCH}-debian-11.tar.gz ]; then \ + curl -SsLf https://downloads.bitnami.com/files/stacksmith/php-7.4.30-162-linux-${OS_ARCH}-debian-11.tar.gz -O ; \ + curl -SsLf https://downloads.bitnami.com/files/stacksmith/php-7.4.30-162-linux-${OS_ARCH}-debian-11.tar.gz.sha256 -O ; \ fi && \ - sha256sum -c php-7.4.30-161-linux-${OS_ARCH}-debian-11.tar.gz.sha256 && \ - tar -zxf php-7.4.30-161-linux-${OS_ARCH}-debian-11.tar.gz -C /opt/bitnami --strip-components=2 --no-same-owner --wildcards '*/files' && \ - rm -rf php-7.4.30-161-linux-${OS_ARCH}-debian-11.tar.gz php-7.4.30-161-linux-${OS_ARCH}-debian-11.tar.gz.sha256 + sha256sum -c php-7.4.30-162-linux-${OS_ARCH}-debian-11.tar.gz.sha256 && \ + tar -zxf php-7.4.30-162-linux-${OS_ARCH}-debian-11.tar.gz -C /opt/bitnami --strip-components=2 --no-same-owner --wildcards '*/files' && \ + rm -rf php-7.4.30-162-linux-${OS_ARCH}-debian-11.tar.gz php-7.4.30-162-linux-${OS_ARCH}-debian-11.tar.gz.sha256 RUN mkdir -p /tmp/bitnami/pkg/cache/ && cd /tmp/bitnami/pkg/cache/ && \ if [ ! -f apache-2.4.54-156-linux-${OS_ARCH}-debian-11.tar.gz ]; then \ curl -SsLf https://downloads.bitnami.com/files/stacksmith/apache-2.4.54-156-linux-${OS_ARCH}-debian-11.tar.gz -O ; \ @@ -78,12 +78,8 @@ RUN mkdir -p /tmp/bitnami/pkg/cache/ && cd /tmp/bitnami/pkg/cache/ && \ RUN apt-get update && apt-get upgrade -y && \ rm -r /var/lib/apt/lists /var/cache/apt/archives RUN chmod g+rwX /opt/bitnami -RUN update-locale LANG=C.UTF-8 LC_MESSAGES=POSIX && \ - DEBIAN_FRONTEND=noninteractive dpkg-reconfigure locales -RUN echo 'en_US.UTF-8 UTF-8' >> /etc/locale.gen && locale-gen COPY rootfs / -RUN /opt/bitnami/scripts/locales/add-extra-locales.sh RUN /opt/bitnami/scripts/apache/postunpack.sh RUN /opt/bitnami/scripts/php/postunpack.sh RUN /opt/bitnami/scripts/apache-modphp/postunpack.sh diff --git a/bitnami/mediawiki/1/debian-11/prebuildfs/opt/bitnami/.bitnami_components.json b/bitnami/mediawiki/1/debian-11/prebuildfs/opt/bitnami/.bitnami_components.json index f384f746fc0b..665e341f8169 100644 --- a/bitnami/mediawiki/1/debian-11/prebuildfs/opt/bitnami/.bitnami_components.json +++ b/bitnami/mediawiki/1/debian-11/prebuildfs/opt/bitnami/.bitnami_components.json @@ -36,10 +36,10 @@ }, "php": { "arch": "amd64", - "digest": "c522c9d400267a6f475149c89f75b1055258bed9af34bfc64bb0dea6f134c6da", + "digest": "6bf57d40474d3d618643a0e83d205c31ec9736a64420487b30fd04211e0811cc", "distro": "debian-11", "type": "NAMI", - "version": "7.4.30-161" + "version": "7.4.30-162" }, "render-template": { "arch": "amd64", diff --git a/bitnami/mediawiki/1/debian-11/prebuildfs/opt/bitnami/scripts/libfs.sh b/bitnami/mediawiki/1/debian-11/prebuildfs/opt/bitnami/scripts/libfs.sh index 1b504b1df458..801b9412bd99 100644 --- a/bitnami/mediawiki/1/debian-11/prebuildfs/opt/bitnami/scripts/libfs.sh +++ b/bitnami/mediawiki/1/debian-11/prebuildfs/opt/bitnami/scripts/libfs.sh @@ -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" diff --git a/bitnami/mediawiki/1/debian-11/prebuildfs/opt/bitnami/scripts/libos.sh b/bitnami/mediawiki/1/debian-11/prebuildfs/opt/bitnami/scripts/libos.sh index b6c50da90807..08b1d4884c28 100644 --- a/bitnami/mediawiki/1/debian-11/prebuildfs/opt/bitnami/scripts/libos.sh +++ b/bitnami/mediawiki/1/debian-11/prebuildfs/opt/bitnami/scripts/libos.sh @@ -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" +} diff --git a/bitnami/mediawiki/1/debian-11/prebuildfs/opt/bitnami/scripts/libservice.sh b/bitnami/mediawiki/1/debian-11/prebuildfs/opt/bitnami/scripts/libservice.sh index a713bd108e15..f964ab09fcba 100644 --- a/bitnami/mediawiki/1/debian-11/prebuildfs/opt/bitnami/scripts/libservice.sh +++ b/bitnami/mediawiki/1/debian-11/prebuildfs/opt/bitnami/scripts/libservice.sh @@ -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" <> "$service_file" <> "$service_file" <> "$service_file" <> "$service_file" <> "$service_file" <> "$service_file" <<< "$environment" + fi + cat >> "$service_file" <> "$LOCALES_FILE" - else - echo "Locale ${locale} is already enabled" - fi -} - -if [[ "$WITH_ALL_LOCALES" =~ ^(yes|true|1)$ ]]; then - echo "Enabling all locales" - cp "$SUPPORTED_LOCALES_FILE" "$LOCALES_FILE" -else - # shellcheck disable=SC2001 - LOCALES_TO_ADD="$(sed 's/[,;]\s*/\n/g' <<< "$EXTRA_LOCALES")" - while [[ -n "$LOCALES_TO_ADD" ]] && read -r locale; do - echo "Enabling locale ${locale}" - enable_locale "$locale" - done <<< "$LOCALES_TO_ADD" -fi - -locale-gen diff --git a/bitnami/mediawiki/README.md b/bitnami/mediawiki/README.md index e034d91ca832..71db3697bb46 100644 --- a/bitnami/mediawiki/README.md +++ b/bitnami/mediawiki/README.md @@ -41,7 +41,7 @@ Non-root container images add an extra layer of security and are generally recom Learn more about the Bitnami tagging policy and the difference between rolling tags and immutable tags [in our documentation page](https://docs.bitnami.com/tutorials/understand-rolling-tags-containers/). -* [`1`, `1-debian-11`, `1.38.2`, `1.38.2-debian-11-r28`, `latest` (1/debian-11/Dockerfile)](https://github.com/bitnami/containers/blob/main/bitnami/mediawiki/1/debian-11/Dockerfile) +* [`1`, `1-debian-11`, `1.38.2`, `1.38.2-debian-11-r30`, `latest` (1/debian-11/Dockerfile)](https://github.com/bitnami/containers/blob/main/bitnami/mediawiki/1/debian-11/Dockerfile) Subscribe to project updates by watching the [bitnami/containers GitHub repo](https://github.com/bitnami/containers).