Added initial support for Alpine Linux.
diff --git a/alpine/APKBUILD-base.in b/alpine/APKBUILD-base.in
new file mode 100644
index 0000000..29cf39f
--- /dev/null
+++ b/alpine/APKBUILD-base.in
@@ -0,0 +1,101 @@
+# Maintainer: Andrei Belov <defan@nginx.com>
+# Contributor: Andrei Belov <defan@nginx.com>
+#
+
+_main_version=%%MAIN_VERSION%%
+_main_release=%%MAIN_RELEASE%%
+
+pkgname=nginx
+pkgver=$_main_version
+pkgrel=$_main_release
+pkgdesc="High performance web server"
+url="http://nginx.org/"
+arch="all"
+license="2-clause BSD-like license"
+provides=""
+depends=""
+makedepends="linux-headers openssl-dev pcre-dev zlib-dev"
+
+options="!check"
+
+pkgusers=""
+pkggroups=""
+install="$pkgname.pre-install $pkgname.post-install $pkgname.pre-deinstall $pkgname.post-upgrade"
+
+# we would like to ship all docs/licenses in the base package
+#subpackages="$pkgname-doc"
+
+replaces="nginx-common nginx-initscripts nginx-lua nginx-rtmp"
+source="nginx-$_main_version.tar.gz
+ nginx.conf
+ default.conf
+ nginx.logrotate
+ nginx.initd
+ nginx-debug.initd
+ COPYRIGHT
+ "
+builddir="$srcdir/nginx-$_main_version"
+
+_modules_dir="usr/lib/nginx/modules"
+
+prepare() {
+ local file; for file in $source; do
+ case $file in
+ *~*.patch)
+ msg $file
+ cd "$srcdir"/${file%%~*}-*
+ patch -p 1 -i "$srcdir/$file"
+ ;;
+ *.patch)
+ msg $file
+ cd "$builddir"
+ patch -p 1 -i "$srcdir/$file"
+ ;;
+ esac
+ done
+}
+
+build() {
+ cd "$builddir"
+
+ _nproc=`getconf _NPROCESSORS_ONLN`
+ if [ $_nproc -gt 1 ]; then
+ _make_opts="-j$_nproc"
+ fi
+
+ CFLAGS= ./configure %%BASE_CONFIGURE_ARGS%% --with-cc-opt="$CFLAGS" --with-ld-opt="$LDFLAGS" --with-debug
+ make $_make_opts
+ mv objs/nginx objs/nginx-debug
+ CFLAGS= ./configure %%BASE_CONFIGURE_ARGS%% --with-cc-opt="$CFLAGS" --with-ld-opt="$LDFLAGS"
+ make $_make_opts
+}
+
+package() {
+ cd "$builddir"
+
+ make DESTDIR="$pkgdir" install
+ install -m755 objs/nginx-debug "$pkgdir"/usr/sbin/nginx-debug
+
+ install -Dm644 objs/nginx.8 "$pkgdir"/usr/share/man/man8/nginx.8
+ if [ -z "`echo $subpackages | grep -- -doc`" ]; then
+ gzip "$pkgdir"/usr/share/man/man8/nginx.8
+ fi
+
+ cd "$pkgdir"
+
+ install -Dm644 "$srcdir"/nginx.conf ./etc/nginx/nginx.conf
+ install -Dm644 "$srcdir"/default.conf ./etc/nginx/conf.d/default.conf
+ install -Dm755 "$srcdir"/$pkgname.initd ./etc/init.d/nginx
+ install -Dm755 "$srcdir"/$pkgname-debug.initd ./etc/init.d/nginx-debug
+ install -Dm644 "$srcdir"/$pkgname.logrotate ./etc/logrotate.d/nginx
+
+ install -Dm644 "$srcdir"/COPYRIGHT ./usr/share/licenses/$pkgname/COPYRIGHT
+
+ mkdir -p ./usr/share/nginx
+ mv ./etc/nginx/html ./usr/share/nginx/
+
+ mkdir -p ./$_modules_dir
+ ln -sf /$_modules_dir ./etc/nginx/modules
+
+ rm -rf ./etc/nginx/*.default
+}
diff --git a/alpine/APKBUILD-module.in b/alpine/APKBUILD-module.in
new file mode 100644
index 0000000..0c111e3
--- /dev/null
+++ b/alpine/APKBUILD-module.in
@@ -0,0 +1,94 @@
+# Maintainer: Andrei Belov <defan@nginx.com>
+# Contributor: Andrei Belov <defan@nginx.com>
+#
+
+_main_version=%%MAIN_VERSION%%
+_main_release=%%MAIN_RELEASE%%
+
+pkgname=nginx-module-%%MODULE%%
+pkgver=%%MODULE_VERSION_PREFIX%%%%MODULE_VERSION%%
+pkgrel=%%MODULE_RELEASE%%
+pkgdesc="%%SUMMARY%%"
+url="http://nginx.org/"
+arch="all"
+license="2-clause BSD-like license"
+depends="nginx=$_main_version-r$_main_release %%MODULE_DEPENDS%%"
+makedepends="linux-headers openssl-dev pcre-dev zlib-dev %%MODULE_BUILD_DEPENDS%%"
+provides=""
+%%ADD_CONTROL_TAGS%%
+
+options="!check"
+
+pkgusers=""
+pkggroups=""
+install="$pkgname.post-install"
+
+# we would like to ship all docs/licenses in the base package
+#subpackages="$pkgname-doc"
+
+source="nginx-module-%%MODULE%%-$_main_version.tar.gz
+ %%MODULE_SOURCES%%
+ COPYRIGHT
+ "
+builddir="$srcdir/%%MODULE_SRCDIR%%"
+
+_modules_dir="usr/lib/nginx/modules"
+
+prepare() {
+ local file; for file in $source; do
+ case $file in
+ *~*.patch)
+ msg $file
+ cd "$srcdir"/${file%%~*}-*
+ patch -p 1 -i "$srcdir/$file"
+ ;;
+ *.patch)
+ msg $file
+ cd "$builddir"
+ patch -p 1 -i "$srcdir/$file"
+ ;;
+ extra-patch*)
+ msg $file
+ cd "$builddir/../"
+ patch -p 1 -i "$srcdir/$file"
+ ;;
+ esac
+ done
+}
+
+build() {
+ cd "$builddir"
+
+ _nproc=`getconf _NPROCESSORS_ONLN`
+ if [ $_nproc -gt 1 ]; then
+ _make_opts="-j$_nproc"
+ fi
+
+ %%MODULE_PREBUILD%%
+
+ cd "$builddir"
+
+ CFLAGS= %%MODULE_ENV%% ./configure %%BASE_MODULE_CONFIGURE_ARGS%% %%MODULE_CONFIGURE_ARGS%% --with-cc-opt="$CFLAGS %%MODULE_CC_OPT_DEBUG%%" --with-ld-opt="$LDFLAGS" --with-debug
+ make $_make_opts modules
+ for so in `find objs/ -maxdepth 1 -type f -name "*.so"`; do \
+ debugso=`echo ${so} | sed -e "s|.so|-debug.so|"` ; \
+ mv ${so} ${debugso} ; \
+ done
+ CFLAGS= %%MODULE_ENV%% ./configure %%BASE_MODULE_CONFIGURE_ARGS%% %%MODULE_CONFIGURE_ARGS%% --with-cc-opt="$CFLAGS %%MODULE_CC_OPT_NODEBUG%%" --with-ld-opt="$LDFLAGS"
+ make $_make_opts modules
+}
+
+package() {
+ cd "$builddir"
+
+ %%MODULE_PREINSTALL%%
+
+ mkdir -p "$pkgdir"/usr/lib/nginx/modules
+ for so in `find objs/ -maxdepth 1 -type f -name "*.so"`; do \
+ install -m755 ${so} "$pkgdir"/usr/lib/nginx/modules/ ; \
+ done
+
+ cd "$pkgdir"
+
+ install -Dm644 "$srcdir"/COPYRIGHT ./usr/share/licenses/$pkgname/COPYRIGHT
+}
diff --git a/alpine/COPYRIGHT b/alpine/COPYRIGHT
new file mode 100644
index 0000000..af51e2f
--- /dev/null
+++ b/alpine/COPYRIGHT
@@ -0,0 +1,26 @@
+/*
+ * Copyright (C) Igor Sysoev
+ * Copyright (C) Nginx, Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
diff --git a/alpine/Makefile b/alpine/Makefile
new file mode 100644
index 0000000..a6826dc
--- /dev/null
+++ b/alpine/Makefile
@@ -0,0 +1,406 @@
+SHELL= /bin/bash
+
+BASE_VERSION= 1.15.8
+BASE_RELEASE= 1
+PLUS_VERSION= 17
+PLUS_RELEASE= ${BASE_RELEASE}
+BASE_SRC= nginx-$(BASE_VERSION).tar.gz
+SRCDIR= nginx-$(BASE_VERSION)
+MODULE_SRCDIR= $(SRCDIR)
+SRCPATH?= ../..
+MODSRC_PREFIX= ../
+
+ARCH= $(shell uname -m)
+
+default:
+ @echo "valid targets: all base $(addprefix module-, $(MODULES)) test test-debug"
+
+MODULES= geoip image-filter njs perl xslt
+
+MODULE_SUMMARY_geoip= GeoIP dynamic modules
+MODULE_SUMMARY_image_filter= image filter dynamic module
+MODULE_SUMMARY_njs= njs dynamic modules
+MODULE_SUMMARY_perl= Perl dynamic module
+MODULE_SUMMARY_xslt= xslt dynamic module
+
+MODULE_VERSION_geoip= $(BASE_VERSION)
+MODULE_RELEASE_geoip= 1
+MODULE_VERSION_image_filter= $(BASE_VERSION)
+MODULE_RELEASE_image_filter= 1
+MODULE_VERSION_njs= 0.2.7
+MODULE_RELEASE_njs= 1
+MODULE_VERSION_perl= $(BASE_VERSION)
+MODULE_RELEASE_perl= 1
+MODULE_VERSION_xslt= $(BASE_VERSION)
+MODULE_RELEASE_xslt= 1
+
+MODULE_SOURCES_njs= njs-$(MODULE_VERSION_njs).tar.gz
+MODULE_CONFARGS_geoip= --with-stream \
+ --with-http_geoip_module=dynamic \
+ --with-stream_geoip_module=dynamic
+MODULE_CONFARGS_image_filter= --with-http_image_filter_module=dynamic
+MODULE_CONFARGS_njs= --with-stream \
+ --add-dynamic-module=$(MODSRC_PREFIX)njs-$(MODULE_VERSION_njs)/nginx
+MODULE_CONFARGS_perl= --with-http_perl_module=dynamic
+MODULE_CONFARGS_xslt= --with-http_xslt_module=dynamic
+
+# geoip
+
+MODULE_BUILD_DEPENDS_geoip=geoip-dev
+MODULE_DEPENDS_geoip=geoip
+
+define MODULE_ADD_CONTROL_TAGS_geoip
+replaces="nginx-mod-http-geoip"
+endef
+export MODULE_ADD_CONTROL_TAGS_geoip
+
+define MODULE_POST_geoip
+cat <<BANNER
+----------------------------------------------------------------------
+
+The $(MODULE_SUMMARY_geoip) for NGINX have been installed.
+To enable these modules, add the following to /etc/nginx/nginx.conf
+and reload nginx:
+
+ load_module modules/ngx_http_geoip_module.so;
+ load_module modules/ngx_stream_geoip_module.so;
+
+Please refer to the modules documentation for further details:
+http://nginx.org/en/docs/http/ngx_http_geoip_module.html
+http://nginx.org/en/docs/stream/ngx_stream_geoip_module.html
+
+----------------------------------------------------------------------
+BANNER
+endef
+export MODULE_POST_geoip
+
+# image-filter
+
+MODULE_DEPENDS_image_filter=gd
+MODULE_BUILD_DEPENDS_image_filter=gd-dev
+
+define MODULE_ADD_CONTROL_TAGS_image_filter
+replaces="nginx-mod-http-image-filter"
+endef
+export MODULE_ADD_CONTROL_TAGS_image_filter
+
+define MODULE_POST_image_filter
+cat <<BANNER
+----------------------------------------------------------------------
+
+The $(MODULE_SUMMARY_image_filter) for NGINX has been installed.
+To enable this module, add the following to /etc/nginx/nginx.conf
+and reload nginx:
+
+ load_module modules/ngx_http_image_filter_module.so;
+
+Please refer to the module documentation for further details:
+http://nginx.org/en/docs/http/ngx_http_image_filter_module.html
+
+----------------------------------------------------------------------
+BANNER
+endef
+export MODULE_POST_image_filter
+
+# njs
+
+MODULE_VERSION_PREFIX_njs=$(BASE_VERSION).
+MODULE_BUILD_DEPENDS_njs=libedit-dev
+
+define MODULE_ADD_CONTROL_TAGS_njs
+replaces="nginx-mod-http-js"
+endef
+export MODULE_ADD_CONTROL_TAGS_njs
+
+define MODULE_PREBUILD_njs
+ cd ../njs-$(MODULE_VERSION_njs) \&\& ./configure \&\& make njs
+endef
+export MODULE_PREBUILD_njs
+
+define MODULE_PREINSTALL_njs
+ mkdir -p "$$pkgdir"/usr/share/doc/nginx-module-njs
+ install -m644 ../njs-$(MODULE_VERSION_njs)/CHANGES "$$pkgdir"/usr/share/doc/nginx-module-njs/
+ mkdir -p "$$pkgdir"/usr/bin
+ install -m755 -s ../njs-$(MODULE_VERSION_njs)/build/njs "$$pkgdir"/usr/bin/
+endef
+export MODULE_PREINSTALL_njs
+
+define MODULE_POST_njs
+cat <<BANNER
+----------------------------------------------------------------------
+
+The $(MODULE_SUMMARY_njs) for NGINX have been installed.
+To enable these modules, add the following to /etc/nginx/nginx.conf
+and reload nginx:
+
+ load_module modules/ngx_http_js_module.so;
+ load_module modules/ngx_stream_js_module.so;
+
+Please refer to the modules documentation for further details:
+http://nginx.org/en/docs/njs/
+http://nginx.org/en/docs/http/ngx_http_js_module.html
+http://nginx.org/en/docs/stream/ngx_stream_js_module.html
+
+----------------------------------------------------------------------
+BANNER
+endef
+export MODULE_POST_njs
+
+# perl
+
+MODULE_BUILD_DEPENDS_perl=perl-dev findutils
+
+define MODULE_ADD_CONTROL_TAGS_perl
+replaces="nginx-mod-http-perl"
+endef
+export MODULE_ADD_CONTROL_TAGS_perl
+
+define MODULE_PREINSTALL_perl
+ make DESTDIR=$$pkgdir INSTALLDIRS=vendor -f objs/Makefile install_perl_modules
+ find $$pkgdir/ -type f -name .packlist -exec rm -f '{}' \\;
+ find $$pkgdir/ -type f -name perllocal.pod -exec rm -f '{}' \\;
+ find $$pkgdir/ -type f -empty -exec rm -f '{}' \\;
+ find $$pkgdir/ -type f -iname '*.so' -exec chmod 0755 '{}' \\;
+endef
+export MODULE_PREINSTALL_perl
+
+define MODULE_POST_perl
+cat <<BANNER
+----------------------------------------------------------------------
+
+The $(MODULE_SUMMARY_perl) for NGINX has been installed.
+To enable this module, add the following to /etc/nginx/nginx.conf
+and reload nginx:
+
+ load_module modules/ngx_http_perl_module.so;
+
+Please refer to the module documentation for further details:
+http://nginx.org/en/docs/http/ngx_http_perl_module.html
+
+----------------------------------------------------------------------
+BANNER
+endef
+export MODULE_POST_perl
+
+# xslt
+
+MODULE_DEPENDS_xslt=libxslt
+MODULE_BUILD_DEPENDS_xslt=libxslt-dev
+
+define MODULE_ADD_CONTROL_TAGS_xslt
+replaces="nginx-mod-http-xslt-filter"
+endef
+export MODULE_ADD_CONTROL_TAGS_xslt
+
+define MODULE_POST_xslt
+cat <<BANNER
+----------------------------------------------------------------------
+
+The $(MODULE_SUMMARY_xslt) for NGINX has been installed.
+To enable this module, add the following to /etc/nginx/nginx.conf
+and reload nginx:
+
+ load_module modules/ngx_http_xslt_filter_module.so;
+
+Please refer to the module documentation for further details:
+http://nginx.org/en/docs/http/ngx_http_xslt_module.html
+
+----------------------------------------------------------------------
+BANNER
+endef
+export MODULE_POST_xslt
+
+
+BASE_CONFIGURE_ARGS=\
+ --prefix=/etc/nginx \
+ --sbin-path=/usr/sbin/nginx \
+ --modules-path=/usr/lib/nginx/modules \
+ --conf-path=/etc/nginx/nginx.conf \
+ --error-log-path=/var/log/nginx/error.log \
+ --http-log-path=/var/log/nginx/access.log \
+ --pid-path=/var/run/nginx.pid \
+ --lock-path=/var/run/nginx.lock \
+ --http-client-body-temp-path=/var/cache/nginx/client_temp \
+ --http-proxy-temp-path=/var/cache/nginx/proxy_temp \
+ --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp \
+ --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp \
+ --http-scgi-temp-path=/var/cache/nginx/scgi_temp \
+ --with-perl_modules_path=/usr/lib/perl5/vendor_perl \
+ --user=nginx \
+ --group=nginx \
+ --with-compat \
+ --with-file-aio \
+ --with-threads \
+ --with-http_addition_module \
+ --with-http_auth_request_module \
+ --with-http_dav_module \
+ --with-http_flv_module \
+ --with-http_gunzip_module \
+ --with-http_gzip_static_module \
+ --with-http_mp4_module \
+ --with-http_random_index_module \
+ --with-http_realip_module \
+ --with-http_secure_link_module \
+ --with-http_slice_module \
+ --with-http_ssl_module \
+ --with-http_stub_status_module \
+ --with-http_sub_module \
+ --with-http_v2_module \
+ --with-mail \
+ --with-mail_ssl_module \
+ --with-stream \
+ --with-stream_realip_module \
+ --with-stream_ssl_module \
+ --with-stream_ssl_preread_module
+
+BASE_MODULE_CONFIGURE_ARGS=\
+ --with-compat
+
+export CR=\\n
+
+modname = $(shell echo $1 | cut -d '-' -f 3- | tr '-' '_')
+
+${HOME}/.abuild:
+ mkdir -p ${HOME}/.abuild
+
+${HOME}/.abuild/abuild-key.rsa: | ${HOME}/.abuild
+ cd ${HOME}/.abuild && umask 0007 && openssl genrsa -out abuild-key.rsa 2048
+ openssl rsa -in ${HOME}/.abuild/abuild-key.rsa -pubout -out ${HOME}/.abuild/abuild-key.rsa.pub
+
+${HOME}/.abuild/abuild.conf: ${HOME}/.abuild/abuild-key.rsa | ${HOME}/.abuild
+ echo PACKAGER_PRIVKEY=\"${HOME}/.abuild/abuild-key.rsa\" > ${HOME}/.abuild/abuild.conf
+
+all: base modules
+ @echo "===> all done"
+
+modules: base $(addprefix module-, $(MODULES))
+
+abuild: abuild-base $(addprefix abuild-module-, $(MODULES))
+
+base: ${HOME}/.abuild/abuild.conf abuild-base
+ @echo "===> Building base package" ; \
+ /usr/bin/time -p $(SHELL) -c "cd abuild-base/ && abuild checksum && abuild unpack && abuild prepare && abuild -K build && abuild rootpkg" && \
+ ln -s abuild-base/pkg/nginx/usr/sbin base
+
+$(BASE_SRC):
+ wget http://nginx.org/download/$(BASE_SRC)
+
+abuild-base: $(BASE_SRC)
+ @echo "===> Creating $@"
+ @{ \
+ set -e ; \
+ mkdir -p abuild-base ; \
+ cp $(BASE_SRC) abuild-base/ ; \
+ cp nginx.* default.conf COPYRIGHT abuild-base/ ; \
+ cat nginx.initd.in | sed -e 's#%%DAEMON%%#nginx#g' > abuild-base/nginx.initd ; \
+ cat nginx.initd.in | sed -e 's#%%DAEMON%%#nginx-debug#g' > abuild-base/nginx-debug.initd ; \
+ cat APKBUILD-base.in | sed \
+ -e 's#%%MAIN_VERSION%%#$(BASE_VERSION)#g' \
+ -e 's#%%MAIN_RELEASE%%#$(BASE_RELEASE)#g' \
+ -e 's#%%BASE_CONFIGURE_ARGS%%#$(BASE_CONFIGURE_ARGS)#g' \
+ > abuild-base/APKBUILD ; \
+ }
+
+module-%: ${HOME}/.abuild/abuild.conf abuild-module-%
+ @echo "===> Building nginx-$@ package" ; \
+ /usr/bin/time -p $(SHELL) -c "cd abuild-$@/ && abuild checksum && abuild unpack && abuild prepare && abuild -K build && abuild rootpkg" && \
+ ln -s abuild-$@/pkg/nginx-module-$*/usr/lib/nginx/modules $@
+
+abuild-module-%: $(BASE_SRC)
+ @echo "===> Creating $@"
+ @{ \
+ set -e ; \
+ curdir=`pwd` ; \
+ module_asis=`echo $@ | cut -d '-' -f 3-` ; \
+ builddir=`echo abuild-module-$${module_asis}` ; \
+ mkdir -p $${builddir} ; \
+ cp $(BASE_SRC) $${builddir}/nginx-module-$${module_asis}-$(BASE_VERSION).tar.gz ; \
+ sources= ; \
+ for src in $(MODULE_SOURCES_$(call modname, $@)); do \
+ cp src/$${src} $${builddir}/ ; \
+ sources="$${sources} $${src}" ; \
+ done ; \
+ for p in $(MODULE_PATCHES_$(call modname, $@)); do \
+ cp src/$${p} $${builddir}/ ; \
+ sources="$${sources} $${p}" ; \
+ done ; \
+ cp COPYRIGHT $${builddir}/ ; \
+ definitions=`echo "$$MODULE_DEFINITIONS_$(call modname, $@)" | sed -e ':a' -e 'N' -e '$$!ba' -e "s/\n/\$$CR/g"` ; \
+ addcontroltags=`echo "$$MODULE_ADD_CONTROL_TAGS_$(call modname, $@)" | sed -e ':a' -e 'N' -e '$$!ba' -e "s/\n/\$$CR/g"` ; \
+ prebuild=`echo "$$MODULE_PREBUILD_$(call modname, $@)" | sed -e ':a' -e 'N' -e '$$!ba' -e "s/\n/\$$CR/g"` ; \
+ buildenv=`echo "$$MODULE_ENV_$(call modname, $@)" | sed -e ':a' -e 'N' -e '$$!ba' -e "s/\n/\$$CR/g"` ; \
+ preinstall=`echo "$$MODULE_PREINSTALL_$(call modname, $@)" | sed -e ':a' -e 'N' -e '$$!ba' -e "s/\n/\$$CR/g"` ; \
+ post=`echo "$$MODULE_POST_$(call modname, $@)" | sed -e ':a' -e 'N' -e '$$!ba' -e "s/\n/\$$CR/g"` ; \
+ cat APKBUILD-module.in | sed \
+ -e "s#%%MODULE%%#$${module_asis}#g" \
+ -e "s#%%SUMMARY%%#nginx $(MODULE_SUMMARY_$(call modname, $@))#g" \
+ -e "s#%%SHORT_SUMMARY%%#$(MODULE_SUMMARY_$(call modname, $@))#g" \
+ -e "s#%%MAIN_VERSION%%#$(BASE_VERSION)#g" \
+ -e "s#%%MAIN_RELEASE%%#$(BASE_RELEASE)#g" \
+ -e "s#%%PLUS_VERSION%%#$(PLUS_VERSION)#g" \
+ -e "s#%%MODULE_VERSION%%#$(MODULE_VERSION_$(call modname, $@))#g" \
+ -e "s#%%MODULE_RELEASE%%#$(MODULE_RELEASE_$(call modname, $@))#g" \
+ -e "s#%%MODULE_VERSION_PREFIX%%#$(MODULE_VERSION_PREFIX_$(call modname, $@))#g" \
+ -e 's#%%BASE_MODULE_CONFIGURE_ARGS%%#$(BASE_MODULE_CONFIGURE_ARGS)#g' \
+ -e "s#%%MODULE_CONFIGURE_ARGS%%#$(MODULE_CONFARGS_$(call modname, $@))#g" \
+ -e "s#%%MODULE_SOURCES%%#$${sources}#g" \
+ -e "s#%%MODULE_BUILD_DEPENDS%%#$(MODULE_BUILD_DEPENDS_$(call modname, $@))#g" \
+ -e "s#%%MODULE_DEPENDS%%#$(MODULE_DEPENDS_$(call modname, $@))#g" \
+ -e "s#%%MODULE_PREBUILD%%#$${prebuild}#g" \
+ -e "s#%%MODULE_PREINSTALL%%#$${preinstall}#g" \
+ -e "s#%%MODULE_CC_OPT_DEBUG%%#$(MODULE_CC_OPT_DEBUG_$(call modname, $@))#g" \
+ -e "s#%%MODULE_CC_OPT_NODEBUG%%#$(MODULE_CC_OPT_NODEBUG_$(call modname, $@))#g" \
+ -e "s#%%ADD_CONTROL_TAGS%%#$${addcontroltags}#g" \
+ -e "s#%%MODULE_ENV%%#$${buildenv}#g" \
+ -e "s#%%MODULE_SRCDIR%%#$(MODULE_SRCDIR)#g" \
+ > $${builddir}/APKBUILD ; \
+ cat nginx-module.post-install.in | sed \
+ -e "s#%%MODULE_POST%%#$$post#g" \
+ > $${builddir}/nginx-module-$${module_asis}.post-install ; \
+ }
+
+nginx-tests:
+ @{ \
+ if [ -d "$(SRCPATH)/nginx-tests" ]; then \
+ echo "===> Copying tests from $(SRCPATH)/nginx-tests" ; \
+ cp -rP $(SRCPATH)/nginx-tests nginx-tests ; \
+ else \
+ echo "===> Cloning tests" ; \
+ hg clone http://hg.nginx.org/nginx-tests ; \
+ fi ; \
+ }
+
+test: base nginx-tests
+ @echo "===> Running tests with regular binary/modules"
+ @{ \
+ pwd=`pwd` ; \
+ globals= ; \
+ for so in `find module-*/ -maxdepth 1 -type f -name "*module.so" | sort -t / -k 2`; do \
+ globals="$$globals load_module $$pwd/$$so;" ; \
+ done ; \
+ if [ -d $$pwd/abuild-module-perl ]; then \
+ globals="$$globals env PERL5LIB=$$pwd/abuild-module-perl/src/$(MODULE_SRCDIR)/objs/src/http/modules/perl:$$pwd/abuild-module-perl/src/$(MODULE_SRCDIR)/objs/src/http/modules/perl/blib/arch;" ; \
+ fi ; \
+ cd nginx-tests && TEST_NGINX_BINARY=$$pwd/base/nginx TEST_NGINX_GLOBALS="$$globals" prove $$PROVE_ARGS . ; \
+ }
+
+test-debug: base nginx-tests
+ @echo "===> Running tests with debug binary/modules"
+ @{ \
+ pwd=`pwd` ; \
+ globals= ; \
+ for so in `find module-*/ -maxdepth 1 -type f -name "*module-debug.so" | sort -t / -k 2`; do \
+ globals="$$globals load_module $$pwd/$$so;" ; \
+ done ; \
+ if [ -d $$pwd/abuild-module-perl ]; then \
+ globals="$$globals env PERL5LIB=$$pwd/abuild-module-perl/src/$(MODULE_SRCDIR)/objs/src/http/modules/perl:$$pwd/abuild-module-perl/src/$(MODULE_SRCDIR)/objs/src/http/modules/perl/blib/arch;" ; \
+ fi ; \
+ cd nginx-tests && TEST_NGINX_BINARY=$$pwd/base/nginx-debug TEST_NGINX_GLOBALS="$$globals" prove $$PROVE_ARGS . ; \
+ }
+
+clean:
+ @rm -rf base abuild-base abuild-module-* module-* $(BASE_SRC) nginx-tests
+
+.PHONY: default all modules abuild test test-debug clean
+
+.SECONDARY:
diff --git a/alpine/default.conf b/alpine/default.conf
new file mode 100644
index 0000000..299c622
--- /dev/null
+++ b/alpine/default.conf
@@ -0,0 +1,45 @@
+server {
+ listen 80;
+ server_name localhost;
+
+ #charset koi8-r;
+ #access_log /var/log/nginx/host.access.log main;
+
+ location / {
+ root /usr/share/nginx/html;
+ index index.html index.htm;
+ }
+
+ #error_page 404 /404.html;
+
+ # redirect server error pages to the static page /50x.html
+ #
+ error_page 500 502 503 504 /50x.html;
+ location = /50x.html {
+ root /usr/share/nginx/html;
+ }
+
+ # proxy the PHP scripts to Apache listening on 127.0.0.1:80
+ #
+ #location ~ \.php$ {
+ # proxy_pass http://127.0.0.1;
+ #}
+
+ # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
+ #
+ #location ~ \.php$ {
+ # root html;
+ # fastcgi_pass 127.0.0.1:9000;
+ # fastcgi_index index.php;
+ # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
+ # include fastcgi_params;
+ #}
+
+ # deny access to .htaccess files, if Apache's document root
+ # concurs with nginx's one
+ #
+ #location ~ /\.ht {
+ # deny all;
+ #}
+}
+
diff --git a/alpine/nginx-module.post-install.in b/alpine/nginx-module.post-install.in
new file mode 100644
index 0000000..3461315
--- /dev/null
+++ b/alpine/nginx-module.post-install.in
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+%%MODULE_POST%%
+
+exit 0
diff --git a/alpine/nginx.conf b/alpine/nginx.conf
new file mode 100644
index 0000000..b78822c
--- /dev/null
+++ b/alpine/nginx.conf
@@ -0,0 +1,32 @@
+
+user nginx;
+worker_processes auto;
+
+error_log /var/log/nginx/error.log warn;
+pid /var/run/nginx.pid;
+
+
+events {
+ worker_connections 1024;
+}
+
+
+http {
+ include /etc/nginx/mime.types;
+ default_type application/octet-stream;
+
+ log_format main '$remote_addr - $remote_user [$time_local] "$request" '
+ '$status $body_bytes_sent "$http_referer" '
+ '"$http_user_agent" "$http_x_forwarded_for"';
+
+ access_log /var/log/nginx/access.log main;
+
+ sendfile on;
+ #tcp_nopush on;
+
+ keepalive_timeout 65;
+
+ #gzip on;
+
+ include /etc/nginx/conf.d/*.conf;
+}
diff --git a/alpine/nginx.initd.in b/alpine/nginx.initd.in
new file mode 100644
index 0000000..19216ea
--- /dev/null
+++ b/alpine/nginx.initd.in
@@ -0,0 +1,70 @@
+#!/sbin/openrc-run
+
+description="Nginx http and reverse proxy server"
+extra_commands="checkconfig"
+extra_started_commands="reload reopen upgrade"
+
+cfgfile=${cfgfile:-/etc/nginx/nginx.conf}
+pidfile=/var/run/nginx.pid
+command=/usr/sbin/%%DAEMON%%
+command_args="-c $cfgfile"
+required_files="$cfgfile"
+
+depend() {
+ need net
+ use dns logger netmount
+}
+
+start_pre() {
+ $command $command_args -t -q
+}
+
+checkconfig() {
+ ebegin "Checking $RC_SVCNAME configuration"
+ start_pre
+ eend $?
+}
+
+reload() {
+ ebegin "Reloading $RC_SVCNAME configuration"
+ start_pre && start-stop-daemon --signal HUP --pidfile $pidfile
+ eend $?
+}
+
+reopen() {
+ ebegin "Reopening $RC_SVCNAME log files"
+ start-stop-daemon --signal USR1 --pidfile $pidfile
+ eend $?
+}
+
+upgrade() {
+ start_pre || return 1
+
+ ebegin "Upgrading $RC_SVCNAME binary"
+
+ einfo "Sending USR2 to old binary"
+ start-stop-daemon --signal USR2 --pidfile $pidfile
+
+ 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 ; start-stop-daemon --signal 28 --pidfile $pidfile.oldbin
+
+ einfo "Sending QUIT to old binary"
+ start-stop-daemon --signal QUIT --pidfile $pidfile.oldbin
+
+ einfo "Upgrade completed"
+
+ eend $? "Upgrade failed"
+}
diff --git a/alpine/nginx.logrotate b/alpine/nginx.logrotate
new file mode 100644
index 0000000..584335a
--- /dev/null
+++ b/alpine/nginx.logrotate
@@ -0,0 +1,15 @@
+/var/log/nginx/*.log {
+ daily
+ missingok
+ rotate 52
+ compress
+ delaycompress
+ notifempty
+ create 640 nginx adm
+ sharedscripts
+ postrotate
+ if [ -f /var/run/nginx.pid ]; then
+ kill -USR1 `cat /var/run/nginx.pid`
+ fi
+ endscript
+}
diff --git a/alpine/nginx.post-install b/alpine/nginx.post-install
new file mode 100644
index 0000000..13e7299
--- /dev/null
+++ b/alpine/nginx.post-install
@@ -0,0 +1,25 @@
+#!/bin/sh
+
+cat <<BANNER
+----------------------------------------------------------------------
+
+Thanks for using nginx!
+
+Please find the official documentation for nginx here:
+* http://nginx.org/en/docs/
+
+Please subscribe to nginx-announce mailing list to get
+the most important news about nginx:
+* http://nginx.org/en/support.html
+
+Commercial subscriptions for nginx are available on:
+* http://nginx.com/products/
+
+----------------------------------------------------------------------
+BANNER
+
+if [ ! -d /var/cache/nginx ]; then
+ mkdir -p /var/cache/nginx
+fi
+
+exit 0
diff --git a/alpine/nginx.post-upgrade b/alpine/nginx.post-upgrade
new file mode 100644
index 0000000..85c030a
--- /dev/null
+++ b/alpine/nginx.post-upgrade
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+if [ -x /etc/init.d/nginx ]; then
+ if [ -f /var/run/nginx.pid ]; then
+ NGX_PID=`cat /var/run/nginx.pid`
+ if kill -s 0 $NGX_PID 2>/dev/null; then
+ service nginx upgrade || true
+ fi
+ fi
+fi
diff --git a/alpine/nginx.pre-deinstall b/alpine/nginx.pre-deinstall
new file mode 100644
index 0000000..c915841
--- /dev/null
+++ b/alpine/nginx.pre-deinstall
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+if [ -x /etc/init.d/nginx -a -e /var/run/nginx.pid ]; then
+ service nginx stop
+fi
+
+exit 0
diff --git a/alpine/nginx.pre-install b/alpine/nginx.pre-install
new file mode 100644
index 0000000..cbb627d
--- /dev/null
+++ b/alpine/nginx.pre-install
@@ -0,0 +1,24 @@
+#!/bin/sh
+
+set -e
+
+if ! getent group nginx >/dev/null; then
+ addgroup -S nginx 2>/dev/null
+fi
+
+if ! getent group www-data >/dev/null; then
+ addgroup -Sg 82 www-data 2>/dev/null
+fi
+
+if ! getent passwd nginx >/dev/null; then
+ adduser -SDH \
+ -h /var/lib/nginx \
+ -s /sbin/nologin \
+ -G nginx \
+ -g nginx \
+ nginx 2>/dev/null
+
+ addgroup nginx www-data 2>/dev/null
+fi
+
+exit 0
diff --git a/alpine/src/njs-0.2.7.tar.gz b/alpine/src/njs-0.2.7.tar.gz
new file mode 100644
index 0000000..1282aca
--- /dev/null
+++ b/alpine/src/njs-0.2.7.tar.gz
Binary files differ