deb: refactored to build base nginx and modules separately.
diff --git a/debian/Makefile b/debian/Makefile
new file mode 100644
index 0000000..5ba6119
--- /dev/null
+++ b/debian/Makefile
@@ -0,0 +1,402 @@
+SHELL=		/bin/bash
+
+BASE_VERSION=	1.11.5
+BASE_RELEASE=	1
+BASE_SRC=	nginx-$(BASE_VERSION).tar.gz
+SRCDIR=		nginx-$(BASE_VERSION)
+SRCPATH?=	../..
+
+CODENAME=	$(shell lsb_release -cs)
+ARCH=		$(shell uname -m)
+NPROC=		$(shell getconf _NPROCESSORS_ONLN)
+MODSRC_PREFIX=	extra/
+
+MODULES=	geoip image-filter njs perl xslt
+
+MODULE_SUMMARY_geoip=		GeoIP dynamic modules
+MODULE_SUMMARY_image_filter=	image filter dynamic module
+MODULE_SUMMARY_njs=		nginScript 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.1.3
+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-http_geoip_module=dynamic \
+				--with-stream_geoip_module=dynamic
+MODULE_CONFARGS_image_filter=	--with-http_image_filter_module=dynamic
+MODULE_CONFARGS_njs=		--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=,libgeoip-dev
+MODULE_DEPENDS_geoip=,libgeoip1
+
+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_BUILD_DEPENDS_image_filter=,libgd-dev
+
+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).
+
+define MODULE_PREINSTALL_njs
+	mkdir -p $$(INSTALLDIR)/usr/share/doc/nginx-module-njs
+	install -m644 $$(BUILDDIR_nginx)/extra/njs-$(MODULE_VERSION_njs)/README $$(INSTALLDIR)/usr/share/doc/nginx-module-njs/
+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:
+/usr/share/doc/nginx-module-njs/README
+https://www.nginx.com/resources/wiki/nginScript/
+
+----------------------------------------------------------------------
+BANNER
+endef
+export MODULE_POST_njs
+
+# perl
+
+MODULE_BUILD_DEPENDS_perl=, libperl-dev
+MODULE_DEPENDS_perl=, $$\{perl:Depends\}
+
+define MODULE_PREINSTALL_perl
+	cd $$(BUILDDIR_nginx) \&\& $$(MAKE) DESTDIR=$$(INSTALLDIR) INSTALLDIRS=vendor -f objs/Makefile install_perl_modules
+	find $$(INSTALLDIR)/ -type f -name .packlist -exec rm -f '{}' \\;
+	find $$(INSTALLDIR)/ -type f -name perllocal.pod -exec rm -f '{}' \\;
+	find $$(INSTALLDIR)/ -type f -empty -exec rm -f '{}' \\;
+	find $$(INSTALLDIR)/ -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_BUILD_DEPENDS_xslt=, libxslt1-dev
+
+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 \
+	--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
+
+export CR=\\n
+
+modname = $(shell echo $1 | cut -d '-' -f 3- | tr '-' '_')
+
+default:
+	@echo "valid targets: all base $(addprefix module-, $(MODULES)) test test-debug"
+
+all:	base modules
+	@echo "===> all done"
+
+modules:	$(addprefix module-, $(MODULES))
+
+rules:	rules-base $(addprefix rules-module-, $(MODULES))
+
+base:	rules-base
+	@echo "===> Building base package"
+	@$(SHELL) -c "cd debuild-base/$(SRCDIR) ; export DEB_BUILD_OPTIONS=parallel=$(NPROC) ; time -p debuild -us -uc"
+	@find debuild-base/ -maxdepth 1 -type f -exec cp {} ../../ \;
+	@ln -s debuild-base/$(SRCDIR)/debian/nginx/usr/sbin base
+
+$(BASE_SRC):
+	@{ \
+	if [ -f $(SRCPATH)/$(BASE_SRC) ]; then \
+		cp -P $(SRCPATH)/$(BASE_SRC) $(BASE_SRC) ; \
+	elif [ -f $(SRCPATH)/nginx_$(BASE_VERSION).orig.tar.gz ]; then \
+		cp -P $(SRCPATH)/nginx_$(BASE_VERSION).orig.tar.gz $(BASE_SRC) ; \
+	else \
+		wget http://nginx.org/download/$(BASE_SRC) ; \
+	fi ; \
+	}
+
+rules-base: $(BASE_SRC)
+	@echo "===> Creating $@"
+	@{ \
+	set -e ; \
+	mkdir -p debuild-base ; \
+	cp $(BASE_SRC) debuild-base/nginx_$(BASE_VERSION).orig.tar.gz ; \
+	tar -C debuild-base -xf debuild-base/nginx_$(BASE_VERSION).orig.tar.gz ; \
+	mkdir -p debuild-base/$(SRCDIR)/debian ; \
+	mkdir -p debuild-base/$(SRCDIR)/debian/source ; \
+	echo "3.0 (quilt)" > debuild-base/$(SRCDIR)/debian/source/format ; \
+	echo "9" > debuild-base/$(SRCDIR)/debian/compat ; \
+	cat nginx.rules.in | sed \
+		-e 's#%%CODENAME%%#$(CODENAME)#g' \
+		-e 's#%%BASE_CONFIGURE_ARGS%%#$(BASE_CONFIGURE_ARGS)#g' \
+		-e 's#%%BASE_CONFIGURE_ARGS%%#$(BASE_CONFIGURE_ARGS)#g' \
+		> debuild-base/$(SRCDIR)/debian/rules ; \
+	cat nginx.changelog.in | sed \
+		-e 's#%%CODENAME%%#$(CODENAME)#g' \
+		-e 's#%%MAIN_VERSION%%#$(BASE_VERSION)#g' \
+		-e 's#%%MAIN_RELEASE%%#$(BASE_RELEASE)#g' \
+		> debuild-base/$(SRCDIR)/debian/changelog ; \
+	cp nginx.control.in debuild-base/$(SRCDIR)/debian/control ; \
+	cp copyright ../CHANGES ../CHANGES.ru nginx.* nginx-debug.default debuild-base/$(SRCDIR)/debian/ ; \
+	chmod +x debuild-base/$(SRCDIR)/debian/rules ; \
+	ln -s debuild-base/$(SRCDIR)/debian/rules rules-base ; \
+	}
+
+module-%: rules-module-%
+	@echo "===> Building nginx-$@ package" ; \
+	$(SHELL) -c "cd debuild-$@/$(SRCDIR) ; export DEB_BUILD_OPTIONS=parallel=$(NPROC) ; time -p debuild -us -uc" ; \
+	find debuild-$@/ -maxdepth 1 -type f -exec cp {} ../../ \;; \
+	ln -s debuild-$@/$(SRCDIR)/debian/nginx-$@/usr/lib/nginx/modules $@
+
+rules-module-%: $(BASE_SRC)
+	@echo "===> Creating $@"
+	@{ \
+	set -e ; \
+	curdir=`pwd` ; \
+	module=`echo $@ | cut -d '-' -f 3- | tr '-' '_'` ; \
+	module_asis=`echo $@ | cut -d '-' -f 3-` ; \
+	builddir=`echo debuild-module-$${module_asis}` ; \
+	mkdir -p $${builddir} ; \
+	cp $(BASE_SRC) $${builddir}/nginx-module-$${module_asis}_$(MODULE_VERSION_PREFIX_$(call modname, $@))$(MODULE_VERSION_$(call modname, $@)).orig.tar.gz ; \
+	tar -C $${builddir} -xf $${builddir}/nginx-module-$${module_asis}_$(MODULE_VERSION_PREFIX_$(call modname, $@))$(MODULE_VERSION_$(call modname, $@)).orig.tar.gz ; \
+	mkdir -p $${builddir}/$(SRCDIR)/debian/extra ; \
+	mkdir -p $${builddir}/$(SRCDIR)/debian/source ; \
+	echo "3.0 (quilt)" > $${builddir}/$(SRCDIR)/debian/source/format ; \
+	echo "9" > $${builddir}/$(SRCDIR)/debian/compat ; \
+	for src in $(MODULE_SOURCES_$(call modname, $@)); do \
+		tar -C $${builddir}/$(SRCDIR)/debian/extra -xf extra/$${src} ; \
+	done ; \
+	for p in $(MODULE_PATCHES_$(call modname, $@)); do \
+		( cd $${builddir}/$(SRCDIR)/debian/extra && patch -p1 < $${curdir}/extra/$${p} ) ; \
+	done ; \
+	( cd $${builddir}/$(SRCDIR) && find debian/ -type f -exec file --mime {} \; | fgrep 'charset=binary' | cut -d ':' -f 1 > include-binaries && mv include-binaries debian/source/ ) ; \
+	copyright_file="nginx-module-$${module}.copyright" ; \
+	if [ -f $${copyright_file} ]; then \
+		copyright_source=$${copyright_file} ; \
+	else \
+		copyright_source=copyright ; \
+	fi ; \
+	changelog_file="nginx-module-$${module}.changelog.in" ; \
+	if [ -f $${changelog_file} ]; then \
+		changelog_tmpl=$${changelog_file} ; \
+	else \
+		changelog_tmpl=nginx-module.changelog.in ; \
+	fi ; \
+	cp $${copyright_source} $${builddir}/$(SRCDIR)/debian/copyright ; \
+	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"` ; \
+	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 nginx-module.control.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#%%CODENAME%%#$(CODENAME)#g" \
+		-e "s#%%MAIN_VERSION%%#$(BASE_VERSION)#g" \
+		-e "s#%%MAIN_RELEASE%%#$(BASE_RELEASE)#g" \
+		-e "s#%%VERSION_PREFIX%%#$(MODULE_VERSION_PREFIX_$(call modname, $@))#g" \
+		-e "s#%%MODULE_VERSION%%#$(MODULE_VERSION_$(call modname, $@))#g" \
+		-e "s#%%MODULE_RELEASE%%#$(MODULE_RELEASE_$(call modname, $@))#g" \
+		-e "s#%%MODULE_BUILD_DEPENDS%%#$(MODULE_BUILD_DEPENDS_$(call modname, $@))#g" \
+		-e "s#%%MODULE_DEPENDS%%#$(MODULE_DEPENDS_$(call modname, $@))#g" \
+		-e "s#%%ADD_CONTROL_TAGS%%#$${addcontroltags}#g" \
+	> $${builddir}/$(SRCDIR)/debian/control ; \
+	cat $${changelog_tmpl} | sed \
+		-e "s#%%MODULE%%#$${module_asis}#g" \
+		-e "s#%%CODENAME%%#$(CODENAME)#g" \
+		-e "s#%%VERSION_PREFIX%%#$(MODULE_VERSION_PREFIX_$(call modname, $@))#g" \
+		-e "s#%%MODULE_VERSION%%#$(MODULE_VERSION_$(call modname, $@))#g" \
+		-e "s#%%MODULE_RELEASE%%#$(MODULE_RELEASE_$(call modname, $@))#g" \
+	> $${builddir}/$(SRCDIR)/debian/changelog ; \
+	cat nginx-module.rules.in | sed \
+		-e "s#%%MODULE%%#$${module_asis}#g" \
+		-e "s#%%CODENAME%%#$(CODENAME)#g" \
+		-e "s#%%MAIN_VERSION%%#$(BASE_VERSION)#g" \
+		-e "s#%%MAIN_RELEASE%%#$(BASE_RELEASE)#g" \
+		-e "s#%%BASE_CONFIGURE_ARGS%%#$(BASE_CONFIGURE_ARGS)#g" \
+		-e "s#%%MODULE_CONFIGURE_ARGS%%#$(MODULE_CONFARGS_$(call modname, $@))#g" \
+		-e "s#%%MODULE_DEFINITIONS%%#$${definitions}#g" \
+		-e "s#%%MODULE_PREBUILD%%#$${prebuild}#g" \
+		-e "s#%%MODULE_PREINSTALL%%#$${preinstall}#g" \
+	> $${builddir}/$(SRCDIR)/debian/rules ; \
+	cat nginx-module.postinst.in | sed \
+		-e "s#%%MODULE_POST%%#$$post#g" \
+	> $${builddir}/$(SRCDIR)/debian/nginx-module-$${module_asis}.postinst ; \
+	chmod +x $${builddir}/$(SRCDIR)/debian/rules ; \
+	ln -s $${builddir}/$(SRCDIR)/debian/rules $@ ; \
+	}
+
+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"`; do \
+		globals="$$globals load_module $$pwd/$$so;" ; \
+	done ; \
+	if [ -d $$pwd/debuild-module-perl ]; then \
+		globals="$$globals env PERL5LIB=$$pwd/debuild-module-perl/nginx-$(BASE_VERSION)/debian/build-nginx/objs/src/http/modules/perl:$$pwd/debuild-module-perl/nginx-$(BASE_VERSION)/debian/build-nginx/objs/src/http/modules/perl/blib/arch;" ; \
+	fi ; \
+	cd nginx-tests && TEST_NGINX_BINARY=$$pwd/base/nginx TEST_NGINX_GLOBALS="$$globals" prove . ; \
+	}
+
+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"`; do \
+		globals="$$globals load_module $$pwd/$$so;" ; \
+	done ; \
+	if [ -d $$pwd/debuild-module-perl ]; then \
+		globals="$$globals env PERL5LIB=$$pwd/debuild-module-perl/nginx-$(BASE_VERSION)/debian/build-nginx/objs/src/http/modules/perl:$$pwd/debuild-module-perl/nginx-$(BASE_VERSION)/debian/build-nginx/objs/src/http/modules/perl/blib/arch;" ; \
+	fi ; \
+	cd nginx-tests && TEST_NGINX_BINARY=$$pwd/base/nginx-debug TEST_NGINX_GLOBALS="$$globals" prove . ; \
+	}
+
+clean:
+	@rm -rf base module-* rules-base rules-module-* debuild-base debuild-module-* nginx-tests
+
+.PHONY:	default all modules rules test test-debug clean
+
+.SECONDARY:
diff --git a/debian/control b/debian/control
deleted file mode 100644
index 5ad76cf..0000000
--- a/debian/control
+++ /dev/null
@@ -1,67 +0,0 @@
-Source: nginx
-Section: httpd
-Priority: optional
-Maintainer: Sergey Budnevitch <sb@nginx.com>
-Build-Depends: debhelper (>= 9~),
-               dpkg-dev (>= 1.16.1~),
-               libgd2-xpm-dev,
-               libgeoip-dev,
-               libpcre3-dev,
-               libperl-dev,
-               libssl-dev (>= 0.9.7),
-               libxslt1-dev,
-               lsb-release,
-               zlib1g-dev
-Standards-Version: 3.9.8.0
-Homepage: http://nginx.org
-
-Package: nginx
-Architecture: any
-Depends: ${misc:Depends}, ${shlibs:Depends}, lsb-base, adduser
-Provides: httpd
-Description: high performance web server
- nginx [engine x] is an HTTP and reverse proxy server, as well as
- a mail proxy server.
-
-Package: nginx-dbg
-Architecture: any
-Section: debug
-Priority: extra
-Depends: ${misc:Depends}, nginx (= ${source:Version})
-Description: nginx debug symbols
- This package contains the debugging symbols for nginx.
-
-Package: nginx-module-xslt
-Architecture: any
-Priority: extra
-Depends: ${misc:Depends}, ${shlibs:Depends}, nginx (= ${source:Version})
-Description: xslt module
- This package contains dynamic xslt module for nginx.
-
-Package: nginx-module-image-filter
-Architecture: any
-Priority: extra
-Depends: ${misc:Depends}, ${shlibs:Depends}, nginx (= ${source:Version})
-Description: image filter module
- This package contains dynamic image filter module for nginx.
-
-Package: nginx-module-geoip
-Architecture: any
-Priority: extra
-Depends: ${misc:Depends}, ${shlibs:Depends}, nginx (= ${source:Version})
-Description: geoip modules
- This package contains dynamic geoip modules for nginx.
-
-Package: nginx-module-perl
-Architecture: any
-Priority: extra
-Depends: ${misc:Depends}, ${shlibs:Depends}, ${perl:Depends}, nginx (= ${source:Version})
-Description: perl module
- This package contains dynamic perl module for nginx.
-
-Package: nginx-module-njs
-Architecture: any
-Priority: extra
-Depends: ${misc:Depends}, ${shlibs:Depends}, nginx (= ${source:Version})
-Description: nJScript module
- This package contains dynamic nJScript module for nginx.
diff --git a/debian/extra/njs-0.1.2.tar.gz b/debian/extra/njs-0.1.2.tar.gz
deleted file mode 100644
index cc6ade5..0000000
--- a/debian/extra/njs-0.1.2.tar.gz
+++ /dev/null
Binary files differ
diff --git a/debian/extra/njs-0.1.3.tar.gz b/debian/extra/njs-0.1.3.tar.gz
new file mode 100644
index 0000000..7978c47
--- /dev/null
+++ b/debian/extra/njs-0.1.3.tar.gz
Binary files differ
diff --git a/debian/nginx-module-geoip.install b/debian/nginx-module-geoip.install
deleted file mode 100644
index 9eade47..0000000
--- a/debian/nginx-module-geoip.install
+++ /dev/null
@@ -1,4 +0,0 @@
-objs/ngx_http_geoip_module.so usr/lib/nginx/modules
-objs/ngx_http_geoip_module-debug.so usr/lib/nginx/modules
-objs/ngx_stream_geoip_module.so usr/lib/nginx/modules
-objs/ngx_stream_geoip_module-debug.so usr/lib/nginx/modules
diff --git a/debian/nginx-module-geoip.preinst b/debian/nginx-module-geoip.preinst
deleted file mode 100644
index c7c8e97..0000000
--- a/debian/nginx-module-geoip.preinst
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/bin/sh
-
-set -e
-
-case "$1" in
-    install)
-        cat <<BANNER
-----------------------------------------------------------------------
-
-The GeoIP dynamic modules for nginx have been installed.
-To enable those 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
-        ;;
-    upgrade|abort-upgrade)
-        ;;
-    *)
-        echo "preinst called with unknown argument \`$1'" >&2
-        exit 0
-        ;;
-esac
-
-#DEBHELPER#
-
-exit 0
diff --git a/debian/nginx-module-image-filter.install b/debian/nginx-module-image-filter.install
deleted file mode 100644
index 4c1c443..0000000
--- a/debian/nginx-module-image-filter.install
+++ /dev/null
@@ -1,2 +0,0 @@
-objs/ngx_http_image_filter_module.so usr/lib/nginx/modules
-objs/ngx_http_image_filter_module-debug.so usr/lib/nginx/modules
diff --git a/debian/nginx-module-image-filter.preinst b/debian/nginx-module-image-filter.preinst
deleted file mode 100644
index 13ca418..0000000
--- a/debian/nginx-module-image-filter.preinst
+++ /dev/null
@@ -1,32 +0,0 @@
-#!/bin/sh
-
-set -e
-
-case "$1" in
-    install)
-        cat <<BANNER
-----------------------------------------------------------------------
-
-The image filter dynamic module 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
-        ;;
-    upgrade|abort-upgrade)
-        ;;
-    *)
-        echo "preinst called with unknown argument \`$1'" >&2
-        exit 0
-        ;;
-esac
-
-#DEBHELPER#
-
-exit 0
diff --git a/debian/nginx-module-njs.changelog.in b/debian/nginx-module-njs.changelog.in
new file mode 100644
index 0000000..d0f100c
--- /dev/null
+++ b/debian/nginx-module-njs.changelog.in
@@ -0,0 +1,6 @@
+nginx-module-njs (%%VERSION_PREFIX%%%%MODULE_VERSION%%-%%MODULE_RELEASE%%~%%CODENAME%%) %%CODENAME%%; urgency=low
+
+  * base version updated to 1.11.5
+  * njs module updated to 0.1.3
+
+ -- Andrei Belov <defan@nginx.com>  Mon, 10 Oct 2016 10:15:00 +0300
diff --git a/debian/nginx-module-njs.install b/debian/nginx-module-njs.install
deleted file mode 100644
index 5d8c8de..0000000
--- a/debian/nginx-module-njs.install
+++ /dev/null
@@ -1,4 +0,0 @@
-objs/ngx_http_js_module.so usr/lib/nginx/modules
-objs/ngx_http_js_module-debug.so usr/lib/nginx/modules
-objs/ngx_stream_js_module.so usr/lib/nginx/modules
-objs/ngx_stream_js_module-debug.so usr/lib/nginx/modules
diff --git a/debian/nginx-module-njs.preinst b/debian/nginx-module-njs.preinst
deleted file mode 100644
index 363b8d8..0000000
--- a/debian/nginx-module-njs.preinst
+++ /dev/null
@@ -1,33 +0,0 @@
-#!/bin/sh
-
-set -e
-
-case "$1" in
-    install)
-        cat <<BANNER
-----------------------------------------------------------------------
-
-The nJScript dynamic modules for nginx have been installed.
-To enable those 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:
-https://www.nginx.com/resources/wiki/nginScript/
-
-----------------------------------------------------------------------
-BANNER
-        ;;
-    upgrade|abort-upgrade)
-        ;;
-    *)
-        echo "preinst called with unknown argument \`$1'" >&2
-        exit 0
-        ;;
-esac
-
-#DEBHELPER#
-
-exit 0
diff --git a/debian/nginx-module-njs.version b/debian/nginx-module-njs.version
deleted file mode 100644
index 4f2027f..0000000
--- a/debian/nginx-module-njs.version
+++ /dev/null
@@ -1 +0,0 @@
-1.11.4.0.1.2-1
diff --git a/debian/nginx-module-perl.install b/debian/nginx-module-perl.install
deleted file mode 100755
index 9ac1028..0000000
--- a/debian/nginx-module-perl.install
+++ /dev/null
@@ -1,14 +0,0 @@
-#!/usr/bin/perl -w
-
-use Config;
-
-my $vendorarch = substr($Config{vendorarch}, 1);
-
-print <<EOT;
-objs/ngx_http_perl_module.so usr/lib/nginx/modules
-objs/ngx_http_perl_module-debug.so usr/lib/nginx/modules
-EOT
-
-print "objs/src/http/modules/perl/blib/arch/auto/nginx/nginx.so    $vendorarch/auto/nginx\n";
-print "objs/src/http/modules/perl/blib/arch/auto/nginx/nginx-debug.so    $vendorarch/auto/nginx\n";
-print "objs/src/http/modules/perl/blib/lib/nginx.pm    $vendorarch\n";
diff --git a/debian/nginx-module-perl.preinst b/debian/nginx-module-perl.preinst
deleted file mode 100644
index 798a7f4..0000000
--- a/debian/nginx-module-perl.preinst
+++ /dev/null
@@ -1,32 +0,0 @@
-#!/bin/sh
-
-set -e
-
-case "$1" in
-    install)
-        cat <<BANNER
-----------------------------------------------------------------------
-
-The perl dynamic module 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
-        ;;
-    upgrade|abort-upgrade)
-        ;;
-    *)
-        echo "preinst called with unknown argument \`$1'" >&2
-        exit 0
-        ;;
-esac
-
-#DEBHELPER#
-
-exit 0
diff --git a/debian/nginx-module-xslt.install b/debian/nginx-module-xslt.install
deleted file mode 100644
index 7eb5cc9..0000000
--- a/debian/nginx-module-xslt.install
+++ /dev/null
@@ -1,2 +0,0 @@
-objs/ngx_http_xslt_filter_module.so usr/lib/nginx/modules
-objs/ngx_http_xslt_filter_module-debug.so usr/lib/nginx/modules
diff --git a/debian/nginx-module-xslt.preinst b/debian/nginx-module-xslt.preinst
deleted file mode 100644
index 99c6b86..0000000
--- a/debian/nginx-module-xslt.preinst
+++ /dev/null
@@ -1,32 +0,0 @@
-#!/bin/sh
-
-set -e
-
-case "$1" in
-    install)
-        cat <<BANNER
-----------------------------------------------------------------------
-
-The XSLT dynamic module 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
-        ;;
-    upgrade|abort-upgrade)
-        ;;
-    *)
-        echo "preinst called with unknown argument \`$1'" >&2
-        exit 0
-        ;;
-esac
-
-#DEBHELPER#
-
-exit 0
diff --git a/debian/nginx-module.changelog.in b/debian/nginx-module.changelog.in
new file mode 100644
index 0000000..e1a51cf
--- /dev/null
+++ b/debian/nginx-module.changelog.in
@@ -0,0 +1,5 @@
+nginx-module-%%MODULE%% (%%VERSION_PREFIX%%%%MODULE_VERSION%%-%%MODULE_RELEASE%%~%%CODENAME%%) %%CODENAME%%; urgency=low
+
+  * base version updated to 1.11.5-1
+
+ -- Andrei Belov <defan@nginx.com>  Mon, 10 Oct 2016 10:15:00 +0300
diff --git a/debian/nginx-module.control.in b/debian/nginx-module.control.in
new file mode 100644
index 0000000..29000cb
--- /dev/null
+++ b/debian/nginx-module.control.in
@@ -0,0 +1,31 @@
+Source: nginx-module-%%MODULE%%
+Section: httpd
+Priority: optional
+Maintainer: Sergey Budnevitch <sb@nginx.com>
+Build-Depends: debhelper (>= 9~),
+               dpkg-dev (>= 1.16.1~),
+               quilt (>= 0.46-7~),
+               lsb-release,
+               libssl-dev (>= 1.0.1),
+               libpcre3-dev,
+               zlib1g-dev%%MODULE_BUILD_DEPENDS%%
+Standards-Version: 3.9.8.0
+Homepage: http://nginx.org
+
+Package: nginx-module-%%MODULE%%
+Architecture: any
+Depends: ${misc:Depends},
+         ${shlibs:Depends},
+         nginx (= %%MAIN_VERSION%%-%%MAIN_RELEASE%%~%%CODENAME%%)%%MODULE_DEPENDS%%%%ADD_CONTROL_TAGS%%
+Description: %%SUMMARY%%
+ %%SHORT_SUMMARY%% for nginx
+
+Package: nginx-module-%%MODULE%%-dbg
+Architecture: any
+Section: debug
+Priority: extra
+Depends: nginx (= %%MAIN_VERSION%%-%%MAIN_RELEASE%%~%%CODENAME%%),
+         nginx-module-%%MODULE%% (= %%VERSION_PREFIX%%%%MODULE_VERSION%%-%%MODULE_RELEASE%%~%%CODENAME%%),
+         ${misc:Depends}
+Description: debug symbols for the nginx-module-%%MODULE%%
+ %%SHORT_SUMMARY%% for nginx (debug symbols)
diff --git a/debian/nginx-module.postinst.in b/debian/nginx-module.postinst.in
new file mode 100644
index 0000000..781e25c
--- /dev/null
+++ b/debian/nginx-module.postinst.in
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+set -e
+
+if [ "$1" != "configure" ]; then
+    exit 0
+fi
+
+%%MODULE_POST%%
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/nginx-module.rules.in b/debian/nginx-module.rules.in
new file mode 100755
index 0000000..bbbacfe
--- /dev/null
+++ b/debian/nginx-module.rules.in
@@ -0,0 +1,129 @@
+#!/usr/bin/make -f
+
+#export DH_VERBOSE=1
+export DEB_BUILD_MAINT_OPTIONS=hardening=+all,-pie                              
+DPKG_EXPORT_BUILDFLAGS = 1                                                      
+include /usr/share/dpkg/buildflags.mk
+
+BUILDDIR_nginx = $(CURDIR)/debian/build-nginx
+BUILDDIR_nginx_debug = $(CURDIR)/debian/build-nginx-debug
+INSTALLDIR = $(CURDIR)/debian/nginx-module-%%MODULE%%
+BASEDIR = $(CURDIR)
+
+ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
+	NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
+	ifeq (${NUMJOBS}, 0)
+		NUMJOBS = 1
+	endif
+else
+	NUMJOBS = 1
+endif
+
+%%MODULE_DEFINITIONS%%
+
+config.env.%:
+	dh_testdir
+	mkdir -p $(BUILDDIR_$*)
+	cp -Pa $(CURDIR)/auto $(BUILDDIR_$*)/
+	cp -Pa $(CURDIR)/conf $(BUILDDIR_$*)/
+	cp -Pa $(CURDIR)/configure $(BUILDDIR_$*)/
+	cp -Pa $(CURDIR)/contrib $(BUILDDIR_$*)/
+	cp -Pa $(CURDIR)/man $(BUILDDIR_$*)/
+	cp -Pa $(CURDIR)/src $(BUILDDIR_$*)/
+	test -d $(CURDIR)/debian/extra && cp -Pa $(CURDIR)/debian/extra $(BUILDDIR_$*)/
+	touch $@
+
+config.pre.nginx:
+	dh_testdir
+%%MODULE_PREBUILD%%
+	touch $@
+
+config.pre.nginx_debug: config.pre.nginx
+	dh_testdir
+	rm -rf $(BUILDDIR_nginx_debug)/extra && cp -Pa $(BUILDDIR_nginx)/extra $(BUILDDIR_nginx_debug)/
+	touch $@
+
+config.status.nginx: config.env.nginx config.pre.nginx
+	cd $(BUILDDIR_nginx) && \
+	CFLAGS="" ./configure %%BASE_CONFIGURE_ARGS%% %%MODULE_CONFIGURE_ARGS%% --with-cc-opt="$(CFLAGS)" --with-ld-opt="$(LDFLAGS)"
+	touch $@
+
+config.status.nginx_debug: config.env.nginx_debug config.pre.nginx_debug
+	cd $(BUILDDIR_nginx_debug) && \
+	CFLAGS="" ./configure %%BASE_CONFIGURE_ARGS%% %%MODULE_CONFIGURE_ARGS%% --with-cc-opt="$(CFLAGS)" --with-ld-opt="$(LDFLAGS)" --with-debug
+	touch $@
+
+build-arch.%: config.status.%
+	dh_testdir
+	dh_prep
+	$(MAKE) -j$(NUMJOBS) -C $(BUILDDIR_$*) modules
+
+build-arch: build-arch.nginx build-arch.nginx_debug
+	dh_testdir
+	touch $@
+
+build-dbg.%: install
+	dh_testdir
+	dh_strip --dbg-package=nginx-module-%%MODULE%%-dbg
+
+build-dbg: build-dbg.nginx
+	dh_testdir
+	touch $@
+
+build-indep:
+	dh_testdir
+	touch $@
+
+build: build-arch build-indep
+	dh_testdir
+	touch $@
+
+clean:
+	dh_testdir
+	dh_testroot
+	dh_clean
+	rm -rf $(CURDIR)/debian/build-*
+	find $(CURDIR) -maxdepth 1 -size 0 -delete
+
+post-build:
+	for so in `find $(BUILDDIR_nginx_debug)/objs/ -maxdepth 1 -type f -name "*.so"`; do \
+	    debugso=`echo $${so} | sed -e "s|.so|-debug.so|"` ; \
+	    mv $${so} $${debugso} ; \
+	done
+
+install:
+	dh_testdir
+	dh_testroot
+	dh_prep
+	dh_installdirs
+	dh_install
+%%MODULE_PREINSTALL%%
+	mkdir -p $(INSTALLDIR)/usr/lib/nginx/modules
+	for so in `find $(BUILDDIR_nginx_debug)/objs/ -maxdepth 1 -type f -name "*.so"`; do \
+	    install -m755 $${so} $(INSTALLDIR)/usr/lib/nginx/modules/ ; \
+	done
+	for so in `find $(BUILDDIR_nginx)/objs/ -maxdepth 1 -type f -name "*.so"`; do \
+	    install -m755 $${so} $(INSTALLDIR)/usr/lib/nginx/modules/ ; \
+	done
+
+binary-indep: build post-build install
+
+binary-arch: install build-dbg
+	dh_testdir
+	dh_testroot
+	dh_installchangelogs -a
+	dh_installdocs -a
+	dh_lintian -a
+	dh_link -aA
+	dh_compress -a
+	dh_perl -a
+	dh_fixperms -a
+	dh_installdeb -a
+	dh_shlibdeps -a
+	dh_gencontrol -a
+	dh_md5sums -a
+	dh_builddeb -a
+
+binary: binary-indep binary-arch
+
+.PHONY: build clean binary-indep binary-arch binary install
diff --git a/debian/changelog b/debian/nginx.changelog.in
similarity index 98%
rename from debian/changelog
rename to debian/nginx.changelog.in
index 40d4224..32adaf0 100644
--- a/debian/changelog
+++ b/debian/nginx.changelog.in
@@ -1,3 +1,9 @@
+nginx (%%MAIN_VERSION%%-%%MAIN_RELEASE%%~%%CODENAME%%) %%CODENAME%%; urgency=low
+
+  * 1.11.5
+
+ -- Andrei Belov <defan@nginx.com>  Mon, 10 Oct 2016 10:15:00 +0300
+
 nginx (1.11.4-1~%%CODENAME%%) %%CODENAME%%; urgency=low
 
   * 1.11.4
