From 0cc2a6a69217e5b88c13749a9803d44b44d21ccce2306667374cd17a2de008b2 Mon Sep 17 00:00:00 2001 From: James Oakley Date: Sat, 11 Jul 2015 22:28:57 +0000 Subject: [PATCH] Accepting request 315080 from home:jimfunk:branches:server:http OBS-URL: https://build.opensuse.org/request/show/315080 OBS-URL: https://build.opensuse.org/package/show/server:http/uwsgi?expand=0&rev=40 --- uwsgi-2.0.10-gcc5.patch | 20 +++++++ uwsgi-2.0.10.tar.gz | 3 + uwsgi-2.0.6.tar.gz | 3 - uwsgi.changes | 124 +++++++++++++++++++++++++++++++++++++++- uwsgi.spec | 11 +++- 5 files changed, 154 insertions(+), 7 deletions(-) create mode 100644 uwsgi-2.0.10-gcc5.patch create mode 100644 uwsgi-2.0.10.tar.gz delete mode 100644 uwsgi-2.0.6.tar.gz diff --git a/uwsgi-2.0.10-gcc5.patch b/uwsgi-2.0.10-gcc5.patch new file mode 100644 index 0000000..fc60231 --- /dev/null +++ b/uwsgi-2.0.10-gcc5.patch @@ -0,0 +1,20 @@ +diff --git a/uwsgiconfig.py b/uwsgiconfig.py +index 1e7a1b6..30f7013 100644 +--- a/uwsgiconfig.py ++++ b/uwsgiconfig.py +@@ -535,8 +535,13 @@ class uConf(object): + print("detected include path: %s" % self.include_path) + + try: +- gcc_major = int(gcc_version.split('.')[0]) +- gcc_minor = int(gcc_version.split('.')[1]) ++ gcc_version_components = gcc_version.split('.') ++ gcc_major = int(gcc_version_components[0]) ++ if len(gcc_version_components) > 1: ++ gcc_minor = int(gcc_version_components[1]) ++ else: ++ # gcc 5.0 is represented as simply "5" ++ gcc_minor = 0 + except: + raise Exception("you need a C compiler to build uWSGI") + if (sys.version_info[0] == 2) or (gcc_major < 4) or (gcc_major == 4 and gcc_minor < 3): diff --git a/uwsgi-2.0.10.tar.gz b/uwsgi-2.0.10.tar.gz new file mode 100644 index 0000000..cd25021 --- /dev/null +++ b/uwsgi-2.0.10.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c0b381d6c22da931e85e3efe612629fe33a01ac25b0f028aa631b85d86d5028b +size 779820 diff --git a/uwsgi-2.0.6.tar.gz b/uwsgi-2.0.6.tar.gz deleted file mode 100644 index 9f6b30a..0000000 --- a/uwsgi-2.0.6.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a5cd4cf8c7dc694fd433d8492019f30d19e7c3bf233b5f28823795026864166e -size 773418 diff --git a/uwsgi.changes b/uwsgi.changes index 281999b..9b46aab 100644 --- a/uwsgi.changes +++ b/uwsgi.changes @@ -1,7 +1,127 @@ ------------------------------------------------------------------- -Tue Oct 7 05:01:46 UTC 2014 - crrodriguez@opensuse.org +Sun Jun 28 18:10:21 UTC 2015 - jfunk@funktronics.ca -- Use lua-devel only, current versions support lua 5.2 +- Added uwsgi-2.0.10-gcc5.patch to fix build for gcc 5 +- Update to 2.0.10: + * Bugfixes + * Don't lower security standards with gcc 4.9 (Riccardo Magliocchetti) + * Perl/PSGI make sure that at least two params are passed to xs_input_seek + (Ivan Kruglov) + * Perl/PSGI fixed multiple interpreters usage + * spooler: fixed scandir usage + * fixed exception handler arguments management + * fixed 'log-master' + 'daemonize2' disables all logging + * fixed http Range header management + * New Features + * safeexec hook - this is like 'exec' but do not exit on error even if the + executed command returns a non-zero value + * backported --emperor-wrapper-fallback and --emperor-wrapper-override + * added support for UNIX sockets to rsyslog + * forcecl transformation - this transformation works like 'fixcl' but + generates the Content-Length header even if Content-Length has been + listed for removal +- Changes from 2.0.9: + * Bugfixes + * fixed mod_proxy_uwsgi for non-blocking mode (many thanks to Joe cuchac) + * fixed master-fifo + cheaper + * fixed leak on error in bind_to_unix (Riccardo Magliocchetti) + * atexit hooks works in cheaped workers too + * atexit hooks works in gevent mode too during shutdown + * fixed carbon command line option value after reload + * do not honour Emperor throttling on the first run + * fixed Mono plugin + * fixed peer name in corerouters + * fixed stop signal for daemons + * various ssl/tls fixes in https/spdy router + * fixed python3 --py-auto-reload-ignore + * fixed modifiers in corerouters + * support for yajl from homebrew (OSX) + * psgi: Ensure that we call any DESTROY hooks on psgix.harakiri.commit + (Ævar Arnfjörð Bjarmason) + * systemdlogger: fix compilation with -Werror=format-security (Riccardo + Magliocchetti) + * fixed unmasked websockets + * perl fixed latent refcounting bug (Mattia Barbon) + * New Features + * Improved PyPy support for Linux + * Fastrouter post-buffering + * Perl uwsgi::opt - The psgi/perl plugin exposes the uwsgi::opt hash, + reporting the whole instance key-value configuration + * --pull-header - This is like --collect-header but the collected header + is not returned to the client + * active-workers signal target - This is like the 'workers' target, but + forward the signal only to non-cheaper workers + * httpdumb routing action - The http internal router exposes a new mode + called 'httpdumb' that does not change headers before forwarding the + request +- Changes from 2.0.8: + * Bugfixes + * fixed PHP `SCRIPT_NAME` usage when --php-app is in place + * allow "appendn" hook without second argument + * fix heap corruption in the Carbon plugin (credits: Nigel Heron) + * fix getifaddrs() memory management + * fixed `tcsetattr()` usage + * fixed kevent usage of return value (credits: Adriano Di Luzio) + * ensure PSGI response headers are in the right format + * fixed reloading of attached daemons + * fixed SSL/TLS shutdown + * fixed mountpoint logic for paths not ending with / (credits: Adriano Di + Luzio) + * fixed Python3 support in spooler decorators (credits: Adriano Di Luzio) + * New Features + * RTSP and chunked input backports from 2.1 for the HTTP router + * --hook-post-fork - This custom hook allows you to call actions after + each fork() + * fallback to trollius for asyncio plugin + * added sweep_on_full, clear_on_full and no_expire to --cache2 - Three new + options for --cache2 have been added for improving the caching expire + strategies: + * sweep_on_full will call a sweep (delete all of the expired items) as + soon as the cache became full + * clear_on_full will completely clear the cache as soon as it is full + * no_expire forces the cache to not generate a cache sweeper thread, + delegating items removal to the two previous options + * backported wait-for-fs/mountpoints from 2.1: + * --wait-for-fs : suspend the uWSGI startup until a file/directory + is available + * --wait-for-file : suspend the uWSGI startup until a file is + available + * --wait-for-dir : suspend the uWSGI startup until a directory is + available + * --wait-for-mountpoint : suspend the uWSGI startup until a + mountpoint is available + * improved the offload api (backport from 2.1) + * Allows building plugins from remote sources as embedded + * Automatically manage HTTP_X_FORWARDED_PROTO +- Changes from 2.0.7 + * Bugfixes + * fixed counters in Statsd plugin (Joshua C. Forest) + * fixed caching in PHP plugin (Andrew Bevitt) + * fixed management of system users starting with a number + * fixed request body readline using memmove instead of memcpy (Andrew + Wason) + * ignore "user" namespace in setns (still a source of problems) + * fixed Python3 RPC bytes/string mess (result: we support both) + * do not destroy the Emperor on failed mount hooks + * fixed symbol lookup error in the Mono plugin on OS X (Ventero) + * fixed FastCGI and SCGI protocols error when out of buffer happens + * fixed Solaris/SmartOS I/O management + * fixed two memory leaks in the RPC subsystem (Riccardo Magliocchetti) + * fixed the Rados plugin's PUT method (Martin Mlynář) + * fixed multiple Python mountpoints with multiple threads in cow mode + * stats UNIX socket is now deleted by vacuum + * fixed off-by-one corruption in cache LRU mode + * force single-CPU build in Cygwin (Guido Notari) + * New Features + * Allow calling the spooler from every CPython context + * store_delete cache2 option - The store_delete flag of the --cache2 + option allows you to force the cache engine to automatically remove + invalid backing store files instead of steadfastly refusing to launch + * file logger rotation + * Vassal plugin hooks + * Broodlord improvements - The Broodlord subsystem has been improved with + a new option: --vassal-sos that automatically ask for reinforcement when + all of the workers of an instance are busy ------------------------------------------------------------------- Tue Jul 1 17:14:31 UTC 2014 - jfunk@funktronics.ca diff --git a/uwsgi.spec b/uwsgi.spec index 540446e..169ebdd 100644 --- a/uwsgi.spec +++ b/uwsgi.spec @@ -1,7 +1,7 @@ # # spec file for package uwsgi # -# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: uwsgi -Version: 2.0.6 +Version: 2.0.10 Release: 0 Summary: Application Container Server for Networked/Clustered Web Applications License: GPL-2.0-with-GCC-exception @@ -42,6 +42,8 @@ Patch2: uwsgi-1.9.13-objc_gc-no-fobjc-gc.patch 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 +# PATCH-FIX-UPSTREAM uwsgi-2.0.10-gcc5.patch - Fix version detection for GCC 5 +Patch5: uwsgi-2.0.10-gcc5.patch %define apache_branch %(rpm -q --qf %%{version} apache2 | grep -E -o "2\\.[0-9]+") %if "%{apache_branch}" == "2.4" %define apxs %{_bindir}/apxs2 @@ -71,7 +73,11 @@ BuildRequires: libuuid-devel BuildRequires: libxml2-devel BuildRequires: libxslt-devel BuildRequires: libyaml-devel +%if 0%{?suse_version} > 1210 +BuildRequires: lua51-devel +%else BuildRequires: lua-devel +%endif #BuildRequires: mono-web BuildRequires: openldap2-devel BuildRequires: openssl-devel @@ -444,6 +450,7 @@ This package contains support for rendering XML content using XSLT. %patch2 -p1 %patch3 -p1 %patch4 -p1 +%patch5 -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=""