Subject: [alpine-devel] [PATCH] testing/nginx New package

From: Cameron Banta <[email-masked]>
Date: Mon, 1 Nov 2010 16:38:31 +0000

---
 testing/nginx/APKBUILD        |   57 ++++++++++++++++++++++++++++++++
 testing/nginx/nginx.initd     |   72 +++++++++++++++++++++++++++++++++++++++++
 testing/nginx/nginx.logrotate |   12 +++++++
 3 files changed, 141 insertions(+), 0 deletions(-)
 create mode 100644 testing/nginx/APKBUILD
 create mode 100644 testing/nginx/nginx.initd
 create mode 100644 testing/nginx/nginx.logrotate

diff --git a/testing/nginx/APKBUILD b/testing/nginx/APKBUILD
new file mode 100644
index 0000000..d784a3e
--- /dev/null
+++ b/testing/nginx/APKBUILD
@@ -0,0 +1,57 @@
+# Contributor: Cameron Banta <[email-masked]>
+# Maintainer: Cameron Banta <[email-masked]>
+pkgname=nginx
+pkgver=0.8.53
+pkgrel=0
+pkgdesc="nginx [engine x] is a HTTP and reverse proxy server"
+url="nginx.org"
+license="Custom"
+depends=
+makedepends="pcre-dev openssl-dev libcrypto1.0 zlib-dev"
+#install="$pkgname.pre-install $pkgname.post-install"
+install=
+subpackages=
+source="http://nginx.org/download/$pkgname-$pkgver.tar.gz
+	nginx.initd
+	nginx.logrotate
+	$install
+	"
+
+
+_builddir="$srcdir"/$pkgname-$pkgver
+
+prepare() {
+	cd "$_builddir"
+	# apply patches here
+}
+
+build() {
+	cd "$_builddir"
+	./configure --prefix=/usr \
+		--conf-path=/etc/$pkgname/$pkgname.conf \
+		--pid-path=/var/run/$pkgname.pid \
+		--lock-path=/var/run/$pkgname.lock \
+		--error-log-path=/var/log/$pkgname/error.log \
+		--http-log-path=/var/log/$pkgname/access.log \
+		--with-http_ssl_module \
+		--with-http_gzip_static_module \
+		--http-client-body-temp-path=/tmp/$pkgname/client-body \
+		--http-proxy-temp-path=/tmp/$pkgname/proxy \
+		--http-fastcgi-temp-path=/tmp/$pkgname/fastcgi \
+		|| return 1 
+	make || return 1
+}
+
+package() {
+	cd "$_builddir"
+	make DESTDIR="$pkgdir" install
+
+	install -m755 -D "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
+	install -m644 -D "$srcdir"/$pkgname.logrotate "$pkgdir"/etc/logrotate.d/$pkgname
+	
+	install -m644 -D LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
+
+md5sums="717eaea1b34e8663849f64b9aa05a9da  nginx-0.8.53.tar.gz
+b06f6e23753385be0076539ba1806cb6  nginx.initd
+8823274a834332d3db4f62bf7dd1fb7d  nginx.logrotate"
diff --git a/testing/nginx/nginx.initd b/testing/nginx/nginx.initd
new file mode 100644
index 0000000..e175bb4
--- /dev/null
+++ b/testing/nginx/nginx.initd
@@ -0,0 +1,72 @@
+#!/sbin/runscript
+# 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 $
+
+opts="${opts} upgrade reload configtest"
+
+depend() {
+	need net
+	use dns logger netmount
+}
+
+start() {
+	configtest || return 1
+	ebegin "Starting nginx"
+	start-stop-daemon --start --pidfile /var/run/nginx.pid \
+		--exec /usr/sbin/nginx -- -c /etc/nginx/nginx.conf
+	eend $? "Failed to start nginx"
+}
+
+stop() {
+	configtest || return 1
+	ebegin "Stopping nginx"
+	start-stop-daemon --stop --pidfile /var/run/nginx.pid
+	eend $? "Failed to stop nginx"
+	rm -f /var/run/nginx.pid
+}
+
+reload() {
+	configtest || return 1
+	ebegin "Refreshing nginx' configuration"
+	kill -HUP `cat /var/run/nginx.pid` &>/dev/null
+	eend $? "Failed to reload nginx"
+}
+
+upgrade() {
+	configtest || return 1
+	ebegin "Upgrading nginx"
+
+	einfo "Sending USR2 to old binary"
+	kill -USR2 `cat /var/run/nginx.pid` &>/dev/null
+
+	einfo "Sleeping 3 seconds before pid-files checking"
+	sleep 3
+
+	if [ ! -f /var/run/nginx.pid.oldbin ]; then
+		eerror "File with old pid not found"
+		return 1
+	fi
+
+	if [ ! -f /var/run/nginx.pid ]; then
+		eerror "New binary failed to start"
+		return 1
+	fi
+
+	einfo "Sleeping 3 seconds before WINCH"
+	sleep 3 ; kill -WINCH `cat /var/run/nginx.pid.oldbin`
+
+	einfo "Sending QUIT to old binary"
+	kill -QUIT `cat /var/run/nginx.pid.oldbin`
+
+	einfo "Upgrade completed"
+
+	eend $? "Upgrade failed"
+}
+
+configtest() {
+	ebegin "Checking nginx' configuration"
+	mkdir -p /tmp/nginx
+	/usr/sbin/nginx -c /etc/nginx/nginx.conf -t
+	eend $? "failed, please correct errors above"
+}
diff --git a/testing/nginx/nginx.logrotate b/testing/nginx/nginx.logrotate
new file mode 100644
index 0000000..7778b11
--- /dev/null
+++ b/testing/nginx/nginx.logrotate
@@ -0,0 +1,12 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/www-servers/nginx/files/nginx.logrotate,v 1.1 2010/01/03 20:29:40 djc Exp $
+
+/var/log/nginx/*.log {
+	missingok
+	sharedscripts
+	postrotate
+		kill -USR1 `cat /var/run/nginx.pid`
+	endscript
+}
+
-- 
1.7.3.2

---
Unsubscribe:  [email-masked]
Help:         [email-masked]
---