From cc0b262296ea685cd277ebe170049102c51ab886 Mon Sep 17 00:00:00 2001 From: Jorge Gallegos Date: Tue, 23 Apr 2013 22:17:02 -0700 Subject: [PATCH] Bumped version to 1.9.8 for f19 This version has tons of new things and improvements. --- .gitignore | 3 + fedora.ini | 18 +++- sources | 3 +- uwsgi.spec | 131 ++++++++++++++++++++++++++---- uwsgi_fix_lua.patch | 25 ++++++ uwsgi_fix_rpath.patch | 67 +++++++++------ uwsgi_ruby20_compatibility.patch | 22 ++--- uwsgi_trick_chroot_rpmbuild.patch | 15 ++-- 8 files changed, 221 insertions(+), 63 deletions(-) create mode 100644 uwsgi_fix_lua.patch diff --git a/.gitignore b/.gitignore index 8f6264b..e90d982 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,9 @@ +*.src.rpm /uwsgi-1.0.4.tar.gz /uwsgi-1.2.3.tar.gz /uwsgi-wiki-doc-v41.txt /uwsgi-1.2.4.tar.gz /uwsgi-wiki-doc-v43.txt /uwsgi-1.2.6.tar.gz +/uwsgi-1.4.5.tar.gz +/uwsgi-1.9.8.tar.gz diff --git a/fedora.ini b/fedora.ini index 36065c4..942a81b 100644 --- a/fedora.ini +++ b/fedora.ini @@ -1,5 +1,17 @@ [uwsgi] -inherit = base -embedded_plugins = echo, ping, http -plugins = rack, psgi, python, nagios, fastrouter, admin, ruby19, cache, cgi, rpc, ugreen, greenlet, lua, php, carbon, rrdtool, rsyslog, syslog +inherit = core +bin_name = uwsgi +xml = true +yaml = true +json = true +pcre = true +routing = true +debug = true +sqlite3 = true +ssl = true +xml_implementation = libxml2 +yaml_implementation = auto +malloc_implementation = libc +embedded_plugins = echo, ping, corerouter, http +plugins = rack, psgi, python, nagios, fastrouter, admin, ruby19, cache, cgi, rpc, ugreen, greenlet, lua, php, carbon, rrdtool, rsyslog, syslog, erlang, pyerl, pam, jvm, logsocket, router_uwsgi, router_redirect, router_basicauth, zergpool, redislog, mongodblog, router_rewrite, router_http, logfile, router_cache, rawrouter, router_static, sslrouter diff --git a/sources b/sources index bbd4763..c83b600 100644 --- a/sources +++ b/sources @@ -1,2 +1 @@ -e704bf8e315129a16ea233342580e5d1 uwsgi-1.2.6.tar.gz -c2fa5a293ccac33e1c9c0277963c841e uwsgi-wiki-doc-v43.txt +f9844674deb5da5565620a53c4b230d1 uwsgi-1.9.8.tar.gz diff --git a/uwsgi.spec b/uwsgi.spec index 1601b0d..1f6421e 100644 --- a/uwsgi.spec +++ b/uwsgi.spec @@ -1,26 +1,24 @@ -%define wikiversion 43 - Name: uwsgi -Version: 1.2.6 -Release: 10%{?dist} +Version: 1.9.8 +Release: 0%{dist} Summary: Fast, self-healing, application container server Group: System Environment/Daemons License: GPLv2 URL: http://projects.unbit.it/uwsgi Source0: http://projects.unbit.it/downloads/%{name}-%{version}.tar.gz Source1: fedora.ini -# curl -o uwsgi-wiki-doc-v${wikiversion}.txt "http://projects.unbit.it/uwsgi/wiki/Doc?version=${wikiversion}&format=txt" -Source2: uwsgi-wiki-doc-v%{wikiversion}.txt -Source3: uwsgi.service -Source4: emperor.ini +Source2: uwsgi.service +Source3: emperor.ini Patch0: uwsgi_trick_chroot_rpmbuild.patch Patch1: uwsgi_fix_rpath.patch Patch2: uwsgi_ruby20_compatibility.patch +Patch3: uwsgi_fix_lua.patch BuildRequires: curl, python2-devel, libxml2-devel, libuuid-devel, jansson-devel BuildRequires: libyaml-devel, perl-devel, ruby-devel, perl-ExtUtils-Embed BuildRequires: python3-devel, python-greenlet-devel, lua-devel, ruby, pcre-devel BuildRequires: php-devel, php-embedded, libedit-devel, openssl-devel -BuildRequires: bzip2-devel, gmp-devel, systemd-units +BuildRequires: bzip2-devel, gmp-devel, systemd-units, erlang, pam-devel +BuildRequires: java-1.7.0-openjdk-devel, sqlite-devel Requires(pre): shadow-utils Requires(post): systemd-units @@ -179,17 +177,81 @@ Requires: %{name}-plugin-common %description -n %{name}-plugin-syslog This package contains the syslog plugin for uWSGI +%package -n %{name}-plugin-erlang +Summary: uWSGI - Plugin for erlang support +Group: System Environment/Daemons +Requires: %{name}-plugin-common, erlang + +%description -n %{name}-plugin-erlang +This package contains the erlang plugin for uWSGI + +%package -n %{name}-plugin-pam +Summary: uWSGI - Plugin for PAM support +Group: System Environment/Daemons +Requires: %{name}-plugin-common, pam + +%description -n %{name}-plugin-pam +This package contains the PAM plugin for uWSGI + +%package -n %{name}-plugin-jvm +Summary: uWSGI - Plugin for JVM support +Group: System Environment/Daemons +Requires: %{name}-plugin-common, java-1.7.0-openjdk + +%description -n %{name}-plugin-jvm +This package contains the JVM plugin for uWSGI + +%package -n %{name}-plugin-zergpool +Summary: uWSGI - Plugin for zergpool support +Group: System Environment/Daemons +Requires: %{name}-plugin-common + +%description -n %{name}-plugin-zergpool +This package contains the zergpool plugin for uWSGI + +%package -n %{name}-loggers +Summary: uWSGI - Logging plugins +Group: System Environment/Daemons +Requires: %{name}-plugin-common + +%description -n %{name}-loggers +This package contains the logging plugins for uWSGI + +%package -n %{name}-routers +Summary: uWSGI - Router plugins +Group: System Environment/Daemons +Requires: %{name}-plugin-common + +%description -n %{name}-routers +This package contains the router plugins for uWSGI + +%package -n %{name}-plugin-sslrouter +Summary: uWSGI - SSL Router plugin +Group: System Environment/Daemons +Requires: %{name}-plugin-common + +%description -n %{name}-plugin-sslrouter +This package contains the SSL router plugin for uWSGI + +%package -n %{name}-plugin-rawrouter +Summary: uWSGI - Raw Router plugin +Group: System Environment/Daemons +Requires: %{name}-plugin-common + +%description -n %{name}-plugin-rawrouter +This package contains the Raw router plugin for uWSGI + + %prep %setup -q cp -p %{SOURCE1} buildconf/ -cp -p %{SOURCE2} uwsgi-wiki-doc-v%{wikiversion}.txt -cp -p %{SOURCE3} %{name}.service -cp -p %{SOURCE4} %{name}.ini -sed -i 's/\r//' uwsgi-wiki-doc-v%{wikiversion}.txt +cp -p %{SOURCE2} %{name}.service +cp -p %{SOURCE3} %{name}.ini echo "plugin_dir = %{_libdir}/%{name}" >> buildconf/$(basename %{SOURCE1}) %patch0 -p1 %patch1 -p1 %patch2 -p1 +%patch3 -p1 %build CFLAGS="%{optflags} -Wno-unused-but-set-variable" python uwsgiconfig.py --build fedora.ini @@ -201,10 +263,12 @@ mkdir -p %{buildroot}%{_unitdir} mkdir -p %{buildroot}%{_sbindir} mkdir -p %{buildroot}%{_includedir}/%{name} mkdir -p %{buildroot}%{_libdir}/%{name} +mkdir -p %{buildroot}%{_javadir} mkdir -p %{buildroot}/run/%{name} %{__install} -p -m 0755 %{name} %{buildroot}%{_sbindir} %{__install} -p -m 0644 *.h %{buildroot}%{_includedir}/%{name} %{__install} -p -m 0755 *_plugin.so %{buildroot}%{_libdir}/%{name} +%{__install} -p -m 0644 plugins/jvm/%{name}.jar %{buildroot}%{_javadir} %{__install} -p -m 0644 %{name}.ini %{buildroot}%{_sysconfdir}/%{name}.ini %{__install} -p -m 0644 %{name}.service %{buildroot}%{_unitdir}/%{name}.service @@ -255,8 +319,7 @@ exit 0 %{_unitdir}/%{name}.service %dir %{_sysconfdir}/%{name}.d %dir /run/%{name} -%doc ChangeLog LICENSE README -%doc uwsgi-wiki-doc-v%{wikiversion}.txt +%doc LICENSE README %files -n %{name}-devel %{_includedir}/%{name} @@ -313,8 +376,46 @@ exit 0 %files -n %{name}-plugin-syslog %{_libdir}/%{name}/syslog_plugin.so +%files -n %{name}-plugin-erlang +%{_libdir}/%{name}/erlang_plugin.so +%{_libdir}/%{name}/pyerl_plugin.so + +%files -n %{name}-plugin-pam +%{_libdir}/%{name}/pam_plugin.so + +%files -n %{name}-plugin-jvm +%{_libdir}/%{name}/jvm_plugin.so +%{_javadir}/uwsgi.jar + +%files -n %{name}-plugin-zergpool +%{_libdir}/%{name}/zergpool_plugin.so + +%files -n %{name}-loggers +%{_libdir}/%{name}/logfile_plugin.so +%{_libdir}/%{name}/logsocket_plugin.so +%{_libdir}/%{name}/mongodblog_plugin.so +%{_libdir}/%{name}/redislog_plugin.so + +%files -n %{name}-routers +%{_libdir}/%{name}/router_*_plugin.so + +%files -n %{name}-plugin-sslrouter +%{_libdir}/%{name}/sslrouter_plugin.so + +%files -n %{name}-plugin-rawrouter +%{_libdir}/%{name}/rawrouter_plugin.so + %changelog +* Thu Apr 23 2013 Jorge A Gallegos - 1.9.8-0 +- Rebuilt with latest stable version from upstream + +* Thu Apr 11 2013 Jorge A Gallegos - 1.9.5-0 +- Rebuilt with latest stable version from upstream +- Added Erlang, PAM and JVM plugins +- Added router-related plugins +- Added logger plugins + * Tue Apr 02 2013 Vít Ondruch - 1.2.6-10 - Rebuild for https://fedoraproject.org/wiki/Features/Ruby_2.0.0 diff --git a/uwsgi_fix_lua.patch b/uwsgi_fix_lua.patch new file mode 100644 index 0000000..7bb2f4b --- /dev/null +++ b/uwsgi_fix_lua.patch @@ -0,0 +1,25 @@ +diff --git a/plugins/lua/uwsgiplugin.py b/plugins/lua/uwsgiplugin.py +index ea12926..9b13f4d 100644 +--- a/plugins/lua/uwsgiplugin.py ++++ b/plugins/lua/uwsgiplugin.py +@@ -3,17 +3,17 @@ import os,sys + try: + LUALIB = os.environ['UWSGICONFIG_LUALIB'] + except: +- LUALIB = 'lua5.1' ++ LUALIB = 'lua' + + try: + LUAINC = os.environ['UWSGICONFIG_LUAINC'] + except: +- LUAINC = '/usr/include/lua5.1' ++ LUAINC = '/usr/include' + + try: + LUALIBPATH = os.environ['UWSGICONFIG_LUALIBPATH'] + except: +- LUALIBPATH = '/usr/lib/lua5.1' ++ LUALIBPATH = '/usr/lib/lua/5.1' + + NAME='lua' + CFLAGS = ['-I%s' % LUAINC] diff --git a/uwsgi_fix_rpath.patch b/uwsgi_fix_rpath.patch index 4941b12..3de66a7 100644 --- a/uwsgi_fix_rpath.patch +++ b/uwsgi_fix_rpath.patch @@ -1,7 +1,24 @@ -diff -r 655aa0eeb778 plugins/php/uwsgiplugin.py ---- a/plugins/php/uwsgiplugin.py Tue Jun 26 07:59:35 2012 +0200 -+++ b/plugins/php/uwsgiplugin.py Tue Jun 26 23:47:16 2012 -0700 -@@ -22,7 +22,6 @@ +diff --git a/plugins/jvm/uwsgiplugin.py b/plugins/jvm/uwsgiplugin.py +index ac7eb3e..0911288 100644 +--- a/plugins/jvm/uwsgiplugin.py ++++ b/plugins/jvm/uwsgiplugin.py +@@ -59,11 +59,6 @@ if "-framework JavaVM" in JVM_LIBPATH: + + GCC_LIST = ['jvm_plugin'] + +-if 'LD_RUN_PATH' in os.environ: +- os.environ['LD_RUN_PATH'] += ':' + JVM_LIBPATH[0][2:] +-else: +- os.environ['LD_RUN_PATH'] = JVM_LIBPATH[0][2:] +- + def post_build(config): + if os.system("javac %s/plugins/jvm/uwsgi.java" % os.getcwd()) != 0: + os._exit(1) +diff --git a/plugins/php/uwsgiplugin.py b/plugins/php/uwsgiplugin.py +index fb9e5bb..fd12c91 100644 +--- a/plugins/php/uwsgiplugin.py ++++ b/plugins/php/uwsgiplugin.py +@@ -22,7 +22,6 @@ CFLAGS = [os.popen(PHPPATH + ' --includes').read().rstrip(), '-Wno-error=sign-co LDFLAGS = os.popen(PHPPATH + ' --ldflags').read().rstrip().split() if ld_run_path: LDFLAGS.append('-L%s' % ld_run_path) @@ -9,10 +26,11 @@ diff -r 655aa0eeb778 plugins/php/uwsgiplugin.py LIBS = [os.popen(PHPPATH + ' --libs').read().rstrip(), '-lphp5'] -diff -r 655aa0eeb778 plugins/python/uwsgiplugin.py ---- a/plugins/python/uwsgiplugin.py Tue Jun 26 07:59:35 2012 +0200 -+++ b/plugins/python/uwsgiplugin.py Tue Jun 26 23:47:16 2012 -0700 -@@ -20,10 +20,8 @@ +diff --git a/plugins/python/uwsgiplugin.py b/plugins/python/uwsgiplugin.py +index c4f03e1..8d4b2e0 100644 +--- a/plugins/python/uwsgiplugin.py ++++ b/plugins/python/uwsgiplugin.py +@@ -45,10 +45,8 @@ if not 'UWSGI_PYTHON_NOLIB' in os.environ: else: try: LDFLAGS.append("-L%s" % sysconfig.get_config_var('LIBDIR')) @@ -21,22 +39,25 @@ diff -r 655aa0eeb778 plugins/python/uwsgiplugin.py LDFLAGS.append("-L%s/lib" % sysconfig.PREFIX) - os.environ['LD_RUN_PATH'] = "%s/lib" % sysconfig.PREFIX + LIBS.append('-lpython%s' % get_python_version()) + else: +diff --git a/plugins/rack/uwsgiplugin.py b/plugins/rack/uwsgiplugin.py +index 8dee214..2375bc9 100644 +--- a/plugins/rack/uwsgiplugin.py ++++ b/plugins/rack/uwsgiplugin.py +@@ -44,7 +44,6 @@ LIBS = os.popen(RUBYPATH + " -e \"require 'rbconfig';print %s::CONFIG['LIBS']\"" - version = sysconfig.get_config_var('VERSION') -diff -r 655aa0eeb778 plugins/rack/uwsgiplugin.py ---- a/plugins/rack/uwsgiplugin.py Tue Jun 26 07:59:35 2012 +0200 -+++ b/plugins/rack/uwsgiplugin.py Tue Jun 26 23:47:16 2012 -0700 -@@ -38,6 +38,5 @@ - - libpath = os.popen(RUBYPATH + " -e \"require 'rbconfig';print %s::CONFIG['libdir']\"" % rbconfig).read().rstrip() - LDFLAGS.append('-L' + libpath ) --os.environ['LD_RUN_PATH'] = libpath - LIBS = os.popen(RUBYPATH + " -e \"require 'rbconfig';print '-l' + %s::CONFIG['RUBY_SO_NAME']\"" % rbconfig).read().rstrip().split() - -diff -r 655aa0eeb778 plugins/ruby19/uwsgiplugin.py ---- a/plugins/ruby19/uwsgiplugin.py Tue Jun 26 07:59:35 2012 +0200 -+++ b/plugins/ruby19/uwsgiplugin.py Tue Jun 26 23:47:16 2012 -0700 -@@ -40,6 +40,5 @@ + if has_shared == 'yes': + LDFLAGS.append('-L' + libpath ) +- os.environ['LD_RUN_PATH'] = libpath + LIBS.append(os.popen(RUBYPATH + " -e \"require 'rbconfig';print '-l' + %s::CONFIG['RUBY_SO_NAME']\"" % rbconfig).read().rstrip()) + else: + GCC_LIST.append("%s/%s" % (libpath, os.popen(RUBYPATH + " -e \"require 'rbconfig';print %s::CONFIG['LIBRUBY_A']\"" % rbconfig).read().rstrip())) +diff --git a/plugins/ruby19/uwsgiplugin.py b/plugins/ruby19/uwsgiplugin.py +index ecea48d..4f35984 100644 +--- a/plugins/ruby19/uwsgiplugin.py ++++ b/plugins/ruby19/uwsgiplugin.py +@@ -40,6 +40,5 @@ LDFLAGS = os.popen(RUBYPATH + " -e \"require 'rbconfig';print %s::CONFIG['LDFLAG libpath = os.popen(RUBYPATH + " -e \"require 'rbconfig';print %s::CONFIG['libdir']\"" % rbconfig).read().rstrip() LDFLAGS.append('-L' + libpath ) diff --git a/uwsgi_ruby20_compatibility.patch b/uwsgi_ruby20_compatibility.patch index 0a96494..b4bf20d 100644 --- a/uwsgi_ruby20_compatibility.patch +++ b/uwsgi_ruby20_compatibility.patch @@ -1,6 +1,8 @@ +diff --git a/plugins/rack/uwsgiplugin.py b/plugins/rack/uwsgiplugin.py +index 2375bc9..b908417 100644 --- a/plugins/rack/uwsgiplugin.py +++ b/plugins/rack/uwsgiplugin.py -@@ -10,13 +10,14 @@ +@@ -10,13 +10,14 @@ except: rbconfig = 'Config' version = os.popen(RUBYPATH + " -e \"print RUBY_VERSION\"").read().rstrip() @@ -8,7 +10,7 @@ GCC_LIST = ['rack_plugin', 'rack_api'] --if v[0] == '1' and v[1] == '9': +-if (v[0] == '1' and v[1] == '9') or v[0] >= '2': +if version >= '1.9': CFLAGS = os.popen(RUBYPATH + " -e \"require 'rbconfig';print RbConfig::CONFIG['CFLAGS']\"").read().rstrip().split() CFLAGS.append('-DRUBY19') @@ -17,9 +19,11 @@ CFLAGS.append('-Wno-unused-parameter') rbconfig = 'RbConfig' else: +diff --git a/plugins/ruby19/uwsgiplugin.py b/plugins/ruby19/uwsgiplugin.py +index 4f35984..156018f 100644 --- a/plugins/ruby19/uwsgiplugin.py +++ b/plugins/ruby19/uwsgiplugin.py -@@ -10,13 +10,14 @@ +@@ -10,13 +10,14 @@ except: rbconfig = 'Config' version = os.popen(RUBYPATH + " -e \"print RUBY_VERSION\"").read().rstrip() @@ -36,15 +40,3 @@ CFLAGS.append('-Wno-unused-parameter') rbconfig = 'RbConfig' else: ---- a/plugins/rack/rack_plugin.c -+++ b/plugins/rack/rack_plugin.c -@@ -163,7 +163,9 @@ - } - - #ifdef RUBY19 -+#ifndef RUBY20 - RUBY_GLOBAL_SETUP -+#endif - #endif - - VALUE uwsgi_require_file(VALUE arg) { diff --git a/uwsgi_trick_chroot_rpmbuild.patch b/uwsgi_trick_chroot_rpmbuild.patch index 00b977c..3bfb1ac 100644 --- a/uwsgi_trick_chroot_rpmbuild.patch +++ b/uwsgi_trick_chroot_rpmbuild.patch @@ -1,11 +1,16 @@ -diff -r 9768d97e85de uwsgiconfig.py ---- a/uwsgiconfig.py Sun May 20 20:51:46 2012 +0200 -+++ b/uwsgiconfig.py Tue Jun 26 22:33:08 2012 -0700 -@@ -899,7 +899,7 @@ +diff --git a/uwsgiconfig.py b/uwsgiconfig.py +index e447123..4d55f2c 100644 +--- a/uwsgiconfig.py ++++ b/uwsgiconfig.py +@@ -1129,10 +1129,7 @@ def build_plugin(path, uc, cflags, ldflags, libs, name = None): except: pass -- plugin_dest = uc.get('plugin_dir') + '/' + name + '_plugin' +- if uc: +- plugin_dest = uc.get('plugin_dir') + '/' + name + '_plugin' +- else: +- plugin_dest = name + '_plugin' + plugin_dest = name + '_plugin' shared_flag = '-shared' +