diff --git a/debian/nginx.control.in b/debian/nginx.control.in
new file mode 100644
index 0000000..31a0360
--- /dev/null
+++ b/debian/nginx.control.in
@@ -0,0 +1,29 @@
+Source: nginx
+Section: httpd
+Priority: optional
+Maintainer: Sergey Budnevitch <sb@nginx.com>
+Build-Depends: debhelper (>= 9~),
+               dpkg-dev (>= 1.16.1~),
+               quilt (>= 0.46-7~),
+               lsb-release,
+               libssl-dev (>= 0.9.7),
+               libpcre3-dev,
+               zlib1g-dev
+Standards-Version: 3.9.8.0
+Homepage: http://nginx.org
+
+Package: nginx
+Architecture: any
+Depends: ${misc:Depends}, ${shlibs:Depends}, lsb-base, adduser
+Provides: httpd
+Description: high performance web server
+ nginx [engine x] is an HTTP and reverse proxy server, as well as
+ a mail proxy server.
+
+Package: nginx-dbg
+Architecture: any
+Section: debug
+Priority: extra
+Depends: ${misc:Depends}, nginx (= ${binary:Version})
+Description: nginx debug symbols
+ This package contains the debugging symbols for nginx.
diff --git a/debian/nginx.docs b/debian/nginx.docs
index 6268349..687f935 100644
--- a/debian/nginx.docs
+++ b/debian/nginx.docs
@@ -1,2 +1,2 @@
-README
 CHANGES.ru
