From 3f206188911e32d409f24bd85cca32cdf71861c0 Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Jan 21 2020 20:35:14 +0000 Subject: import mod_wsgi-4.6.8-3.module+el8.2.0+5234+f98739b6 --- diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..6e49a20 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/mod_wsgi-4.6.8.tar.gz diff --git a/.mod_wsgi.metadata b/.mod_wsgi.metadata new file mode 100644 index 0000000..d79e54f --- /dev/null +++ b/.mod_wsgi.metadata @@ -0,0 +1 @@ +5143fed4e2704c43ec98e318439c93a84383fd19 SOURCES/mod_wsgi-4.6.8.tar.gz diff --git a/SOURCES/mod_wsgi-4.5.20-exports.patch b/SOURCES/mod_wsgi-4.5.20-exports.patch new file mode 100644 index 0000000..97e5671 --- /dev/null +++ b/SOURCES/mod_wsgi-4.5.20-exports.patch @@ -0,0 +1,11 @@ +--- mod_wsgi-4.5.20/Makefile.in.exports ++++ mod_wsgi-4.5.20/Makefile.in +@@ -28,7 +28,7 @@ + all : src/server/mod_wsgi.la + + src/server/mod_wsgi.la : $(SRCFILES) +- $(APXS) -c $(CPPFLAGS) $(CFLAGS) $(SRCFILES) $(LDFLAGS) $(LDLIBS) ++ $(APXS) -Wl,-export-symbols-regex -Wl,wsgi_module -c $(CPPFLAGS) $(CFLAGS) $(SRCFILES) $(LDFLAGS) $(LDLIBS) + + $(DESTDIR)$(LIBEXECDIR) : + mkdir -p $@ diff --git a/SOURCES/wsgi-python3.conf b/SOURCES/wsgi-python3.conf new file mode 100644 index 0000000..eb2c5e5 --- /dev/null +++ b/SOURCES/wsgi-python3.conf @@ -0,0 +1,6 @@ +# NOTE: mod_wsgi_python3 can not coexist in the same apache process as +# mod_wsgi (python2). Only load if mod_wsgi is not already loaded. + + + LoadModule wsgi_module modules/mod_wsgi_python3.so + diff --git a/SOURCES/wsgi.conf b/SOURCES/wsgi.conf new file mode 100644 index 0000000..0797bce --- /dev/null +++ b/SOURCES/wsgi.conf @@ -0,0 +1,7 @@ +# NOTE: mod_wsgi can not coexist in the same apache process as +# mod_wsgi_python3. Only load if mod_wsgi_python3 is not +# already loaded. + + +LoadModule wsgi_module modules/mod_wsgi.so + diff --git a/SPECS/mod_wsgi.spec b/SPECS/mod_wsgi.spec new file mode 100644 index 0000000..6b10388 --- /dev/null +++ b/SPECS/mod_wsgi.spec @@ -0,0 +1,436 @@ +%{!?_httpd_apxs: %{expand: %%global _httpd_apxs %%{_sbindir}/apxs}} + +%{!?_httpd_mmn: %{expand: %%global _httpd_mmn %%(cat %{_includedir}/httpd/.mmn 2>/dev/null || echo 0-0)}} +%{!?_httpd_confdir: %{expand: %%global _httpd_confdir %%{_sysconfdir}/httpd/conf.d}} +# /etc/httpd/conf.d with httpd < 2.4 and defined as /etc/httpd/conf.modules.d with httpd >= 2.4 +%{!?_httpd_modconfdir: %{expand: %%global _httpd_modconfdir %%{_sysconfdir}/httpd/conf.d}} +%{!?_httpd_moddir: %{expand: %%global _httpd_moddir %%{_libdir}/httpd/modules}} + +%bcond_with docs + +%if 0%{?fedora} || 0%{?rhel} > 7 +%bcond_without python3 +%else +%bcond_with python3 +%endif + +%if (0%{?fedora} > 0 && 0%{?fedora} < 32) || (0%{?rhel} > 0 && 0%{?rhel} <= 7) +%bcond_without python2 +%else +%bcond_with python2 +%global debug_package %{nil} +%endif + +Name: mod_wsgi +Version: 4.6.8 +Release: 3%{?dist} +Summary: A WSGI interface for Python web applications in Apache +License: ASL 2.0 +URL: https://modwsgi.readthedocs.io/ +Source0: https://github.com/GrahamDumpleton/mod_wsgi/archive/%{version}.tar.gz#/mod_wsgi-%{version}.tar.gz +Source1: wsgi.conf +Source2: wsgi-python3.conf +Patch1: mod_wsgi-4.5.20-exports.patch + +# Exclude i686 arch. Due to a modularity issue it's being added to the +# x86_64 compose of CRB, but we don't want to ship it at all. +# See: https://projects.engineering.redhat.com/browse/RCM-72605 +# See: https://bugzilla.redhat.com/show_bug.cgi?id=1779142 +ExcludeArch: i686 + +BuildRequires: httpd-devel +BuildRequires: gcc + +# Suppress auto-provides for module DSO +%{?filter_provides_in: %filter_provides_in %{_httpd_moddir}/.*\.so$} +%{?filter_setup} + +%global _description\ +The mod_wsgi adapter is an Apache module that provides a WSGI compliant\ +interface for hosting Python based web applications within Apache. The\ +adapter is written completely in C code against the Apache C runtime and\ +for hosting WSGI applications within Apache has a lower overhead than using\ +existing WSGI adapters for mod_python or CGI.\ + + +%description %_description + +%if %{with python2} +%package -n python2-%{name} +Summary: %summary +Requires: httpd-mmn = %{_httpd_mmn} +BuildRequires: python2-devel, python2-setuptools +%{?python_provide:%python_provide python2-%{name}} +# Remove before F30 +Provides: mod_wsgi = %{version}-%{release} +Provides: mod_wsgi%{?_isa} = %{version}-%{release} +Obsoletes: mod_wsgi < %{version}-%{release} + +%description -n python2-%{name} %_description + +%endif + +%if %{with python3} +%package -n python%{python3_pkgversion}-%{name} +Summary: %summary +Requires: httpd-mmn = %{_httpd_mmn} +BuildRequires: python%{python3_pkgversion}-devel +BuildRequires: python%{python3_pkgversion}-rpm-macros +%if %{with docs} +BuildRequires: python3-sphinx, python3-sphinx_rtd_theme +%endif + +# httpd can only load one Python 3 version of mod_wsgi at the time, and +# therefore we use a Conflicts tag to only allow one to be installed. The +# alternative would be to define a priority between them (e.g. python3- has +# priority over python38-), however, it would be potentially confusing and +# tricky to notice why the other version is not working. +Conflicts: python3-mod_wsgi + +%description -n python%{python3_pkgversion}-%{name} %_description + +Only one Python 3 version of mod_wsgi can be loaded at the same time in httpd, +therefore this package conflicts with the other versions available. + +%endif + +%prep +%autosetup -p1 -n %{name}-%{version} + +: Python2=%{with_python2} Python3=%{with_python3} + +%build +%if %{with python3} +%if %{with docs} +make -C docs html SPHINXBUILD=%{_bindir}/sphinx-build-3 +%endif +%endif + +export LDFLAGS="$RPM_LD_FLAGS -L%{_libdir}" +export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" + +%if %{with python3} +mkdir py3build/ +# this always produces an error (because of trying to copy py3build +# into itself) but we don't mind, so || : +cp -R * py3build/ || : +pushd py3build +%configure --enable-shared --with-apxs=%{_httpd_apxs} --with-python=python3.8 +make %{?_smp_mflags} +%py3_build +popd +%endif + +%if %{with python2} +%configure --enable-shared --with-apxs=%{_httpd_apxs} --with-python=python2 +make %{?_smp_mflags} +%py2_build +%endif + +%install +# first install python3 variant and rename the so file +%if %{with python3} +pushd py3build +make install DESTDIR=$RPM_BUILD_ROOT LIBEXECDIR=%{_httpd_moddir} +mv $RPM_BUILD_ROOT%{_httpd_moddir}/mod_wsgi{,_python3}.so + +install -d -m 755 $RPM_BUILD_ROOT%{_httpd_modconfdir} +# httpd >= 2.4.x +install -p -m 644 %{SOURCE2} $RPM_BUILD_ROOT%{_httpd_modconfdir}/10-wsgi-python3.conf + +%py3_install +mv $RPM_BUILD_ROOT%{_bindir}/mod_wsgi-express{,-%{python3_version}} +popd + +%endif + +# second install python2 variant +%if %{with python2} +make install DESTDIR=$RPM_BUILD_ROOT LIBEXECDIR=%{_httpd_moddir} + +install -d -m 755 $RPM_BUILD_ROOT%{_httpd_modconfdir} +# httpd >= 2.4.x +install -p -m 644 %{SOURCE1} $RPM_BUILD_ROOT%{_httpd_modconfdir}/10-wsgi.conf + +%py2_install +mv $RPM_BUILD_ROOT%{_bindir}/mod_wsgi-express{,-2} +ln -s %{_bindir}/mod_wsgi-express-2 $RPM_BUILD_ROOT%{_bindir}/mod_wsgi-express +%endif + +%if %{with python2} +%files -n python2-%{name} +%license LICENSE +%doc CREDITS.rst README.rst +%config(noreplace) %{_httpd_modconfdir}/*wsgi.conf +%{_httpd_moddir}/mod_wsgi.so +%{python2_sitearch}/mod_wsgi-*.egg-info +%{python2_sitearch}/mod_wsgi +%{_bindir}/mod_wsgi-express-2 +%{_bindir}/mod_wsgi-express +%endif + +%if %{with python3} +%files -n python%{python3_pkgversion}-%{name} +%license LICENSE +%doc CREDITS.rst README.rst +%config(noreplace) %{_httpd_modconfdir}/*wsgi-python3.conf +%{_httpd_moddir}/mod_wsgi_python3.so +%{python3_sitearch}/mod_wsgi-*.egg-info +%{python3_sitearch}/mod_wsgi +%{_bindir}/mod_wsgi-express-%{python3_version} +%endif + +%changelog +* Wed Dec 11 2019 Tomas Orsava - 4.6.8-3 +- Exclude unsupported i686 arch (rhbz#1779142) + +* Wed Nov 20 2019 Lumír Balhar - 4.6.8-2 +- Adjusted for Python 3.8 module in RHEL 8 + +* Mon Nov 11 2019 Joe Orton - 4.6.8-1 +- update to 4.6.8 (#1721376) + +* Mon Nov 11 2019 Joe Orton - 4.6.6-6 +- try again to drop Python 2 + +* Tue Oct 29 2019 Joe Orton - 4.6.6-5 +- drop python2 build + +* Thu Oct 03 2019 Miro Hrončok - 4.6.6-4 +- Rebuilt for Python 3.8.0rc1 (#1748018) + +* Mon Aug 19 2019 Miro Hrončok - 4.6.6-3 +- Rebuilt for Python 3.8 + +* Thu Jul 25 2019 Fedora Release Engineering - 4.6.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Fri Jun 08 2019 Matthias Runge - 4.6.6-1 +- update to 4.6.6 (rhbz#1718151) + +* Wed May 29 2019 Miro Hrončok - 4.6.5-1 +- update to 4.6.5 + +* Tue Apr 16 2019 Joe Orton - 4.6.4-4 +- only build docs with Python 3 +- fix build on Fedora>30 and RHEL 7 + +* Fri Feb 01 2019 Fedora Release Engineering - 4.6.4-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Tue Jul 31 2018 Adam Williamson - 4.6.4-2 +- Run Python 3 build in a subdir, so module isn't linked against both + libpython 2 and libpython 3 (rhbz#1609491) + +* Fri Jul 20 2018 Matthias Runge - 4.6.4-1 +- update to 4.6.4 (rhbz#1560329) + +* Fri Jul 13 2018 Fedora Release Engineering - 4.6.2-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Tue Jun 19 2018 Miro Hrončok - 4.6.2-4 +- Rebuilt for Python 3.7 + +* Fri Apr 20 2018 Joe Orton - 4.6.2-3 +- use sphinx-build-3 if python2 support is disabled + +* Thu Mar 22 2018 Troy Dawson - 4.6.2-2 +- Update conditionals. +- Make preperations for non-python2 builds + +* Tue Mar 13 2018 Matthias Runge - 4.6.2-1 +- update to 4.6.2 (rhbz#1514768) +- add gcc BR + +* Wed Feb 7 2018 Joe Orton - 4.5.20-4 +- restrict module DSO symbol exports + +* Tue Jan 09 2018 Iryna Shcherbina - 4.5.20-3 +- Update Python 2 dependency declarations to new packaging standards + (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3) + +* Sun Dec 17 2017 Zbigniew Jędrzejewski-Szmek - 4.5.20-2 +- Python 2 binary package renamed to python2-mod_wsgi + See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3 + +* Fri Oct 20 2017 Joe Orton - 4.5.20-1 +- update to 4.5.20 + +* Wed Aug 09 2017 Dan Callaghan - 4.5.15-5 +- include mod_wsgi Python package and mod_wsgi-express script + +* Thu Aug 03 2017 Fedora Release Engineering - 4.5.15-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 4.5.15-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Jul 07 2017 Igor Gnatenko - 4.5.15-2 +- Rebuild due to bug in RPM (RHBZ #1468476) + +* Fri Jun 23 2017 Joe Orton - 4.5.15-1 +- update to 4.5.15 (#1431893) + +* Fri Feb 10 2017 Fedora Release Engineering - 4.5.13-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Tue Jan 10 2017 Jakub Dorňák - 4.5.13-1 +- Update to 4.5.13 + +* Mon Dec 19 2016 Miro Hrončok - 4.5.9-2 +- Rebuild for Python 3.6 + +* Mon Dec 05 2016 Matthias Runge - 4.5.9-1 +- upgrade to 4.5.9 (rhbz#1180445) + +* Thu Feb 04 2016 Fedora Release Engineering - 4.4.8-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Tue Nov 10 2015 Fedora Release Engineering - 4.4.8-3 +- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5 + +* Wed Jun 17 2015 Fedora Release Engineering - 4.4.8-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Thu Feb 12 2015 Richard W.M. Jones - 4.4.8-1 +- Upstream to 4.4.8. +- This version includes the fix for the segfault described in RHBZ#1178851. + +* Mon Jan 5 2015 Jakub Dorňák - 4.4.3-1 +- update to new upstream version 4.4.3 (#1176914) + +* Wed Dec 17 2014 Jan Kaluza - 4.4.1-1 +- update to new upstream version 4.4.1 (#1170994) + +* Wed Nov 19 2014 Jan Kaluza - 4.3.2-1 +- update to new upstream version 4.3.2 (#1104526) + +* Sun Aug 17 2014 Fedora Release Engineering - 3.5-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Sat Jun 07 2014 Fedora Release Engineering - 3.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Thu May 29 2014 Luke Macken - 3.5-1 +- Update to 3.5 to fix CVE-2014-0240 (#1101863) +- Remove all of the patches, which have been applied upstream +- Update source URL for new the GitHub upstream + +* Wed May 28 2014 Joe Orton - 3.4-14 +- rebuild for Python 3.4 + +* Mon Apr 28 2014 Matthias Runge - 3.4.13 +- do not use conflicts between mod_wsgi packages (rhbz#1087943) + +* Thu Jan 23 2014 Joe Orton - 3.4-12 +- fix _httpd_mmn expansion in absence of httpd-devel + +* Fri Jan 10 2014 Matthias Runge - 3.4-11 +- added python3 subpackage (thanks to Jakub Dorňák), rhbz#1035876 + +* Sat Aug 03 2013 Fedora Release Engineering - 3.4-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Mon Jul 8 2013 Joe Orton - 3.4-9 +- modernize spec file (thanks to rcollet) + +* Thu Feb 14 2013 Fedora Release Engineering - 3.4-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Tue Dec 11 2012 Jan Kaluza - 3.4-7 +- compile with -fno-strict-aliasing to workaround Python + bug http://www.python.org/dev/peps/pep-3123/ + +* Thu Nov 22 2012 Joe Orton - 3.4-6 +- use _httpd_moddir macro + +* Thu Nov 22 2012 Joe Orton - 3.4-5 +- spec file cleanups + +* Wed Oct 17 2012 Joe Orton - 3.4-4 +- enable PR_SET_DUMPABLE in daemon process to enable core dumps + +* Wed Oct 17 2012 Joe Orton - 3.4-3 +- use a NULL c->sbh pointer with httpd 2.4 (possible fix for #867276) +- add logging for unexpected daemon process loss + +* Wed Oct 17 2012 Matthias Runge - 3.4-2 +- also use RPM_LD_FLAGS for build bz. #867137 + +* Mon Oct 15 2012 Matthias Runge - 3.4-1 +- update to upstream release 3.4 + +* Fri Jul 20 2012 Fedora Release Engineering - 3.3-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Wed Jun 13 2012 Joe Orton - 3.3-6 +- add possible fix for daemon mode crash (#831701) + +* Mon Mar 26 2012 Joe Orton - 3.3-5 +- move wsgi.conf to conf.modules.d + +* Mon Mar 26 2012 Joe Orton - 3.3-4 +- rebuild for httpd 2.4 + +* Tue Mar 13 2012 Joe Orton - 3.3-3 +- prepare for httpd 2.4.x + +* Fri Jan 13 2012 Fedora Release Engineering - 3.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Tue Nov 01 2011 James Bowes 3.3-1 +- update to 3.3 + +* Tue Feb 08 2011 Fedora Release Engineering - 3.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Tue Jul 27 2010 David Malcolm - 3.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild + +* Tue Mar 9 2010 Josh Kayse - 3.2-1 +- update to 3.2 + +* Sun Mar 07 2010 Josh Kayse - 3.1-2 +- removed conflicts as it violates fedora packaging policy + +* Sun Mar 07 2010 Josh Kayse - 3.1-1 +- update to 3.1 +- add explicit enable-shared +- add conflicts mod_python < 3.3.1 + +* Sat Jul 25 2009 Fedora Release Engineering - 2.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Thu Jul 02 2009 James Bowes 2.5-1 +- Update to 2.5 + +* Wed Feb 25 2009 Fedora Release Engineering - 2.3-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Sun Nov 30 2008 Ignacio Vazquez-Abrams - 2.3-2 +- Rebuild for Python 2.6 + +* Tue Oct 28 2008 Luke Macken 2.3-1 +- Update to 2.3 + +* Mon Sep 29 2008 James Bowes 2.1-2 +- Remove requires on httpd-devel + +* Wed Jul 02 2008 James Bowes 2.1-1 +- Update to 2.1 + +* Mon Jun 16 2008 Ricky Zhou 1.3-4 +- Build against the shared python lib. + +* Tue Feb 19 2008 Fedora Release Engineering - 1.3-3 +- Autorebuild for GCC 4.3 + +* Sun Jan 06 2008 James Bowes 1.3-2 +- Require httpd + +* Sat Jan 05 2008 James Bowes 1.3-1 +- Update to 1.3 + +* Sun Sep 30 2007 James Bowes 1.0-1 +- Initial packaging for Fedora +