198d23
%{!?_httpd_mmn: %{expand: %%global _httpd_mmn %%(cat %{_includedir}/httpd/.mmn 2>/dev/null || echo 0-0)}}
198d23
198d23
%if 0%{?fedora} || 0%{?rhel} > 7
198d23
%bcond_without python3
198d23
%else
198d23
%bcond_with python3
198d23
%endif
198d23
198d23
%if 0%{?fedora} || 0%{?rhel} <= 7
198d23
%bcond_without python2
198d23
%else
198d23
%bcond_with python2
198d23
%endif
198d23
198d23
%if %{with python3} && !%{with python2}
198d23
%global py3dir .
198d23
%endif
198d23
198d23
Name:           mod_wsgi
198d23
Version:        4.6.4
76870c
Release:        5%{?dist}
198d23
Summary:        A WSGI interface for Python web applications in Apache
198d23
Group:          System Environment/Libraries
198d23
License:        ASL 2.0
198d23
URL:            https://modwsgi.readthedocs.io/
198d23
Source0:        https://github.com/GrahamDumpleton/mod_wsgi/archive/%{version}.tar.gz#/mod_wsgi-%{version}.tar.gz
198d23
Source1:        wsgi.conf
198d23
Source2:        wsgi-python3.conf
198d23
Patch1:         mod_wsgi-4.5.20-exports.patch
198d23
Patch2:         mod_wsgi-4.6.4-warnings.patch
76870c
Patch3:         mod_wsgi-4.9.1-request-limit.patch
198d23
BuildRequires:  httpd-devel
198d23
BuildRequires:  python3-sphinx
198d23
BuildRequires:  gcc
198d23
198d23
# Suppress auto-provides for module DSO
198d23
%{?filter_provides_in: %filter_provides_in %{_httpd_moddir}/.*\.so$}
198d23
%{?filter_setup}
198d23
198d23
198d23
198d23
%global _description\
198d23
The mod_wsgi adapter is an Apache module that provides a WSGI compliant\
198d23
interface for hosting Python based web applications within Apache. The\
198d23
adapter is written completely in C code against the Apache C runtime and\
198d23
for hosting WSGI applications within Apache has a lower overhead than using\
198d23
existing WSGI adapters for mod_python or CGI.\
198d23
198d23
198d23
%description %_description
198d23
198d23
%if %{with python2}
198d23
%package -n python2-%{name}
198d23
Summary: %summary
198d23
Requires:       httpd-mmn = %{_httpd_mmn}
198d23
BuildRequires:  python2-devel
198d23
%{?python_provide:%python_provide python2-%{name}}
198d23
# Remove before F30
198d23
Provides: mod_wsgi = %{version}-%{release}
198d23
Provides: mod_wsgi%{?_isa} = %{version}-%{release}
198d23
Obsoletes: mod_wsgi < %{version}-%{release}
198d23
198d23
%description -n python2-%{name} %_description
198d23
198d23
%endif
198d23
198d23
%if %{with python3}
198d23
%package -n python3-%{name}
198d23
Summary:        %summary
198d23
Requires:       httpd-mmn = %{_httpd_mmn}
198d23
BuildRequires:  python3-devel
198d23
198d23
%description -n python3-%{name} %_description
198d23
198d23
%endif
198d23
198d23
%prep
198d23
%setup -qn %{name}-%{version}
198d23
%patch1 -p1 -b .exports
198d23
%patch2 -p1 -b .warnings
76870c
%patch3 -p1 -b .request-limit
198d23
198d23
%if "%{py3dir}" != "."
198d23
cp -a . %{py3dir}
198d23
%endif
198d23
198d23
%build
198d23
make -C docs html
198d23
198d23
export LDFLAGS="$RPM_LD_FLAGS -L%{_libdir}"
198d23
export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing"
198d23
198d23
%if %{with python2}
198d23
%configure --enable-shared --with-apxs=%{_httpd_apxs} --with-python=python2
198d23
make %{?_smp_mflags}
198d23
%py2_build
198d23
%endif
198d23
198d23
%if %{with python3}
198d23
pushd %{py3dir}
198d23
%configure --enable-shared --with-apxs=%{_httpd_apxs} --with-python=python3
198d23
make %{?_smp_mflags}
198d23
%py3_build
198d23
popd
198d23
%endif
198d23
198d23
%install
198d23
# first install python3 variant and rename the so file
198d23
%if %{with python3}
198d23
198d23
pushd %{py3dir}
198d23
make install DESTDIR=$RPM_BUILD_ROOT LIBEXECDIR=%{_httpd_moddir}
198d23
mv  $RPM_BUILD_ROOT%{_httpd_moddir}/mod_wsgi{,_python3}.so
198d23
198d23
install -d -m 755 $RPM_BUILD_ROOT%{_httpd_modconfdir}
198d23
# httpd >= 2.4.x
198d23
install -p -m 644 %{SOURCE2} $RPM_BUILD_ROOT%{_httpd_modconfdir}/10-wsgi-python3.conf
198d23
198d23
%py3_install
198d23
mv $RPM_BUILD_ROOT%{_bindir}/mod_wsgi-express{,-3}
198d23
popd
198d23
198d23
%endif
198d23
198d23
# second install python2 variant
198d23
%if %{with python2}
198d23
make install DESTDIR=$RPM_BUILD_ROOT LIBEXECDIR=%{_httpd_moddir}
198d23
198d23
install -d -m 755 $RPM_BUILD_ROOT%{_httpd_modconfdir}
198d23
# httpd >= 2.4.x
198d23
install -p -m 644 %{SOURCE1} $RPM_BUILD_ROOT%{_httpd_modconfdir}/10-wsgi.conf
198d23
198d23
%py2_install
198d23
mv $RPM_BUILD_ROOT%{_bindir}/mod_wsgi-express{,-2}
198d23
ln -s %{_bindir}/mod_wsgi-express-2 $RPM_BUILD_ROOT%{_bindir}/mod_wsgi-express
198d23
%endif
198d23
198d23
%if %{with python2}
198d23
%files -n python2-%{name}
198d23
%license LICENSE
198d23
%doc CREDITS.rst README.rst
198d23
%config(noreplace) %{_httpd_modconfdir}/*wsgi.conf
198d23
%{_httpd_moddir}/mod_wsgi.so
198d23
%{python2_sitearch}/mod_wsgi-*.egg-info
198d23
%{python2_sitearch}/mod_wsgi
198d23
%{_bindir}/mod_wsgi-express-2
198d23
%{_bindir}/mod_wsgi-express
198d23
%endif
198d23
198d23
%if %{with python3}
198d23
%files -n python3-%{name}
198d23
%license LICENSE
198d23
%doc CREDITS.rst README.rst
198d23
%config(noreplace) %{_httpd_modconfdir}/*wsgi-python3.conf
198d23
%{_httpd_moddir}/mod_wsgi_python3.so
198d23
%{python3_sitearch}/mod_wsgi-*.egg-info
198d23
%{python3_sitearch}/mod_wsgi
198d23
%{_bindir}/mod_wsgi-express-3
198d23
%endif
198d23
198d23
%changelog
76870c
* Tue Sep 06 2022 Luboš Uhliarik <luhliari@redhat.com> - 4.6.4-5
76870c
- Resolves: #2122695 - Core dumped upon file upload >= 1GB
76870c
071f34
* Wed Dec 04 2019 Lubos Uhliarik <luhliari@redhat.com> - 4.6.4-4
071f34
- Resolves: #1779705 - python3-mod_wsgi: Remove the Provides and Obsoletes for
071f34
  the name `mod_wsgi`
071f34
198d23
* Thu Dec 13 2018 Joe Orton <jorton@redhat.com> - 4.6.4-3
198d23
- avoid unstripped binaries, re-enable debugsource generation (#1659086)
198d23
198d23
* Tue Dec 11 2018 Joe Orton <jorton@redhat.com> - 4.6.4-2
198d23
- fix covscan warnings (#1602620)
198d23
198d23
* Wed Jun 27 2018 Joe Orton <jorton@redhat.com> - 4.6.4-1
198d23
- update to 4.6.4 (#1592687)
198d23
198d23
* Tue Jun 26 2018 Tomas Orsava <torsava@redhat.com> - 4.6.2-5
198d23
- Switch to using Python 3 version of sphinx
198d23
198d23
* Tue Jun 26 2018 Tomas Orsava <torsava@redhat.com> - 4.6.2-4
198d23
- Update conditionals into bcond's so they can be manipulated during modular
198d23
  builds
198d23
198d23
* Tue Jun 26 2018 Tomas Orsava <torsava@redhat.com> - 4.6.2-3
198d23
- Fix the invocation of Python 2 to a versioned executable
198d23
198d23
* Thu Mar 22 2018 Troy Dawson <tdawson@redhat.com> - 4.6.2-2
198d23
- Update conditionals.
198d23
- Make preperations for non-python2 builds
198d23
198d23
* Tue Mar 13 2018 Matthias Runge <mrunge@redhat.com> - 4.6.2-1
198d23
- update to 4.6.2 (rhbz#1514768)
198d23
- add gcc BR
198d23
198d23
* Wed Feb  7 2018 Joe Orton <jorton@redhat.com> - 4.5.20-4
198d23
- restrict module DSO symbol exports
198d23
198d23
* Tue Jan 09 2018 Iryna Shcherbina <ishcherb@redhat.com> - 4.5.20-3
198d23
- Update Python 2 dependency declarations to new packaging standards
198d23
  (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3)
198d23
198d23
* Sun Dec 17 2017 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 4.5.20-2
198d23
- Python 2 binary package renamed to python2-mod_wsgi
198d23
  See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3
198d23
198d23
* Fri Oct 20 2017 Joe Orton <jorton@redhat.com> - 4.5.20-1
198d23
- update to 4.5.20
198d23
198d23
* Wed Aug 09 2017 Dan Callaghan <dcallagh@redhat.com> - 4.5.15-5
198d23
- include mod_wsgi Python package and mod_wsgi-express script
198d23
198d23
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 4.5.15-4
198d23
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
198d23
198d23
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 4.5.15-3
198d23
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
198d23
198d23
* Fri Jul 07 2017 Igor Gnatenko <ignatenko@redhat.com> - 4.5.15-2
198d23
- Rebuild due to bug in RPM (RHBZ #1468476)
198d23
198d23
* Fri Jun 23 2017 Joe Orton <jorton@redhat.com> - 4.5.15-1
198d23
- update to 4.5.15 (#1431893)
198d23
198d23
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 4.5.13-3
198d23
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
198d23
198d23
* Tue Jan 10 2017 Jakub Dorňák <jakub.dornak@misli.cz> - 4.5.13-1
198d23
- Update to 4.5.13
198d23
198d23
* Mon Dec 19 2016 Miro Hrončok <mhroncok@redhat.com> - 4.5.9-2
198d23
- Rebuild for Python 3.6
198d23
198d23
* Mon Dec 05 2016 Matthias Runge <mrunge@redhat.com> - 4.5.9-1
198d23
- upgrade to 4.5.9 (rhbz#1180445)
198d23
198d23
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 4.4.8-4
198d23
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
198d23
198d23
* Tue Nov 10 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.4.8-3
198d23
- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5
198d23
198d23
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.4.8-2
198d23
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
198d23
198d23
* Thu Feb 12 2015 Richard W.M. Jones <rjones@redhat.com> - 4.4.8-1
198d23
- Upstream to 4.4.8.
198d23
- This version includes the fix for the segfault described in RHBZ#1178851.
198d23
198d23
* Mon Jan  5 2015 Jakub Dorňák <jdornak@redhat.com> - 4.4.3-1
198d23
- update to new upstream version 4.4.3 (#1176914)
198d23
198d23
* Wed Dec 17 2014 Jan Kaluza <jkaluza@redhat.com> - 4.4.1-1
198d23
- update to new upstream version 4.4.1 (#1170994)
198d23
198d23
* Wed Nov 19 2014 Jan Kaluza <jkaluza@redhat.com> - 4.3.2-1
198d23
- update to new upstream version 4.3.2 (#1104526)
198d23
198d23
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.5-3
198d23
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
198d23
198d23
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.5-2
198d23
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
198d23
198d23
* Thu May 29 2014 Luke Macken <lmacken@redhat.com> - 3.5-1
198d23
- Update to 3.5 to fix CVE-2014-0240 (#1101863)
198d23
- Remove all of the patches, which have been applied upstream
198d23
- Update source URL for new the GitHub upstream
198d23
198d23
* Wed May 28 2014 Joe Orton <jorton@redhat.com> - 3.4-14
198d23
- rebuild for Python 3.4
198d23
198d23
* Mon Apr 28 2014 Matthias Runge <mrunge@redhat.com> - 3.4.13
198d23
- do not use conflicts between mod_wsgi packages (rhbz#1087943)
198d23
198d23
* Thu Jan 23 2014 Joe Orton <jorton@redhat.com> - 3.4-12
198d23
- fix _httpd_mmn expansion in absence of httpd-devel
198d23
198d23
* Fri Jan 10 2014 Matthias Runge <mrunge@redhat.com> - 3.4-11
198d23
- added python3 subpackage (thanks to Jakub Dorňák), rhbz#1035876
198d23
198d23
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.4-10
198d23
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
198d23
198d23
* Mon Jul  8 2013 Joe Orton <jorton@redhat.com> - 3.4-9
198d23
- modernize spec file (thanks to rcollet)
198d23
198d23
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.4-8
198d23
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
198d23
198d23
* Tue Dec 11 2012 Jan Kaluza <jkaluza@redhat.com> - 3.4-7
198d23
- compile with -fno-strict-aliasing to workaround Python
198d23
  bug http://www.python.org/dev/peps/pep-3123/
198d23
198d23
* Thu Nov 22 2012 Joe Orton <jorton@redhat.com> - 3.4-6
198d23
- use _httpd_moddir macro
198d23
198d23
* Thu Nov 22 2012 Joe Orton <jorton@redhat.com> - 3.4-5
198d23
- spec file cleanups
198d23
198d23
* Wed Oct 17 2012 Joe Orton <jorton@redhat.com> - 3.4-4
198d23
- enable PR_SET_DUMPABLE in daemon process to enable core dumps
198d23
198d23
* Wed Oct 17 2012 Joe Orton <jorton@redhat.com> - 3.4-3
198d23
- use a NULL c->sbh pointer with httpd 2.4 (possible fix for #867276)
198d23
- add logging for unexpected daemon process loss
198d23
198d23
* Wed Oct 17 2012 Matthias Runge <mrunge@redhat.com> - 3.4-2
198d23
- also use RPM_LD_FLAGS for build bz. #867137
198d23
198d23
* Mon Oct 15 2012 Matthias Runge <mrunge@redhat.com> - 3.4-1
198d23
- update to upstream release 3.4
198d23
198d23
* Fri Jul 20 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.3-7
198d23
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
198d23
198d23
* Wed Jun 13 2012 Joe Orton <jorton@redhat.com> - 3.3-6
198d23
- add possible fix for daemon mode crash (#831701)
198d23
198d23
* Mon Mar 26 2012 Joe Orton <jorton@redhat.com> - 3.3-5
198d23
- move wsgi.conf to conf.modules.d
198d23
198d23
* Mon Mar 26 2012 Joe Orton <jorton@redhat.com> - 3.3-4
198d23
- rebuild for httpd 2.4
198d23
198d23
* Tue Mar 13 2012 Joe Orton <jorton@redhat.com> - 3.3-3
198d23
- prepare for httpd 2.4.x
198d23
198d23
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.3-2
198d23
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
198d23
198d23
* Tue Nov 01 2011 James Bowes <jbowes@redhat.com> 3.3-1
198d23
- update to 3.3
198d23
198d23
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.2-3
198d23
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
198d23
198d23
* Tue Jul 27 2010 David Malcolm <dmalcolm@redhat.com> - 3.2-2
198d23
- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild
198d23
198d23
* Tue Mar  9 2010 Josh Kayse <joshkayse@fedoraproject.org> - 3.2-1
198d23
- update to 3.2
198d23
198d23
* Sun Mar 07 2010 Josh Kayse <joshkayse@fedoraproject.org> - 3.1-2
198d23
- removed conflicts as it violates fedora packaging policy
198d23
198d23
* Sun Mar 07 2010 Josh Kayse <joshkayse@fedoraproject.org> - 3.1-1
198d23
- update to 3.1
198d23
- add explicit enable-shared
198d23
- add conflicts mod_python < 3.3.1
198d23
198d23
* Sat Jul 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.5-2
198d23
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
198d23
198d23
* Thu Jul 02 2009 James Bowes <jbowes@redhat.com> 2.5-1
198d23
- Update to 2.5
198d23
198d23
* Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.3-3
198d23
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
198d23
198d23
* Sun Nov 30 2008 Ignacio Vazquez-Abrams <ivazqueznet+rpm@gmail.com> - 2.3-2
198d23
- Rebuild for Python 2.6
198d23
198d23
* Tue Oct 28 2008 Luke Macken <lmacken@redhat.com> 2.3-1
198d23
- Update to 2.3
198d23
198d23
* Mon Sep 29 2008 James Bowes <jbowes@redhat.com> 2.1-2
198d23
- Remove requires on httpd-devel
198d23
198d23
* Wed Jul 02 2008 James Bowes <jbowes@redhat.com> 2.1-1
198d23
- Update to 2.1
198d23
198d23
* Mon Jun 16 2008 Ricky Zhou <ricky@fedoraproject.org> 1.3-4
198d23
- Build against the shared python lib.
198d23
198d23
* Tue Feb 19 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 1.3-3
198d23
- Autorebuild for GCC 4.3
198d23
198d23
* Sun Jan 06 2008 James Bowes <jbowes@redhat.com> 1.3-2
198d23
- Require httpd
198d23
198d23
* Sat Jan 05 2008 James Bowes <jbowes@redhat.com> 1.3-1
198d23
- Update to 1.3
198d23
198d23
* Sun Sep 30 2007 James Bowes <jbowes@redhat.com> 1.0-1
198d23
- Initial packaging for Fedora
198d23