From 59ab4cd69bbbc0b93a833ab5591d6962604e1c0e7248cbd288324e4a9b658488 Mon Sep 17 00:00:00 2001 From: James Oakley Date: Fri, 21 Feb 2014 20:03:09 +0000 Subject: [PATCH] - Update to 2.0.1 - Add a Debian build OBS-URL: https://build.opensuse.org/package/show/server:http/uwsgi?expand=0&rev=29 --- debian.tar.gz | 3 + uwsgi-1.9.19.tar.gz | 3 - uwsgi-2.0.1.tar.gz | 3 + uwsgi.changes | 145 ++++++++++++++++++++++++++++++++++++++++++++ uwsgi.dsc | 61 +++++++++++++++++++ uwsgi.spec | 95 ++++++++++------------------- 6 files changed, 244 insertions(+), 66 deletions(-) create mode 100644 debian.tar.gz delete mode 100644 uwsgi-1.9.19.tar.gz create mode 100644 uwsgi-2.0.1.tar.gz create mode 100644 uwsgi.dsc diff --git a/debian.tar.gz b/debian.tar.gz new file mode 100644 index 0000000..c52b3b1 --- /dev/null +++ b/debian.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4d9747aa11e4c44861195dcd167a88ab7292f36890dc343848bd581853e11976 +size 55737 diff --git a/uwsgi-1.9.19.tar.gz b/uwsgi-1.9.19.tar.gz deleted file mode 100644 index 8daf09a..0000000 --- a/uwsgi-1.9.19.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f4af5a227e8b7e81016142fe0575d979f5c1dd047766bcba9a6c8bc2f5fce4e8 -size 724162 diff --git a/uwsgi-2.0.1.tar.gz b/uwsgi-2.0.1.tar.gz new file mode 100644 index 0000000..917887a --- /dev/null +++ b/uwsgi-2.0.1.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e84e498c217a793571f803d04fca4f2877dd856e9c5af1e66e645132d70c7cc2 +size 750771 diff --git a/uwsgi.changes b/uwsgi.changes index c481de4..130849d 100644 --- a/uwsgi.changes +++ b/uwsgi.changes @@ -1,3 +1,148 @@ +------------------------------------------------------------------- +Fri Feb 21 16:49:14 UTC 2014 - jfunk@funktronics.ca + +- Update to 2.0.1: + * Bugfixes + * due to a wrong prototype declaration, building uWSGI without SSL + resulted in a compilation bug. The issue has been fixed. + * a race condition preventing usage of a massive number of threads in the + PyPy plugin has been fixed + * check for heartbeat status only if heartbeat subsystem has been enabled + * improved heartbeat code to support various corner cases + * improved psgi.input to support offset in read() + * fixed (and simplified) perl stacktrace usage + * fixed sni secured subscription + * CGI plugin does not require anymore that Status header is the first one + (Andjelko Horvat) + * fixed CPython mule_msg_get timeout parsing + * allows embedding of config files via absolute paths + * fixed symcall rpc + * fixed a memory leak in CPython spooler api (xiaost) + * The --no-orphans hardening has been brought back (currently Linux-only) + * improved dotsplit router mode to reduce DOS risk + * sub-Emperor are now loyal by default + * fixed non-shared ruby 1.8.7 support + * fixed harakiri CPython tracebacker + * request vars are now correctly exposed by the stats server + * support log-master for logfile-chown + * improved legion reload + * fixed tuntap netmask + * fixed busyness plugin without metrics subsystem + * New features + * See http://uwsgi-docs.readthedocs.org/en/latest/Changelog-2.0.1.html + * Perl native Spooler support + * --alarm-backlog: Raise the specified alarm when the listen queue is full + * --close-on-exec2: applies CLOSE_ON_EXEC socket flag on all of the server + sockets + * simple notifications subsystem for subscriptions + * pid namespace for daemons (Linux only) + * The fastrouter and the http/https/spdy router now support + "resubscription". + * filesystem monitor api + * support for yajl 1.0 + * for-readline: a config-logic iterator that yields file lines + * %i magic var: returns the inode of the currently parsed file + * %j magic var: returns hex representation of 32bit djb33x hashing of the + currently parsed absolute filename + * --inject-before and --inject-after: prepend and append 'blobs' to a + config file + * --http-server-name-as-http-host: This flag allow the http router to map + SERVER_NAME to HTTP_HOST automatically instead of instructing your uWSGI + instances to do it + * better Emperor's Ragnarok (shutdown procedure) + * PyPy paste support +Changes from 2.0.0: + * Important changes + * Dynamic options have been definitely removed as well as the + broken_plugins directory + * Bugfixes and improvements + * improved log rotation + * do not rely on unix signals to print request status during harakiri + * added magic vars for uid and gid + * various Lua fixes + * a tons of coverity-governed bugfixes made by Riccardo Magliocchetti + * New features + * --attach-daemon2: this is a keyval based option for configuring external + daemons + * Linux setns() support + * "private" hooks + * Support for yajl library (JSON parser) + * Perl spooler support + * Gateways can drop privileges + * Subscriptions-governed SNI contexts +* Changes from 1.9.21: + * Bugfixes + * croak if the psgi streamer fails + * allows building coroae on raspberrypi + * do not wait for write availability until strictly required + * avoid segfault when async mode api is called without async mode + * fixed plain (without suspend engine) async mode + * do not spit errors on non x86 timerfd_create + * support timerfd_create/timerfd_settime on __arm__ + * Optimizations + * writev() for the first chunk + * use a single buffer for websockets outgoing packets + * New features + * See http://uwsgi-docs.readthedocs.org/en/latest/Changelog-1.9.21.html + * removed zeromq api + * The shared area subsystem has been rewritten + * report request data in writers and readers + * Modular logchunks management + * 6 new request logging variables are available: + * tmsecs: report the current unix time in milliseconds + * tmicros: report the current unix time in microseconds + * werr: report the number of write errors for the current request + * rerr: report the number of read errors for the current request + * ioerr: the sum of werr and rerr + * var.XXX: report the context of the request var XXX (like + var.PATH_INFO) + * mountpoints and mules support for symcall + * read2 and wait_milliseconds async hooks + * websockets binary messages + * the 'S' master fifo command + * as-mule hook + * accepting hook and improved chain reloading + * --after-request-call: this option allows you to call specific C + functions (in chains) after each request + * error pages + * Simplified plugins builder +* Changes from 1.9.20: + * First round of deprecations and removals for 2.0 + * The Go plugin is now considered "broken" and has been moved away from + the plugins directory. The new blessed way for running Go apps in uWSGI + is using the GCCGO plugin. + * The --auto-snapshot option has been removed, advanced management of + instances now happens via MasterFIFO + * The matheval support has been removed, while a generic "matheval" plugin + (for internal routing) is available (but not compiled in by default). + See below for the new way for making "math" in config files. + * The "erlang" and "pyerl" plugins are broken and has been moved out of + the plugins directory. Erlang support will be completely rewritten after + 2.0 release. + * Bugfixes + * Fixed master hang when gracefully reloading in lazy mode. + * Fixed default_app usage. + * Another round of coverity fixes by Riccardo Magliocchetti. + * Fixed EAGAIN management when reading the body. + * New features + * See http://uwsgi-docs.readthedocs.org/en/latest/Changelog-1.9.20.html + * 64bit return values for the RPC subsystem + * The new GCCGO plugin + * Simple math in configuration files + * New magic vars + * %t: Unix time (in seconds, gathered at instance startup) + * %T: Unix time (in microseconds, gathered at instance startup) + * %k: Number of detected CPU cores + * Perl/PSGI improvements + * New native protocols: --https-socket and --ssl-socket + * PROXY (version1) protocol support + * New metrics collectors + * avg: Compute the math average of children + * accumulator: Always add the value of the specified children to the + final value + * multiplier: Multiply the sum of the specified children for the value + specified in arg1n + ------------------------------------------------------------------- Sun Nov 10 20:06:51 UTC 2013 - jfunk@funktronics.ca diff --git a/uwsgi.dsc b/uwsgi.dsc new file mode 100644 index 0000000..209740d --- /dev/null +++ b/uwsgi.dsc @@ -0,0 +1,61 @@ +Format: 1.0 +Source: uwsgi +Binary: uwsgi, uwsgi-dbg, uwsgi-core, uwsgi-emperor, uwsgi-plugins-all, uwsgi-infrastructure-plugins, uwsgi-app-integration-plugins, uwsgi-plugin-alarm-curl, uwsgi-plugin-alarm-xmpp, uwsgi-plugin-curl-cron, uwsgi-plugin-emperor-pg, uwsgi-plugin-erlang, uwsgi-plugin-rbthreads, uwsgi-plugin-fiber, uwsgi-plugin-geoip, uwsgi-plugin-graylog2, uwsgi-plugin-greenlet-python, uwsgi-plugin-jvm-openjdk-6, uwsgi-plugin-jvm-openjdk-7, uwsgi-plugin-jwsgi-openjdk-6, uwsgi-plugin-jwsgi-openjdk-7, uwsgi-plugin-ldap, uwsgi-plugin-lua5.1, uwsgi-plugin-lua5.2, uwsgi-plugin-psgi, uwsgi-plugin-pyerl-python, uwsgi-plugin-pyerl-python3, uwsgi-plugin-python, uwsgi-plugin-python3, uwsgi-plugin-rack-ruby1.9.1, uwsgi-plugin-router-access, uwsgi-plugin-sqlite3, uwsgi-plugin-v8, uwsgi-plugin-php, uwsgi-plugin-xslt, libapache2-mod-proxy-uwsgi, libapache2-mod-proxy-uwsgi-dbg, libapache2-mod-uwsgi, libapache2-mod-uwsgi-dbg, libapache2-mod-ruwsgi, libapache2-mod-ruwsgi-dbg, python-uwsgidecorators, + python3-uwsgidecorators, + uwsgi-extra +Architecture: any all +Version: 2.0.1-1 +Maintainer: Janos Guljas +Uploaders: Jonas Smedegaard +Homepage: http://projects.unbit.it/uwsgi/ +Standards-Version: 3.9.4 +Vcs-Browser: http://anonscm.debian.org/gitweb/?p=collab-maint/uwsgi.git +Vcs-Git: git://anonscm.debian.org/collab-maint/uwsgi.git +Build-Depends: cdbs, debhelper (>= 8), apache2-dev | apache2-threaded-dev, erlang-dev, help2man, javahelper, libapr1-dev, libaprutil1-dev, libjansson-dev, libldap2-dev, liblua5.1-0-dev, liblua5.2-dev, libperl-dev, libpq-dev, libcurl4-openssl-dev, libgloox-dev, libpam0g-dev, libsqlite3-dev, libxml2-dev, libyaml-dev, libzmq3-dev [!hurd-any] | libzmq-dev [!kfreebsd-any !hurd-any], libphp5-embed, php5-dev, libonig-dev, libdb-dev, libqdbm-dev, libbz2-dev, libwrap0-dev, libgnustep-gui-dev, libgnustep-base-dev, libcoro-perl, libgeoip-dev, libv8-dev [amd64 armel armhf i386 kfreebsd-amd64 kfreebsd-i386 mipsel], libxslt1-dev, libcap-dev [linux-any], libmatheval-dev, libjail-dev [kfreebsd-any], libkvm-dev [kfreebsd-any], pkg-config, python, python-all-dev, python-greenlet-dev [amd64 armel armhf hurd-i386 i386 kfreebsd-amd64 kfreebsd-i386 mips mipsel powerpc s390 s390x sparc], python3-all-dev, quilt, openjdk-6-jdk [amd64 armel armhf i386 ia64 mips mipsel powerpc s390 s390x sparc], openjdk-7-jdk [amd64 armel armhf i386 ia64 kfreebsd-amd64 kfreebsd-i386 powerpc s390 s390x sparc], ruby1.9.1, ruby1.9.1-dev, uuid-dev +Package-List: + libapache2-mod-proxy-uwsgi deb web extra + libapache2-mod-proxy-uwsgi-dbg deb debug extra + libapache2-mod-ruwsgi deb httpd extra + libapache2-mod-ruwsgi-dbg deb debug extra + libapache2-mod-uwsgi deb httpd extra + libapache2-mod-uwsgi-dbg deb debug extra + python-uwsgidecorators deb python extra + python3-uwsgidecorators deb python extra + uwsgi deb web optional + uwsgi-app-integration-plugins deb web extra + uwsgi-core deb web optional + uwsgi-dbg deb debug extra + uwsgi-emperor deb web optional + uwsgi-extra deb web extra + uwsgi-infrastructure-plugins deb web extra + uwsgi-plugin-alarm-curl deb web extra + uwsgi-plugin-alarm-xmpp deb web extra + uwsgi-plugin-curl-cron deb web extra + uwsgi-plugin-emperor-pg deb web extra + uwsgi-plugin-erlang deb web extra + uwsgi-plugin-fiber deb web extra + uwsgi-plugin-geoip deb web extra + uwsgi-plugin-graylog2 deb web extra + uwsgi-plugin-greenlet-python deb web extra + uwsgi-plugin-jvm-openjdk-6 deb web extra + uwsgi-plugin-jvm-openjdk-7 deb web extra + uwsgi-plugin-jwsgi-openjdk-6 deb web extra + uwsgi-plugin-jwsgi-openjdk-7 deb web extra + uwsgi-plugin-ldap deb web extra + uwsgi-plugin-lua5.1 deb web extra + uwsgi-plugin-lua5.2 deb web extra + uwsgi-plugin-php deb web extra + uwsgi-plugin-psgi deb web extra + uwsgi-plugin-pyerl-python deb web extra + uwsgi-plugin-pyerl-python3 deb web extra + uwsgi-plugin-python deb web extra + uwsgi-plugin-python3 deb web extra + uwsgi-plugin-rack-ruby1.9.1 deb web extra + uwsgi-plugin-rbthreads deb web extra + uwsgi-plugin-router-access deb web extra + uwsgi-plugin-sqlite3 deb web extra + uwsgi-plugin-v8 deb web extra + uwsgi-plugin-xslt deb web extra + uwsgi-plugins-all deb web extra +Debtransform-Tar: uwsgi-2.0.1.tar.gz +Debtransform-Files-Tar: debian.tar.gz diff --git a/uwsgi.spec b/uwsgi.spec index 811779a..d2c3f01 100644 --- a/uwsgi.spec +++ b/uwsgi.spec @@ -1,7 +1,7 @@ # # spec file for package uwsgi # -# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2014 SUSE LINUX Products 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: 1.9.19 +Version: 2.0.1 Release: 0 Summary: Application Container Server for Networked/Clustered Web Applications License: GPL-2.0-with-GCC-exception @@ -50,9 +50,6 @@ Patch4: uwsgi-1.9.13-emperor_pg-Wformat.patch %endif %define apache_libexecdir %(%{apxs} -q LIBEXECDIR) BuildRequires: apache2-devel -%if 0%{?suse_version} > 1210 -BuildRequires: erlang -%endif BuildRequires: gcc-c++ BuildRequires: gcc-objc %if 0%{?suse_version} > 1220 @@ -89,15 +86,11 @@ BuildRequires: pkg-config BuildRequires: postgresql-devel BuildRequires: python-devel BuildRequires: python-greenlet-devel -%if 0%{?suse_version} > 1210 +%if 0%{?suse_version} <= 1310 BuildRequires: ruby19-devel %endif BuildRequires: sqlite3-devel -%if 0%{?suse_version} > 1210 BuildRequires: systemd-devel -%else -BuildRequires: systemd -%endif BuildRequires: tcpd-devel %ifarch %{ix86} x86_64 %{arm} %if 0%{?suse_version} < 1310 @@ -212,20 +205,6 @@ This package contains an emperor plugin allowing for configuration of applications (vassals) via ZeroMQ. -%if 0%{?suse_version} > 1210 -%package erlang -Summary: Erlang Plugin for uWSGI -Group: Productivity/Networking/Web/Servers -Requires: %{name} = %{version} - -%description erlang -uWSGI is a fast, self-healing and developer/sysadmin-friendly application -container server coded in pure C. - -This package contains support for uWSGI to act as an Erlang C-Node and exchange -messages and rpc with Erlang nodes. -%endif - %package geoip Summary: GeoIP Plugin for uWSGI Group: Productivity/Networking/Web/Servers @@ -319,6 +298,18 @@ container server coded in pure C. This package contains support for libffi. +%package logzmq +Summary: ZMQ Logger for uWSGI +Group: Productivity/Networking/Web/Servers +Requires: %{name} = %{version} + +%description logzmq +uWSGI is a fast, self-healing and developer/sysadmin-friendly application +container server coded in pure C. + +This package contains support for ZMQ logging. + + %package lua Summary: Lua Plugin for uWSGI Group: Productivity/Networking/Web/Servers @@ -357,22 +348,6 @@ This package contains the PSGI plugin for running Perl applications that support the PSGI protocol. -%if 0%{?suse_version} > 1210 -%package pyerl -Summary: Python-Erlang Plugin for uWSGI -Group: Productivity/Networking/Web/Servers -Requires: %{name} = %{version} -Requires: %{name}-erlang = %{version} -Requires: %{name}-python = %{version} - -%description pyerl -uWSGI is a fast, self-healing and developer/sysadmin-friendly application -container server coded in pure C. - -This package contains the pyerl module for accessing Erlang functionality to -Python applications. -%endif - %package pypy Summary: PyPy Plugin for uWSGI Group: Productivity/Networking/Web/Servers @@ -397,7 +372,7 @@ container server coded in pure C. This package contains support for Python applications via the WSGI protocol. -%if 0%{?suse_version} > 1210 +%if 0%{?suse_version} <= 1310 %package ruby Summary: Ruby Plugin for uWSGI Group: Productivity/Networking/Web/Servers @@ -486,7 +461,7 @@ excluded_plugins="$excluded_plugins coroae" # Requires libgloox, which is not in Factory excluded_plugins="$excluded_plugins alarm_xmpp" -# No build config for gccgo ATM +# No gccgo in openSUSE yet excluded_plugins="$excluded_plugins gccgo" # These plugins require a libuwsgi, which appears to conflict with core... @@ -504,16 +479,20 @@ excluded_plugins="$excluded_plugins rados" # libtcc not yet in Factory excluded_plugins="$excluded_plugins libtcc" -# V8 is not yet available on all platforms and is broken in the v8 version in 13.1 +# matheval is deprecated +excluded_plugins="$excluded_plugins matheval" + +# V8 is not yet available on all platforms and is broken in the v8 versions in +# 13.1+ %ifarch %{ix86} x86_64 %{arm} -%if 0%{?suse_version} > 1230 +%if 0%{?suse_version} >= 1310 excluded_plugins="$excluded_plugins v8" %endif %endif -%if 0%{?suse_version} <= 1210 -# Requirements missing on openSUSE <= 12.1 -excluded_plugins="$excluded_plugins erlang fiber pyerl rack ruby19 systemd_logger" +# Ruby 1.9 is no longer available after 13.1 +%if 0%{?suse_version} > 1310 +excluded_plugins="$excluded_plugins fiber mongrel2 rack rbthreads ruby19" %endif %if 0%{?suse_version} <= 1220 @@ -581,7 +560,6 @@ install -m 0755 apache2/.libs/*.so %{buildroot}/%{apache_libexecdir} %{_sysconfdir}/uwsgi/vassals/* %dir %{_libdir}/uwsgi %{_unitdir}/uwsgi.service -%{_libdir}/uwsgi/admin_plugin.so %{_libdir}/uwsgi/airbrake_plugin.so %{_libdir}/uwsgi/alarm_curl_plugin.so %{_libdir}/uwsgi/cache_plugin.so @@ -641,9 +619,7 @@ install -m 0755 apache2/.libs/*.so %{buildroot}/%{apache_libexecdir} %{_libdir}/uwsgi/stats_pusher_statsd_plugin.so %{_libdir}/uwsgi/symcall_plugin.so %{_libdir}/uwsgi/syslog_plugin.so -%if 0%{?suse_version} > 1210 %{_libdir}/uwsgi/systemd_logger_plugin.so -%endif %{_libdir}/uwsgi/tornado_plugin.so %{_libdir}/uwsgi/transformation_chunked_plugin.so %{_libdir}/uwsgi/transformation_gzip_plugin.so @@ -674,12 +650,6 @@ install -m 0755 apache2/.libs/*.so %{buildroot}/%{apache_libexecdir} %defattr(-,root,root,-) %{_libdir}/uwsgi/emperor_zeromq_plugin.so -%if 0%{?suse_version} > 1210 -%files erlang -%defattr(-,root,root,-) -%{_libdir}/uwsgi/erlang_plugin.so -%endif - %files geoip %defattr(-,root,root,-) %{_libdir}/uwsgi/geoip_plugin.so @@ -714,6 +684,10 @@ install -m 0755 apache2/.libs/*.so %{buildroot}/%{apache_libexecdir} %defattr(-,root,root,-) %{_libdir}/uwsgi/libffi_plugin.so +%files logzmq +%defattr(-,root,root,-) +%{_libdir}/uwsgi/logzmq_plugin.so + %files lua %defattr(-,root,root,-) %{_libdir}/uwsgi/lua_plugin.so @@ -726,12 +700,6 @@ install -m 0755 apache2/.libs/*.so %{buildroot}/%{apache_libexecdir} %defattr(-,root,root,-) %{_libdir}/uwsgi/psgi_plugin.so -%if 0%{?suse_version} > 1210 -%files pyerl -%defattr(-,root,root,-) -%{_libdir}/uwsgi/pyerl_plugin.so -%endif - %files pypy %defattr(-,root,root,-) %{_libdir}/uwsgi/pypy_plugin.so @@ -741,10 +709,11 @@ install -m 0755 apache2/.libs/*.so %{buildroot}/%{apache_libexecdir} %{_libdir}/uwsgi/python_plugin.so %{python_sitelib}/uwsgidecorators.py* -%if 0%{?suse_version} > 1210 +%if 0%{?suse_version} <= 1310 %files ruby %defattr(-,root,root,-) %{_libdir}/uwsgi/fiber_plugin.so +%{_libdir}/uwsgi/mongrel2_plugin.so %{_libdir}/uwsgi/rack_plugin.so %{_libdir}/uwsgi/rbthreads_plugin.so %{_libdir}/uwsgi/ruby19_plugin.so