From 8481acdc2c34e960f08cd90ce09068d791e42901 Mon Sep 17 00:00:00 2001 From: "Anna (navi) Figueiredo Gomes" Date: Wed, 27 Aug 2025 00:30:50 +0200 Subject: [PATCH] www-servers/nginx: use default start/stop initd functions capturing the output of a command means the shell is stalled until the file descriptor is closed, which means using an option such as 'error_log stderr ...;' hangs the default start, as nginx will keep the stderr file descriptor alive there's little reason to redefine start for usual daemons, and caputring the output just so we can hide on success or wrap it in a customized error message does not seem worth the trouble also remove the capture of output in checkpath, in there it does nothing except "hide" output on success Signed-off-by: Anna (navi) Figueiredo Gomes Bug: https://bugs.gentoo.org/show_bug.cgi?id=961964 Part-of: https://github.com/gentoo/gentoo/pull/43577 Closes: https://github.com/gentoo/gentoo/pull/43577 Signed-off-by: Sam James --- .../files/{nginx-r5.initd => nginx-r6.initd} | 28 +------------------ ...x-1.28.0.ebuild => nginx-1.28.0-r1.ebuild} | 2 +- ....29.0-r2.ebuild => nginx-1.29.0-r3.ebuild} | 2 +- ...x-1.29.1.ebuild => nginx-1.29.1-r1.ebuild} | 2 +- www-servers/nginx/nginx-9999.ebuild | 2 +- 5 files changed, 5 insertions(+), 31 deletions(-) rename www-servers/nginx/files/{nginx-r5.initd => nginx-r6.initd} (76%) rename www-servers/nginx/{nginx-1.28.0.ebuild => nginx-1.28.0-r1.ebuild} (94%) rename www-servers/nginx/{nginx-1.29.0-r2.ebuild => nginx-1.29.0-r3.ebuild} (94%) rename www-servers/nginx/{nginx-1.29.1.ebuild => nginx-1.29.1-r1.ebuild} (94%) diff --git a/www-servers/nginx/files/nginx-r5.initd b/www-servers/nginx/files/nginx-r6.initd similarity index 76% rename from www-servers/nginx/files/nginx-r5.initd rename to www-servers/nginx/files/nginx-r6.initd index 40719cd2ac5f8..04f92e3b244b3 100644 --- a/www-servers/nginx/files/nginx-r5.initd +++ b/www-servers/nginx/files/nginx-r6.initd @@ -35,30 +35,6 @@ stop_pre() { fi } -start() { - ebegin "Starting NGINX" - set -f - local output - output="$(start-stop-daemon --start --exec "${command}" -p "${pidfile}" \ - ${start_stop_daemon_args} -- -c "${NGINX_CONFIGFILE}" -g "pid ${pidfile};" 2>&1)" - if ! eend $?; then - eerror "Failed to start NGINX, please have a look at its output below:" - # Delete the last line in a POSIX-compliant way because it contains - # "start-stop-daemon failed..." - printf '%s\n' "${output}" | sed '$d' - eerror "Starting NGINX failed, please correct the errors above" - return 1 - else - if [ -n "${output}" ]; then - ewarn "NGINX has started successfuly, yet there are warnings:" - printf '%s\n' "${output}" - ewarn "Please take a notice of the warnings above" - fi - return 0 - fi -} - - reload() { ebegin "Refreshing NGINX's configuration" start-stop-daemon --signal SIGHUP --pidfile "${pidfile}" @@ -106,10 +82,8 @@ upgrade() { configtest() { ebegin "Checking NGINX's configuration" - local output - output="$("${command}" -c "${NGINX_CONFIGFILE}" -t 2>&1)" + "${command}" -c "${NGINX_CONFIGFILE}" -t if ! eend $?; then - printf '%s\n' "${output}" eerror "Configuration check failed, please correct the errors above" return 1 fi diff --git a/www-servers/nginx/nginx-1.28.0.ebuild b/www-servers/nginx/nginx-1.28.0-r1.ebuild similarity index 94% rename from www-servers/nginx/nginx-1.28.0.ebuild rename to www-servers/nginx/nginx-1.28.0-r1.ebuild index 021179cc6fc95..fdf6369c9c0d6 100644 --- a/www-servers/nginx/nginx-1.28.0.ebuild +++ b/www-servers/nginx/nginx-1.28.0-r1.ebuild @@ -22,7 +22,7 @@ NGINX_MODULES=( NGINX_UPDATE_STREAM=stable NGINX_TESTS_COMMIT=06a36245e134eac985cdfc5fac982cb149f61412 NGINX_MISC_FILES=( - nginx-{r2.logrotate,r2.service,r4.conf,r5.initd,r1.confd} + nginx-{r2.logrotate,r2.service,r4.conf,r6.initd,r1.confd} nginx.tmpfiles ) diff --git a/www-servers/nginx/nginx-1.29.0-r2.ebuild b/www-servers/nginx/nginx-1.29.0-r3.ebuild similarity index 94% rename from www-servers/nginx/nginx-1.29.0-r2.ebuild rename to www-servers/nginx/nginx-1.29.0-r3.ebuild index 187f6765a9646..c8c26b2c10407 100644 --- a/www-servers/nginx/nginx-1.29.0-r2.ebuild +++ b/www-servers/nginx/nginx-1.29.0-r3.ebuild @@ -22,7 +22,7 @@ NGINX_MODULES=( NGINX_UPDATE_STREAM=mainline NGINX_TESTS_COMMIT=7f1e88e10dca8e4c135ab9e688df0c2484091125 NGINX_MISC_FILES=( - nginx-{r2.logrotate,r2.service,r4.conf,r5.initd,r1.confd} + nginx-{r2.logrotate,r2.service,r4.conf,r6.initd,r1.confd} nginx.tmpfiles ) diff --git a/www-servers/nginx/nginx-1.29.1.ebuild b/www-servers/nginx/nginx-1.29.1-r1.ebuild similarity index 94% rename from www-servers/nginx/nginx-1.29.1.ebuild rename to www-servers/nginx/nginx-1.29.1-r1.ebuild index e0731b4715820..f58e1c8612279 100644 --- a/www-servers/nginx/nginx-1.29.1.ebuild +++ b/www-servers/nginx/nginx-1.29.1-r1.ebuild @@ -22,7 +22,7 @@ NGINX_MODULES=( NGINX_UPDATE_STREAM=mainline NGINX_TESTS_COMMIT=06a36245e134eac985cdfc5fac982cb149f61412 NGINX_MISC_FILES=( - nginx-{r2.logrotate,r2.service,r4.conf,r5.initd,r1.confd} + nginx-{r2.logrotate,r2.service,r4.conf,r6.initd,r1.confd} nginx.tmpfiles ) diff --git a/www-servers/nginx/nginx-9999.ebuild b/www-servers/nginx/nginx-9999.ebuild index 801d51bbc7f9c..7aa37d32b67c7 100644 --- a/www-servers/nginx/nginx-9999.ebuild +++ b/www-servers/nginx/nginx-9999.ebuild @@ -22,7 +22,7 @@ NGINX_MODULES=( NGINX_UPDATE_STREAM=live NGINX_TESTS_COMMIT=live NGINX_MISC_FILES=( - nginx-{r2.logrotate,r2.service,r4.conf,r5.initd,r1.confd} + nginx-{r2.logrotate,r2.service,r4.conf,r6.initd,r1.confd} nginx.tmpfiles )