aboutsummaryrefslogtreecommitdiffstats
path: root/testing
diff options
context:
space:
mode:
authorTimo Teräs <timo.teras@iki.fi>2014-04-02 09:06:15 +0300
committerTimo Teräs <timo.teras@iki.fi>2014-04-02 09:06:15 +0300
commita78475900fb73b54f4cb3115f6eda1d0535b0fa2 (patch)
treef3fc44121e3656136c4bf51e86297b7bf003645e /testing
parent50020193aa1f478260101db1e74b60436d6d87c8 (diff)
downloadaports-a78475900fb73b54f4cb3115f6eda1d0535b0fa2.tar.bz2
aports-a78475900fb73b54f4cb3115f6eda1d0535b0fa2.tar.xz
testing/nginx-lua: new aport
nginx with luajit support http://www.nginx.org http://wiki.nginx.org/HttpLuaModule
Diffstat (limited to 'testing')
-rw-r--r--testing/nginx-lua/APKBUILD109
-rw-r--r--testing/nginx-lua/ipv6.patch42
-rw-r--r--testing/nginx-lua/musl-crypt-fix.patch13
-rw-r--r--testing/nginx-lua/musl-sysctl-header.patch12
-rw-r--r--testing/nginx-lua/nginx-lua.pre-install9
l---------testing/nginx-lua/nginx-lua.pre-upgrade1
-rw-r--r--testing/nginx-lua/nginx.initd73
-rw-r--r--testing/nginx-lua/nginx.logrotate12
8 files changed, 271 insertions, 0 deletions
diff --git a/testing/nginx-lua/APKBUILD b/testing/nginx-lua/APKBUILD
new file mode 100644
index 0000000000..8122d14830
--- /dev/null
+++ b/testing/nginx-lua/APKBUILD
@@ -0,0 +1,109 @@
+# Maintainer: Cameron Banta <cbanta@gmail.com>
+# Contributor: Jeff Bilyk <jbilyk@gmail.com>
+# Contributor: Bartłomiej Piotrowski <nospam@bpiotrowski.pl>
+# Contributor: Timo Teräs <timo.teras@iki.fi>
+
+pkgname=nginx-lua
+_pkgname=nginx
+pkgver=1.4.7
+_ngx_devel_kit_ver=0.2.19
+_ngx_lua_ver=0.9.6
+pkgrel=0
+pkgdesc="lightweight HTTP and reverse proxy server with Lua support"
+url="http://www.nginx.org"
+arch="all"
+license="Custom"
+install="$pkgname.pre-install $pkgname.pre-upgrade"
+depends="!nginx"
+makedepends="pcre-dev openssl-dev zlib-dev luajit-dev"
+source="http://nginx.org/download/$_pkgname-$pkgver.tar.gz
+ nginx-devel-kit-$_ngx_devel_kit_ver.tar.gz::https://github.com/simpl/ngx_devel_kit/archive/v$_ngx_devel_kit_ver.tar.gz
+ lua-nginx-module-$_ngx_lua_ver.tar.gz::https://github.com/chaoslawful/lua-nginx-module/archive/v$_ngx_lua_ver.tar.gz
+
+ musl-crypt-fix.patch
+ musl-sysctl-header.patch
+ ipv6.patch
+
+ nginx.initd
+ nginx.logrotate
+ "
+
+_builddir="$srcdir"/$_pkgname-$pkgver
+
+prepare() {
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
+
+
+build() {
+ cd "$_builddir"
+ LUAJIT_INC="/usr/include/luajit-2.0" \
+ LUAJIT_LIB="/usr/lib" \
+ ./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 \
+ --http-client-body-temp-path=/tmp/$_pkgname/client-body \
+ --http-proxy-temp-path=/tmp/$_pkgname/proxy \
+ --http-fastcgi-temp-path=/tmp/$_pkgname/fastcgi \
+ --user=nginx \
+ --group=nginx \
+ --with-ipv6 \
+ --with-pcre-jit \
+ --with-http_ssl_module \
+ --with-http_gzip_static_module \
+ --with-http_spdy_module \
+ --with-mail \
+ --with-mail_ssl_module \
+ --add-module="$srcdir/ngx_devel_kit-$_ngx_devel_kit_ver" \
+ --add-module="$srcdir/lua-nginx-module-$_ngx_lua_ver" \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install
+
+ local paxflags="-m"
+ [ "$CARCH" = "x86" ] && paxflags="-msp"
+ paxctl -c $paxflags "$pkgdir"/usr/sbin/nginx || return 1
+
+ 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="aee151d298dcbfeb88b3f7dd3e7a4d17 nginx-1.4.7.tar.gz
+09a18178adca7b5674129d8100ce4f68 nginx-devel-kit-0.2.19.tar.gz
+3e67307b02b947710017bc890a378ff3 lua-nginx-module-0.9.6.tar.gz
+3aeb488921109e60d02ed64d36790aeb musl-crypt-fix.patch
+6e68a20796af57c92eece27f06480917 musl-sysctl-header.patch
+801a87f7f9d27f8ad85b41a78b4c4461 ipv6.patch
+4faf8dff6ff1490edae1688baf1b2abb nginx.initd
+8823274a834332d3db4f62bf7dd1fb7d nginx.logrotate"
+sha256sums="23b8ff4a76817090678f91b0efbfcef59a93492f6612dc8370c44c1f1ce1b626 nginx-1.4.7.tar.gz
+501f299abdb81b992a980bda182e5de5a4b2b3e275fbf72ee34dd7ae84c4b679 nginx-devel-kit-0.2.19.tar.gz
+2a7a4ffd30cac58277b78821faf7ad4d4c520759f5a7976b29d4ce918926ff91 lua-nginx-module-0.9.6.tar.gz
+8c398640bd379c1c6a2fafcd2b3848a72902e47924e8e2490b312c141eec5d70 musl-crypt-fix.patch
+4d6ad528e7b1b6946d4387389eaa3aa1c66c7da3062909a75d9b2cf3524a5536 musl-sysctl-header.patch
+a24ef5843ae0afa538b00c37eb7da7870f9d7f146f52a9668678f7296cf71d9b ipv6.patch
+34e9b1dbb9f5fe4d71f7469ded3eb98fac02f57ecfbfd04ba623099766b4709c nginx.initd
+cea0c6f8de55a4c3a3eccc57910de1c3116634082c8e5b660630fb927a29f38d nginx.logrotate"
+sha512sums="219c23bb1216f2a65b56a989ea87bed00b50506f7faa726508ede59747d0dd2fb7f7636cc10704c08550fa7da79b3ce1bae8876a6aac97c6e2b4797129887af5 nginx-1.4.7.tar.gz
+915954acf16a27fbd3c93c154012d38e864f1d8dfd51cde401bba26e46eb3e3c778ec4c92f4f8ed83ac001e96cee72765554d0e4da06acf6a4be5184b23b3657 nginx-devel-kit-0.2.19.tar.gz
+7161af5c8767f81ab02dbe449377127bb24e4e74bc5a1d01f66913baaff5af435e0a7dcc219837be3508acfa7dfb01ca106b25c70078bbe465c317ec0870eb79 lua-nginx-module-0.9.6.tar.gz
+21114c775e4bdd1f7b8b9abc143284945e96ed1d8c49904ddf918abad87b16253f918ba47976cd2df32f0fdb8a7dad399d4200e879db2da6cf93a28aab236a75 musl-crypt-fix.patch
+708879a25b530ee8836e21bc9fd5ef7aad006e0fb236c8ec4b37b169f66fcc95012c14e8bb7502f3956e82047bc3374fced89c8fff0678d5850c7c0ec3e997ef musl-sysctl-header.patch
+68d64a84568ec2df0366925ab282a05ebe21a85044b6c7844a47573cfd8cc8ed119cc772358bc3fff36e2d4fdf583a730592825f5f98632993ca86d1f8438d5f ipv6.patch
+e153ff131ca5a62f01744c45e97421db0776be518a84a8d09896955a996e5a0133c03cdfa7ac6b03bad75b5cbb839f49dcccbb210843010da42445706f239a12 nginx.initd
+01b77cff16f6e8bfd7fa1d4d20f625bbcddd08f0509173452d060c342c93dc315a7b0560f4734323a5d29ea294de0491f2e3f32e5337574e1a28ebc005eceea8 nginx.logrotate"
diff --git a/testing/nginx-lua/ipv6.patch b/testing/nginx-lua/ipv6.patch
new file mode 100644
index 0000000000..9b05f8ff83
--- /dev/null
+++ b/testing/nginx-lua/ipv6.patch
@@ -0,0 +1,42 @@
+--- a/src/http/ngx_http_core_module.c
++++ b/src/http/ngx_http_core_module.c
+@@ -2442,7 +2442,11 @@
+ ngx_uint_t i;
+ ngx_conf_t pcf;
+ ngx_http_module_t *module;
++#if (NGX_HAVE_INET6)
++ struct sockaddr_in6 *sin6;
++#else
+ struct sockaddr_in *sin;
++#endif
+ ngx_http_conf_ctx_t *ctx, *http_ctx;
+ ngx_http_listen_opt_t lsopt;
+ ngx_http_core_srv_conf_t *cscf, **cscfp;
+@@ -2526,6 +2530,19 @@
+ if (rv == NGX_CONF_OK && !cscf->listen) {
+ ngx_memzero(&lsopt, sizeof(ngx_http_listen_opt_t));
+
++#if (NGX_HAVE_INET6)
++ sin6 = &lsopt.u.sockaddr_in6;
++
++ sin6->sin6_family = AF_INET6;
++#if (NGX_WIN32)
++ sin6->sin6_port = htons(80);
++#else
++ sin6->sin6_port = htons((getuid() == 0) ? 80 : 8000);
++#endif
++ sin6->sin6_addr = in6addr_any;
++
++ lsopt.socklen = sizeof(struct sockaddr_in6);
++#else
+ sin = &lsopt.u.sockaddr_in;
+
+ sin->sin_family = AF_INET;
+@@ -2537,6 +2554,7 @@
+ sin->sin_addr.s_addr = INADDR_ANY;
+
+ lsopt.socklen = sizeof(struct sockaddr_in);
++#endif
+
+ lsopt.backlog = NGX_LISTEN_BACKLOG;
+ lsopt.rcvbuf = -1;
diff --git a/testing/nginx-lua/musl-crypt-fix.patch b/testing/nginx-lua/musl-crypt-fix.patch
new file mode 100644
index 0000000000..2f11fe2e9d
--- /dev/null
+++ b/testing/nginx-lua/musl-crypt-fix.patch
@@ -0,0 +1,13 @@
+--- nginx-1.4.4/src/os/unix/ngx_user.c.orig
++++ nginx-1.4.4/src/os/unix/ngx_user.c
+@@ -31,8 +31,10 @@
+ struct crypt_data cd;
+
+ cd.initialized = 0;
++#ifdef __GLIBC__
+ /* work around the glibc bug */
+ cd.current_salt[0] = ~salt[0];
++#endif
+
+ value = crypt_r((char *) key, (char *) salt, &cd);
+
diff --git a/testing/nginx-lua/musl-sysctl-header.patch b/testing/nginx-lua/musl-sysctl-header.patch
new file mode 100644
index 0000000000..e851cbd74c
--- /dev/null
+++ b/testing/nginx-lua/musl-sysctl-header.patch
@@ -0,0 +1,12 @@
+--- ./src/os/unix/ngx_linux_config.h.orig
++++ ./src/os/unix/ngx_linux_config.h
+@@ -51,7 +51,9 @@
+ #include <malloc.h> /* memalign() */
+ #include <limits.h> /* IOV_MAX */
+ #include <sys/ioctl.h>
++#ifdef __GLIBC__
+ #include <sys/sysctl.h>
++#endif
+ #include <crypt.h>
+ #include <sys/utsname.h> /* uname() */
+
diff --git a/testing/nginx-lua/nginx-lua.pre-install b/testing/nginx-lua/nginx-lua.pre-install
new file mode 100644
index 0000000000..55b5bfcda5
--- /dev/null
+++ b/testing/nginx-lua/nginx-lua.pre-install
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+addgroup -g 82 -S www-data 2>/dev/null
+addgroup -S nginx 2>/dev/null
+adduser -S -G nginx -H -h /var/www/localhost/htdocs -s /sbin/nologin \
+ -D nginx 2>/dev/null
+addgroup nginx www-data 2>/dev/null
+
+exit 0
diff --git a/testing/nginx-lua/nginx-lua.pre-upgrade b/testing/nginx-lua/nginx-lua.pre-upgrade
new file mode 120000
index 0000000000..d4a5f981c5
--- /dev/null
+++ b/testing/nginx-lua/nginx-lua.pre-upgrade
@@ -0,0 +1 @@
+nginx-lua.pre-install \ No newline at end of file
diff --git a/testing/nginx-lua/nginx.initd b/testing/nginx-lua/nginx.initd
new file mode 100644
index 0000000000..7e82a56f77
--- /dev/null
+++ b/testing/nginx-lua/nginx.initd
@@ -0,0 +1,73 @@
+#!/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 $
+
+extra_started_commands="upgrade reload"
+extra_commands="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-lua/nginx.logrotate b/testing/nginx-lua/nginx.logrotate
new file mode 100644
index 0000000000..7778b1108b
--- /dev/null
+++ b/testing/nginx-lua/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
+}
+