diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2015-09-05 12:37:43 +0200 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2015-09-05 13:05:36 +0200 |
commit | a06bd137ccd148f57e09f5ec9afcff356bac3b7c (patch) | |
tree | b8d4bd57eb51bacee8395eef558be3782f79a183 /main/nginx-initscripts/nginx.initd | |
parent | 41e3fcac3cc4577b885f3629ecf0c0f99bb7ac7a (diff) | |
download | aports-a06bd137ccd148f57e09f5ec9afcff356bac3b7c.tar.bz2 aports-a06bd137ccd148f57e09f5ec9afcff356bac3b7c.tar.xz |
main/nginx-initscripts: move initscripts to shared package
Share the openrc initscript for the different nginx builds.
Diffstat (limited to 'main/nginx-initscripts/nginx.initd')
-rw-r--r-- | main/nginx-initscripts/nginx.initd | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/main/nginx-initscripts/nginx.initd b/main/nginx-initscripts/nginx.initd new file mode 100644 index 0000000000..b1e0fe7856 --- /dev/null +++ b/main/nginx-initscripts/nginx.initd @@ -0,0 +1,69 @@ +#!/sbin/openrc-run +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/www-servers/nginx/files/nginx.init-r2,v 1.1 2010/01/03 19:51:41 djc Exp $ + +extra_started_commands="upgrade reload" +extra_commands="configtest" + +conffile=/etc/nginx/nginx.conf + +pidfile=/var/run/nginx/nginx.pid +command=/usr/sbin/nginx +command_args="-c $conffile" + + +depend() { + need net + use dns logger netmount +} + +start_pre() { + configtest || return 1 +} + +reload() { + configtest || return 1 + ebegin "Refreshing nginx' configuration" + kill -HUP `cat $pidfile` &>/dev/null + eend $? "Failed to reload nginx" +} + +upgrade() { + configtest || return 1 + ebegin "Upgrading nginx" + + einfo "Sending USR2 to old binary" + kill -USR2 `cat $pidfile` &>/dev/null + + einfo "Sleeping 3 seconds before pid-files checking" + sleep 3 + + if [ ! -f $pidfile.oldbin ]; then + eerror "File with old pid ($pidfile.oldbin) not found" + return 1 + fi + + if [ ! -f $pidfile ]; then + eerror "New binary failed to start" + return 1 + fi + + einfo "Sleeping 3 seconds before WINCH" + sleep 3 ; kill -WINCH `cat $pidfile.oldbin` + + einfo "Sending QUIT to old binary" + kill -QUIT `cat $pidfile.oldbin` + + einfo "Upgrade completed" + + eend $? "Upgrade failed" +} + +configtest() { + ebegin "Checking nginx' configuration" + checkpath --directory --owner nginx:nginx ${pidfile%/*} + $command -c $conffile -tq + eend $? "failed, please correct errors above" +} + |