From ea28e774f6de5463cd5d167f16970bc75fd253dc Mon Sep 17 00:00:00 2001 From: Bitnami Bot Date: Mon, 22 Jun 2020 16:13:19 +0000 Subject: [PATCH] 3.9.0-debian-10-r0 release --- bitnami/moodle/3/debian-10/Dockerfile | 8 +-- bitnami/moodle/3/debian-10/docker-compose.yml | 2 +- .../3/debian-10/rootfs/post-init.d/php.sh | 32 ++++++++---- .../3/debian-10/rootfs/post-init.d/shell.sh | 43 ++++++++++------ .../debian-10/rootfs/post-init.d/sql-mysql.sh | 51 ++++++++++++------- .../moodle/3/debian-10/rootfs/post-init.sh | 22 +++++--- bitnami/moodle/README.md | 2 +- bitnami/moodle/docker-compose.yml | 2 +- 8 files changed, 105 insertions(+), 57 deletions(-) mode change 100644 => 100755 bitnami/moodle/3/debian-10/rootfs/post-init.sh diff --git a/bitnami/moodle/3/debian-10/Dockerfile b/bitnami/moodle/3/debian-10/Dockerfile index 4cc9c866e544..fd633baa6e11 100644 --- a/bitnami/moodle/3/debian-10/Dockerfile +++ b/bitnami/moodle/3/debian-10/Dockerfile @@ -5,15 +5,15 @@ ENV PATH="/opt/bitnami/php/bin:/opt/bitnami/php/sbin:/opt/bitnami/apache/bin:/op COPY prebuildfs / # Install required system packages and dependencies -RUN install_packages ca-certificates cron curl gzip libaio1 libaudit1 libbsd0 libbz2-1.0 libc6 libcap-ng0 libcom-err2 libcurl4 libexpat1 libffi6 libfftw3-double3 libfontconfig1 libfreetype6 libgcc1 libgcrypt20 libglib2.0-0 libgmp10 libgnutls30 libgomp1 libgpg-error0 libgssapi-krb5-2 libhogweed4 libicu63 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 libmemcached11 libmemcachedutil2 libncurses6 libnettle6 libnghttp2-14 libp11-kit0 libpam0g libpcre3 libpng16-16 libpq5 libpsl5 libreadline7 librtmp1 libsasl2-2 libsqlite3-0 libssh2-1 libssl1.1 libstdc++6 libsybdb5 libtasn1-6 libtidy5deb1 libtinfo6 libunistring2 libuuid1 libx11-6 libxau6 libxcb1 libxdmcp6 libxext6 libxml2 libxslt1.1 libzip4 locales procps sudo tar zlib1g +RUN install_packages ca-certificates cron curl gzip libaudit1 libbsd0 libbz2-1.0 libc6 libcap-ng0 libcom-err2 libcurl4 libexpat1 libffi6 libfftw3-double3 libfontconfig1 libfreetype6 libgcc1 libgcrypt20 libglib2.0-0 libgmp10 libgnutls30 libgomp1 libgpg-error0 libgssapi-krb5-2 libhogweed4 libicu63 libidn2-0 libjemalloc2 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 libmemcached11 libmemcachedutil2 libncurses6 libnettle6 libnghttp2-14 libp11-kit0 libpam0g libpcre3 libpng16-16 libpq5 libpsl5 libreadline7 librtmp1 libsasl2-2 libsqlite3-0 libssh2-1 libssl1.1 libstdc++6 libsybdb5 libtasn1-6 libtidy5deb1 libtinfo6 libunistring2 libuuid1 libx11-6 libxau6 libxcb1 libxdmcp6 libxext6 libxml2 libxslt1.1 libzip4 locales procps sudo tar zlib1g RUN /build/bitnami-user.sh RUN /build/install-nami.sh RUN bitnami-pkg install php-7.3.19-0 --checksum 8799bc6c2565c4e9010756915de8f250a1f989df33794395f6ea1abc85bbf4b1 RUN bitnami-pkg unpack apache-2.4.43-4 --checksum e6929d8619f48976f9206bec14cb9634ebe8590225818eea12c27840617f53aa -RUN bitnami-pkg unpack mysql-client-10.1.45-0 --checksum ab16b1f8b0bedb562cdbc877bf365b03cf518ae24c5389427fbd85ddec378901 +RUN bitnami-pkg unpack mysql-client-10.3.23-0 --checksum 7af3cead7a38670bed924fbc99e20c67f6244bb5a92642adb4ab6cd307aa9a5e RUN bitnami-pkg install libphp-7.3.19-0 --checksum 9d3e785b7544f374e4943f94795625e9048a89fab109ada62552c5784c68bbbe RUN bitnami-pkg install tini-0.19.0-0 --checksum 9a8ae20be31a518f042fcec359f2cf35bfdb4e2a56f2fa8ff9ef2ecaf45da80c -RUN bitnami-pkg unpack moodle-3.8.3-0 --checksum 9e396870239943eef26df142644e4dc1cb31fa4c4155473f50146dd75b1b0dfa +RUN bitnami-pkg unpack moodle-3.9.0-0 --checksum 99c7aac02637641a64293884abb9ca81faabe03cc19978cae179bf054e9b11c5 RUN bitnami-pkg install gosu-1.12.0-0 --checksum 582d501eeb6b338a24f417fededbf14295903d6be55c52d66c52e616c81bcd8c RUN apt-get update && apt-get upgrade -y && \ rm -r /var/lib/apt/lists /var/cache/apt/archives @@ -31,7 +31,7 @@ ENV ALLOW_EMPTY_PASSWORD="no" \ APACHE_HTTPS_PORT_NUMBER="443" \ APACHE_HTTP_PORT_NUMBER="80" \ BITNAMI_APP_NAME="moodle" \ - BITNAMI_IMAGE_VERSION="3.8.3-debian-10-r29" \ + BITNAMI_IMAGE_VERSION="3.9.0-debian-10-r0" \ LANG="en_US.UTF-8" \ LANGUAGE="en_US:en" \ MARIADB_HOST="mariadb" \ diff --git a/bitnami/moodle/3/debian-10/docker-compose.yml b/bitnami/moodle/3/debian-10/docker-compose.yml index 12bb8ad42bff..5115c26948a9 100644 --- a/bitnami/moodle/3/debian-10/docker-compose.yml +++ b/bitnami/moodle/3/debian-10/docker-compose.yml @@ -1,7 +1,7 @@ version: '2' services: mariadb: - image: 'docker.io/bitnami/mariadb:10.1-debian-10' + image: 'docker.io/bitnami/mariadb:10.3-debian-10' environment: - MARIADB_USER=bn_moodle - MARIADB_DATABASE=bitnami_moodle diff --git a/bitnami/moodle/3/debian-10/rootfs/post-init.d/php.sh b/bitnami/moodle/3/debian-10/rootfs/post-init.d/php.sh index fb44050dece0..8d76ab8913c9 100755 --- a/bitnami/moodle/3/debian-10/rootfs/post-init.d/php.sh +++ b/bitnami/moodle/3/debian-10/rootfs/post-init.d/php.sh @@ -1,21 +1,31 @@ #!/bin/bash # -# Post-init script to execute PHP files +# Executes custom PHP init scripts # shellcheck disable=SC1091 +set -o errexit +set -o nounset +set -o pipefail # set -o xtrace # Uncomment this line for debugging purposes -. /opt/bitnami/base/functions +# Load libraries with logging functions +if [[ -f /opt/bitnami/base/functions ]]; then + . /opt/bitnami/base/functions +else + . /opt/bitnami/scripts/liblog.sh +fi -readonly f="${1:?missing PHP file}" +# Loop through all input files passed via stdin +read -r -a custom_init_scripts <<< "$@" failure=0 +if [[ "${#custom_init_scripts[@]}" -gt 0 ]]; then + for custom_init_script in "${custom_init_scripts[@]}"; do + [[ "$custom_init_script" != *".php" ]] && continue + info "Executing ${custom_init_script} with PHP interpreter" + php "$custom_init_script" || failure=1 + [[ "$failure" -ne 0 ]] && error "Failed to execute ${custom_init_script}" + done +fi -if [[ "$f" == *".php" ]]; then - info "Executing $f with PHP interpreter" - php "$f" || failure=$? -fi -if [[ "$failure" -ne 0 ]]; then - error "Failed to execute ${f}" - exit "$failure" -fi +exit "$failure" diff --git a/bitnami/moodle/3/debian-10/rootfs/post-init.d/shell.sh b/bitnami/moodle/3/debian-10/rootfs/post-init.d/shell.sh index e03122ff6f3a..665152ba8b6f 100755 --- a/bitnami/moodle/3/debian-10/rootfs/post-init.d/shell.sh +++ b/bitnami/moodle/3/debian-10/rootfs/post-init.d/shell.sh @@ -1,24 +1,37 @@ #!/bin/bash # -# Post-init script to execute Shell files +# Executes custom Bash init scripts -# shellcheck disable=SC1090,SC1091 +# shellcheck disable=SC1090 +# shellcheck disable=SC1091 +set -o errexit +set -o nounset +set -o pipefail # set -o xtrace # Uncomment this line for debugging purposes -. /opt/bitnami/base/functions +# Load libraries with logging functions +if [[ -f /opt/bitnami/base/functions ]]; then + . /opt/bitnami/base/functions +else + . /opt/bitnami/scripts/liblog.sh +fi -readonly f="${1:?missing SHELL file}" +# Loop through all input files passed via stdin +read -r -a custom_init_scripts <<< "$@" failure=0 +if [[ "${#custom_init_scripts[@]}" -gt 0 ]]; then + for custom_init_script in "${custom_init_scripts[@]}"; do + [[ "$custom_init_script" != *".sh" ]] && continue + if [[ -x "$custom_init_script" ]]; then + info "Executing ${custom_init_script}" + "$custom_init_script" || failure="1" + else + info "Sourcing ${custom_init_script} as it is not executable by the current user, any error may cause initialization to fail" + . "$custom_init_script" + fi + [[ "$failure" -ne 0 ]] && error "Failed to execute ${custom_init_script}" + done +fi -if [[ "$f" == *".sh" ]]; then - if [[ -x "$f" ]]; then - info "Executing $f"; "$f" || failure=$? - else - info "Sourcing $f"; . "$f" - fi -fi -if [[ "$failure" -ne 0 ]]; then - error "Failed to execute ${f}" - exit "$failure" -fi +exit "$failure" diff --git a/bitnami/moodle/3/debian-10/rootfs/post-init.d/sql-mysql.sh b/bitnami/moodle/3/debian-10/rootfs/post-init.d/sql-mysql.sh index 11b14a25f5bc..f5c8436f2e46 100755 --- a/bitnami/moodle/3/debian-10/rootfs/post-init.d/sql-mysql.sh +++ b/bitnami/moodle/3/debian-10/rootfs/post-init.d/sql-mysql.sh @@ -1,29 +1,46 @@ #!/bin/bash # -# Post-init script to execute SQL files with MySQL client +# Executes custom Ruby init scripts # shellcheck disable=SC1091 +set -o errexit +set -o nounset +set -o pipefail # set -o xtrace # Uncomment this line for debugging purposes -. /opt/bitnami/base/functions +# Load libraries with logging functions +if [[ -f /opt/bitnami/base/functions ]]; then + . /opt/bitnami/base/functions +else + . /opt/bitnami/scripts/liblog.sh +fi -readonly f="${1:?missing SQL file}" -failure=0 - -if [[ "$f" =~ ^.*(\.sql|\.sql\.gz)$ ]]; then - info "Executing $f" - mysql_cmd=( mysql -h "$MARIADB_HOST" -P "$MARIADB_PORT_NUMBER" -u "$MARIADB_ROOT_USER" ) +mysql_execute() { + local -r sql_file="${1:?missing file}" + local failure=0 + mysql_cmd=("mysql" "-h" "$MARIADB_HOST" "-P" "$MARIADB_PORT_NUMBER" "-u" "$MARIADB_ROOT_USER") if [[ "${ALLOW_EMPTY_PASSWORD:-no}" != "yes" ]]; then - mysql_cmd+=( -p"$MARIADB_ROOT_PASSWORD" ) + mysql_cmd+=("-p${MARIADB_ROOT_PASSWORD}") fi - if [[ "$f" == *".sql" ]]; then - "${mysql_cmd[@]}" < "$f" || failure=$? - elif [[ "$f" == *".sql.gz" ]]; then - gunzip -c "$f" | "${mysql_cmd[@]}" || failure=$? + if [[ "$sql_file" == *".sql" ]]; then + "${mysql_cmd[@]}" < "$sql_file" || failure=$? + elif [[ "$sql_file" == *".sql.gz" ]]; then + gunzip -c "$sql_file" | "${mysql_cmd[@]}" || failure=$? fi + return "$failure" +} + +# Loop through all input files passed via stdin +read -r -a custom_init_scripts <<< "$@" +failure=0 +if [[ "${#custom_init_scripts[@]}" -gt 0 ]]; then + for custom_init_script in "${custom_init_scripts[@]}"; do + [[ ! "$custom_init_script" =~ ^.*(\.sql|\.sql\.gz)$ ]] && continue + info "Executing ${custom_init_script}" + mysql_execute "$custom_init_script" || failure=1 + [[ "$failure" -ne 0 ]] && error "Failed to execute ${custom_init_script}" + done fi -if [[ "$failure" -ne 0 ]]; then - error "Failed to execute ${f}" - exit "$failure" -fi + +exit "$failure" diff --git a/bitnami/moodle/3/debian-10/rootfs/post-init.sh b/bitnami/moodle/3/debian-10/rootfs/post-init.sh old mode 100644 new mode 100755 index 4e509ea9d36b..479e8d66a323 --- a/bitnami/moodle/3/debian-10/rootfs/post-init.sh +++ b/bitnami/moodle/3/debian-10/rootfs/post-init.sh @@ -1,15 +1,23 @@ #!/bin/bash +# shellcheck disable=SC1091 + +set -o errexit +set -o nounset +set -o pipefail # set -o xtrace # Uncomment this line for debugging purposes -. /opt/bitnami/base/functions +# Only execute init scripts once +[[ -f "/bitnami/moodle/.user_scripts_initialized" ]] && exit -if [[ -d /docker-entrypoint-init.d ]] && [[ ! -f "/bitnami/moodle/.user_scripts_initialized" ]]; then - for f in /docker-entrypoint-init.d/*; do - for p in /post-init.d/*.sh; do - "$p" "$f" +read -r -a init_scripts <<< "$(find "/docker-entrypoint-init.d" -type f -print0 | xargs -0)" +if [[ "${#init_scripts[@]}" -gt 0 ]] && [[ ! -f "/bitnami/moodle/.user_scripts_initialized" ]]; then + mkdir -p "/bitnami/moodle" + for init_script in "${init_scripts[@]}"; do + for init_script_type_handler in /post-init.d/*.sh; do + "$init_script_type_handler" "$init_script" done done - info "Custom scripts were executed" - touch "/bitnami/moodle/.user_scripts_initialized" fi + +touch "/bitnami/moodle/.user_scripts_initialized" diff --git a/bitnami/moodle/README.md b/bitnami/moodle/README.md index e1eb5bfc7ccc..75ee8447140f 100644 --- a/bitnami/moodle/README.md +++ b/bitnami/moodle/README.md @@ -36,7 +36,7 @@ Bitnami containers can be used with [Kubeapps](https://kubeapps.com/) for deploy 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/). -* [`3-debian-10`, `3.8.3-debian-10-r29`, `3`, `3.8.3`, `latest` (3/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-moodle/blob/3.8.3-debian-10-r29/3/debian-10/Dockerfile) +* [`3-debian-10`, `3.9.0-debian-10-r0`, `3`, `3.9.0`, `latest` (3/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-moodle/blob/3.9.0-debian-10-r0/3/debian-10/Dockerfile) Subscribe to project updates by watching the [bitnami/moodle GitHub repo](https://github.com/bitnami/bitnami-docker-moodle). diff --git a/bitnami/moodle/docker-compose.yml b/bitnami/moodle/docker-compose.yml index 12bb8ad42bff..5115c26948a9 100644 --- a/bitnami/moodle/docker-compose.yml +++ b/bitnami/moodle/docker-compose.yml @@ -1,7 +1,7 @@ version: '2' services: mariadb: - image: 'docker.io/bitnami/mariadb:10.1-debian-10' + image: 'docker.io/bitnami/mariadb:10.3-debian-10' environment: - MARIADB_USER=bn_moodle - MARIADB_DATABASE=bitnami_moodle