SHA256
1
0
forked from pool/uwsgi

Accepting request 555662 from server:http

- fix a leaf problem found by repo-checker
  * uwsgi-python3 can't be install because it requires python-base = 3.6
    which should be python3-base
- creating /run/uwsgi for sockets via systemd service now
- Update to 2.0.15: [2017-03-30]
  * workaround for the holy allocator for avoiding crashes with newrelic (see
    Issues notes)
  * avoid time overflow in request logs during (even minimal) clock skew
  * fixed python logger with python3
  * fixed catch-exceptions with python3
  * backported “don’t clone $env->{‘psgix.io’} on ‘PSGI cancel’”
  * added support for authentication in the redis logger
  * added the spinningfifo action hook to the core
  * fixed compilation with php 7.1 (Дамјан Георгиевски)
  * correctly returns error code 22 in lazy_apps + master_mode
  * fixed compilation for OpenSSL 1.1 (Riccardo Magliocchetti)
  * Add a –skip-atexit-teardown option to skip perl/python teardown (Ævar
    Arnfjörð Bjarmason)
  * fixed static file serving over https-socket
- building now php7 plugin via php7-embed package for Factory/Tumbleweed
- removing uwsgi-1.9.13-emperor_pg-Wformat.patch
- Trim filler wording from description.

OBS-URL: https://build.opensuse.org/request/show/555662
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/uwsgi?expand=0&rev=24
This commit is contained in:
Dominique Leuenberger 2017-12-14 09:55:16 +00:00 committed by Git OBS Bridge
commit 41cd677aa8
6 changed files with 110 additions and 81 deletions

View File

@ -1,12 +0,0 @@
--- 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']

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:21b3d1ef926d835ff23576193a2c60d4c896d8e21567850cf0677a4764122887
size 788971

3
uwsgi-2.0.15.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:572ef9696b97595b4f44f6198fe8c06e6f4e6351d930d22e5330b071391272ff
size 795070

View File

@ -1,3 +1,41 @@
-------------------------------------------------------------------
Sun Dec 10 04:51:02 UTC 2017 - i@marguerite.su
- fix a leaf problem found by repo-checker
* uwsgi-python3 can't be install because it requires python-base = 3.6
which should be python3-base
-------------------------------------------------------------------
Wed Nov 09 00:00:00 UTC 2017 - sven@uebelacker.net
- creating /run/uwsgi for sockets via systemd service now
-------------------------------------------------------------------
Wed Oct 26 00:00:00 UTC 2017 - sven@uebelacker.net
- Update to 2.0.15: [2017-03-30]
* workaround for the holy allocator for avoiding crashes with newrelic (see
Issues notes)
* avoid time overflow in request logs during (even minimal) clock skew
* fixed python logger with python3
* fixed catch-exceptions with python3
* backported “dont clone $env->{psgix.io} on PSGI cancel
* added support for authentication in the redis logger
* added the spinningfifo action hook to the core
* fixed compilation with php 7.1 (Дамјан Георгиевски)
* correctly returns error code 22 in lazy_apps + master_mode
* fixed compilation for OpenSSL 1.1 (Riccardo Magliocchetti)
* Add a skip-atexit-teardown option to skip perl/python teardown (Ævar
Arnfjörð Bjarmason)
* fixed static file serving over https-socket
- building now php7 plugin via php7-embed package for Factory/Tumbleweed
- removing uwsgi-1.9.13-emperor_pg-Wformat.patch
-------------------------------------------------------------------
Wed Oct 18 08:35:31 UTC 2017 - jengelh@inai.de
- Trim filler wording from description.
------------------------------------------------------------------- -------------------------------------------------------------------
Sat Jun 24 06:59:57 UTC 2017 - bwiedemann@suse.com Sat Jun 24 06:59:57 UTC 2017 - bwiedemann@suse.com

View File

@ -1,7 +1,11 @@
[Unit] [Unit]
Description=Application Container Server for Networked/Clustered Web Applications Description=Application Container Server for Networked/Clustered Web Applications
Requires=var-run.mount
After=var-run.mount
Documentation=https://uwsgi-docs.readthedocs.io/en/latest/
[Service] [Service]
ExecStartPre=/usr/bin/install -d -o wwwrun -g www -m 0755 /run/uwsgi
ExecStart=/usr/sbin/uwsgi --autoload --ini /etc/uwsgi/uwsgi.ini ExecStart=/usr/sbin/uwsgi --autoload --ini /etc/uwsgi/uwsgi.ini
Restart=always Restart=always
Type=notify Type=notify

View File

