--- Begin Message ---
Source: nginx
Version: 1.9.6-2
Severity: wishlist
introduce build flavour "standard"
* introduce "standard" build: only vanilla source, no 3rd-party modules at all.
reason: Nginx Inc. provides support only for vanilla-based build.
* provide packages: "nginx-standard" and "nginx-standard-dbg".
* make "nginx-standard" as default/first choice
when installing "nginx" meta-package.
* fix other package dependencies (mostly "Conflicts")
Signed-off-by: Konstantin Demin <[email protected]>
---
debian/control | 72 ++++++++++++++++++++++++++-------
debian/nginx-common.preinst | 2 +
debian/nginx-standard.dirs | 1 +
debian/nginx-standard.install | 1 +
debian/nginx-standard.lintian-overrides | 1 +
debian/nginx-standard.manpages | 1 +
debian/nginx-standard.postinst | 37 +++++++++++++++++
debian/nginx-standard.prerm | 22 ++++++++++
debian/rules | 25 +++++++++++-
debian/tests/control | 3 ++
10 files changed, 150 insertions(+), 15 deletions(-)
create mode 100644 debian/nginx-standard.dirs
create mode 100644 debian/nginx-standard.install
create mode 100644 debian/nginx-standard.lintian-overrides
create mode 100644 debian/nginx-standard.manpages
create mode 100644 debian/nginx-standard.postinst
create mode 100644 debian/nginx-standard.prerm
diff --git a/debian/control b/debian/control
index de705d4..865a64d 100644
--- a/debian/control
+++ b/debian/control
@@ -31,12 +31,14 @@ Vcs-Browser:
http://anonscm.debian.org/gitweb/?p=collab-maint/nginx.git;a=summar
Package: nginx
Architecture: all
-Depends: nginx-full (>= ${source:Version}) |
- nginx-light (>= ${source:Version}) |
- nginx-extras (>= ${source:Version}) ,
- nginx-full (<< ${source:Version}.1~) |
- nginx-light (<< ${source:Version}.1~) |
- nginx-extras (<< ${source:Version}.1~) ,
+Depends: nginx-standard (>= ${source:Version}) |
+ nginx-light (>= ${source:Version}) |
+ nginx-full (>= ${source:Version}) |
+ nginx-extras (>= ${source:Version}) ,
+ nginx-standard (<< ${source:Version}.1~) |
+ nginx-light (<< ${source:Version}.1~) |
+ nginx-full (<< ${source:Version}.1~) |
+ nginx-extras (<< ${source:Version}.1~) ,
${misc:Depends}
Description: small, powerful, scalable web/proxy server
Nginx ("engine X") is a high-performance web and reverse proxy server
@@ -63,11 +65,13 @@ Depends: lsb-base (>= 3.2-14), ${misc:Depends}, python
Replaces: nginx (<< 0.8.54-4),
nginx-extras (<< 0.8.54-4),
nginx-full (<< 0.8.54-4),
- nginx-light (<< 0.8.54-4)
+ nginx-light (<< 0.8.54-4),
+ nginx-standard (<< 0.8.54-4)
Breaks: nginx (<< 0.8.54-4),
nginx-extras (<< 0.8.54-4),
nginx-full (<< 0.8.54-4),
- nginx-light (<< 0.8.54-4)
+ nginx-light (<< 0.8.54-4),
+ nginx-standard (<< 0.8.54-4)
Suggests: fcgiwrap, nginx-doc, ssl-cert
Description: small, powerful, scalable web/proxy server - common files
Nginx ("engine X") is a high-performance web and reverse proxy server
@@ -77,12 +81,52 @@ Description: small, powerful, scalable web/proxy server -
common files
This package contains base configuration files used by all versions of
nginx.
+Package: nginx-standard
+Architecture: any
+Depends: nginx-common (= ${source:Version}), ${misc:Depends}, ${shlibs:Depends}
+Breaks: nginx (<< 1.4.5-1)
+Provides: httpd, httpd-cgi, nginx
+Conflicts: nginx-light, nginx-full, nginx-extras
+Suggests: nginx-doc (= ${source:Version})
+Description: nginx web/proxy server (standard version)
+ Nginx ("engine X") is a high-performance web and reverse proxy server
+ created by Igor Sysoev. It can be used both as a standalone web server
+ and as a proxy to reduce the load on back-end HTTP or mail servers.
+ .
+ This package provides a standard version of nginx with the standard modules.
+ .
+ STANDARD HTTP MODULES: Core, Access, Auth Basic, Auto Index, Browser, Empty
+ GIF, FastCGI, Geo, Limit Connections, Limit Requests, Map, Memcached, Proxy,
+ Referer, Rewrite, SCGI, Split Clients, UWSGI.
+ .
+ OPTIONAL HTTP MODULES: Addition, Auth Request, Charset, WebDAV, FLV, GeoIP,
+ Gunzip, Gzip, Gzip Precompression, Headers, Image Filter, Index, Log, MP4,
+ Random Index, Real IP, Secure Link, HTTP/2, SSI, SSL, Stream,
+ Stub Status, Substitution, Thread Pool, Upstream, User ID, XSLT, Degradation.
+ .
+ MAIL MODULES: Mail Core, Auth HTTP, Proxy, SSL, IMAP, POP3, SMTP.
+
+Package: nginx-standard-dbg
+Architecture: any
+Section: debug
+Priority: extra
+Depends: nginx-standard (= ${binary:Version}), ${misc:Depends}
+Conflicts: nginx-light-dbg, nginx-full-dbg, nginx-extras-dbg
+Description: nginx web/proxy server (standard version) - debugging symbols
+ Nginx ("engine X") is a high-performance web and reverse proxy server
+ created by Igor Sysoev. It can be used both as a standalone web server
+ and as a proxy to reduce the load on back-end HTTP or mail servers.
+ .
+ This package provides debugging symbols for nginx-standard, to assist in
+ debugging issues that you may find. It should not be required for normal
+ operation.
+
Package: nginx-full
Architecture: any
Depends: nginx-common (= ${source:Version}), ${misc:Depends}, ${shlibs:Depends}
Breaks: nginx (<< 1.4.5-1)
Provides: httpd, httpd-cgi, nginx
-Conflicts: nginx-extras, nginx-light
+Conflicts: nginx-standard, nginx-light, nginx-extras
Suggests: nginx-doc (= ${source:Version})
Description: nginx web/proxy server (standard version)
Nginx ("engine X") is a high-performance web and reverse proxy server
@@ -112,7 +156,7 @@ Architecture: any
Section: debug
Priority: extra
Depends: nginx-full (= ${binary:Version}), ${misc:Depends}
-Conflicts: nginx-extras-dbg, nginx-light-dbg
+Conflicts: nginx-standard-dbg, nginx-light-dbg, nginx-extras-dbg
Description: nginx web/proxy server (standard version) - debugging symbols
Nginx ("engine X") is a high-performance web and reverse proxy server
created by Igor Sysoev. It can be used both as a standalone web server
@@ -127,7 +171,7 @@ Priority: extra
Depends: nginx-common (= ${source:Version}), ${misc:Depends}, ${shlibs:Depends}
Breaks: nginx (<< 1.4.5-1)
Provides: httpd, httpd-cgi, nginx
-Conflicts: nginx-extras, nginx-full
+Conflicts: nginx-standard, nginx-full, nginx-extras
Suggests: nginx-doc (= ${source:Version})
Description: nginx web/proxy server (basic version)
Nginx ("engine X") is a high-performance web and reverse proxy server
@@ -150,7 +194,7 @@ Architecture: any
Section: debug
Priority: extra
Depends: nginx-light (= ${binary:Version}), ${misc:Depends}
-Conflicts: nginx-extras-dbg, nginx-full-dbg
+Conflicts: nginx-standard-dbg, nginx-full-dbg, nginx-extras-dbg
Description: nginx web/proxy server (basic version) - debugging symbols
Nginx ("engine X") is a high-performance web and reverse proxy server
created by Igor Sysoev. It can be used both as a standalone web server
@@ -169,7 +213,7 @@ Depends: nginx-common (= ${source:Version}),
${shlibs:Depends}
Breaks: nginx (<< 1.4.5-1)
Provides: httpd, httpd-cgi, nginx
-Conflicts: nginx-full, nginx-light
+Conflicts: nginx-standard, nginx-light, nginx-full
Suggests: nginx-doc (= ${source:Version})
Description: nginx web/proxy server (extended version)
Nginx ("engine X") is a high-performance web and reverse proxy server
@@ -200,7 +244,7 @@ Architecture: any
Section: debug
Priority: extra
Depends: nginx-extras (= ${binary:Version}), ${misc:Depends}
-Conflicts: nginx-full-dbg, nginx-light-dbg
+Conflicts: nginx-standard-dbg, nginx-light-dbg, nginx-full-dbg
Description: nginx web/proxy server (extended version) - debugging symbols
Nginx ("engine X") is a high-performance web and reverse proxy server
created by Igor Sysoev. It can be used both as a standalone web server
diff --git a/debian/nginx-common.preinst b/debian/nginx-common.preinst
index 037c80f..7c17da9 100644
--- a/debian/nginx-common.preinst
+++ b/debian/nginx-common.preinst
@@ -15,6 +15,7 @@ case "$1" in
install)
# If we are doing a fresh install, then these files are no longer needed.
# They were around for a very short time and are best simply removed.
+ rm -f /etc/logrotate.d/nginx-standard
rm -f /etc/logrotate.d/nginx-full
rm -f /etc/logrotate.d/nginx-light
rm -f /etc/logrotate.d/nginx-extras
@@ -27,6 +28,7 @@ case "$1" in
rm -f /etc/ufw/applications.d/nginx/ufw.profile
rmdir /etc/ufw/applications.d/nginx
fi
+ rm -f /etc/logrotate.d/nginx-standard
rm -f /etc/logrotate.d/nginx-full
rm -f /etc/logrotate.d/nginx-light
rm -f /etc/logrotate.d/nginx-extras
diff --git a/debian/nginx-standard.dirs b/debian/nginx-standard.dirs
new file mode 100644
index 0000000..236670a
--- /dev/null
+++ b/debian/nginx-standard.dirs
@@ -0,0 +1 @@
+usr/sbin
diff --git a/debian/nginx-standard.install b/debian/nginx-standard.install
new file mode 100644
index 0000000..568d979
--- /dev/null
+++ b/debian/nginx-standard.install
@@ -0,0 +1 @@
+debian/build-standard/objs/nginx usr/sbin
diff --git a/debian/nginx-standard.lintian-overrides
b/debian/nginx-standard.lintian-overrides
new file mode 100644
index 0000000..17c36eb
--- /dev/null
+++ b/debian/nginx-standard.lintian-overrides
@@ -0,0 +1 @@
+nginx-standard: spelling-error-in-binary usr/sbin/nginx tEH the
diff --git a/debian/nginx-standard.manpages b/debian/nginx-standard.manpages
new file mode 100644
index 0000000..f818566
--- /dev/null
+++ b/debian/nginx-standard.manpages
@@ -0,0 +1 @@
+debian/build-standard/objs/nginx.8
diff --git a/debian/nginx-standard.postinst b/debian/nginx-standard.postinst
new file mode 100644
index 0000000..bd9c818
--- /dev/null
+++ b/debian/nginx-standard.postinst
@@ -0,0 +1,37 @@
+#!/bin/sh
+set -e
+
+case "$1" in
+ abort-upgrade|abort-remove|abort-deconfigure|configure)
+ ;;
+
+ *)
+ echo "postinst called with unknown argument \`$1'" >&2
+ exit 1
+ ;;
+esac
+
+if [ -x /etc/init.d/nginx ]; then
+ if [ -f /run/nginx.pid ] && pidof /usr/sbin/nginx >/dev/null; then
+ NGX_PID=`cat /run/nginx.pid`
+ if kill -s USR2 $NGX_PID 2>/dev/null; then
+ while [ ! -s /run/nginx.pid.oldbin ] || [ ! -s /run/nginx.pid ]; do
+ cnt=`expr $cnt + 1`
+ if [ $cnt -gt 10 ]; then
+ kill -s KILL $NGX_PID
+ invoke-rc.d nginx start
+ exit 0
+ fi
+ sleep 1
+ done
+ NGX_OLD_PID=`cat /run/nginx.pid.oldbin`
+ kill -s QUIT $NGX_OLD_PID
+ fi
+ else
+ invoke-rc.d nginx start || exit $?
+ fi
+fi
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/nginx-standard.prerm b/debian/nginx-standard.prerm
new file mode 100644
index 0000000..a2e3838
--- /dev/null
+++ b/debian/nginx-standard.prerm
@@ -0,0 +1,22 @@
+#!/bin/sh
+set -e
+
+case "$1" in
+ remove|remove-in-favour|deconfigure|deconfigure-in-favour)
+ if [ -x /etc/init.d/nginx ]; then
+ invoke-rc.d nginx stop || exit $?
+ fi
+ ;;
+
+ upgrade|failed-upgrade)
+ ;;
+
+ *)
+ echo "prerm called with unknown argument \`$1'" >&2
+ exit 1
+ ;;
+esac
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/rules b/debian/rules
index 1cdef59..3dbb71d 100755
--- a/debian/rules
+++ b/debian/rules
@@ -10,7 +10,7 @@ debian_ldflags:=$(shell dpkg-buildflags --get LDFLAGS)
DEBIAN_NGINX_PERL_LDFLAGS:= $(shell
DEB_BUILD_MAINT_OPTIONS=hardening=+all,-pie dpkg-buildflags --get LDFLAGS)
export DEBIAN_NGINX_PERL_LDFLAGS
-FLAVOURS := full light extras
+FLAVOURS := standard light full extras
MODULESDIR = $(CURDIR)/debian/modules
BASEDIR = $(CURDIR)
@@ -49,6 +49,29 @@ common_configure_flags := \
--with-http_realip_module \
--with-http_auth_request_module
+standard_configure_flags := \
+ $(common_configure_flags) \
+ --with-http_addition_module \
+ --with-http_dav_module \
+ --with-http_flv_module \
+ --with-http_geoip_module \
+ --with-http_gzip_static_module \
+ --with-http_gunzip_module \
+ --with-http_image_filter_module \
+ --with-http_mp4_module \
+ --with-http_random_index_module \
+ --with-http_secure_link_module \
+ --with-http_degradation_module \
+ --with-http_v2_module \
+ --with-http_sub_module \
+ --with-http_xslt_module \
+ --with-mail \
+ --with-mail_ssl_module \
+ --with-stream \
+ --with-stream_ssl_module \
+ --with-threads \
+ --with-file-aio
+
light_configure_flags := \
$(common_configure_flags) \
--with-http_gzip_static_module \
diff --git a/debian/tests/control b/debian/tests/control
index 8d0e384..ad5dbc8 100644
--- a/debian/tests/control
+++ b/debian/tests/control
@@ -10,3 +10,6 @@ Test-Command: curl --silent --fail -o /dev/null -w
"response_code: %{http_code}\
Restrictions: allow-stderr isolation-container
Depends: nginx-extras, curl
+Test-Command: curl --silent --fail -o /dev/null -w "response_code:
%{http_code}\n" http://127.0.0.1/
+Restrictions: allow-stderr isolation-container
+Depends: nginx-standard, curl
--
2.6.2
--- End Message ---