--- Begin Message ---
Source: nginx
Severity: wishlist
Tags: patch
Dear Maintainer,
I'm using the nginx-rtmp-module on a regular basis and it works like a
charm. I maintain a little patch for the nginx package which i use to
build a nginx-stream variant. This variant contains RTMP as well as MP4, FLV
and Lua modules enabled. Besides this changes it's a copy of the light variant.
It would be very nice to have this changes in Debian as i think this variant
is also very useful for other people. If you think adding a new variant
just for this purpose is too much maintenance work please consider to at
least add the RTMP module to nginx-extras.
My patch only includes changes to the git repo and doesn't contain the
module itself. Please download the module source from upstream Github repo
using the following commands:
<snip>
mkdir -p debian/modules/nginx-rtmp-module
cd debian/modules/nginx-rtmp-module
wget https://github.com/arut/nginx-rtmp-module/archive/v1.1.6.tar.gz
tar --strip-components=1 -xzf v1.1.6.tar.gz
rm v1.1.6.tar.gz
cd ../../..
</snip>
regards
Christian Pointner
-- System Information:
Debian Release: jessie/sid
APT prefers utopic-updates
APT policy: (500, 'utopic-updates'), (500, 'utopic-security'), (500,
'utopic'), (100, 'utopic-backports')
Architecture: i386 (i686)
Kernel: Linux 3.16.0-30-generic (SMP w/2 CPU cores)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
>From 81f0da9cffa875e9c6b6a8003c96d69c4c6b15be Mon Sep 17 00:00:00 2001
From: Christian Pointner <[email protected]>
Date: Mon, 9 Feb 2015 19:28:31 +0100
Subject: [PATCH] added variant for streaming applications
Signed-off-by: Christian Pointner <[email protected]>
---
debian/changelog | 10 +++++-
debian/control | 66 ++++++++++++++++++++++++++++------
debian/copyright | 5 +++
debian/modules/README.Modules-versions | 4 +++
debian/nginx-stream.dirs | 1 +
debian/nginx-stream.install | 1 +
debian/nginx-stream.lintian-overrides | 1 +
debian/nginx-stream.postinst | 37 +++++++++++++++++++
debian/nginx-stream.prerm | 22 ++++++++++++
debian/rules | 22 +++++++++++-
debian/source/include-binaries | 7 ++++
debian/tests/control | 3 ++
12 files changed, 166 insertions(+), 13 deletions(-)
create mode 100644 debian/nginx-stream.dirs
create mode 100644 debian/nginx-stream.install
create mode 100644 debian/nginx-stream.lintian-overrides
create mode 100644 debian/nginx-stream.postinst
create mode 100644 debian/nginx-stream.prerm
create mode 100644 debian/source/include-binaries
diff --git a/debian/changelog b/debian/changelog
index e5efd5b..c49e68e 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,6 @@
nginx (1.6.2-6) UNRELEASED; urgency=medium
- [Michael Lustfield]
+ [ Michael Lustfield ]
* debian/conf/sites-available/default:
+ Add comment about disabling gzip in HTTPS. (Closes: #773332)
+ Add comment about checking ssl_ciphers. (Closes: #765782)
@@ -17,6 +17,14 @@ nginx (1.6.2-6) UNRELEASED; urgency=medium
* debian/ngx-conf/*
+ Added configuration utility. (Closes: #652108)
+ [ Christian Pointner ]
+ * added new variant stream as a copy of light with additonal modules
+ + RTMP
+ + FLV
+ + MP4
+ + Embedded Lua
+ * added RTMP module to extras as well.
+
-- Michael Lustfield <[email protected]> Sun, 11 Jan 2015 14:49:36 -0600
nginx (1.6.2-5) unstable; urgency=medium
diff --git a/debian/control b/debian/control
index 58f951d..29f5c75 100644
--- a/debian/control
+++ b/debian/control
@@ -34,10 +34,12 @@ Package: nginx
Architecture: all
Depends: nginx-full (>= ${source:Version}) |
nginx-light (>= ${source:Version}) |
- nginx-extras (>= ${source:Version}) ,
+ nginx-extras (>= ${source:Version}) |
+ nginx-stream (>= ${source:Version}) ,
nginx-full (<< ${source:Version}.1~) |
nginx-light (<< ${source:Version}.1~) |
- nginx-extras (<< ${source:Version}.1~) ,
+ nginx-extras (<< ${source:Version}.1~) |
+ nginx-stream (<< ${source:Version}.1~) ,
${misc:Depends}
Description: small, powerful, scalable web/proxy server
Nginx ("engine X") is a high-performance web and reverse proxy server
@@ -64,11 +66,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-stream (<< 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-stream (<< 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
@@ -83,7 +87,7 @@ 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-extras, nginx-light, nginx-stream
Suggests: nginx-doc (= ${source:Version})
Description: nginx web/proxy server (standard version)
Nginx ("engine X") is a high-performance web and reverse proxy server
@@ -113,7 +117,7 @@ Architecture: any
Section: debug
Priority: extra
Depends: nginx-full (= ${binary:Version}), ${misc:Depends}
-Conflicts: nginx-extras-dbg, nginx-light-dbg
+Conflicts: nginx-extras-dbg, nginx-light-dbg, nginx-stream-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
@@ -128,7 +132,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-extras, nginx-full, nginx-stream
Suggests: nginx-doc (= ${source:Version})
Description: nginx web/proxy server (basic version)
Nginx ("engine X") is a high-performance web and reverse proxy server
@@ -151,7 +155,7 @@ Architecture: any
Section: debug
Priority: extra
Depends: nginx-light (= ${binary:Version}), ${misc:Depends}
-Conflicts: nginx-extras-dbg, nginx-full-dbg
+Conflicts: nginx-extras-dbg, nginx-full-dbg, nginx-stream-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
@@ -170,7 +174,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-full, nginx-light, nginx-stream
Suggests: nginx-doc (= ${source:Version})
Description: nginx web/proxy server (extended version)
Nginx ("engine X") is a high-performance web and reverse proxy server
@@ -192,7 +196,7 @@ Description: nginx web/proxy server (extended version)
.
MAIL MODULES: Mail Core, IMAP, POP3, SMTP, SSL.
.
- THIRD PARTY MODULES: Auth PAM, Chunkin, DAV Ext, Echo, Embedded Lua,
+ THIRD PARTY MODULES: Auth PAM, Chunkin, DAV Ext, RTMP, Echo, Embedded Lua,
Fancy Index, HttpHeadersMore, HTTP Substitution Filter, http push,
Nginx Development Kit, Upload Progress, Upstream Fair Queue.
@@ -201,7 +205,7 @@ Architecture: any
Section: debug
Priority: extra
Depends: nginx-extras (= ${binary:Version}), ${misc:Depends}
-Conflicts: nginx-full-dbg, nginx-light-dbg
+Conflicts: nginx-full-dbg, nginx-light-dbg, nginx-stream-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
@@ -210,3 +214,43 @@ Description: nginx web/proxy server (extended version) - debugging symbols
This package provides debugging symbols for nginx-extras, to assist in
debugging issues that you may find. It should not be required for normal
operation.
+
+Package: nginx-stream
+Architecture: any
+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, nginx-light
+Suggests: nginx-doc (= ${source:Version})
+Description: nginx web/proxy server (streaming 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 very basic version of nginx with only the
+ minimal set of features and modules and some modules which are usefull
+ for streaming applications.
+ .
+ STANDARD HTTP MODULES: Core, Access, Auth Basic, Auto Index, Charset,
+ Empty GIF, FastCGI, Gzip, Headers, Index, Log, Map, Proxy, Rewrite, Upstream.
+ .
+ OPTIONAL HTTP MODULES: Auth Request, Debug, Gzip Precompression, IPv6, Real
+ Ip, SSL, Stub Status, MP4, FLV.
+ .
+ THIRD PARTY MODULES: Echo, Embedded Lua, RTMP.
+
+Package: nginx-stream-dbg
+Architecture: any
+Section: debug
+Priority: extra
+Depends: nginx-stream (= ${binary:Version}), ${misc:Depends}
+Conflicts: nginx-extras-dbg, nginx-full-dbg, nginx-naxsi-dbg, nginx-light-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
+ and as a proxy to reduce the load on back-end HTTP or mail servers.
+ .
+ This package provides debugging symbols for nginx-stream, to assist in
+ debugging issues that you may find. It should not be required for normal
+ operation.
diff --git a/debian/copyright b/debian/copyright
index 9b123d1..a9f8dd2 100644
--- a/debian/copyright
+++ b/debian/copyright
@@ -89,6 +89,10 @@ Files: debian/modules/ngx_http_substitutions_filter_module/*
Copyright: Copyright (C) 2014 by Weibin Yao <[email protected]>
License: BSD-2-clause
+Files: debian/modules/nginx-rtmp-module/*
+Copyright (c) 2012-2014, Roman Arutyunyan
+License: BSD-2-clause
+
Files: debian/*
Copyright: 2007-2009, Fabio Tranchitella <[email protected]>
2008, Jose Parrella <[email protected]>
@@ -97,6 +101,7 @@ Copyright: 2007-2009, Fabio Tranchitella <[email protected]>
2011 Dmitry E. Oboukhov <[email protected]>
2011-2013, Cyril Lavier <[email protected]>
2013-2014, Christos Trochalakis <[email protected]>
+ 2015 Christian Pointner <[email protected]>
License: BSD-2-clause
License: BSD-2-clause
diff --git a/debian/modules/README.Modules-versions b/debian/modules/README.Modules-versions
index d4bd95c..240ba33 100644
--- a/debian/modules/README.Modules-versions
+++ b/debian/modules/README.Modules-versions
@@ -55,3 +55,7 @@ README for Modules versions
ngx_http_substitutions_filter_module
Homepage: https://github.com/yaoweibin/ngx_http_substitutions_filter_module
Version: v0.6.4
+
+ nginx-rtmp-module
+ Homepage: https://github.com/arut/nginx-rtmp-module
+ Version: v1.1.6
diff --git a/debian/nginx-stream.dirs b/debian/nginx-stream.dirs
new file mode 100644
index 0000000..236670a
--- /dev/null
+++ b/debian/nginx-stream.dirs
@@ -0,0 +1 @@
+usr/sbin
diff --git a/debian/nginx-stream.install b/debian/nginx-stream.install
new file mode 100644
index 0000000..9b5ebe7
--- /dev/null
+++ b/debian/nginx-stream.install
@@ -0,0 +1 @@
+debian/build-stream/objs/nginx usr/sbin
diff --git a/debian/nginx-stream.lintian-overrides b/debian/nginx-stream.lintian-overrides
new file mode 100644
index 0000000..3ba2609
--- /dev/null
+++ b/debian/nginx-stream.lintian-overrides
@@ -0,0 +1 @@
+nginx-light: spelling-error-in-binary usr/sbin/nginx tEH the
diff --git a/debian/nginx-stream.postinst b/debian/nginx-stream.postinst
new file mode 100644
index 0000000..bd9c818
--- /dev/null
+++ b/debian/nginx-stream.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-stream.prerm b/debian/nginx-stream.prerm
new file mode 100644
index 0000000..a2e3838
--- /dev/null
+++ b/debian/nginx-stream.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 16f6701..e30cf08 100755
--- a/debian/rules
+++ b/debian/rules
@@ -9,7 +9,7 @@ debian_ldflags:=$(shell dpkg-buildflags --get LDFLAGS)
DEBIAN_NGINX_PERL_LDFLAGS:= $(debian_ldflags)
export DEBIAN_NGINX_PERL_LDFLAGS
-FLAVOURS := full light extras
+FLAVOURS := full light extras stream
MODULESDIR = $(CURDIR)/debian/modules
BASEDIR = $(CURDIR)
@@ -109,10 +109,30 @@ extras_configure_flags := \
--add-module=$(MODULESDIR)/ngx-fancyindex \
--add-module=$(MODULESDIR)/nginx-http-push \
--add-module=$(MODULESDIR)/nginx-lua \
+ --add-module=$(MODULESDIR)/nginx-rtmp-module \
--add-module=$(MODULESDIR)/nginx-upload-progress \
--add-module=$(MODULESDIR)/nginx-upstream-fair \
--add-module=$(MODULESDIR)/ngx_http_substitutions_filter_module
+stream_configure_flags := \
+ $(common_configure_flags) \
+ --with-http_gzip_static_module \
+ --without-http_browser_module \
+ --without-http_geo_module \
+ --without-http_limit_req_module \
+ --without-http_memcached_module \
+ --without-http_referer_module \
+ --without-http_scgi_module \
+ --without-http_split_clients_module \
+ --without-http_ssi_module \
+ --without-http_userid_module \
+ --without-http_uwsgi_module \
+ --with-http_flv_module \
+ --with-http_mp4_module \
+ --add-module=$(MODULESDIR)/nginx-echo \
+ --add-module=$(MODULESDIR)/nginx-lua \
+ --add-module=$(MODULESDIR)/nginx-rtmp-module
+
%:
dh $@ --with systemd
diff --git a/debian/source/include-binaries b/debian/source/include-binaries
new file mode 100644
index 0000000..4a78e95
--- /dev/null
+++ b/debian/source/include-binaries
@@ -0,0 +1,7 @@
+debian/modules/nginx-rtmp-module/test/rtmp-publisher/RtmpPlayerLight.swf
+debian/modules/nginx-rtmp-module/test/rtmp-publisher/RtmpPublisher.swf
+debian/modules/nginx-rtmp-module/test/rtmp-publisher/RtmpPlayer.swf
+debian/modules/nginx-rtmp-module/test/www/bg.jpg
+debian/modules/nginx-rtmp-module/test/www/jwplayer_old/player.swf
+debian/modules/nginx-rtmp-module/test/www/jwplayer/jwplayer.flash.swf
+
diff --git a/debian/tests/control b/debian/tests/control
index 8d0e384..283ec04 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-stream, curl
--
2.1.0
--- End Message ---