From b1c48f6f42aea03d24886e914e98c1c71daa3529 Mon Sep 17 00:00:00 2001 From: Tianon Gravi Date: Fri, 10 Apr 2020 15:46:26 -0700 Subject: [PATCH] Allow "initdb.d" scripts to be executed instead of sourced --- .template.Debian/docker-entrypoint.sh | 12 +++++++++++- 5.6/docker-entrypoint.sh | 12 +++++++++++- 5.7/docker-entrypoint.sh | 12 +++++++++++- 8.0/docker-entrypoint.sh | 12 +++++++++++- 4 files changed, 44 insertions(+), 4 deletions(-) diff --git a/.template.Debian/docker-entrypoint.sh b/.template.Debian/docker-entrypoint.sh index e7dd7592c..8db356750 100755 --- a/.template.Debian/docker-entrypoint.sh +++ b/.template.Debian/docker-entrypoint.sh @@ -58,7 +58,17 @@ docker_process_init_files() { local f for f; do case "$f" in - *.sh) mysql_note "$0: running $f"; . "$f" ;; + *.sh) + # https://github.com/docker-library/postgres/issues/450#issuecomment-393167936 + # https://github.com/docker-library/postgres/pull/452 + if [ -x "$f" ]; then + mysql_note "$0: running $f" + "$f" + else + mysql_note "$0: sourcing $f" + . "$f" + fi + ;; *.sql) mysql_note "$0: running $f"; docker_process_sql < "$f"; echo ;; *.sql.gz) mysql_note "$0: running $f"; gunzip -c "$f" | docker_process_sql; echo ;; *.sql.xz) mysql_note "$0: running $f"; xzcat "$f" | docker_process_sql; echo ;; diff --git a/5.6/docker-entrypoint.sh b/5.6/docker-entrypoint.sh index e7dd7592c..8db356750 100755 --- a/5.6/docker-entrypoint.sh +++ b/5.6/docker-entrypoint.sh @@ -58,7 +58,17 @@ docker_process_init_files() { local f for f; do case "$f" in - *.sh) mysql_note "$0: running $f"; . "$f" ;; + *.sh) + # https://github.com/docker-library/postgres/issues/450#issuecomment-393167936 + # https://github.com/docker-library/postgres/pull/452 + if [ -x "$f" ]; then + mysql_note "$0: running $f" + "$f" + else + mysql_note "$0: sourcing $f" + . "$f" + fi + ;; *.sql) mysql_note "$0: running $f"; docker_process_sql < "$f"; echo ;; *.sql.gz) mysql_note "$0: running $f"; gunzip -c "$f" | docker_process_sql; echo ;; *.sql.xz) mysql_note "$0: running $f"; xzcat "$f" | docker_process_sql; echo ;; diff --git a/5.7/docker-entrypoint.sh b/5.7/docker-entrypoint.sh index e7dd7592c..8db356750 100755 --- a/5.7/docker-entrypoint.sh +++ b/5.7/docker-entrypoint.sh @@ -58,7 +58,17 @@ docker_process_init_files() { local f for f; do case "$f" in - *.sh) mysql_note "$0: running $f"; . "$f" ;; + *.sh) + # https://github.com/docker-library/postgres/issues/450#issuecomment-393167936 + # https://github.com/docker-library/postgres/pull/452 + if [ -x "$f" ]; then + mysql_note "$0: running $f" + "$f" + else + mysql_note "$0: sourcing $f" + . "$f" + fi + ;; *.sql) mysql_note "$0: running $f"; docker_process_sql < "$f"; echo ;; *.sql.gz) mysql_note "$0: running $f"; gunzip -c "$f" | docker_process_sql; echo ;; *.sql.xz) mysql_note "$0: running $f"; xzcat "$f" | docker_process_sql; echo ;; diff --git a/8.0/docker-entrypoint.sh b/8.0/docker-entrypoint.sh index e7dd7592c..8db356750 100755 --- a/8.0/docker-entrypoint.sh +++ b/8.0/docker-entrypoint.sh @@ -58,7 +58,17 @@ docker_process_init_files() { local f for f; do case "$f" in - *.sh) mysql_note "$0: running $f"; . "$f" ;; + *.sh) + # https://github.com/docker-library/postgres/issues/450#issuecomment-393167936 + # https://github.com/docker-library/postgres/pull/452 + if [ -x "$f" ]; then + mysql_note "$0: running $f" + "$f" + else + mysql_note "$0: sourcing $f" + . "$f" + fi + ;; *.sql) mysql_note "$0: running $f"; docker_process_sql < "$f"; echo ;; *.sql.gz) mysql_note "$0: running $f"; gunzip -c "$f" | docker_process_sql; echo ;; *.sql.xz) mysql_note "$0: running $f"; xzcat "$f" | docker_process_sql; echo ;;