From eb3bc3b3a54cc5bd8099b8e3292868d9cde230744623a3bdabd36d81f2f85533 Mon Sep 17 00:00:00 2001 From: James Oakley Date: Tue, 16 Jul 2013 20:15:04 +0000 Subject: [PATCH 1/2] =?UTF-8?q?-=20Update=20to=201.9.13=20=20*=20Bugfixes?= =?UTF-8?q?=20=20=20=20*=20Fixed=20a=20corner=20case=20bug=20when=20respon?= =?UTF-8?q?se=20offloading=20is=20enabled,=20but=20no=20=20=20=20=20=20req?= =?UTF-8?q?uest=20plugin=20is=20loaded=20=20=20=20*=20Fixed=20harakiri=20r?= =?UTF-8?q?outing=20when=20multiple=20rules=20are=20in=20place=20(return?= =?UTF-8?q?=20NEXT=20=20=20=20=20=20instead=20of=20CONTINUE)=20=20=20=20*?= =?UTF-8?q?=20Fixed=20curl=20crashing=20master=20on=20slow=20dns=20respons?= =?UTF-8?q?es=20(=C5=81ukasz=20Mierzwa)=20=20=20=20*=20Removed=20PTRACE=20?= =?UTF-8?q?check=20in=20uwsgi.h=20(it=20is=20no=20more=20needed=20since=20?= =?UTF-8?q?uWSGI=201.0)=20=20=20=20*=20Fixed=20-print-sym=20=20=20=20*=20A?= =?UTF-8?q?dded=20a=20newline=20in=20-cflags=20=20=20=20*=20Improved=20pyt?= =?UTF-8?q?hon3=20detection=20and=20compilation=20=20=20=20*=20Fixed=20Cor?= =?UTF-8?q?o::AnyEvent=20loop=20engine=20(John=20Berthels)=20=20=20=20*=20?= =?UTF-8?q?Rack=20api=20functions=20are=20now=20static=20=20=20=20*=20Bett?= =?UTF-8?q?er=20fastcgi=20handling=20of=20big=20uploads=20=20=20=20*=20Imp?= =?UTF-8?q?roved=20GCC=20usage=20on=20Darwin=20for=20Python=20non-apple=20?= =?UTF-8?q?builds=20=20=20=20*=20Fixed=20XCLIENT=20usage=20in=20rawrouter?= =?UTF-8?q?=20=20=20=20*=20Use=20the=20clang=20preprocessor=20instead=20of?= =?UTF-8?q?=20hardcoded=20'cpp'=20when=20CC=3Dclang=20is=20=20=20=20=20=20?= =?UTF-8?q?used=20=20=20=20*=20Set=2016bit=20options=20to=2065535=20when?= =?UTF-8?q?=20higher=20values=20are=20requested=20=20=20=20*=20Fixed=20vir?= =?UTF-8?q?tualhosting=20(it=20is=20now=20compatible=20with=201.4=20config?= =?UTF-8?q?urations)=20=20*=20New=20features=20=20=20=20*=20https://uwsgi-?= =?UTF-8?q?docs.readthedocs.org/en/latest/Changelog-1.9.13.html=20=20=20?= =?UTF-8?q?=20*=20PyPy=20performance=20and=20features=20improvents=20=20?= =?UTF-8?q?=20=20*=20Chunked=20input=20api=20=20=20=20*=20Toward=20better?= =?UTF-8?q?=20third-party=20plugins=20management:=20the=20-dot-h=20option?= =?UTF-8?q?=20=20=20=20*=20setmethod,=20seturi=20and=20setpathinfo=20routi?= =?UTF-8?q?ng=20action=20=20=20=20*=20UWSGI=5FINCLUDES=20=20=20=20*=20Impr?= =?UTF-8?q?oved=20set=5Fuser=5Fharakiri=20api=20function=20=20=20=20*=20-a?= =?UTF-8?q?dd-cache-item=20[cache=20]KEY=3DVALUE=20=20=20=20*=20the=20rout?= =?UTF-8?q?er=5Fxmldir=20plugin?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit OBS-URL: https://build.opensuse.org/package/show/server:http/uwsgi?expand=0&rev=13 --- README.openSUSE | 2 +- django.ini.example | 1 + ...i-1.9.11-emperor_amqp-fix-comparison.patch | 12 ---- uwsgi-1.9.11.tar.gz | 3 - uwsgi-1.9.13-objc_gc-no-fobjc-gc.patch | 9 +++ uwsgi-1.9.13.tar.gz | 3 + uwsgi.changes | 55 +++++++++++++++++++ uwsgi.spec | 14 +++-- 8 files changed, 79 insertions(+), 20 deletions(-) delete mode 100644 uwsgi-1.9.11-emperor_amqp-fix-comparison.patch delete mode 100644 uwsgi-1.9.11.tar.gz create mode 100644 uwsgi-1.9.13-objc_gc-no-fobjc-gc.patch create mode 100644 uwsgi-1.9.13.tar.gz diff --git a/README.openSUSE b/README.openSUSE index 81c9a76..b53eec9 100644 --- a/README.openSUSE +++ b/README.openSUSE @@ -12,7 +12,7 @@ in favor of a systemd service and a default configuration file Emperor Mode ------------ -The included uwsgi service runs uWSGI in Emperor mode by defgault. It will +The included uwsgi service runs uWSGI in Emperor mode by default. It will monitor the /etc/uwsgi/vassals directory for configurations and will automatically load and restart uWSGI processes when configuration files are placed there or modified. Some example configurations are provided in the diff --git a/django.ini.example b/django.ini.example index 0455351..f9c79ac 100644 --- a/django.ini.example +++ b/django.ini.example @@ -1,4 +1,5 @@ [uwsgi] +plugin = python socket = 127.0.0.1:3034 threads = 40 master = 1 diff --git a/uwsgi-1.9.11-emperor_amqp-fix-comparison.patch b/uwsgi-1.9.11-emperor_amqp-fix-comparison.patch deleted file mode 100644 index 3f03507..0000000 --- a/uwsgi-1.9.11-emperor_amqp-fix-comparison.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- a/plugins/emperor_amqp/amqp.c -+++ b/plugins/emperor_amqp/amqp.c -@@ -453,7 +453,8 @@ static int amqp_wait_connection_tune(int - static char *amqp_simple_get_frame(int fd, struct amqp_frame_header *fh) { - - char *ptr = (char *) fh; -- ssize_t len = 0, rlen; -+ size_t len = 0; -+ ssize_t rlen; - - while(len < 7) { - rlen = recv(fd, ptr, 7-len, 0); diff --git a/uwsgi-1.9.11.tar.gz b/uwsgi-1.9.11.tar.gz deleted file mode 100644 index f1b12d6..0000000 --- a/uwsgi-1.9.11.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e566163a7ffd18f341a0de8462d22410ee58b1f5f54c468e3019f47b7e5c4aa4 -size 634255 diff --git a/uwsgi-1.9.13-objc_gc-no-fobjc-gc.patch b/uwsgi-1.9.13-objc_gc-no-fobjc-gc.patch new file mode 100644 index 0000000..05edc45 --- /dev/null +++ b/uwsgi-1.9.13-objc_gc-no-fobjc-gc.patch @@ -0,0 +1,9 @@ +--- a/plugins/objc_gc/uwsgiplugin.py ++++ b/plugins/objc_gc/uwsgiplugin.py +@@ -1,5 +1,5 @@ + NAME="objc_gc" +-CFLAGS=["-fobjc-gc"] ++CFLAGS=[] + LDFLAGS=[] + LIBS=[] + GCC_LIST=['objc_gc.m'] diff --git a/uwsgi-1.9.13.tar.gz b/uwsgi-1.9.13.tar.gz new file mode 100644 index 0000000..a15dd6c --- /dev/null +++ b/uwsgi-1.9.13.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ac1532698493b117d1b95b0d0bab2113088fc3f0f23a765ddb59504bece3c26e +size 646437 diff --git a/uwsgi.changes b/uwsgi.changes index 671c438..add4194 100644 --- a/uwsgi.changes +++ b/uwsgi.changes @@ -1,3 +1,58 @@ +------------------------------------------------------------------- +Tue Jul 16 17:15:59 UTC 2013 - jfunk@funktronics.ca + +- Update to 1.9.13 + * Bugfixes + * Fixed a corner case bug when response offloading is enabled, but no + request plugin is loaded + * Fixed harakiri routing when multiple rules are in place (return NEXT + instead of CONTINUE) + * Fixed curl crashing master on slow dns responses (Ɓukasz Mierzwa) + * Removed PTRACE check in uwsgi.h (it is no more needed since uWSGI 1.0) + * Fixed -print-sym + * Added a newline in -cflags + * Improved python3 detection and compilation + * Fixed Coro::AnyEvent loop engine (John Berthels) + * Rack api functions are now static + * Better fastcgi handling of big uploads + * Improved GCC usage on Darwin for Python non-apple builds + * Fixed XCLIENT usage in rawrouter + * Use the clang preprocessor instead of hardcoded 'cpp' when CC=clang is + used + * Set 16bit options to 65535 when higher values are requested + * Fixed virtualhosting (it is now compatible with 1.4 configurations) + * New features + * https://uwsgi-docs.readthedocs.org/en/latest/Changelog-1.9.13.html + * PyPy performance and features improvents + * Chunked input api + * Toward better third-party plugins management: the -dot-h option + * setmethod, seturi and setpathinfo routing action + * UWSGI_INCLUDES + * Improved set_user_harakiri api function + * -add-cache-item [cache ]KEY=VALUE + * the router_xmldir plugin + * Implement __call__ for @spool* decorators + * the uwsgi[lq] routing var + * -use-abort +- Changes from 1.9.12 + * Bugfixes + * offloading cache writes will return the correct status code and not 202 + * you can now control the path of temporary files setting the TMPDIR + environment variable (this fixes an old issue for users without control + over /tmp) + * fixed a compilation error on amqp imperial monitor + * cron commands are correctly escaped when reported in the stats server + * fixed fastcgi parser corner-case bug with big uploads + * fixed support for newest cygwin + * New Features + * https://uwsgi-docs.readthedocs.org/en/latest/Changelog-1.9.12.html + * Offloading responses + * JWSGI and JVM improvements + * -touch-signal + * The "pipe" offload engine + * The new redis router + * The "hash" router + ------------------------------------------------------------------- Fri May 31 18:52:08 UTC 2013 - jfunk@funktronics.ca diff --git a/uwsgi.spec b/uwsgi.spec index aebeb7e..170c9a8 100644 --- a/uwsgi.spec +++ b/uwsgi.spec @@ -17,7 +17,7 @@ Name: uwsgi -Version: 1.9.11 +Version: 1.9.13 Release: 0 Summary: Application Container Server for Networked/Clustered Web Applications License: GPL-2.0+ @@ -36,14 +36,15 @@ Source8: uwsgi.ini Patch0: uwsgi-1.9.11-plugin_build_path.patch # PATCH-FIX-OPENSUSE uwsgi-1.9.11-no-LD_RUN_PATH.patch - Disable invalid rpath in plugins Patch1: uwsgi-1.9.11-no-LD_RUN_PATH.patch -# PATCH-FIX-UPSTREAM uwsgi-1.9.11-emperor_amqp-fix-comparison.patch - Fix signed/unsigned comparison -Patch2: uwsgi-1.9.11-emperor_amqp-fix-comparison.patch +# PATCH-FIX-OPENSUSE uwsgi-1.9.13-objc_gc-no-fobjc-gc.patch - No -fobjc-gc in CFLAGS, which is incorrect in GNU +Patch2: uwsgi-1.9.13-objc_gc-no-fobjc-gc.patch # PATCH-FIX-OPENSUSE uwsgi-1.9.11-systemd_logger-old_systemd.patch - Older systemd in 12.2 does not implicity include syslog.h Patch3: uwsgi-1.9.11-systemd_logger-old_systemd.patch %if 0%{?suse_version} > 1210 BuildRequires: erlang %endif BuildRequires: gcc-c++ +BuildRequires: gcc-objc #BuildRequires: go BuildRequires: java-devel #BuildRequires: krb5-devel @@ -474,7 +475,7 @@ install -D plugins/jvm/uwsgi.jar %{buildroot}%{_javadir}/uwsgi.jar %files %defattr(-,root,root,-) -%doc CONTRIBUTORS LICENSE README uwsgi_API.txt contrib examples README.openSUSE +%doc CONTRIBUTORS LICENSE README contrib examples README.openSUSE %{_sbindir}/uwsgi %dir %{_sysconfdir}/uwsgi/ %config(noreplace) %{_sysconfdir}/uwsgi/uwsgi.ini @@ -506,6 +507,7 @@ install -D plugins/jvm/uwsgi.jar %{buildroot}%{_javadir}/uwsgi.jar %{_libdir}/uwsgi/logfile_plugin.so %{_libdir}/uwsgi/logsocket_plugin.so %{_libdir}/uwsgi/nagios_plugin.so +%{_libdir}/uwsgi/objc_gc_plugin.so %{_libdir}/uwsgi/notfound_plugin.so %{_libdir}/uwsgi/ping_plugin.so %{_libdir}/uwsgi/rawrouter_plugin.so @@ -513,13 +515,16 @@ install -D plugins/jvm/uwsgi.jar %{buildroot}%{_javadir}/uwsgi.jar %{_libdir}/uwsgi/router_access_plugin.so %{_libdir}/uwsgi/router_basicauth_plugin.so %{_libdir}/uwsgi/router_cache_plugin.so +%{_libdir}/uwsgi/router_hash_plugin.so %{_libdir}/uwsgi/router_http_plugin.so %{_libdir}/uwsgi/router_memcached_plugin.so %{_libdir}/uwsgi/router_radius_plugin.so %{_libdir}/uwsgi/router_redirect_plugin.so +%{_libdir}/uwsgi/router_redis_plugin.so %{_libdir}/uwsgi/router_rewrite_plugin.so %{_libdir}/uwsgi/router_static_plugin.so %{_libdir}/uwsgi/router_uwsgi_plugin.so +%{_libdir}/uwsgi/router_xmldir_plugin.so %{_libdir}/uwsgi/rpc_plugin.so %{_libdir}/uwsgi/rrdtool_plugin.so %{_libdir}/uwsgi/rsyslog_plugin.so @@ -535,6 +540,7 @@ install -D plugins/jvm/uwsgi.jar %{buildroot}%{_javadir}/uwsgi.jar %endif %{_libdir}/uwsgi/transformation_chunked_plugin.so %{_libdir}/uwsgi/transformation_gzip_plugin.so +%{_libdir}/uwsgi/transformation_offload_plugin.so %{_libdir}/uwsgi/transformation_tofile_plugin.so %{_libdir}/uwsgi/transformation_toupper_plugin.so %{_libdir}/uwsgi/ugreen_plugin.so From f5d0e3e896275cbe27b873f2f017784a73ad1b9513291f69f7fe8a677111e491 Mon Sep 17 00:00:00 2001 From: James Oakley Date: Tue, 16 Jul 2013 20:42:44 +0000 Subject: [PATCH 2/2] - Add -Wformat to emperor_pg CFLAGS since pg-config --cflags returns -Wformat-security and gcc complains about it's exclusion OBS-URL: https://build.opensuse.org/package/show/server:http/uwsgi?expand=0&rev=14 --- uwsgi-1.9.13-emperor_pg-Wformat.patch | 12 ++++++++++++ uwsgi.changes | 6 ++++++ uwsgi.spec | 3 +++ 3 files changed, 21 insertions(+) create mode 100644 uwsgi-1.9.13-emperor_pg-Wformat.patch diff --git a/uwsgi-1.9.13-emperor_pg-Wformat.patch b/uwsgi-1.9.13-emperor_pg-Wformat.patch new file mode 100644 index 0000000..2fe5fa7 --- /dev/null +++ b/uwsgi-1.9.13-emperor_pg-Wformat.patch @@ -0,0 +1,12 @@ +--- a/plugins/emperor_pg/uwsgiplugin.py ++++ b/plugins/emperor_pg/uwsgiplugin.py +@@ -3,6 +3,9 @@ import os + NAME='emperor_pg' + CFLAGS = os.popen('pg_config --cflags').read().rstrip().split() + CFLAGS.append('-I' + os.popen('pg_config --includedir').read().rstrip()) ++# Add -Wformat since gcc complains about it's exclusion when -Wformat-security ++# comes from pg_config ++CFLAGS.append('-Wformat') + LDFLAGS = os.popen('pg_config --ldflags').read().rstrip().split() + LIBS = ['-L' + os.popen('pg_config --libdir').read().rstrip(), '-lpq'] + diff --git a/uwsgi.changes b/uwsgi.changes index add4194..a4c7916 100644 --- a/uwsgi.changes +++ b/uwsgi.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Tue Jul 16 20:41:08 UTC 2013 - jfunk@funktronics.ca + +- Add -Wformat to emperor_pg CFLAGS since pg-config --cflags returns + -Wformat-security and gcc complains about it's exclusion + ------------------------------------------------------------------- Tue Jul 16 17:15:59 UTC 2013 - jfunk@funktronics.ca diff --git a/uwsgi.spec b/uwsgi.spec index 170c9a8..1079017 100644 --- a/uwsgi.spec +++ b/uwsgi.spec @@ -40,6 +40,8 @@ Patch1: uwsgi-1.9.11-no-LD_RUN_PATH.patch Patch2: uwsgi-1.9.13-objc_gc-no-fobjc-gc.patch # PATCH-FIX-OPENSUSE uwsgi-1.9.11-systemd_logger-old_systemd.patch - Older systemd in 12.2 does not implicity include syslog.h Patch3: uwsgi-1.9.11-systemd_logger-old_systemd.patch +# PATCH-FIX-OPENSUSE uwsgi-1.9.13-emperor_pg-Wformat.patch - gcc complains about lack of -Wformat with -Wformat-security from pg_config +Patch4: uwsgi-1.9.13-emperor_pg-Wformat.patch %if 0%{?suse_version} > 1210 BuildRequires: erlang %endif @@ -387,6 +389,7 @@ This package contains support for rendering XML content using XSLT. %patch1 -p1 %patch2 -p1 %patch3 -p1 +%patch4 -p1 # Generate a config that builds all plugins except for examples and stuff we # can't satisfy the requirements for or are just broken excluded_plugins=""