# - mod_auth_digest and mod_auth_basic R: apache(authn) ?
# - drop mod_case_filter* or find summary and description for them
# - FYI: http://wiki.apache.org/httpd/InternalDummyConnection
+# - consider modules: mod_authnz_fcgi, mod_socache_dc (distcache bcond)
# Conditional build:
%bcond_without ssl # build without SSL support
%define _apache_modules_api 20120211
%define openssl_ver 1.1.1
-%define apr_ver 1:1.6.0
-%define apr_util_ver 1:1.6.0
+%define apr_ver 1:1.7.0
+%define apr_util_ver 1:1.6.1
-%include /usr/lib/rpm/macros.perl
Summary: The most widely used Web server on the Internet
Summary(de.UTF-8): Leading World Wide Web-Server
Summary(es.UTF-8): Servidor HTTPD para proveer servicios WWW
Summary(ru.UTF-8): Самый популярный веб-сервер
Summary(tr.UTF-8): Lider WWW tarayıcı
Name: apache
-Version: 2.4.41
+Version: 2.4.59
Release: 1
License: Apache v2.0
Group: Networking/Daemons/HTTP
Source0: http://www.apache.org/dist/httpd/httpd-%{version}.tar.bz2
-# Source0-md5: dfc674f8f454e3bc2d4ccd73ad3b5f1e
+# Source0-md5: 9f77eb01b2fddfb4b32d469af90fb01b
Source1: %{name}.init
Source2: %{name}.logrotate
Source3: %{name}.sysconfig
BuildRequires: apr-util-devel >= %{apr_util_ver}
BuildRequires: autoconf >= 2.50
BuildRequires: automake
+BuildRequires: curl-devel
%{?with_distcache:BuildRequires: distcache-devel}
BuildRequires: jansson-devel
BuildRequires: libbrotli-devel >= 0.6.0
BuildRequires: rpm-perlprov >= 4.1-13
BuildRequires: rpmbuild(macros) >= 1.647
BuildRequires: sed >= 4.0
+BuildRequires: systemd-devel
BuildRequires: zlib-devel
Requires: %{name}-errordocs = %{version}-%{release}
Requires: %{name}-mod_alias = %{version}-%{release}
Provides: group(http)
Provides: user(http)
Provides: webserver = apache
-Obsoletes: apache-extra
-Obsoletes: apache6
-# packaged by mistake. really sample code
-Obsoletes: apache-mod_optional_fn_export
-Obsoletes: apache-mod_optional_fn_import
-Obsoletes: apache-mod_optional_fn_import
-Obsoletes: apache-mod_optional_hook_import
+Obsoletes: apache-extra < 1.3.1
+Obsoletes: apache6 < 1.3.4
Conflicts: apache < 2.2.0
# mod_wsgi >= 3.4 is required for apache 2.4
Conflicts: apache-mod_wsgi < 3.4
Group: Documentation
Requires: %{name}-base = %{version}-%{release}
Obsoletes: indexhtml
-%if "%{_rpmversion}" >= "5"
BuildArch: noarch
-%endif
%description index
Apache index.html* files.
Requires: %{name}-mod_dir = %{version}-%{release}
Requires: %{name}-mod_negotiation = %{version}-%{release}
Requires: %{name}-mod_setenvif = %{version}-%{release}
-%if "%{_rpmversion}" >= "5"
BuildArch: noarch
-%endif
%description doc
Apache manual.
Requires: %{name}-mod_authz_host = %{version}-%{release}
Requires: %{name}-mod_include = %{version}-%{release}
Requires: %{name}-mod_negotiation = %{version}-%{release}
-%if "%{_rpmversion}" >= "5"
BuildArch: noarch
-%endif
%description errordocs
Multi-language error messages.
Group: Networking/Utilities
Requires: apr-util-devel >= %{apr_util_ver}
Requires: libtool
-Obsoletes: apache-apxs
-Obsoletes: apache-static
+Obsoletes: apache-apxs < 2.2.6-3
+Obsoletes: apache-static < 2.0.47-1
%description devel
The apache-devel package contains header files for Apache.
Requires: %{name}-base = %{version}-%{release}
Provides: apache(mod_authn_core) = %{version}-%{release}
Provides: apache(mod_authn_default) = %{version}-%{release}
-Obsoletes: apache(mod_authn_alias)
Obsoletes: apache-mod_authn_default < %{version}-%{release}
%description mod_authn_core
URL: http://httpd.apache.org/docs/2.4/mod/mod_file_cache.html
Requires: %{name}-base = %{version}-%{release}
Provides: apache(mod_file_cache) = %{version}-%{release}
-Obsoletes: apache-mmap_static
+Obsoletes: apache-mod_mmap_static < 2
%description mod_file_cache
Caches a static list of files in memory.
Requires: %{name}-base = %{version}-%{release}
Provides: apache(mod_imagemap) = %{version}-%{release}
Provides: apache-mod_imap
-Obsoletes: apache-mod_imap
+Obsoletes: apache-mod_imap < 2.2.0-1
%description mod_imagemap
This module processes .map files, thereby replacing the functionality
Group: Networking/Utilities
Requires: %{name}-base = %{version}-%{release}
Requires: filesystem >= 2.0-1
-%if "%{_rpmversion}" >= "5"
BuildArch: noarch
-%endif
%description cgi_test
Two cgi test/demo programs: test-cgi and print-env.
--enable-speling \
%{?with_ssl:--enable-ssl %{?with_distcache:--enable-distcache}} \
--enable-suexec \
+ --enable-systemd \
--enable-unique-id \
--enable-usertrack \
--enable-vhost-alias \
%{__sed} -i -re '/^(CC|CPP|CXX)/ s/ccache //' $RPM_BUILD_ROOT%{_libdir}/%{name}/build/config_vars.mk
cp -p %{SOURCE31} $RPM_BUILD_ROOT%{systemdunitdir}/httpd.service
-ln -s %{systemdunitdir}/httpd.service $RPM_BUILD_ROOT/etc/systemd/system/httpd.service
-ln -s %{_libexecdir} $RPM_BUILD_ROOT%{_sysconfdir}/modules
-ln -s %{_localstatedir}/run/httpd $RPM_BUILD_ROOT%{_sysconfdir}/run
-ln -s %{_var}/log/httpd $RPM_BUILD_ROOT%{_sysconfdir}/logs
-ln -s %{_var}/lib/httpd/md $RPM_BUILD_ROOT%{_sysconfdir}/md
+ln -sr $RPM_BUILD_ROOT%{systemdunitdir}/httpd.service $RPM_BUILD_ROOT/etc/systemd/system/httpd.service
+ln -sr $RPM_BUILD_ROOT%{_libexecdir} $RPM_BUILD_ROOT%{_sysconfdir}/modules
+ln -sr $RPM_BUILD_ROOT%{_localstatedir}/run/httpd $RPM_BUILD_ROOT%{_sysconfdir}/run
+ln -sr $RPM_BUILD_ROOT%{_var}/log/httpd $RPM_BUILD_ROOT%{_sysconfdir}/logs
+ln -sr $RPM_BUILD_ROOT%{_var}/lib/httpd/md $RPM_BUILD_ROOT%{_sysconfdir}/md
# we have own apache.conf
rm $RPM_BUILD_ROOT%{_sysconfdir}/httpd.conf
socache_shmcb
speling
substitute
+ systemd
unique_id
usertrack
version
cd $cur
# htpasswd goes to %{_bindir}
-ln -sf %{_bindir}/htpasswd $RPM_BUILD_ROOT%{_sbindir}
+ln -sfr $RPM_BUILD_ROOT%{_bindir}/htpasswd $RPM_BUILD_ROOT%{_sbindir}
mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/apxs
fi
%systemd_reload
-%triggerpostun base -- %{name}-base < 2.2.22-2
+%triggerpostun base -- %{name}-base < 2.4.0
+# < 2.2.22-2
. /etc/sysconfig/httpd
if [ -z "$HTTPD_CONF" ]; then
echo 'HTTPD_CONF="/etc/httpd/apache.conf"' >> /etc/sysconfig/httpd
fi
%systemd_trigger httpd.service
-%triggerpostun base -- %{name}-base < 2.4.0
+# < 2.4.0
cp -f /etc/httpd/apache.conf{,.rpmsave}
sed -i -e '
/^DefaultType/d
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apache.conf
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*_common.conf
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*_mpm.conf
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*_systemd.conf
%attr(640,root,root) %config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/vhosts.d/example.net.conf
%attr(640,root,root) %{_sysconfdir}/magic
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/httpd
%dir %{_datadir}/cgi-bin
%dir %{_datadir}/html
%dir %{_datadir}/vhosts
-# do not adapter here, %{_datadir} != /usr/share here
+# do not adapter here, %%{_datadir} != /usr/share here
%{_datadir}/icons
%attr(755,root,root) %{_libexecdir}/mod_mpm_event.so
%attr(755,root,root) %{_libexecdir}/mod_mpm_prefork.so
%attr(755,root,root) %{_libexecdir}/mod_mpm_worker.so
+%attr(755,root,root) %{_libexecdir}/mod_systemd.so
%attr(755,root,root) %{_libexecdir}/mod_unixd.so
%files doc -f manual.files