aboutsummaryrefslogtreecommitdiffstats
path: root/main/nginx-initscripts/nginx.initd
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2015-09-05 12:37:43 +0200
committerNatanael Copa <ncopa@alpinelinux.org>2015-09-05 13:05:36 +0200
commita06bd137ccd148f57e09f5ec9afcff356bac3b7c (patch)
treeb8d4bd57eb51bacee8395eef558be3782f79a183 /main/nginx-initscripts/nginx.initd
parent41e3fcac3cc4577b885f3629ecf0c0f99bb7ac7a (diff)
downloadaports-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.initd69
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"
+}
+