secret
Created

uwsgi fedora spec

  • Download Gist
uwsgi.spec
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241
%define wikiversion 36
 
Name: uwsgi
Version: 1.0.4
Release: 1%{?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
# wikiversion=36; 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
Patch0: uwsgi_fix_rpath.patch
Patch1: uwsgi_trick_chroot_rpmbuild.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
 
%description
uWSGI is a fast (pure C), self-healing, developer/sysadmin-friendly
application container server. 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. Can be run in preforking mode, threaded,
asynchronous/evented and supports various form of green threads/co-routine
(like uGreen and Fiber). Sysadmin will love it as it can be configured via
command line, environment variables, xml, .ini and yaml files and via LDAP.
Being fully modular can use tons of different technology on top of the same
core.
 
%package -n %{name}-devel
Summary: uWSGI - Development header files and libraries
Group: Development/Libraries
Requires: %{name}
 
%description -n %{name}-devel
This package contains the development header files and libraries
for uWSGI extensions
 
%package -n %{name}-plugin-common
Summary: uWSGI - Common plugins for uWSGI
Group: System Environment/Daemons
Requires: %{name}
 
%description -n %{name}-plugin-common
This package contains the most common plugins used with uWSGI. The
plugins included in this package are: cache, CGI, RPC, uGreen
 
%package -n %{name}-plugin-rack
Summary: uWSGI - Ruby rack plugin
Group: System Environment/Daemons
Requires: rubygem-rack, %{name}-plugin-common
 
%description -n %{name}-plugin-rack
This package contains the rack plugin for uWSGI
 
%package -n %{name}-plugin-psgi
Summary: uWSGI - Plugin for PSGI support
Group: System Environment/Daemons
Requires: perl-PSGI, %{name}-plugin-common
 
%description -n %{name}-plugin-psgi
This package contains the PSGI plugin for uWSGI
 
%package -n %{name}-plugin-python
Summary: uWSGI - Plugin for Python support
Group: System Environment/Daemons
Requires: python, %{name}-plugin-common
 
%description -n %{name}-plugin-python
This package contains the python plugin for uWSGI
 
%package -n %{name}-plugin-nagios
Summary: uWSGI - Plugin for Nagios support
Group: System Environment/Daemons
Requires: %{name}-plugin-common
 
%description -n %{name}-plugin-nagios
This package contains the nagios plugin for uWSGI
 
%package -n %{name}-plugin-fastrouter
Summary: uWSGI - Plugin for FastRouter support
Group: System Environment/Daemons
Requires: %{name}-plugin-common
 
%description -n %{name}-plugin-fastrouter
This package contains the fastrouter (proxy) plugin for uWSGI
 
%package -n %{name}-plugin-admin
Summary: uWSGI - Plugin for Admin support
Group: System Environment/Daemons
Requires: %{name}-plugin-common
 
%description -n %{name}-plugin-admin
This package contains the admin plugin for uWSGI
 
%package -n %{name}-plugin-python3
Summary: uWSGI - Plugin for Python 3.2 support
Group: System Environment/Daemons
Requires: python3, %{name}-plugin-common
 
%description -n %{name}-plugin-python3
This package contains the Python 3.2 plugin for uWSGI
 
%package -n %{name}-plugin-ruby
Summary: uWSGI - Plugin for Ruby support
Group: System Environment/Daemons
Requires: ruby, %{name}-plugin-common
 
%description -n %{name}-plugin-ruby
This package contains the Ruby 1.9 plugin for uWSGI
 
%package -n %{name}-plugin-greenlet
Summary: uWSGI - Plugin for Python Greenlet support
Group: System Environment/Daemons
Requires: python-greenlet, %{name}-plugin-common
 
%description -n %{name}-plugin-greenlet
This package contains the python greenlet plugin for uWSGI
 
%package -n %{name}-plugin-lua
Summary: uWSGI - Plugin for LUA support
Group: System Environment/Daemons
Requires: lua, %{name}-plugin-common
 
%description -n %{name}-plugin-lua
This package contains the lua plugin for uWSGI
 
%prep
%setup -q
cp -p %{SOURCE1} buildconf/
cp -p %{SOURCE2} uwsgi-wiki-doc-v%{wikiversion}.txt
sed -i 's/\r//' uwsgi-wiki-doc-v%{wikiversion}.txt
echo "plugin_dir = %{_libdir}/%{name}" >> buildconf/$(basename %{SOURCE1})
%patch0 -p1
%patch1 -p1
 
%build
CFLAGS="%{optflags} -Wno-unused-but-set-variable" python uwsgiconfig.py --build fedora.ini
 
%install
mkdir -p %{buildroot}%{_sbindir}
mkdir -p %{buildroot}%{_includedir}/%{name}
mkdir -p %{buildroot}%{_libdir}/%{name}
%{__install} -p -m 0755 uwsgi %{buildroot}%{_sbindir}
%{__install} -p -m 0644 *.h %{buildroot}%{_includedir}/%{name}
%{__install} -p -m 0755 *_plugin.so %{buildroot}%{_libdir}/%{name}
 
 
%files
%{_sbindir}/%{name}
%doc ChangeLog LICENSE README
%doc uwsgi-wiki-doc-v%{wikiversion}.txt
 
%files -n %{name}-devel
%{_includedir}/%{name}
 
%files -n %{name}-plugin-common
%dir %{_libdir}/%{name}
%{_libdir}/%{name}/cache_plugin.so
%{_libdir}/%{name}/cgi_plugin.so
%{_libdir}/%{name}/rpc_plugin.so
%{_libdir}/%{name}/ugreen_plugin.so
 
%files -n %{name}-plugin-rack
%{_libdir}/%{name}/rack_plugin.so
 
%files -n %{name}-plugin-psgi
%{_libdir}/%{name}/psgi_plugin.so
 
%files -n %{name}-plugin-python
%{_libdir}/%{name}/python_plugin.so
 
%files -n %{name}-plugin-nagios
%{_libdir}/%{name}/nagios_plugin.so
 
%files -n %{name}-plugin-fastrouter
%{_libdir}/%{name}/fastrouter_plugin.so
 
%files -n %{name}-plugin-admin
%{_libdir}/%{name}/admin_plugin.so
 
%files -n %{name}-plugin-python3
%{_libdir}/%{name}/python32_plugin.so
 
%files -n %{name}-plugin-ruby
%{_libdir}/%{name}/ruby19_plugin.so
 
%files -n %{name}-plugin-greenlet
%{_libdir}/%{name}/greenlet_plugin.so
 
%files -n %{name}-plugin-lua
%{_libdir}/%{name}/lua_plugin.so
 
 
%changelog
* Sun Feb 19 2012 Jorge A Gallegos <kad@blegh.net> - 1.0.4-1
- Addressing issues from package review feedback
- s/python-devel/python2-devel
- Make the libdir subdir owned by -plugins-common
- Upgraded to latest stable upstream version
 
* Mon Feb 06 2012 Jorge A Gallegos <kad@blegh.net> - 1.0.2.1-2
- Fixing 'unstripped-binary-or-object'
 
* Thu Jan 19 2012 Jorge A Gallegos <kad@blegh.net> - 1.0.2.1-1
- New upstream version
 
* Thu Dec 08 2011 Jorge A Gallegos <kad@blegh.net> - 0.9.9.3-1
- New upstream version
 
* Sun Oct 09 2011 Jorge A Gallegos <kad@blegh.net> - 0.9.9.2-2
- Don't download the wiki page at build time
 
* Sun Oct 09 2011 Jorge A Gallegos <kad@blegh.net> - 0.9.9.2-1
- Updated to latest stable version
- Correctly linking plugin_dir
- Patches 1 and 2 were addressed upstream
 
* Sun Aug 21 2011 Jorge A Gallegos <kad@blegh.net> - 0.9.8.3-3
- Got rid of BuildRoot
- Got rid of defattr()
 
* Sun Aug 14 2011 Jorge Gallegos <kad@blegh.net> - 0.9.8.3-2
- Added uwsgi_fix_rpath.patch
- Backported json_loads patch to work with jansson 1.x and 2.x
- Deleted clean steps since they are not needed in fedora
 
* Sun Jul 24 2011 Jorge Gallegos <kad@blegh.net> - 0.9.8.3-1
- rebuilt
- Upgraded to latest stable version 0.9.8.3
- Split packages
 
* Sun Jul 17 2011 Jorge Gallegos <kad@blegh.net> - 0.9.6.8-2
- Heavily modified based on Oskari's work
 
* Mon Feb 28 2011 Oskari Saarenmaa <os@taisia.fi> - 0.9.6.8-1
- Initial.
uwsgi_fix_rpath.patch
Diff
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
diff -r 2c851ba9ddd6 plugins/jvm/uwsgiplugin.py
--- a/plugins/jvm/uwsgiplugin.py Wed Jan 18 05:01:22 2012 +0100
+++ b/plugins/jvm/uwsgiplugin.py Mon Jan 23 08:50:13 2012 -0800
@@ -41,7 +41,3 @@
LIBS = ['-ljvm']
GCC_LIST = ['jvm_plugin']
-if os.environ.has_key('LD_RUN_PATH'):
- os.environ['LD_RUN_PATH'] += ':' + JVM_LIBPATH
-else:
- os.environ['LD_RUN_PATH'] = JVM_LIBPATH
diff -r 2c851ba9ddd6 plugins/jwsgi/uwsgiplugin.py
--- a/plugins/jwsgi/uwsgiplugin.py Wed Jan 18 05:01:22 2012 +0100
+++ b/plugins/jwsgi/uwsgiplugin.py Mon Jan 23 08:50:13 2012 -0800
@@ -16,7 +16,3 @@
LIBS = ['-ljvm']
GCC_LIST = ['jwsgi_plugin']
-if os.environ.has_key('LD_RUN_PATH'):
- os.environ['LD_RUN_PATH'] += ':' + JVM_LIBPATH
-else:
- os.environ['LD_RUN_PATH'] = JVM_LIBPATH
diff -r 2c851ba9ddd6 plugins/python/uwsgiplugin.py
--- a/plugins/python/uwsgiplugin.py Wed Jan 18 05:01:22 2012 +0100
+++ b/plugins/python/uwsgiplugin.py Mon Jan 23 08:50:13 2012 -0800
@@ -20,10 +20,8 @@
else:
try:
LDFLAGS.append("-L%s" % sysconfig.get_config_var('LIBDIR'))
- os.environ['LD_RUN_PATH'] = "%s" % (sysconfig.get_config_var('LIBDIR'))
except:
LDFLAGS.append("-L%s/lib" % sysconfig.PREFIX)
- os.environ['LD_RUN_PATH'] = "%s/lib" % sysconfig.PREFIX
version = sysconfig.get_config_var('VERSION')
diff -r 2c851ba9ddd6 plugins/rack/uwsgiplugin.py
--- a/plugins/rack/uwsgiplugin.py Wed Jan 18 05:01:22 2012 +0100
+++ b/plugins/rack/uwsgiplugin.py Mon Jan 23 08:50:13 2012 -0800
@@ -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 2c851ba9ddd6 plugins/ruby19/uwsgiplugin.py
--- a/plugins/ruby19/uwsgiplugin.py Wed Jan 18 05:01:22 2012 +0100
+++ b/plugins/ruby19/uwsgiplugin.py Mon Jan 23 08:50:13 2012 -0800
@@ -40,6 +40,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()
uwsgi_trick_chroot_rpmbuild.patch
Diff
1 2 3 4 5 6 7 8 9 10 11 12
diff -r 2c851ba9ddd6 uwsgiconfig.py
--- a/uwsgiconfig.py Wed Jan 18 05:01:22 2012 +0100
+++ b/uwsgiconfig.py Wed Jan 18 22:30:33 2012 -0800
@@ -787,7 +787,7 @@
except:
pass
- plugin_dest = uc.get('plugin_dir') + '/' + name + '_plugin'
+ plugin_dest = name + '_plugin'
shared_flag = '-shared'

Please sign in to comment on this gist.

Something went wrong with that request. Please try again.