+README
diff --git a/debian/init.d.in b/debian/nginx.init.in
similarity index 100%
rename from debian/init.d.in
rename to debian/nginx.init.in
diff --git a/debian/nginx.install b/debian/nginx.install
new file mode 100644
index 0000000..0865ff1
--- /dev/null
+++ b/debian/nginx.install
@@ -0,0 +1,12 @@
+debian/nginx.conf			etc/nginx
+conf/win-utf				etc/nginx
+conf/koi-utf				etc/nginx
+conf/koi-win				etc/nginx
+conf/mime.types				etc/nginx
+conf/scgi_params			etc/nginx
+conf/fastcgi_params			etc/nginx
+conf/uwsgi_params			etc/nginx
+html/index.html				usr/share/nginx/html
+html/50x.html				usr/share/nginx/html
+debian/build-nginx/objs/nginx		usr/sbin
+debian/build-nginx-debug/objs/nginx-debug	usr/sbin
diff --git a/debian/logrotate b/debian/nginx.logrotate
similarity index 100%
rename from debian/logrotate
rename to debian/nginx.logrotate
diff --git a/debian/nginx.rules.in b/debian/nginx.rules.in
new file mode 100755
index 0000000..afa208b
--- /dev/null
+++ b/debian/nginx.rules.in
@@ -0,0 +1,133 @@
+#!/usr/bin/make -f
+
+#export DH_VERBOSE=1
+export DEB_BUILD_MAINT_OPTIONS=hardening=+all,-pie
+DPKG_EXPORT_BUILDFLAGS = 1
+include /usr/share/dpkg/buildflags.mk
+
+PKGS = nginx nginx-dbg
+
+BUILDDIR_nginx = $(CURDIR)/debian/build-nginx
+BUILDDIR_nginx_debug = $(CURDIR)/debian/build-nginx-debug
+INSTALLDIR = $(CURDIR)/debian/nginx
+BASEDIR = $(CURDIR)
+
+ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
+	NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
+	ifeq (${NUMJOBS}, 0)
+		NUMJOBS = 1
+	endif
+else
+	NUMJOBS = 1
+endif
+
+DO_PKGS = $(PKGS)
+
+config.env.%:
+	dh_testdir
+	mkdir -p $(BUILDDIR_$*)
+	cp -Pa $(CURDIR)/auto $(BUILDDIR_$*)/
+	cp -Pa $(CURDIR)/conf $(BUILDDIR_$*)/
+	cp -Pa $(CURDIR)/configure $(BUILDDIR_$*)/
+	cp -Pa $(CURDIR)/contrib $(BUILDDIR_$*)/
+	cp -Pa $(CURDIR)/man $(BUILDDIR_$*)/
+	cp -Pa $(CURDIR)/src $(BUILDDIR_$*)/
+	touch $@
+
+config.status.nginx: config.env.nginx
+	cd $(BUILDDIR_nginx) && \
+	CFLAGS="" ./configure %%BASE_CONFIGURE_ARGS%% --with-cc-opt="$(CFLAGS)" --with-ld-opt="$(LDFLAGS)"
+	touch $@
+
+config.status.nginx_debug: config.env.nginx_debug
+	cd $(BUILDDIR_nginx_debug) && \
+	CFLAGS="" ./configure %%BASE_CONFIGURE_ARGS%% --with-cc-opt="$(CFLAGS)" --with-ld-opt="$(LDFLAGS)" --with-debug
+	touch $@
+
+build-arch.%: config.status.%
+	dh_testdir
+	dh_prep
+	$(MAKE) -j$(NUMJOBS) -C $(BUILDDIR_$*) build
+
+build-arch: build-arch.nginx build-arch.nginx_debug
+	dh_testdir
+	touch $@
+
+build-dbg.%: install
+	dh_testdir
+	dh_strip --dbg-package=nginx-dbg
+
+build-dbg: build-dbg.nginx
+	dh_testdir
+	touch $@
+
+build-indep:
+	dh_testdir
+	touch $@
+
+build: build-arch build-indep
+	dh_testdir
+	touch $@
+
+clean:
+	dh_testdir
+	dh_testroot
+	dh_clean
+	rm -f $(CURDIR)/objs
+	rm -rf $(CURDIR)/debian/build-*
+	rm -f $(CURDIR)/debian/*.init
+	find $(CURDIR) -maxdepth 1 -size 0 -delete
+
+post-build:
+	mv $(BUILDDIR_nginx_debug)/objs/nginx $(BUILDDIR_nginx_debug)/objs/nginx-debug
+	ln -s $(BUILDDIR_nginx)/objs $(CURDIR)/objs
+	cp $(BUILDDIR_nginx)/objs/nginx.8 $(BUILDDIR_nginx)/objs/nginx-debug.8
+
+install:
+	dh_testdir
+	dh_testroot
+	dh_prep
+	dh_installdirs
+	dh_install
+	mkdir -p $(INSTALLDIR)/usr/lib/nginx/modules
+	mkdir -p $(INSTALLDIR)/usr/share/doc/nginx
+	install -m 644 debian/CHANGES $(INSTALLDIR)/usr/share/doc/nginx/changelog
+	install -m 644 debian/nginx.vh.default.conf $(INSTALLDIR)/etc/nginx/conf.d/default.conf
+	ln -s /usr/lib/nginx/modules $(INSTALLDIR)/etc/nginx/modules
+
+binary-indep: build post-build install
+	dh_testdir
+	dh_testroot
+	dh_installman -i -pnginx
+	dh_installdebconf
+	sed -e 's/%%PROVIDES%%/nginx/g' \
+		-e 's/%%DEFAULTSTART%%/2 3 4 5/g' \
+		-e 's/%%DEFAULTSTOP%%/0 1 6/g' \
+		< debian/nginx.init.in > debian/nginx.init
+	dh_installinit -i -pnginx --no-restart-on-upgrade --no-start --name=nginx
+	sed -e 's/%%PROVIDES%%/nginx-debug/g' \
+		-e 's/%%DEFAULTSTART%%//g' \
+		-e 's/%%DEFAULTSTOP%%/0 1 2 3 4 5 6/g' \
+		< debian/nginx.init.in > debian/nginx-debug.init
+	dh_installinit -i -pnginx --no-restart-on-upgrade --no-start --noscripts --name=nginx-debug
+	dh_installlogrotate -i -pnginx --name=nginx
+
+binary-arch: install build-dbg
+	dh_testdir
+	dh_testroot
+	dh_installchangelogs -a
+	dh_installdocs -a
+	dh_lintian -a
+	dh_link -aA
+	dh_compress -a
+	dh_perl -a
+	dh_fixperms -a
+	dh_installdeb -a
+	dh_shlibdeps -a
+	dh_gencontrol -a
+	dh_md5sums -a
+	dh_builddeb $(foreach p,$(DO_PKGS),-p$(p))
+
+binary: binary-indep binary-arch
+
+.PHONY: build clean binary-indep binary-arch binary install
diff --git a/debian/rules b/debian/rules
deleted file mode 100755
index 282f86d..0000000
--- a/debian/rules
+++ /dev/null
@@ -1,140 +0,0 @@
-#!/usr/bin/make -f
-
-#export DH_VERBOSE=1
-
-export DEB_BUILD_MAINT_OPTIONS=hardening=+all,-pie
-
-DPKG_EXPORT_BUILDFLAGS = 1
-include /usr/share/dpkg/buildflags.mk
-
-WITH_HTTP2 := $(shell printf \
-	"Source: nginx\nBuild-Depends: libssl-dev (>= 1.0.1)\n" | \
-	dpkg-checkbuilddeps - >/dev/null 2>&1 && \
-	echo "--with-http_v2_module")
-PKGS = nginx nginx-dbg \
-	nginx-module-xslt nginx-module-geoip nginx-module-image-filter \
-	nginx-module-perl nginx-module-njs
-COMMON_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 \
-	--user=nginx \
-	--group=nginx \
-	--with-http_ssl_module \
-	--with-http_realip_module \
-	--with-http_addition_module \
-	--with-http_sub_module \
-	--with-http_dav_module \
-	--with-http_flv_module \
-	--with-http_mp4_module \
-	--with-http_gunzip_module \
-	--with-http_gzip_static_module \
-	--with-http_random_index_module \
-	--with-http_secure_link_module \
-	--with-http_stub_status_module \
-	--with-http_auth_request_module \
-	--with-http_xslt_module=dynamic \
-	--with-http_image_filter_module=dynamic \
-	--with-http_geoip_module=dynamic \
-	--with-http_perl_module=dynamic \
-	--add-dynamic-module=debian/extra/njs-0.1.2/nginx \
-	--with-threads \
-	--with-stream \
-	--with-stream_ssl_module \
-	--with-stream_ssl_preread_module \
-	--with-stream_realip_module \
-	--with-stream_geoip_module=dynamic \
-	--with-http_slice_module \
-	--with-mail \
-	--with-mail_ssl_module \
-	--with-file-aio \
-	--with-ipv6 \
-	$(WITH_HTTP2) \
-	--with-cc-opt="$(CFLAGS)" \
-	--with-ld-opt="$(LDFLAGS)"
-
-%:
-	dh $@ 
-
-override_dh_auto_configure: configure_debug
-
-override_dh_strip:
-	dh_strip --dbg-package=nginx-dbg
-
-override_dh_auto_build:
-	dh_auto_build
-	mv objs/nginx objs/nginx-debug
-	mv objs/ngx_http_xslt_filter_module.so objs/ngx_http_xslt_filter_module-debug.so
-	mv objs/ngx_http_image_filter_module.so objs/ngx_http_image_filter_module-debug.so
-	mv objs/ngx_http_geoip_module.so objs/ngx_http_geoip_module-debug.so
-	mv objs/ngx_http_perl_module.so objs/ngx_http_perl_module-debug.so
-	mv objs/src/http/modules/perl/blib/arch/auto/nginx/nginx.so objs/src/http/modules/perl/blib/arch/auto/nginx/nginx-debug.so
-	mv objs/ngx_http_js_module.so objs/ngx_http_js_module-debug.so
-	mv objs/ngx_stream_js_module.so objs/ngx_stream_js_module-debug.so
-	mv objs/ngx_stream_geoip_module.so objs/ngx_stream_geoip_module-debug.so
-	CFLAGS="" ./configure $(COMMON_CONFIGURE_ARGS)
-	dh_auto_build
-
-configure_debug:
-	CFLAGS="" ./configure $(COMMON_CONFIGURE_ARGS) \
-		--with-debug
-
-override_dh_installinit:
-	dh_installinit --no-start --no-restart-on-upgrade
-	dh_installinit --no-start --no-restart-on-upgrade --noscripts --init-script=nginx-debug --name=nginx-debug
-
-override_dh_auto_install:
-	sed -e 's/%%PROVIDES%%/nginx/g' \
-		-e 's/%%DEFAULTSTART%%/2 3 4 5/g' \
-		-e 's/%%DEFAULTSTOP%%/0 1 6/g' \
-		< debian/init.d.in > debian/init.d
-	dh_auto_install
-	mkdir -p debian/nginx/etc/init.d debian/nginx/etc/default \
-		debian/nginx/usr/lib/nginx/modules
-	sed -e 's/%%PROVIDES%%/nginx-debug/g' \
-		-e 's/%%DEFAULTSTART%%//g' \
-		-e 's/%%DEFAULTSTOP%%/0 1 2 3 4 5 6/g' \
-		< debian/init.d.in > debian/nginx.nginx-debug.init
-	/usr/bin/install -m 644 debian/nginx-debug.default \
-		debian/nginx/etc/default/nginx-debug
-	/usr/bin/install -m 644 debian/nginx.conf debian/nginx/etc/nginx/
-	/usr/bin/install -m 644 conf/win-utf debian/nginx/etc/nginx/
-	/usr/bin/install -m 644 conf/koi-utf debian/nginx/etc/nginx/
-	/usr/bin/install -m 644 conf/koi-win debian/nginx/etc/nginx/
-	/usr/bin/install -m 644 conf/mime.types debian/nginx/etc/nginx/
-	/usr/bin/install -m 644 conf/scgi_params debian/nginx/etc/nginx/
-	/usr/bin/install -m 644 conf/fastcgi_params debian/nginx/etc/nginx/
-	/usr/bin/install -m 644 conf/uwsgi_params debian/nginx/etc/nginx/
-	/usr/bin/install -m 644 html/index.html \
-		debian/nginx/usr/share/nginx/html/
-	/usr/bin/install -m 644 html/50x.html \
-		debian/nginx/usr/share/nginx/html/
-	/usr/bin/install -m 644 debian/nginx.vh.default.conf \
-		debian/nginx/etc/nginx/conf.d/default.conf
-	/usr/bin/install -m 755 objs/nginx  debian/nginx/usr/sbin/
-	/usr/bin/install -m 755 objs/nginx-debug  debian/nginx/usr/sbin/
-	cd debian/nginx/etc/nginx && /bin/ln -s \
-		../../usr/lib/nginx/modules modules && cd -
-
-override_dh_gencontrol:
-	for p in $(PKGS); do \
-		if [ -e debian/$$p.version ]; then \
-			dpkg-gencontrol -p$$p -ldebian/changelog -Tdebian/$$p.substvars -Pdebian/$$p -v`cat debian/$$p.version`~`lsb_release -cs`; \
-		else \
-			dpkg-gencontrol -p$$p -ldebian/changelog -Tdebian/$$p.substvars -Pdebian/$$p ; \
-		fi ; \
-	done
-
-override_dh_clean:
-	dh_clean
-	rm -f debian/*init.d
diff --git a/debian/source/lintian-overrides b/debian/source/lintian-overrides
index a351a52..c4bc670 100644
--- a/debian/source/lintian-overrides
+++ b/debian/source/lintian-overrides
@@ -1,5 +1,3 @@
 # this is just wrong for us
 nginx source: changelog-should-mention-nmu
 nginx source: source-nmu-has-incorrect-version-number
-# nginx dynamic modules depend on the exact version of the binary they were built against
-nginx source: not-binnmuable-any-depends-any