@ -1,7 +1,7 @@
# #
# spec file for package uwsgi # spec file for package uwsgi
# #
# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. # Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -17,12 +17,12 @@
Name: uwsgi Name: uwsgi
Version: 2.0.14 Version: 2.0.15
Release: 0 Release: 0
Summary: Application Container Server for Networked/Clustered Web Applications Summary: Application Container Server for Networked/Clustered Web Applications
License: GPL-2.0-with-GCC-exception License: GPL-2.0-with-GCC-exception
Group: Productivity/Networking/Web/Servers Group: Productivity/Networking/Web/Servers
Url: http://projects.unbit.it/uwsgi/wiki Url: https://uwsgi-docs.readthedocs.io/en/latest/
Source: http://projects.unbit.it/downloads/uwsgi-%{version}.tar.gz Source: http://projects.unbit.it/downloads/uwsgi-%{version}.tar.gz
Source1: opensuse.ini.in Source1: opensuse.ini.in
Source2: uwsgi.service Source2: uwsgi.service
@ -40,10 +40,8 @@ Patch1: uwsgi-2.0.12-no-LD_RUN_PATH.patch
Patch2: uwsgi-1.9.13-objc_gc-no-fobjc-gc.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 # 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 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 reproducible.patch https://github.com/unbit/uwsgi/pull/1561 # PATCH-FIX-UPSTREAM reproducible.patch https://github.com/unbit/uwsgi/pull/1561
Patch5: reproducible.patch Patch4: reproducible.patch
%define apache_branch %(rpm -q --qf %%{version} apache2 | grep -E -o "2\\.[0-9]+") %define apache_branch %(rpm -q --qf %%{version} apache2 | grep -E -o "2\\.[0-9]+")
%if "%{apache_branch}" == "2.4" %if "%{apache_branch}" == "2.4"
%define apxs %{_bindir}/apxs2 %define apxs %{_bindir}/apxs2
@ -83,7 +81,10 @@ BuildRequires: openldap2-devel
BuildRequires: openssl-devel BuildRequires: openssl-devel
BuildRequires: pam-devel BuildRequires: pam-devel
BuildRequires: pcre-devel BuildRequires: pcre-devel
#BuildRequires: php5-devel %if 0%{?suse_version} > 1320
BuildRequires: php7-devel
BuildRequires: php7-embed
%endif
BuildRequires: pkg-config BuildRequires: pkg-config
BuildRequires: postgresql-devel BuildRequires: postgresql-devel
BuildRequires: python-devel BuildRequires: python-devel
@ -134,12 +135,10 @@ Provides: uwsgi-zergpool = %{version}
Obsoletes: uwsgi-zergpool < 1.9.11 Obsoletes: uwsgi-zergpool < 1.9.11
%description %description
uWSGI is a fast, self-healing and developer/sysadmin-friendly application uWSGI is a self-healing application container server coded in pure C.
container server coded in pure C.
Born as a WSGI-only server, over time it has evolved in a complete stack for It is a WSGI server with a stack for networked/clustered web applications,
networked/clustered web applications, implementing message/object passing, implementing message/object passing, caching, RPC and process management.
caching, RPC and process management.
It uses the uwsgi (all lowercase, already included by default in the Nginx and It uses the uwsgi (all lowercase, already included by default in the Nginx and
Cherokee releases) protocol for all the networking/interprocess communications, Cherokee releases) protocol for all the networking/interprocess communications,
@ -149,12 +148,7 @@ It can be run in preforking mode, threaded, asynchronous/evented and supports
various forms of green threads/coroutines (such as uGreen, Greenlet, Stackless, various forms of green threads/coroutines (such as uGreen, Greenlet, Stackless,
Gevent and Fiber). Gevent and Fiber).
Sysadmins will love it as it can be configured via several methods: command Different plugins can be used in order to add compatibility with
line, environment variables, XML, .ini, yaml, json, sqlite3 database and via
LDAP.
On top of all this, it is designed to be fully modular. This means that
different plugins can be used in order to add compatibility with tons of
different technology on top of the same core. different technology on top of the same core.
@ -164,8 +158,7 @@ Group: Productivity/Networking/Web/Servers
Requires: %{name} = %{version} Requires: %{name} = %{version}
%description -n apache2-mod_proxy_uwsgi %description -n apache2-mod_proxy_uwsgi
uWSGI is a fast, self-healing and developer/sysadmin-friendly application uWSGI is a self-healing application container server coded in pure C.
container server coded in pure C.
This package contains an Apache 2.0 proxy module for uWSGI. This package contains an Apache 2.0 proxy module for uWSGI.
@ -176,8 +169,7 @@ Group: Productivity/Networking/Web/Servers
Requires: %{name} = %{version} Requires: %{name} = %{version}
%description -n apache2-mod_uwsgi %description -n apache2-mod_uwsgi
uWSGI is a fast, self-healing and developer/sysadmin-friendly application uWSGI is a self-healing application container server coded in pure C.
container server coded in pure C.
This package contains an Apache 2.0 module for uWSGI. This package contains an Apache 2.0 module for uWSGI.
@ -188,8 +180,7 @@ Group: Productivity/Networking/Web/Servers
Requires: %{name} = %{version} Requires: %{name} = %{version}
%description emperor_pg %description emperor_pg
uWSGI is a fast, self-healing and developer/sysadmin-friendly application uWSGI is a self-healing application container server coded in pure C.
container server coded in pure C.
This package contains an emperor plugin allowing for configuration of This package contains an emperor plugin allowing for configuration of
applications (vassals) in a PostgreSQL database. applications (vassals) in a PostgreSQL database.
@ -201,8 +192,7 @@ Group: Productivity/Networking/Web/Servers
Requires: %{name} = %{version} Requires: %{name} = %{version}
%description emperor_zeromq %description emperor_zeromq
uWSGI is a fast, self-healing and developer/sysadmin-friendly application uWSGI is a self-healing application container server coded in pure C.
container server coded in pure C.
This package contains an emperor plugin allowing for configuration of This package contains an emperor plugin allowing for configuration of
applications (vassals) via ZeroMQ. applications (vassals) via ZeroMQ.
@ -215,8 +205,7 @@ Requires: %{name} = %{version}
Requires: %{name}-python = %{version} Requires: %{name}-python = %{version}
%description geoip %description geoip
uWSGI is a fast, self-healing and developer/sysadmin-friendly application uWSGI is a self-healing application container server coded in pure C.
container server coded in pure C.
This package contains support for GeoIP routing. This package contains support for GeoIP routing.
@ -228,8 +217,7 @@ Requires: %{name} = %{version}
Requires: %{name}-python = %{version} Requires: %{name}-python = %{version}
%description gevent %description gevent
uWSGI is a fast, self-healing and developer/sysadmin-friendly application uWSGI is a self-healing application container server coded in pure C.
container server coded in pure C.
This package contains support for Python Gevent, which is a non-blocking This package contains support for Python Gevent, which is a non-blocking
networking framework. networking framework.
@ -242,8 +230,7 @@ Group: Productivity/Networking/Web/Servers
Requires: %{name} = %{version} Requires: %{name} = %{version}
%description glusterfs %description glusterfs
uWSGI is a fast, self-healing and developer/sysadmin-friendly application uWSGI is a self-healing application container server coded in pure C.
container server coded in pure C.
This package contains support for returning objects directly from a GlusterFS This package contains support for returning objects directly from a GlusterFS
filesystem filesystem
@ -256,8 +243,7 @@ Requires: %{name} = %{version}
Requires: %{name}-python = %{version} Requires: %{name}-python = %{version}
%description greenlet %description greenlet
uWSGI is a fast, self-healing and developer/sysadmin-friendly application uWSGI is a self-healing application container server coded in pure C.
container server coded in pure C.
This package contains support for the Python Greenlet non-blocking network This package contains support for the Python Greenlet non-blocking network
framework. framework.
@ -271,8 +257,7 @@ Provides: uwsgi-jwsgi = %{version}
Obsoletes: uwsgi-jwsgi < 1.9.11 Obsoletes: uwsgi-jwsgi < 1.9.11
%description jvm %description jvm
uWSGI is a fast, self-healing and developer/sysadmin-friendly application uWSGI is a self-healing application container server coded in pure C.
container server coded in pure C.
This package contains support for embedding a Java virtual machine in uWSGI. This package contains support for embedding a Java virtual machine in uWSGI.
@ -283,20 +268,18 @@ Group: Productivity/Networking/Web/Servers
Requires: %{name} = %{version} Requires: %{name} = %{version}
%description ldap %description ldap
uWSGI is a fast, self-healing and developer/sysadmin-friendly application uWSGI is a self-healing application container server coded in pure C.
container server coded in pure C.
This package contains support for configuring uWSGI via LDAP. This package contains support for configuring uWSGI via LDAP.
%package libffi %package libffi
Summary: libffi Plugin for uWSGI Summary: Plugin libffi for uWSGI
Group: Productivity/Networking/Web/Servers Group: Productivity/Networking/Web/Servers
Requires: %{name} = %{version} Requires: %{name} = %{version}
%description libffi %description libffi
uWSGI is a fast, self-healing and developer/sysadmin-friendly application uWSGI is a self-healing application container server coded in pure C.
container server coded in pure C.
This package contains support for libffi. This package contains support for libffi.
@ -307,8 +290,7 @@ Group: Productivity/Networking/Web/Servers
Requires: %{name} = %{version} Requires: %{name} = %{version}
%description logzmq %description logzmq
uWSGI is a fast, self-healing and developer/sysadmin-friendly application uWSGI is a self-healing application container server coded in pure C.
container server coded in pure C.
This package contains support for ZMQ logging. This package contains support for ZMQ logging.
@ -319,8 +301,7 @@ Group: Productivity/Networking/Web/Servers
Requires: %{name} = %{version} Requires: %{name} = %{version}
%description lua %description lua
uWSGI is a fast, self-healing and developer/sysadmin-friendly application uWSGI is a self-healing application container server coded in pure C.
container server coded in pure C.
This package contains support for Lua applications via the wsapi interface. This package contains support for Lua applications via the wsapi interface.
@ -331,8 +312,7 @@ Group: Productivity/Networking/Web/Servers
Requires: %{name} = %{version} Requires: %{name} = %{version}
%description pam %description pam
uWSGI is a fast, self-healing and developer/sysadmin-friendly application uWSGI is a self-healing application container server coded in pure C.
container server coded in pure C.
This package contains support for PAM authentication. This package contains support for PAM authentication.
@ -344,8 +324,7 @@ Requires: %{name} = %{version}
%{?libperl_requires} %{?libperl_requires}
%description psgi %description psgi
uWSGI is a fast, self-healing and developer/sysadmin-friendly application uWSGI is a self-healing application container server coded in pure C.
container server coded in pure C.
This package contains the PSGI plugin for running Perl applications that This package contains the PSGI plugin for running Perl applications that
support the PSGI protocol. support the PSGI protocol.
@ -357,8 +336,7 @@ Group: Productivity/Networking/Web/Servers
Requires: %{name} = %{version} Requires: %{name} = %{version}
%description pypy %description pypy
uWSGI is a fast, self-healing and developer/sysadmin-friendly application uWSGI is a self-healing application container server coded in pure C.
container server coded in pure C.
This package contains support for Python applications using PyPy. This package contains support for Python applications using PyPy.
@ -367,10 +345,10 @@ This package contains support for Python applications using PyPy.
Summary: Python Plugin for uWSGI Summary: Python Plugin for uWSGI
Group: Productivity/Networking/Web/Servers Group: Productivity/Networking/Web/Servers
Requires: %{name} = %{version} Requires: %{name} = %{version}
Requires: python-base >= 2.7
%description python %description python
uWSGI is a fast, self-healing and developer/sysadmin-friendly application uWSGI is a self-healing application container server coded in pure C.
container server coded in pure C.
This package contains support for Python applications via the WSGI protocol. This package contains support for Python applications via the WSGI protocol.
@ -379,10 +357,10 @@ This package contains support for Python applications via the WSGI protocol.
Summary: Python 3 Plugin for uWSGI Summary: Python 3 Plugin for uWSGI
Group: Productivity/Networking/Web/Servers Group: Productivity/Networking/Web/Servers
Requires: %{name} = %{version} Requires: %{name} = %{version}
Requires: python3-base >= 3.6
%description python3 %description python3
uWSGI is a fast, self-healing and developer/sysadmin-friendly application uWSGI is a self-healing application container server coded in pure C.
container server coded in pure C.
This package contains support for Python 3 applications via the WSGI protocol. This package contains support for Python 3 applications via the WSGI protocol.
@ -397,8 +375,7 @@ Provides: uwsgi-fiber = %{version}
Obsoletes: uwsgi-fiber < 1.9.11 Obsoletes: uwsgi-fiber < 1.9.11
%description ruby %description ruby
uWSGI is a fast, self-healing and developer/sysadmin-friendly application uWSGI is a self-healing application container server coded in pure C.
container server coded in pure C.
This package contains support for Ruby applications. This package contains support for Ruby applications.
%endif %endif
@ -409,8 +386,7 @@ Group: Productivity/Networking/Web/Servers
Requires: %{name} = %{version} Requires: %{name} = %{version}
%description sqlite3 %description sqlite3
uWSGI is a fast, self-healing and developer/sysadmin-friendly application uWSGI is a self-healing application container server coded in pure C.
container server coded in pure C.
This package contains support for storing application configuration in SQLite3 This package contains support for storing application configuration in SQLite3
databases. databases.
@ -424,8 +400,7 @@ Group: Productivity/Networking/Web/Servers
Requires: %{name} = %{version} Requires: %{name} = %{version}
%description v8 %description v8
uWSGI is a fast, self-healing and developer/sysadmin-friendly application uWSGI is a self-healing application container server coded in pure C.
container server coded in pure C.
This package contains support for JavaScript using V8. This package contains support for JavaScript using V8.
%endif %endif
@ -437,11 +412,22 @@ Group: Productivity/Networking/Web/Servers
Requires: %{name} = %{version} Requires: %{name} = %{version}
%description xslt %description xslt
uWSGI is a fast, self-healing and developer/sysadmin-friendly application uWSGI is a self-healing application container server coded in pure C.
container server coded in pure C.
This package contains support for rendering XML content using XSLT. This package contains support for rendering XML content using XSLT.
%if 0%{?suse_version} > 1320
%package php7
Summary: PHP7 Plugin for uWSGI
Group: Productivity/Networking/Web/Servers
Requires: %{name} = %{version}
Requires: php7-embed
%description php7
uWSGI is a self-healing application container server coded in pure C.
This package contains support for PHP version 7.
%endif
%prep %prep
%setup -q -n uwsgi-%{version} %setup -q -n uwsgi-%{version}
@ -450,7 +436,6 @@ This package contains support for rendering XML content using XSLT.
%patch2 -p1 %patch2 -p1
%patch3 -p1 %patch3 -p1
%patch4 -p1 %patch4 -p1
%patch5 -p1
# Generate a config that builds all plugins except for examples and stuff we # Generate a config that builds all plugins except for examples and stuff we
# can't satisfy the requirements for or are just broken # can't satisfy the requirements for or are just broken
excluded_plugins="" excluded_plugins=""
@ -465,8 +450,10 @@ excluded_plugins="$excluded_plugins mono"
# Only for OSX # Only for OSX
excluded_plugins="$excluded_plugins alarm_speech" excluded_plugins="$excluded_plugins alarm_speech"
# No libphp on openSUSE for some reason %if 0%{?suse_version} <= 1320
# No php[57]-embed on openSUSE Leap for some reason
excluded_plugins="$excluded_plugins php" excluded_plugins="$excluded_plugins php"
%endif
# No stackless in openSUSE # No stackless in openSUSE
excluded_plugins="$excluded_plugins stackless" excluded_plugins="$excluded_plugins stackless"
@ -540,6 +527,11 @@ python3 uwsgiconfig.py --plugin plugins/python opensuse python3
%{apxs} -c apache2/mod_proxy_uwsgi.c %{apxs} -c apache2/mod_proxy_uwsgi.c
%{apxs} -c apache2/mod_uwsgi.c %{apxs} -c apache2/mod_uwsgi.c
# Build php7 plugin
%if 0%{?suse_version} > 1320
python3 uwsgiconfig.py --plugin plugins/php opensuse php7
%endif
%install %install
install -D -m 0755 uwsgi %{buildroot}%{_sbindir}/uwsgi install -D -m 0755 uwsgi %{buildroot}%{_sbindir}/uwsgi
install -d -m 0755 %{buildroot}%{_libdir}/uwsgi install -d -m 0755 %{buildroot}%{_libdir}/uwsgi
@ -581,8 +573,9 @@ ln -sf /usr/sbin/service %{buildroot}%{_sbindir}/rcuwsgi
%dir %{_sysconfdir}/uwsgi/ %dir %{_sysconfdir}/uwsgi/
%config(noreplace) %{_sysconfdir}/uwsgi/uwsgi.ini %config(noreplace) %{_sysconfdir}/uwsgi/uwsgi.ini
%dir %{_sysconfdir}/uwsgi/vassals %dir %{_sysconfdir}/uwsgi/vassals
%{_sysconfdir}/uwsgi/vassals/* %config %{_sysconfdir}/uwsgi/vassals/*
%dir %{_libdir}/uwsgi %dir %{_libdir}/uwsgi
%ghost /run/uwsgi
%{_unitdir}/uwsgi.service %{_unitdir}/uwsgi.service
%if 0%{?suse_version} > 1220 %if 0%{?suse_version} > 1220
%{_sbindir}/rcuwsgi %{_sbindir}/rcuwsgi
@ -768,4 +761,10 @@ ln -sf /usr/sbin/service %{buildroot}%{_sbindir}/rcuwsgi
%defattr(-,root,root,-) %defattr(-,root,root,-)
%{_libdir}/uwsgi/xslt_plugin.so %{_libdir}/uwsgi/xslt_plugin.so
%if 0%{?suse_version} > 1320
%files php7
%defattr(-,root,root,-)
%{_libdir}/uwsgi/php*_plugin.so
%endif
%changelog %changelog