# # spec file for package uwsgi # # 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 # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # Name: uwsgi Version: 2.0.10 Release: 0 Summary: Application Container Server for Networked/Clustered Web Applications License: GPL-2.0-with-GCC-exception Group: Productivity/Networking/Web/Servers Url: http://projects.unbit.it/uwsgi/wiki Source: http://projects.unbit.it/downloads/uwsgi-%{version}.tar.gz Source1: opensuse.ini.in Source2: uwsgi.service Source3: django.ini.example Source4: rails.yml.example Source5: trac.ini.example Source6: werkzeug.xml.example Source7: README.openSUSE Source8: uwsgi.ini # PATCH-FIX-OPENSUSE uwsgi-1.9.17-plugin_build_path.patch - Don't attempt to install plugins to target dest during build Patch0: uwsgi-1.9.17-plugin_build_path.patch # PATCH-FIX-OPENSUSE uwsgi-1.9.17-no-LD_RUN_PATH.patch - Disable invalid rpath in plugins Patch1: uwsgi-1.9.17-no-LD_RUN_PATH.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 # 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 %else %define apxs %{_sbindir}/apxs2 %endif %define apache_libexecdir %(%{apxs} -q LIBEXECDIR) BuildRequires: apache2-devel BuildRequires: gcc-c++ BuildRequires: gcc-objc %if 0%{?suse_version} > 1220 BuildRequires: glusterfs-devel %endif #BuildRequires: go BuildRequires: java-devel #BuildRequires: krb5-devel BuildRequires: libGeoIP-devel BuildRequires: libattr-devel BuildRequires: libcap-devel BuildRequires: libcurl-devel BuildRequires: libffi-devel %if 0%{?suse_version} > 1210 BuildRequires: libjansson-devel %endif #BuildRequires: libmono-2_0-devel 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 BuildRequires: pam-devel BuildRequires: pcre-devel #BuildRequires: php5-devel BuildRequires: pkg-config BuildRequires: postgresql-devel BuildRequires: python-devel BuildRequires: python-greenlet-devel BuildRequires: python3-devel %if 0%{?suse_version} <= 1310 BuildRequires: ruby19-devel %endif BuildRequires: sqlite3-devel BuildRequires: systemd-devel BuildRequires: tcpd-devel %ifarch %{ix86} x86_64 %{arm} %if 0%{?suse_version} < 1310 BuildRequires: v8-devel %endif %endif BuildRequires: zeromq-devel BuildRequires: zlib-devel %{?systemd_requires} BuildRoot: %{_tmppath}/%{name}-%{version}-build Provides: uwsgi-carbon = %{version} Obsoletes: uwsgi-carbon < 1.9.11 Provides: uwsgi-cgi = %{version} Obsoletes: uwsgi-cgi < 1.9.11 Provides: uwsgi-fastrouter = %{version} Obsoletes: uwsgi-fastrouter < 1.9.11 Provides: uwsgi-graylog2 = %{version} Obsoletes: uwsgi-graylog2 < 1.9.11 Provides: uwsgi-http = %{version} Obsoletes: uwsgi-http < 1.9.11 Provides: uwsgi-logsocket = %{version} Obsoletes: uwsgi-logsocket < 1.9.11 Provides: uwsgi-nagios = %{version} Obsoletes: uwsgi-nagios < 1.9.11 Provides: uwsgi-probepg = %{version} Obsoletes: uwsgi-probepg < 1.9.11 Provides: uwsgi-redislog = %{version} Obsoletes: uwsgi-redislog < 1.9.11 Provides: uwsgi-rrdtool = %{version} Obsoletes: uwsgi-rrdtool < 1.9.11 Provides: uwsgi-rsyslog = %{version} Obsoletes: uwsgi-rsyslog < 1.9.11 Provides: uwsgi-syslog = %{version} Obsoletes: uwsgi-syslog < 1.9.11 Provides: uwsgi-ugreen = %{version} Obsoletes: uwsgi-ugreen < 1.9.11 Provides: uwsgi-zergpool = %{version} Obsoletes: uwsgi-zergpool < 1.9.11 %description uWSGI is a fast, self-healing and developer/sysadmin-friendly application container server coded in pure C. Born as a WSGI-only server, over time it has evolved in a complete stack for networked/clustered web applications, implementing message/object passing, caching, RPC and process management. It uses the uwsgi (all lowercase, already included by default in the Nginx and Cherokee releases) protocol for all the networking/interprocess communications, but it can speak other protocols as well (http, fastcgi, mongrel2...) It can be run in preforking mode, threaded, asynchronous/evented and supports various forms of green threads/coroutines (such as uGreen, Greenlet, Stackless, Gevent and Fiber). Sysadmins will love it as it can be configured via several methods: command 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. %package -n apache2-mod_proxy_uwsgi Summary: uWSGI Proxy Module for Apache 2.0 Group: Productivity/Networking/Web/Servers Requires: %{name} = %{version} %description -n apache2-mod_proxy_uwsgi uWSGI is a fast, self-healing and developer/sysadmin-friendly application container server coded in pure C. This package contains an Apache 2.0 proxy module for uWSGI. %package -n apache2-mod_uwsgi Summary: uWSGI Module for Apache 2.0 Group: Productivity/Networking/Web/Servers Requires: %{name} = %{version} %description -n apache2-mod_uwsgi uWSGI is a fast, self-healing and developer/sysadmin-friendly application container server coded in pure C. This package contains an Apache 2.0 module for uWSGI. %package emperor_pg Summary: PostgreSQL Emperor Plugin for uWSGI Group: Productivity/Networking/Web/Servers Requires: %{name} = %{version} %description emperor_pg uWSGI is a fast, self-healing and developer/sysadmin-friendly application container server coded in pure C. This package contains an emperor plugin allowing for configuration of applications (vassals) in a PostgreSQL database. %package emperor_zeromq Summary: ZeroMQ Emperor Plugin for uWSGI Group: Productivity/Networking/Web/Servers Requires: %{name} = %{version} %description emperor_zeromq uWSGI is a fast, self-healing and developer/sysadmin-friendly application container server coded in pure C. This package contains an emperor plugin allowing for configuration of applications (vassals) via ZeroMQ. %package geoip Summary: GeoIP Plugin for uWSGI Group: Productivity/Networking/Web/Servers Requires: %{name} = %{version} Requires: %{name}-python = %{version} %description geoip uWSGI is a fast, self-healing and developer/sysadmin-friendly application container server coded in pure C. This package contains support for GeoIP routing. %package gevent Summary: Gevent Plugin for uWSGI Group: Productivity/Networking/Web/Servers Requires: %{name} = %{version} Requires: %{name}-python = %{version} %description gevent uWSGI is a fast, self-healing and developer/sysadmin-friendly application container server coded in pure C. This package contains support for Python Gevent, which is a non-blocking networking framework. %if 0%{?suse_version} > 1220 %package glusterfs Summary: GlusterFS Plugin for uWSGI Group: Productivity/Networking/Web/Servers Requires: %{name} = %{version} %description glusterfs uWSGI is a fast, self-healing and developer/sysadmin-friendly application container server coded in pure C. This package contains support for returning objects directly from a GlusterFS filesystem %endif %package greenlet Summary: Greenlet Plugin for uWSGI Group: Productivity/Networking/Web/Servers Requires: %{name} = %{version} Requires: %{name}-python = %{version} %description greenlet uWSGI is a fast, self-healing and developer/sysadmin-friendly application container server coded in pure C. This package contains support for the Python Greenlet non-blocking network framework. %package jvm Summary: JVM Plugin for uWSGI Group: Productivity/Networking/Web/Servers Requires: %{name} = %{version} Provides: uwsgi-jwsgi = %{version} Obsoletes: uwsgi-jwsgi < 1.9.11 %description jvm uWSGI is a fast, self-healing and developer/sysadmin-friendly application container server coded in pure C. This package contains support for embedding a Java virtual machine in uWSGI. %package ldap Summary: LDAP Plugin for uWSGI Group: Productivity/Networking/Web/Servers Requires: %{name} = %{version} %description ldap uWSGI is a fast, self-healing and developer/sysadmin-friendly application container server coded in pure C. This package contains support for configuring uWSGI via LDAP. %package libffi Summary: libffi Plugin for uWSGI Group: Productivity/Networking/Web/Servers Requires: %{name} = %{version} %description libffi uWSGI is a fast, self-healing and developer/sysadmin-friendly application 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 Requires: %{name} = %{version} %description lua uWSGI is a fast, self-healing and developer/sysadmin-friendly application container server coded in pure C. This package contains support for Lua applications via the wsapi interface. %package pam Summary: PAM Plugin for uWSGI Group: Productivity/Networking/Web/Servers Requires: %{name} = %{version} %description pam uWSGI is a fast, self-healing and developer/sysadmin-friendly application container server coded in pure C. This package contains support for PAM authentication. %package psgi Summary: PSGI Plugin for uWSGI Group: Productivity/Networking/Web/Servers Requires: %{name} = %{version} %{?libperl_requires} %description psgi uWSGI is a fast, self-healing and developer/sysadmin-friendly application container server coded in pure C. This package contains the PSGI plugin for running Perl applications that support the PSGI protocol. %package pypy Summary: PyPy Plugin for uWSGI Group: Productivity/Networking/Web/Servers Requires: %{name} = %{version} %description pypy uWSGI is a fast, self-healing and developer/sysadmin-friendly application container server coded in pure C. This package contains support for Python applications using PyPy. %package python Summary: Python Plugin for uWSGI Group: Productivity/Networking/Web/Servers Requires: %{name} = %{version} %description python uWSGI is a fast, self-healing and developer/sysadmin-friendly application container server coded in pure C. This package contains support for Python applications via the WSGI protocol. %package python3 Summary: Python 3 Plugin for uWSGI Group: Productivity/Networking/Web/Servers Requires: %{name} = %{version} %description python3 uWSGI is a fast, self-healing and developer/sysadmin-friendly application container server coded in pure C. This package contains support for Python 3 applications via the WSGI protocol. %if 0%{?suse_version} <= 1310 %package ruby Summary: Ruby Plugin for uWSGI Group: Productivity/Networking/Web/Servers Requires: %{name} = %{version} Requires: ruby19 Provides: uwsgi-fiber = %{version} Obsoletes: uwsgi-fiber < 1.9.11 %description ruby uWSGI is a fast, self-healing and developer/sysadmin-friendly application container server coded in pure C. This package contains support for Ruby applications. %endif %package sqlite3 Summary: SQLite3 Plugin for uWSGI Group: Productivity/Networking/Web/Servers Requires: %{name} = %{version} %description sqlite3 uWSGI is a fast, self-healing and developer/sysadmin-friendly application container server coded in pure C. This package contains support for storing application configuration in SQLite3 databases. %ifarch %{ix86} x86_64 %{arm} %if 0%{?suse_version} < 1310 %package v8 Summary: V8 JavaScript Plugin for uWSGI Group: Productivity/Networking/Web/Servers Requires: %{name} = %{version} %description v8 uWSGI is a fast, self-healing and developer/sysadmin-friendly application container server coded in pure C. This package contains support for JavaScript using V8. %endif %endif %package xslt Summary: XSLT Plugin for uWSGI Group: Productivity/Networking/Web/Servers Requires: %{name} = %{version} %description xslt uWSGI is a fast, self-healing and developer/sysadmin-friendly application container server coded in pure C. This package contains support for rendering XML content using XSLT. %prep %setup -q -n uwsgi-%{version} %patch0 -p1 %patch1 -p1 %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="" # Still no mongodb in Factory excluded_plugins="$excluded_plugins stats_pusher_mongodb emperor_mongodb mongodb mongodblog gridfs" # Mono plugin builds private key during build. It would not be a good idea to # distribute the same key to multiple systems excluded_plugins="$excluded_plugins mono" # Only for OSX excluded_plugins="$excluded_plugins alarm_speech" # No libphp on openSUSE for some reason excluded_plugins="$excluded_plugins php" # No stackless in openSUSE excluded_plugins="$excluded_plugins stackless" # No perl-Coro in Factory (there is a broken unmaintained one under d:l:perl:CPAN-C) excluded_plugins="$excluded_plugins coroae" # Requires libgloox, which is not in Factory excluded_plugins="$excluded_plugins alarm_xmpp" # No gccgo in openSUSE yet excluded_plugins="$excluded_plugins gccgo" # This plugin require a libuwsgi, which appears to conflict with core... excluded_plugins="$excluded_plugins pyuwsgi" # The SPNEGO router is not complete excluded_plugins="$excluded_plugins router_spnego" # These are example plugins and shouldn't be distributed excluded_plugins="$excluded_plugins cplusplus dummy example" # Ceph/RADOS not yet in Factory excluded_plugins="$excluded_plugins rados" # libtcc not yet in Factory excluded_plugins="$excluded_plugins libtcc" # 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} >= 1310 excluded_plugins="$excluded_plugins v8" %endif %endif # 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 # Requirements missing on openSUSE <= 12.2 excluded_plugins="$excluded_plugins glusterfs" %endif plugins=$(python -c "import sys, os; print ', '.join([p for p in os.listdir('plugins') if p not in sys.argv[1:]])" $excluded_plugins) sed -e "s#@@LIBDIR@@#%{_libdir}#" -e "s#@@PLUGINS@@#$plugins#" %{SOURCE1} > buildconf/opensuse.ini # README.openSUSE cp %{SOURCE7} . %build # Find correct location for libjvm export UWSGICONFIG_JVM_LIBPATH=$(dirname $(find %{_jvmdir}/java/jre/lib -name "libjvm.so" | grep server)) export UWSGICONFIG_JVM_INCPATH="%{_jvmdir}/java/include" export UWSGICONFIG_LUALIB="lua" export UWSGICONFIG_LUAPC="lua" export UWSGICONFIG_RUBYPATH="ruby1.9" export CFLAGS="%{optflags} -I$(echo %{_libdir}/erlang/lib/erl_interface-*/include) -I%{_jvmdir}/java/include/linux -L$UWSGICONFIG_JVM_LIBPATH/jli" %{?jobs:export CPUCOUNT=%jobs} python uwsgiconfig.py --build opensuse # Build python3 plugin python3 uwsgiconfig.py --plugin plugins/python opensuse python3 # Build Apache modules %{apxs} -c apache2/mod_proxy_uwsgi.c %{apxs} -c apache2/mod_uwsgi.c %install install -D -m 0755 uwsgi %{buildroot}%{_sbindir}/uwsgi install -d -m 0755 %{buildroot}%{_libdir}/uwsgi install -m 0755 *_plugin.so %{buildroot}%{_libdir}/uwsgi install -D -m 0644 %{SOURCE2} %{buildroot}%{_unitdir}/uwsgi.service install -d -m 0755 %{buildroot}%{_sysconfdir}/uwsgi/vassals install -D -m 0644 %{SOURCE8} %{buildroot}%{_sysconfdir}/uwsgi/uwsgi.ini install -m 0644 %{SOURCE3} %{SOURCE4} %{SOURCE5} %{SOURCE6} %{buildroot}%{_sysconfdir}/uwsgi/vassals install -m 0644 vassals/broodlord.ini %{buildroot}%{_sysconfdir}/uwsgi/vassals/broodlord.ini.example install -m 0644 vassals/cc.ini %{buildroot}%{_sysconfdir}/uwsgi/vassals/cc.ini.example install -m 0644 vassals/multi.xml %{buildroot}%{_sysconfdir}/uwsgi/vassals/multi.xml.example install -D -m 0644 uwsgidecorators.py %{buildroot}%{python_sitelib}/uwsgidecorators.py %py_compile %{buildroot}%{python_sitelib} install -D -m 0644 uwsgidecorators.py %{buildroot}%{python3_sitelib}/uwsgidecorators.py %py_compile %{buildroot}%{python3_sitelib} install -D plugins/jvm/uwsgi.jar %{buildroot}%{_javadir}/uwsgi.jar install -d -m 0755 %{buildroot}/%{apache_libexecdir} install -m 0755 apache2/.libs/*.so %{buildroot}/%{apache_libexecdir} %if 0%{?suse_version} > 1220 ln -sf /usr/sbin/service %{buildroot}%{_sbindir}/rcuwsgi %endif %pre %service_add_pre uwsgi.service %post %service_add_post uwsgi.service %preun %service_del_preun uwsgi.service %postun %service_del_postun uwsgi.service %files %defattr(-,root,root,-) %doc CONTRIBUTORS LICENSE README contrib examples README.openSUSE %{_sbindir}/uwsgi %dir %{_sysconfdir}/uwsgi/ %config(noreplace) %{_sysconfdir}/uwsgi/uwsgi.ini %dir %{_sysconfdir}/uwsgi/vassals %{_sysconfdir}/uwsgi/vassals/* %dir %{_libdir}/uwsgi %{_unitdir}/uwsgi.service %if 0%{?suse_version} > 1220 %{_sbindir}/rcuwsgi %endif %{_libdir}/uwsgi/airbrake_plugin.so %{_libdir}/uwsgi/alarm_curl_plugin.so %{_libdir}/uwsgi/asyncio_plugin.so %{_libdir}/uwsgi/cache_plugin.so %{_libdir}/uwsgi/carbon_plugin.so %{_libdir}/uwsgi/cgi_plugin.so %{_libdir}/uwsgi/cheaper_backlog2_plugin.so %{_libdir}/uwsgi/cheaper_busyness_plugin.so %{_libdir}/uwsgi/clock_monotonic_plugin.so %{_libdir}/uwsgi/clock_realtime_plugin.so %{_libdir}/uwsgi/corerouter_plugin.so %{_libdir}/uwsgi/curl_cron_plugin.so %{_libdir}/uwsgi/dumbloop_plugin.so %{_libdir}/uwsgi/emperor_amqp_plugin.so %{_libdir}/uwsgi/exception_log_plugin.so %{_libdir}/uwsgi/fastrouter_plugin.so %{_libdir}/uwsgi/forkptyrouter_plugin.so %{_libdir}/uwsgi/echo_plugin.so %{_libdir}/uwsgi/graylog2_plugin.so %{_libdir}/uwsgi/http_plugin.so %{_libdir}/uwsgi/legion_cache_fetch_plugin.so %{_libdir}/uwsgi/logcrypto_plugin.so %{_libdir}/uwsgi/logfile_plugin.so %{_libdir}/uwsgi/logpipe_plugin.so %{_libdir}/uwsgi/logsocket_plugin.so %{_libdir}/uwsgi/nagios_plugin.so %{_libdir}/uwsgi/objc_gc_plugin.so %{_libdir}/uwsgi/msgpack_plugin.so %{_libdir}/uwsgi/notfound_plugin.so %{_libdir}/uwsgi/ping_plugin.so %{_libdir}/uwsgi/pty_plugin.so %{_libdir}/uwsgi/rawrouter_plugin.so %{_libdir}/uwsgi/redislog_plugin.so %{_libdir}/uwsgi/router_access_plugin.so %{_libdir}/uwsgi/router_basicauth_plugin.so %{_libdir}/uwsgi/router_cache_plugin.so %{_libdir}/uwsgi/router_expires_plugin.so %{_libdir}/uwsgi/router_hash_plugin.so %{_libdir}/uwsgi/router_http_plugin.so %{_libdir}/uwsgi/router_memcached_plugin.so %{_libdir}/uwsgi/router_metrics_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 %{_libdir}/uwsgi/signal_plugin.so %{_libdir}/uwsgi/spooler_plugin.so %{_libdir}/uwsgi/ssi_plugin.so %{_libdir}/uwsgi/sslrouter_plugin.so %{_libdir}/uwsgi/stats_pusher_file_plugin.so %{_libdir}/uwsgi/stats_pusher_socket_plugin.so %{_libdir}/uwsgi/stats_pusher_statsd_plugin.so %{_libdir}/uwsgi/symcall_plugin.so %{_libdir}/uwsgi/syslog_plugin.so %{_libdir}/uwsgi/systemd_logger_plugin.so %{_libdir}/uwsgi/tornado_plugin.so %{_libdir}/uwsgi/transformation_chunked_plugin.so %{_libdir}/uwsgi/transformation_gzip_plugin.so %{_libdir}/uwsgi/transformation_offload_plugin.so %{_libdir}/uwsgi/transformation_template_plugin.so %{_libdir}/uwsgi/transformation_tofile_plugin.so %{_libdir}/uwsgi/transformation_toupper_plugin.so %{_libdir}/uwsgi/tuntap_plugin.so %{_libdir}/uwsgi/ugreen_plugin.so %{_libdir}/uwsgi/webdav_plugin.so %{_libdir}/uwsgi/xattr_plugin.so %{_libdir}/uwsgi/zabbix_plugin.so %{_libdir}/uwsgi/zergpool_plugin.so %files -n apache2-mod_proxy_uwsgi %defattr(-,root,root,-) %{apache_libexecdir}/mod_proxy_uwsgi.so %files -n apache2-mod_uwsgi %defattr(-,root,root,-) %{apache_libexecdir}/mod_uwsgi.so %files emperor_pg %defattr(-,root,root,-) %{_libdir}/uwsgi/emperor_pg_plugin.so %files emperor_zeromq %defattr(-,root,root,-) %{_libdir}/uwsgi/emperor_zeromq_plugin.so %files geoip %defattr(-,root,root,-) %{_libdir}/uwsgi/geoip_plugin.so %files gevent %defattr(-,root,root,-) %{_libdir}/uwsgi/gevent_plugin.so %files greenlet %defattr(-,root,root,-) %{_libdir}/uwsgi/greenlet_plugin.so %if 0%{?suse_version} > 1220 %files glusterfs %defattr(-,root,root,-) %{_libdir}/uwsgi/glusterfs_plugin.so %endif %files jvm %defattr(-,root,root,-) %{_libdir}/uwsgi/jvm_plugin.so %{_libdir}/uwsgi/jwsgi_plugin.so %{_libdir}/uwsgi/ring_plugin.so %{_libdir}/uwsgi/servlet_plugin.so %{_javadir}/uwsgi.jar %files ldap %defattr(-,root,root,-) %{_libdir}/uwsgi/ldap_plugin.so %files libffi %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 %files pam %defattr(-,root,root,-) %{_libdir}/uwsgi/pam_plugin.so %files psgi %defattr(-,root,root,-) %{_libdir}/uwsgi/psgi_plugin.so %files pypy %defattr(-,root,root,-) %{_libdir}/uwsgi/pypy_plugin.so %files python %defattr(-,root,root,-) %{_libdir}/uwsgi/python_plugin.so %{python_sitelib}/uwsgidecorators.py* %files python3 %defattr(-,root,root,-) %{_libdir}/uwsgi/python3_plugin.so %{python3_sitelib}/uwsgidecorators.py* %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 %endif %files sqlite3 %defattr(-,root,root,-) %{_libdir}/uwsgi/sqlite3_plugin.so %ifarch %{ix86} x86_64 %{arm} %if 0%{?suse_version} < 1310 %files v8 %defattr(-,root,root,-) %{_libdir}/uwsgi/v8_plugin.so %endif %endif %files xslt %defattr(-,root,root,-) %{_libdir}/uwsgi/xslt_plugin.so %changelog