# - check those autn modules inner deps
# - for external packages: don't use any apache module name in dep as they
# differ for apache 1.3/2.0/2.2!? any better ideas? rpm Suggests: tags?
-# - for mod_auth_* modules require each auth module to require virtual authn so at least *_default
+# - for mod_auth_* modules require each auth module to require virtual authn so at least *_core
# is chosen?
# - same for mod_authz
# - mod_auth_digest and mod_auth_basic R: apache(authn) ?
# this is internal macro, don't change to %%apache_modules_api
%define _apache_modules_api 20120211
-%if "%{pld_release}" == "ac"
-%define openssl_ver 0.9.7d
-%define apr_ver 1:1.2
-%else
%define openssl_ver 0.9.8i
-%define apr_ver 1:1.4.5
-%endif
+%define apr_ver 1:1.4.6
+
%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(ru.UTF-8): Самый популярный веб-сервер
Summary(tr.UTF-8): Lider WWW tarayıcı
Name: apache
-Version: 2.4.1
-Release: 0.1
+Version: 2.4.3
+Release: 1
License: Apache v2.0
Group: Networking/Daemons/HTTP
Source0: http://www.apache.org/dist/httpd/httpd-%{version}.tar.gz
-# Source0-md5: 4366afbea8149ca125af01fd59a2f8a2
+# Source0-md5: 538dccd22dd18466fff3ec7948495417
Source1: %{name}.init
Source2: %{name}.logrotate
Source3: %{name}.sysconfig
# http://mpm-itk.sesse.net/
Patch28: %{name}-mpm-itk.patch
Patch29: libtool-tag.patch
+Patch30: lua-lib.patch
URL: http://httpd.apache.org/
BuildRequires: apr-devel >= %{apr_ver}
BuildRequires: apr-util-devel >= 1:1.3.10-2
BuildRequires: automake
%{?with_distcache:BuildRequires: distcache-devel}
BuildRequires: libtool >= 2:1.5
+BuildRequires: lua51-devel
%{?with_ldap:BuildRequires: openldap-devel >= 2.3.0}
%{?with_ssl:BuildRequires: openssl-devel >= %{openssl_ver}}
%{?with_ssl:BuildRequires: openssl-tools >= %{openssl_ver}}
Requires(pre): /usr/bin/getgid
Requires(pre): /usr/sbin/groupadd
Requires(pre): /usr/sbin/useradd
+Requires(post,preun,postun): systemd-units >= 38
Requires: /sbin/chkconfig
Requires: apr >= %{apr_ver}
Requires: psmisc >= 20.1
Requires: rc-scripts >= 0.4.1.23
Requires: sed >= 4.0
-Requires: systemd-units
+Requires: systemd-units >= 38
Provides: apache(modules-api) = %{_apache_modules_api}
Provides: group(http)
Provides: user(http)
wejściu i po SSL/TLS na wyjściu, więc liczby będą właściwie
odzwierciedlały wszystkie zmiany dokonywane przez szyfrowanie.
+%package mod_lua
+Summary: Provides Lua hooks into various portions of the httpd request processing
+Group: Networking/Daemons/HTTP
+URL: http://httpd.apache.org/docs/2.4/mod/mod_lua.html
+Requires: %{name}-base = %{version}-%{release}
+Provides: apache(mod_lua) = %{version}-%{release}
+
+%description mod_lua
+This module allows the server to be extended with scripts written in
+the Lua programming language. The extension points (hooks) available
+with mod_lua include many of the hooks available to natively compiled
+Apache HTTP Server modules, such as mapping requests to files,
+generating dynamic responses, access control, authentication,
+and authorization
+
%package mod_mime
Summary: Associates the requested filename's extensions with the file's behavior and content
Summary(pl.UTF-8): Wiązanie określonych rozszerzeń plików z zachowaniem i zawartością
URL: http://httpd.apache.org/docs/2.4/mod/mod_proxy.html
Requires: %{name}-base = %{version}-%{release}
Requires: %{name}-mod_authz_host = %{version}-%{release}
+Requires: %{name}-mod_xml2enc = %{version}-%{release}
Provides: apache(mod_proxy) = %{version}-%{release}
%description mod_proxy
Requires: %{name}-base = %{version}-%{release}
Requires: %{name}-mod_socache_shmcb = %{version}-%{release}
Requires: openssl >= %{openssl_ver}
-%if "%{pld_release}" != "ac"
Requires: apr-util-dbm-db
-%endif
Provides: apache(mod_ssl) = 1:%{version}-%{release}
%description mod_ssl
# probably drop
#%patch28 -p1
%patch29 -p1
+%patch30 -p1
# sanity check
MODULES_API=`awk '/#define MODULE_MAGIC_NUMBER_MAJOR/ {print $3}' include/ap_mmn.h`
--enable-case-filter-in \
--enable-log-forensic \
--enable-logio \
+ --enable-lua \
--with-z=%{_prefix} \
--enable-mime-magic \
--enable-cern-meta \
%{__make} -C build install \
DESTDIR=$RPM_BUILD_ROOT
+# clean "ccache" prefix. confuses other build systems (like php)
+%{__sed} -i -re '/^(CC|CPP|CXX)/ s/ccache //' $RPM_BUILD_ROOT%{_libdir}/%{name}/build/config_vars.mk
+
install %{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
echo "LoadModule log_debug_module modules/mod_log_debug.so" > $CFG/00_mod_log_debug.conf
echo "LoadModule log_forensic_module modules/mod_log_forensic.so" > $CFG/00_mod_log_forensic.conf
echo "LoadModule logio_module modules/mod_logio.so" > $CFG/00_mod_logio.conf
+echo "LoadModule lua_module modules/mod_lua.so" > $CFG/00_mod_lua.conf
echo "LoadModule negotiation_module modules/mod_negotiation.so" > $CFG/00_mod_negotiation.conf
echo "LoadModule ratelimit_module modules/mod_ratelimit.so" > $CFG/00_mod_ratelimit.conf
echo "LoadModule reflector_module modules/mod_reflector.so" > $CFG/00_mod_reflector.conf
# htpasswd goes to %{_bindir}
ln -sf %{_bindir}/htpasswd $RPM_BUILD_ROOT%{_sbindir}
+mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/apxs
+
# cgi_test: create config file with ScriptAlias
cat << 'EOF' > $CFG/09_cgi_test.conf
ScriptAlias /cgi-bin/printenv %{_cgibindir}/printenv
fi
fi
+%triggerpostun base -- %{name} < 2.4.0
+cp -f /etc/httpd/apache.conf{,.rpmsave}
+sed -i -e '
+ /^DefaultType.*/s,.*,,
+ /^Include /s,^Include ,IncludeOptional ,
+ /^NameVirtualHost.*/s,.*,,
+ /^User/s,^,LoadModule unixd_module modules/mod_unixd.so\n,
+' /etc/httpd/apache.conf
+sed -i -e '
+ s,^LockFile /var/run/httpd/accept.lock,Mutex file:/var/run/httpd/,g
+' /etc/httpd/conf.d/10_mpm.conf
+
%triggerpostun base -- %{name} < 2.2.0
# change HTTPD_CONF to point to new location. *only* if it's the
# default config setting
%triggerpostun base -- %{name} < 2.4.0
cp -f /etc/httpd/apache.conf{,.rpmsave}
sed -i -e '
- /^DefaultType.*/s,.*,,
- /^Include /s,^Include ,IncludeOptional ,
- /^NameVirtualHost.*/s,.*,,
- /^User/s,^,LoadModule unixd_module modules/mod_unixd.so\n,
+ /^DefaultType/d
+ /^Include / s,^Include ,IncludeOptional ,
+ /^NameVirtualHost/d
+ /^User/ s,^,LoadModule unixd_module modules/mod_unixd.so\n,
' /etc/httpd/apache.conf
sed -i -e '
s,^LockFile /var/run/httpd/accept.lock,Mutex file:/var/run/httpd/,g
%triggerpostun mod_ssl -- %{name}-mod_ssl < 1:2.4.0
cp -f /etc/httpd/conf.d/40_mod_ssl.conf{,.rpmsave}
sed -i -e '
- /^SSLMutex/s,^,#,
- /^NameVirtualHost.*/s,.*,,
+ /^SSLMutex/ s,^,#,
+ /^NameVirtualHost/d
' /etc/httpd/conf.d/40_mod_ssl.conf
%posttrans base
%module_scripts mod_log_debug
%module_scripts mod_log_forensic
%module_scripts mod_logio
+%module_scripts mod_lua
%module_scripts mod_mime
%module_scripts mod_mime_magic
%module_scripts mod_negotiation
%files devel
%defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/apxs
+%attr(755,root,root) %{_sbindir}/apxs
%attr(755,root,root) %{_sbindir}/envvars*
%dir %{_libexecdir}
%dir %{_libexecdir}/build
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*_mod_logio.conf
%attr(755,root,root) %{_libexecdir}/mod_logio.so
+%files mod_lua
+%defattr(644,root,root,755)
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*_mod_lua.conf
+%attr(755,root,root) %{_libexecdir}/mod_lua.so
+
%files mod_mime
%defattr(644,root,root,755)
%attr(755,root,root) %{_libexecdir}/mod_mime.so
%defattr(644,root,root,755)
%attr(755,root,root) %{_sbindir}/fcgistarter
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*_mod_proxy.conf
-%attr(755,root,root) %{_libexecdir}/mod_proxy*.so
+%attr(755,root,root) %{_libexecdir}/mod_proxy_ajp.so
+%attr(755,root,root) %{_libexecdir}/mod_proxy_balancer.so
+%attr(755,root,root) %{_libexecdir}/mod_proxy_connect.so
+%attr(755,root,root) %{_libexecdir}/mod_proxy_express.so
+%attr(755,root,root) %{_libexecdir}/mod_proxy_fcgi.so
+%attr(755,root,root) %{_libexecdir}/mod_proxy_fdpass.so
+%attr(755,root,root) %{_libexecdir}/mod_proxy_ftp.so
+%attr(755,root,root) %{_libexecdir}/mod_proxy_html.so
+%attr(755,root,root) %{_libexecdir}/mod_proxy_http.so
+%attr(755,root,root) %{_libexecdir}/mod_proxy_scgi.so
+%attr(755,root,root) %{_libexecdir}/mod_proxy.so
+%{_mandir}/man8/fcgistarter.8*
%files mod_ratelimit
%defattr(644,root,root,755)