summaryrefslogtreecommitdiffstats
path: root/build/rpm
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 15:01:30 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 15:01:30 +0000
commit6beeb1b708550be0d4a53b272283e17e5e35fe17 (patch)
tree1ce8673d4aaa948e5554000101f46536a1e4cc29 /build/rpm
parentInitial commit. (diff)
downloadapache2-6beeb1b708550be0d4a53b272283e17e5e35fe17.tar.xz
apache2-6beeb1b708550be0d4a53b272283e17e5e35fe17.zip
Adding upstream version 2.4.57.upstream/2.4.57upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rwxr-xr-xbuild/rpm/htcacheclean.init100
-rwxr-xr-xbuild/rpm/httpd.init155
-rw-r--r--build/rpm/httpd.logrotate8
-rw-r--r--build/rpm/httpd.spec.in494
4 files changed, 757 insertions, 0 deletions
diff --git a/build/rpm/htcacheclean.init b/build/rpm/htcacheclean.init
new file mode 100755
index 0000000..5aa10ab
--- /dev/null
+++ b/build/rpm/htcacheclean.init
@@ -0,0 +1,100 @@
+#!/bin/bash
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+#
+# htcacheclean Startup script for the Apache cache cleaner
+#
+# chkconfig: - 85 15
+# description: The Apache htcacheclean daemon maintains and prunes the
+# size of the mod_cache_disk cache directory.
+# processname: htcacheclean
+# pidfile: /var/log/httpd/htcacheclean.pid
+# config: /etc/sysconfig/htcacheclean
+#
+### BEGIN INIT INFO
+# Provides: htcacheclean
+# Required-Start: $local_fs $remote_fs $network
+# Required-Stop: $local_fs $remote_fs $network
+# Should-Start: httpd
+# Short-Description: start and stop Apache htcacheclean
+# Description: The Apache htcacheclean daemon maintains a mod_cache_disk
+### END INIT INFO
+
+# Source function library.
+. /etc/rc.d/init.d/functions
+
+# What were we called? Multiple instances of the same daemon can be
+# created by creating suitably named symlinks to this startup script
+prog=$(basename $0 | sed -e 's/^[SK][0-9][0-9]//')
+
+if [ -f /etc/sysconfig/${prog} ]; then
+ . /etc/sysconfig/${prog}
+fi
+
+# Path to htcacheclean, server binary, and short-form for messages.
+htcacheclean=${HTTPD-/usr/sbin/htcacheclean}
+lockfile=${LOCKFILE-/var/lock/subsys/${prog}}
+pidfile=/var/run/${prog}.pid
+interval=${INTERVAL-10}
+cachepath=${CACHEPATH-/var/cache/httpd/cache-root}
+limit=${LIMIT-100M}
+RETVAL=0
+
+start() {
+ echo -n $"Starting $prog: "
+ daemon --pidfile=${pidfile} $htcacheclean -d "$interval" -p "$cachepath" -l "$limit" -P "$pidfile" $OPTIONS
+ RETVAL=$?
+ echo
+ [ $RETVAL = 0 ] && touch ${lockfile}
+ return $RETVAL
+}
+stop() {
+ echo -n $"Stopping $prog: "
+ killproc -p ${pidfile} $htcacheclean
+ RETVAL=$?
+ echo
+ [ $RETVAL = 0 ] && rm -f ${lockfile}
+}
+
+# See how we were called.
+case "$1" in
+ start)
+ start
+ ;;
+ stop)
+ stop
+ ;;
+ status)
+ status -p ${pidfile} $htcacheclean
+ RETVAL=$?
+ ;;
+ restart)
+ stop
+ start
+ ;;
+ condrestart)
+ if status -p ${pidfile} $htcacheclean >&/dev/null; then
+ stop
+ start
+ fi
+ ;;
+ *)
+ echo $"Usage: $prog {start|stop|restart|condrestart|status|help}"
+ exit 1
+esac
+
+exit $RETVAL
diff --git a/build/rpm/httpd.init b/build/rpm/httpd.init
new file mode 100755
index 0000000..c8c6759
--- /dev/null
+++ b/build/rpm/httpd.init
@@ -0,0 +1,155 @@
+#!/bin/bash
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+#
+# httpd Startup script for the Apache Web Server
+#
+# chkconfig: - 85 15
+# description: The Apache HTTP Server is an efficient and extensible \
+# server implementing the current HTTP standards.
+# processname: httpd
+# pidfile: /var/run/httpd.pid
+# config: /etc/sysconfig/httpd
+#
+### BEGIN INIT INFO
+# Provides: httpd
+# Required-Start: $local_fs $remote_fs $network $named
+# Required-Stop: $local_fs $remote_fs $network
+# Should-Start: distcache
+# Short-Description: start and stop Apache HTTP Server
+# Description: The Apache HTTP Server is an extensible server
+# implementing the current HTTP standards.
+### END INIT INFO
+
+# Source function library.
+. /etc/rc.d/init.d/functions
+
+# What were we called? Multiple instances of the same daemon can be
+# created by creating suitably named symlinks to this startup script
+prog=$(basename $0 | sed -e 's/^[SK][0-9][0-9]//')
+
+if [ -f /etc/sysconfig/${prog} ]; then
+ . /etc/sysconfig/${prog}
+fi
+
+# Start httpd in the C locale by default.
+HTTPD_LANG=${HTTPD_LANG-"C"}
+
+# This will prevent initlog from swallowing up a pass-phrase prompt if
+# mod_ssl needs a pass-phrase from the user.
+INITLOG_ARGS=""
+
+# Set HTTPD=/usr/sbin/httpd.worker in /etc/sysconfig/httpd to use a server
+# with the thread-based "worker" MPM; BE WARNED that some modules may not
+# work correctly with a thread-based MPM; notably PHP will refuse to start.
+
+httpd=${HTTPD-/usr/sbin/httpd}
+pidfile=${PIDFILE-/var/run/${prog}.pid}
+lockfile=${LOCKFILE-/var/lock/subsys/${prog}}
+RETVAL=0
+
+# check for 1.3 configuration
+check13 () {
+ CONFFILE=/etc/httpd/conf/httpd.conf
+ GONE="(ServerType|BindAddress|Port|AddModule|ClearModuleList|"
+ GONE="${GONE}AgentLog|RefererLog|RefererIgnore|FancyIndexing|"
+ GONE="${GONE}AccessConfig|ResourceConfig)"
+ if grep -Eiq "^[[:space:]]*($GONE)" $CONFFILE; then
+ echo
+ echo 1>&2 " Apache 1.3 configuration directives found"
+ echo 1>&2 " please read @docdir@/migration.html"
+ failure "Apache 1.3 config directives test"
+ echo
+ exit 1
+ fi
+}
+
+# The semantics of these two functions differ from the way apachectl does
+# things -- attempting to start while running is a failure, and shutdown
+# when not running is also a failure. So we just do it the way init scripts
+# are expected to behave here.
+start() {
+ echo -n $"Starting $prog: "
+ check13 || exit 1
+ LANG=$HTTPD_LANG daemon --pidfile=${pidfile} $httpd $OPTIONS
+ RETVAL=$?
+ echo
+ [ $RETVAL = 0 ] && touch ${lockfile}
+ return $RETVAL
+}
+stop() {
+ echo -n $"Stopping $prog: "
+ killproc -p ${pidfile} -d 10 $httpd
+ RETVAL=$?
+ echo
+ [ $RETVAL = 0 ] && rm -f ${lockfile} ${pidfile}
+}
+reload() {
+ echo -n $"Reloading $prog: "
+ check13 || exit 1
+ killproc -p ${pidfile} $httpd -HUP
+ RETVAL=$?
+ echo
+}
+
+# See how we were called.
+case "$1" in
+ start)
+ start
+ ;;
+ stop)
+ stop
+ ;;
+ status)
+ if ! test -f ${pidfile}; then
+ echo $prog is stopped
+ RETVAL=3
+ else
+ status -p ${pidfile} $httpd
+ RETVAL=$?
+ fi
+ ;;
+ restart)
+ stop
+ start
+ ;;
+ condrestart)
+ if test -f ${pidfile} && status -p ${pidfile} $httpd >&/dev/null; then
+ stop
+ start
+ fi
+ ;;
+ reload)
+ reload
+ ;;
+ configtest)
+ LANG=$HTTPD_LANG $httpd $OPTIONS -t
+ RETVAL=$?
+ ;;
+ graceful)
+ echo -n $"Gracefully restarting $prog: "
+ LANG=$HTTPD_LANG $httpd $OPTIONS -k $@
+ RETVAL=$?
+ echo
+ ;;
+ *)
+ echo $"Usage: $prog {start|stop|restart|condrestart|reload|status|graceful|help|configtest}"
+ exit 1
+esac
+
+exit $RETVAL
+
diff --git a/build/rpm/httpd.logrotate b/build/rpm/httpd.logrotate
new file mode 100644
index 0000000..1a03e85
--- /dev/null
+++ b/build/rpm/httpd.logrotate
@@ -0,0 +1,8 @@
+/var/log/httpd/*log {
+ missingok
+ notifempty
+ sharedscripts
+ postrotate
+ /sbin/service httpd graceful 2> /dev/null || true
+ endscript
+}
diff --git a/build/rpm/httpd.spec.in b/build/rpm/httpd.spec.in
new file mode 100644
index 0000000..c85881d
--- /dev/null
+++ b/build/rpm/httpd.spec.in
@@ -0,0 +1,494 @@
+%define contentdir /var/www
+%define suexec_caller apache
+%define mmn APACHE_MMN
+
+Summary: Apache HTTP Server
+Name: httpd
+Version: APACHE_VERSION
+Release: APACHE_RELEASE
+URL: http://httpd.apache.org/
+Vendor: Apache Software Foundation
+Source0: http://www.apache.org/dist/httpd/httpd-%{version}.tar.bz2
+License: Apache License, Version 2.0
+Group: System Environment/Daemons
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
+BuildRequires: autoconf, perl, pkgconfig, findutils
+BuildRequires: zlib-devel, libselinux-devel, libuuid-devel
+BuildRequires: apr-devel >= 1.4.0, apr-util-devel >= 1.4.0, pcre-devel >= 5.0
+Requires: initscripts >= 8.36, /etc/mime.types
+Obsoletes: httpd-suexec
+Requires(pre): /usr/sbin/useradd
+Requires(post): chkconfig
+Provides: webserver
+Provides: mod_dav = %{version}-%{release}, httpd-suexec = %{version}-%{release}
+Provides: httpd-mmn = %{mmn}
+
+%description
+Apache is a powerful, full-featured, efficient, and freely-available
+Web server. Apache is also the most popular Web server on the
+Internet.
+
+%package devel
+Group: Development/Libraries
+Summary: Development tools for the Apache HTTP server.
+Obsoletes: secureweb-devel, apache-devel
+Requires: apr-devel, apr-util-devel, pkgconfig, libtool
+Requires: httpd = %{version}-%{release}
+
+%description devel
+The httpd-devel package contains the APXS binary and other files
+that you need to build Dynamic Shared Objects (DSOs) for the
+Apache HTTP Server.
+
+If you are installing the Apache HTTP server and you want to be
+able to compile or develop additional modules for Apache, you need
+to install this package.
+
+%package manual
+Group: Documentation
+Summary: Documentation for the Apache HTTP server.
+Requires: httpd = :%{version}-%{release}
+Obsoletes: secureweb-manual, apache-manual
+
+%description manual
+The httpd-manual package contains the complete manual and
+reference guide for the Apache HTTP server. The information can
+also be found at http://httpd.apache.org/docs/.
+
+%package tools
+Group: System Environment/Daemons
+Summary: Tools for use with the Apache HTTP Server
+
+%description tools
+The httpd-tools package contains tools which can be used with
+the Apache HTTP Server.
+
+%package -n mod_authnz_ldap
+Group: System Environment/Daemons
+Summary: LDAP modules for the Apache HTTP server
+BuildRequires: openldap-devel
+Requires: httpd = %{version}-%{release}, httpd-mmn = %{mmn}, apr-util-ldap
+
+%description -n mod_authnz_ldap
+The mod_authnz_ldap module for the Apache HTTP server provides
+authentication and authorization against an LDAP server, while
+mod_ldap provides an LDAP cache.
+
+%package -n mod_lua
+Group: System Environment/Daemons
+Summary: Lua language module for the Apache HTTP server
+BuildRequires: lua-devel
+Requires: httpd = %{version}-%{release}, httpd-mmn = %{mmn}
+
+%description -n mod_lua
+The mod_lua module for the Apache HTTP server allows the server to be
+extended with scripts written in the Lua programming language.
+
+%package -n mod_proxy_html
+Group: System Environment/Daemons
+Summary: Proxy HTML filter modules for the Apache HTTP server
+Epoch: 1
+BuildRequires: libxml2-devel
+Requires: httpd = 0:%{version}-%{release}, httpd-mmn = %{mmn}
+
+%description -n mod_proxy_html
+The mod_proxy_html module for the Apache HTTP server provides
+a filter to rewrite HTML links within web content when used within
+a reverse proxy environment. The mod_xml2enc module provides
+enhanced charset/internationalisation support for mod_proxy_html.
+
+%package -n mod_ssl
+Group: System Environment/Daemons
+Summary: SSL/TLS module for the Apache HTTP server
+Epoch: 1
+BuildRequires: openssl-devel
+Requires(post): openssl, /bin/cat
+Requires(pre): httpd
+Requires: httpd = 0:%{version}-%{release}, httpd-mmn = %{mmn}
+
+%description -n mod_ssl
+The mod_ssl module provides strong cryptography for the Apache Web
+server via the Secure Sockets Layer (SSL) and Transport Layer
+Security (TLS) protocols.
+
+%prep
+%setup -q
+
+# Safety check: prevent build if defined MMN does not equal upstream MMN.
+vmmn=`echo MODULE_MAGIC_NUMBER_MAJOR | cpp -include include/ap_mmn.h | sed -n '
+/^2/p'`
+if test "x${vmmn}" != "x%{mmn}"; then
+ : Error: Upstream MMN is now ${vmmn}, packaged MMN is %{mmn}.
+ : Update the mmn macro and rebuild.
+ exit 1
+fi
+
+%build
+# forcibly prevent use of bundled apr, apr-util, pcre
+rm -rf srclib/{apr,apr-util,pcre}
+
+%configure \
+ --enable-layout=RPM \
+ --libdir=%{_libdir} \
+ --sysconfdir=%{_sysconfdir}/httpd/conf \
+ --includedir=%{_includedir}/httpd \
+ --libexecdir=%{_libdir}/httpd/modules \
+ --datadir=%{contentdir} \
+ --with-installbuilddir=%{_libdir}/httpd/build \
+ --enable-mpms-shared=all \
+ --with-apr=%{_prefix} --with-apr-util=%{_prefix} \
+ --enable-suexec --with-suexec \
+ --with-suexec-caller=%{suexec_caller} \
+ --with-suexec-docroot=%{contentdir} \
+ --with-suexec-logfile=%{_localstatedir}/log/httpd/suexec.log \
+ --with-suexec-bin=%{_sbindir}/suexec \
+ --with-suexec-uidmin=500 --with-suexec-gidmin=100 \
+ --enable-pie \
+ --with-pcre \
+ --enable-mods-shared=all \
+ --enable-ssl --with-ssl --enable-bucketeer \
+ --enable-case-filter --enable-case-filter-in \
+ --disable-imagemap
+
+make %{?_smp_mflags}
+
+%install
+rm -rf $RPM_BUILD_ROOT
+make DESTDIR=$RPM_BUILD_ROOT install
+
+# for holding mod_dav lock database
+mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/lib/dav
+
+# create a prototype session cache
+mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/cache/mod_ssl
+touch $RPM_BUILD_ROOT%{_localstatedir}/cache/mod_ssl/scache.{dir,pag,sem}
+
+# Make the MMN accessible to module packages
+echo %{mmn} > $RPM_BUILD_ROOT%{_includedir}/httpd/.mmn
+
+# Set up /var directories
+mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/log/httpd
+mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/cache/httpd/cache-root
+
+# symlinks for /etc/httpd
+ln -s ../..%{_localstatedir}/log/httpd $RPM_BUILD_ROOT/etc/httpd/logs
+ln -s ../..%{_localstatedir}/run $RPM_BUILD_ROOT/etc/httpd/run
+ln -s ../..%{_libdir}/httpd/modules $RPM_BUILD_ROOT/etc/httpd/modules
+mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/httpd/conf.d
+
+# install SYSV init stuff
+mkdir -p $RPM_BUILD_ROOT/etc/rc.d/init.d
+install -m755 ./build/rpm/httpd.init \
+ $RPM_BUILD_ROOT/etc/rc.d/init.d/httpd
+install -m755 ./build/rpm/htcacheclean.init \
+ $RPM_BUILD_ROOT/etc/rc.d/init.d/htcacheclean
+
+# install log rotation stuff
+mkdir -p $RPM_BUILD_ROOT/etc/logrotate.d
+install -m644 ./build/rpm/httpd.logrotate \
+ $RPM_BUILD_ROOT/etc/logrotate.d/httpd
+
+# Remove unpackaged files
+rm -rf $RPM_BUILD_ROOT%{_libdir}/httpd/modules/*.exp \
+ $RPM_BUILD_ROOT%{contentdir}/cgi-bin/*
+
+# Make suexec a+rw so it can be stripped. %%files lists real permissions
+chmod 755 $RPM_BUILD_ROOT%{_sbindir}/suexec
+
+%pre
+# Add the "apache" user
+/usr/sbin/useradd -c "Apache" -u 48 \
+ -s /sbin/nologin -r -d %{contentdir} apache 2> /dev/null || :
+
+%post
+# Register the httpd service
+/sbin/chkconfig --add httpd
+/sbin/chkconfig --add htcacheclean
+
+%preun
+if [ $1 = 0 ]; then
+ /sbin/service httpd stop > /dev/null 2>&1
+ /sbin/service htcacheclean stop > /dev/null 2>&1
+ /sbin/chkconfig --del httpd
+ /sbin/chkconfig --del htcacheclean
+fi
+
+%post -n mod_ssl
+umask 077
+
+if [ ! -f %{_sysconfdir}/httpd/conf/server.key ] ; then
+%{_bindir}/openssl genrsa -rand /proc/apm:/proc/cpuinfo:/proc/dma:/proc/filesystems:/proc/interrupts:/proc/ioports:/proc/pci:/proc/rtc:/proc/uptime 1024 > %{_sysconfdir}/httpd/conf/server.key 2> /dev/null
+fi
+
+FQDN=`hostname`
+if [ "x${FQDN}" = "x" ]; then
+ FQDN=localhost.localdomain
+fi
+
+if [ ! -f %{_sysconfdir}/httpd/conf/server.crt ] ; then
+cat << EOF | %{_bindir}/openssl req -new -key %{_sysconfdir}/httpd/conf/server.key -x509 -days 365 -out %{_sysconfdir}/httpd/conf/server.crt 2>/dev/null
+--
+SomeState
+SomeCity
+SomeOrganization
+SomeOrganizationalUnit
+${FQDN}
+root@${FQDN}
+EOF
+fi
+
+%check
+# Check the built modules are all PIC
+if readelf -d $RPM_BUILD_ROOT%{_libdir}/httpd/modules/*.so | grep TEXTREL; then
+ : modules contain non-relocatable code
+ exit 1
+fi
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%files
+%defattr(-,root,root)
+
+%doc ABOUT_APACHE README CHANGES LICENSE NOTICE
+
+%dir %{_sysconfdir}/httpd
+%{_sysconfdir}/httpd/modules
+%{_sysconfdir}/httpd/logs
+%{_sysconfdir}/httpd/run
+%dir %{_sysconfdir}/httpd/conf
+%dir %{_sysconfdir}/httpd/conf.d
+%config(noreplace) %{_sysconfdir}/httpd/conf/httpd.conf
+%config(noreplace) %{_sysconfdir}/httpd/conf/magic
+%config(noreplace) %{_sysconfdir}/httpd/conf/mime.types
+%config(noreplace) %{_sysconfdir}/httpd/conf/extra/httpd-autoindex.conf
+%config(noreplace) %{_sysconfdir}/httpd/conf/extra/httpd-dav.conf
+%config(noreplace) %{_sysconfdir}/httpd/conf/extra/httpd-default.conf
+%config(noreplace) %{_sysconfdir}/httpd/conf/extra/httpd-info.conf
+%config(noreplace) %{_sysconfdir}/httpd/conf/extra/httpd-languages.conf
+%config(noreplace) %{_sysconfdir}/httpd/conf/extra/httpd-manual.conf
+%config(noreplace) %{_sysconfdir}/httpd/conf/extra/httpd-mpm.conf
+%config(noreplace) %{_sysconfdir}/httpd/conf/extra/httpd-multilang-errordoc.conf
+%config(noreplace) %{_sysconfdir}/httpd/conf/extra/httpd-userdir.conf
+%config(noreplace) %{_sysconfdir}/httpd/conf/extra/httpd-vhosts.conf
+%config(noreplace) %{_sysconfdir}/httpd/conf/extra/proxy-html.conf
+%config(noreplace) %{_sysconfdir}/httpd/conf/original/extra/httpd-autoindex.conf
+%config(noreplace) %{_sysconfdir}/httpd/conf/original/extra/httpd-dav.conf
+%config(noreplace) %{_sysconfdir}/httpd/conf/original/extra/httpd-default.conf
+%config(noreplace) %{_sysconfdir}/httpd/conf/original/extra/httpd-info.conf
+%config(noreplace) %{_sysconfdir}/httpd/conf/original/extra/httpd-languages.conf
+%config(noreplace) %{_sysconfdir}/httpd/conf/original/extra/httpd-manual.conf
+%config(noreplace) %{_sysconfdir}/httpd/conf/original/extra/httpd-mpm.conf
+%config(noreplace) %{_sysconfdir}/httpd/conf/original/extra/httpd-multilang-errordoc.conf
+%config(noreplace) %{_sysconfdir}/httpd/conf/original/extra/httpd-userdir.conf
+%config(noreplace) %{_sysconfdir}/httpd/conf/original/extra/httpd-vhosts.conf
+%config(noreplace) %{_sysconfdir}/httpd/conf/original/extra/proxy-html.conf
+%config(noreplace) %{_sysconfdir}/httpd/conf/original/httpd.conf
+
+%config %{_sysconfdir}/logrotate.d/httpd
+%config %{_sysconfdir}/rc.d/init.d/httpd
+%config %{_sysconfdir}/rc.d/init.d/htcacheclean
+
+%{_sbindir}/fcgistarter
+%{_sbindir}/htcacheclean
+%{_sbindir}/httpd
+%{_sbindir}/apachectl
+%attr(4510,root,%{suexec_caller}) %{_sbindir}/suexec
+
+%dir %{_libdir}/httpd
+%dir %{_libdir}/httpd/modules
+%{_libdir}/httpd/modules/mod_access_compat.so
+%{_libdir}/httpd/modules/mod_actions.so
+%{_libdir}/httpd/modules/mod_alias.so
+%{_libdir}/httpd/modules/mod_allowmethods.so
+%{_libdir}/httpd/modules/mod_asis.so
+%{_libdir}/httpd/modules/mod_auth_basic.so
+%{_libdir}/httpd/modules/mod_auth_digest.so
+%{_libdir}/httpd/modules/mod_auth_form.so
+%{_libdir}/httpd/modules/mod_authn_anon.so
+%{_libdir}/httpd/modules/mod_authn_core.so
+%{_libdir}/httpd/modules/mod_authn_dbd.so
+%{_libdir}/httpd/modules/mod_authn_dbm.so
+%{_libdir}/httpd/modules/mod_authn_file.so
+%{_libdir}/httpd/modules/mod_authn_socache.so
+%{_libdir}/httpd/modules/mod_authz_core.so
+%{_libdir}/httpd/modules/mod_authz_dbd.so
+%{_libdir}/httpd/modules/mod_authz_dbm.so
+%{_libdir}/httpd/modules/mod_authz_groupfile.so
+%{_libdir}/httpd/modules/mod_authz_host.so
+%{_libdir}/httpd/modules/mod_authz_owner.so
+%{_libdir}/httpd/modules/mod_authz_user.so
+%{_libdir}/httpd/modules/mod_autoindex.so
+%{_libdir}/httpd/modules/mod_bucketeer.so
+%{_libdir}/httpd/modules/mod_buffer.so
+%{_libdir}/httpd/modules/mod_cache_disk.so
+%{_libdir}/httpd/modules/mod_cache_socache.so
+%{_libdir}/httpd/modules/mod_cache.so
+%{_libdir}/httpd/modules/mod_case_filter.so
+%{_libdir}/httpd/modules/mod_case_filter_in.so
+%{_libdir}/httpd/modules/mod_cgid.so
+%{_libdir}/httpd/modules/mod_charset_lite.so
+%{_libdir}/httpd/modules/mod_data.so
+%{_libdir}/httpd/modules/mod_dav_fs.so
+%{_libdir}/httpd/modules/mod_dav_lock.so
+%{_libdir}/httpd/modules/mod_dav.so
+%{_libdir}/httpd/modules/mod_dbd.so
+%{_libdir}/httpd/modules/mod_deflate.so
+%{_libdir}/httpd/modules/mod_dialup.so
+%{_libdir}/httpd/modules/mod_dir.so
+%{_libdir}/httpd/modules/mod_dumpio.so
+%{_libdir}/httpd/modules/mod_echo.so
+%{_libdir}/httpd/modules/mod_env.so
+%{_libdir}/httpd/modules/mod_expires.so
+%{_libdir}/httpd/modules/mod_ext_filter.so
+%{_libdir}/httpd/modules/mod_file_cache.so
+%{_libdir}/httpd/modules/mod_filter.so
+%{_libdir}/httpd/modules/mod_headers.so
+%{_libdir}/httpd/modules/mod_heartbeat.so
+%{_libdir}/httpd/modules/mod_heartmonitor.so
+%{_libdir}/httpd/modules/mod_include.so
+%{_libdir}/httpd/modules/mod_info.so
+%{_libdir}/httpd/modules/mod_lbmethod_bybusyness.so
+%{_libdir}/httpd/modules/mod_lbmethod_byrequests.so
+%{_libdir}/httpd/modules/mod_lbmethod_bytraffic.so
+%{_libdir}/httpd/modules/mod_lbmethod_heartbeat.so
+%{_libdir}/httpd/modules/mod_log_config.so
+%{_libdir}/httpd/modules/mod_log_debug.so
+%{_libdir}/httpd/modules/mod_log_forensic.so
+%{_libdir}/httpd/modules/mod_logio.so
+%{_libdir}/httpd/modules/mod_macro.so
+%{_libdir}/httpd/modules/mod_mime_magic.so
+%{_libdir}/httpd/modules/mod_mime.so
+%{_libdir}/httpd/modules/mod_mpm_event.so
+%{_libdir}/httpd/modules/mod_mpm_prefork.so
+%{_libdir}/httpd/modules/mod_mpm_worker.so
+%{_libdir}/httpd/modules/mod_negotiation.so
+%{_libdir}/httpd/modules/mod_proxy_ajp.so
+%{_libdir}/httpd/modules/mod_proxy_balancer.so
+%{_libdir}/httpd/modules/mod_proxy_connect.so
+%{_libdir}/httpd/modules/mod_proxy_express.so
+%{_libdir}/httpd/modules/mod_proxy_fcgi.so
+%{_libdir}/httpd/modules/mod_proxy_fdpass.so
+%{_libdir}/httpd/modules/mod_proxy_ftp.so
+%{_libdir}/httpd/modules/mod_proxy_http.so
+%{_libdir}/httpd/modules/mod_proxy_scgi.so
+%{_libdir}/httpd/modules/mod_proxy_uwsgi.so
+%{_libdir}/httpd/modules/mod_proxy_wstunnel.so
+%{_libdir}/httpd/modules/mod_proxy_hcheck.so
+%{_libdir}/httpd/modules/mod_proxy.so
+%{_libdir}/httpd/modules/mod_ratelimit.so
+%{_libdir}/httpd/modules/mod_reflector.so
+%{_libdir}/httpd/modules/mod_remoteip.so
+%{_libdir}/httpd/modules/mod_reqtimeout.so
+%{_libdir}/httpd/modules/mod_request.so
+%{_libdir}/httpd/modules/mod_rewrite.so
+%{_libdir}/httpd/modules/mod_sed.so
+%{_libdir}/httpd/modules/mod_session_cookie.so
+%{_libdir}/httpd/modules/mod_session_crypto.so
+%{_libdir}/httpd/modules/mod_session_dbd.so
+%{_libdir}/httpd/modules/mod_session.so
+%{_libdir}/httpd/modules/mod_setenvif.so
+%{_libdir}/httpd/modules/mod_slotmem_plain.so
+%{_libdir}/httpd/modules/mod_slotmem_shm.so
+%{_libdir}/httpd/modules/mod_socache_dbm.so
+%{_libdir}/httpd/modules/mod_socache_memcache.so
+%{_libdir}/httpd/modules/mod_socache_redis.so
+%{_libdir}/httpd/modules/mod_socache_shmcb.so
+%{_libdir}/httpd/modules/mod_speling.so
+%{_libdir}/httpd/modules/mod_status.so
+%{_libdir}/httpd/modules/mod_substitute.so
+%{_libdir}/httpd/modules/mod_suexec.so
+%{_libdir}/httpd/modules/mod_unique_id.so
+%{_libdir}/httpd/modules/mod_unixd.so
+%{_libdir}/httpd/modules/mod_userdir.so
+%{_libdir}/httpd/modules/mod_usertrack.so
+%{_libdir}/httpd/modules/mod_version.so
+%{_libdir}/httpd/modules/mod_vhost_alias.so
+%{_libdir}/httpd/modules/mod_watchdog.so
+
+%dir %{contentdir}
+%dir %{contentdir}/cgi-bin
+%dir %{contentdir}/html
+%dir %{contentdir}/icons
+%dir %{contentdir}/error
+%dir %{contentdir}/error/include
+%{contentdir}/icons/*
+%{contentdir}/error/README
+%{contentdir}/html/index.html
+%config(noreplace) %{contentdir}/error/*.var
+%config(noreplace) %{contentdir}/error/include/*.html
+
+%attr(0700,root,root) %dir %{_localstatedir}/log/httpd
+
+%attr(0700,apache,apache) %dir %{_localstatedir}/lib/dav
+%attr(0700,apache,apache) %dir %{_localstatedir}/cache/httpd/cache-root
+
+%{_mandir}/man1/*
+%{_mandir}/man8/suexec*
+%{_mandir}/man8/apachectl.8*
+%{_mandir}/man8/httpd.8*
+%{_mandir}/man8/htcacheclean.8*
+%{_mandir}/man8/fcgistarter.8*
+
+%files manual
+%defattr(-,root,root)
+%{contentdir}/manual
+%{contentdir}/error/README
+
+%files tools
+%defattr(-,root,root)
+%{_bindir}/ab
+%{_bindir}/htdbm
+%{_bindir}/htdigest
+%{_bindir}/htpasswd
+%{_bindir}/logresolve
+%{_bindir}/httxt2dbm
+%{_sbindir}/rotatelogs
+%{_mandir}/man1/htdbm.1*
+%{_mandir}/man1/htdigest.1*
+%{_mandir}/man1/htpasswd.1*
+%{_mandir}/man1/httxt2dbm.1*
+%{_mandir}/man1/ab.1*
+%{_mandir}/man1/logresolve.1*
+%{_mandir}/man8/rotatelogs.8*
+%doc LICENSE NOTICE
+
+%files -n mod_authnz_ldap
+%defattr(-,root,root)
+%{_libdir}/httpd/modules/mod_ldap.so
+%{_libdir}/httpd/modules/mod_authnz_ldap.so
+
+%files -n mod_lua
+%defattr(-,root,root)
+%{_libdir}/httpd/modules/mod_lua.so
+
+%files -n mod_proxy_html
+%defattr(-,root,root)
+%{_libdir}/httpd/modules/mod_proxy_html.so
+%{_libdir}/httpd/modules/mod_xml2enc.so
+
+%files -n mod_ssl
+%defattr(-,root,root)
+%{_libdir}/httpd/modules/mod_ssl.so
+%config(noreplace) %{_sysconfdir}/httpd/conf/original/extra/httpd-ssl.conf
+%config(noreplace) %{_sysconfdir}/httpd/conf/extra/httpd-ssl.conf
+%attr(0700,apache,root) %dir %{_localstatedir}/cache/mod_ssl
+%attr(0600,apache,root) %ghost %{_localstatedir}/cache/mod_ssl/scache.dir
+%attr(0600,apache,root) %ghost %{_localstatedir}/cache/mod_ssl/scache.pag
+%attr(0600,apache,root) %ghost %{_localstatedir}/cache/mod_ssl/scache.sem
+
+%files devel
+%defattr(-,root,root)
+%{_includedir}/httpd
+%{_bindir}/apxs
+%{_sbindir}/checkgid
+%{_bindir}/dbmmanage
+%{_sbindir}/envvars*
+%{_mandir}/man1/dbmmanage.1*
+%{_mandir}/man1/apxs.1*
+%dir %{_libdir}/httpd/build
+%{_libdir}/httpd/build/*.mk
+%{_libdir}/httpd/build/instdso.sh
+%{_libdir}/httpd/build/config.nice
+%{_libdir}/httpd/build/mkdir.sh
+