# # spec file for package apache2 # # Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # #Compat macro for new _fillupdir macro introduced in Nov 2017 %if ! %{defined _fillupdir} %define _fillupdir /var/adm/fillup-templates %endif %define apache_mmn %(test -s %{SOURCE0} && { echo -n apache_mmn_; bzcat %{SOURCE0} | awk '/^#define MODULE_MAGIC_NUMBER_MAJOR/ {printf "%d", $3}'; }) %define suse_maintenance_mmn 0 %define default_mpm prefork %define prefork 1 %define worker 1 %define event 1 %define mpms_to_build %(test %{prefork} = 1 && printf prefork) %(test %{worker} = 1 && printf worker) %(test %{event} = 1 && printf event) # dir names %define datadir /srv/www %define htdocsdir %{datadir}/htdocs %define manualdir %{_datadir}/%{name}/manual %define errordir %{_datadir}/%{name}/error %define iconsdir %{_datadir}/%{name}/icons %define cgidir %{datadir}/cgi-bin %define localstatedir %{_localstatedir}/lib/%{name} %define proxycachedir %{_localstatedir}/cache/%{name} %define logfiledir %{_localstatedir}/log/%{name} %define sysconfdir %{_sysconfdir}/%{name} %define includedir %{_includedir}/%{name} %define libexecdir %{_libdir}/%{name} %define installbuilddir %{_datadir}/%{name}/build %define userdir public_html %define suexec_safepath %{_prefix}/local/bin:%{_prefix}/bin:/bin %define platform_string Linux/SUSE %define httpduser wwwrun %define httpdgroup www #for some reason the parser barfs if not conditional %{?requires_ge:%requires_ge libapr1} %{?requires_ge:%requires_ge libapr-util1} %if 0%{?suse_version} >= 1220 %define runtimedir /run %define mods_static unixd systemd %else %define runtimedir %{_localstatedir}/run %define mods_static unixd %endif Name: apache2 Version: 2.4.29 Release: 0 Summary: The Apache Web Server Version 2.4 License: Apache-2.0 Group: Productivity/Networking/Web/Servers Url: http://httpd.apache.org/ Source0: http://www.apache.org/dist/httpd/httpd-%{version}.tar.bz2 Source1: http://www.apache.org/dist/httpd/httpd-%{version}.tar.bz2.asc Source2: apache2.keyring # Add file to take mtime from it in prep section Source3: apache2.changes Source10: SUSE-NOTICE Source11: rc.%{name} Source13: sysconfig.%{name} Source18: robots.txt Source20: favicon.ico Source22: apache2-README Source23: apache2-README.QUICKSTART Source25: gensslcert Source26: apache2-README-access_compat.txt Source27: %{name}.logrotate Source28: permissions.%{name} Source29: apache-ssl-stuff.tar.bz2 Source30: deprecated-scripts.tar.xz Source31: apache2-README-instances.txt # sysconf_addword is part of aaa_base.rpm starting with openSUSE 11.0 # we bring our own copy for the cases where it is not available Source45: sysconf_addword Source46: a2enflag Source47: a2enmod Source49: apache2.firewall Source50: apache2.ssl-firewall Source100: apache2-httpd.conf Source101: apache2-errors.conf Source102: apache2-default-server.conf Source103: apache2-listen.conf Source104: apache2-manual.conf Source105: apache2-mod_autoindex-defaults.conf Source106: apache2-mod_info.conf Source107: apache2-mod_log_config.conf Source108: apache2-mod_mime-defaults.conf Source109: apache2-mod_status.conf Source110: apache2-mod_userdir.conf Source111: apache2-server-tuning.conf Source113: apache2-ssl-global.conf Source114: apache2-mod_usertrack.conf Source115: apache2-mod_reqtimeout.conf Source116: apache2-loadmodule.conf Source117: apache2-global.conf Source118: apache2-mod_cgid-timeout.conf Source119: apache2-protocols.conf Source130: apache2-vhost.template Source131: apache2-vhost-ssl.template Source140: apache2-check_forensic Source142: start_apache2 Source143: apache2-systemd-ask-pass Source144: apache2.service Source145: apache2-find-directives Source146: apache2@.service Source147: apache2-script-helpers Source148: apache2.target Source149: %{name}-init.logrotate Patch2: httpd-2.1.3alpha-layout.dif Patch23: httpd-apachectl.patch Patch66: httpd-2.0.54-envvars.dif Patch67: httpd-2.2.0-apxs-a2enmod.dif Patch68: httpd-2.x.x-logresolve.patch Patch69: httpd-2.4.9-bnc690734.patch Patch70: httpd-implicit-pointer-decl.patch # PATCH-FEATURE-UPSTREAM httpd-2.4.3-mod_systemd.patch crrodriguez@opensuse.org simple module provides systemd integration. Patch109: httpd-2.4.3-mod_systemd.patch Patch111: httpd-visibility.patch # PATCH-FEATURE-UPSTREAM kstreitova@suse.com -- backport of HttpContentLengthHeadZero and HttpExpectStrict Patch115: httpd-2.4.x-fate317766-config-control-two-protocol-options.diff Patch116: deprecated-scripts-arch.patch BuildRequires: apache-rpm-macros-control BuildRequires: apr-util-devel BuildRequires: automake BuildRequires: db-devel BuildRequires: ed #Since 2.4.7 the event MPM requires apr 1.5.0 or later. BuildRequires: apr-devel >= 1.5.0 BuildRequires: libcap-devel #for mod_proxy_html and mod_xml2enc BuildRequires: libxml2-devel BuildRequires: lua-devel BuildRequires: openldap2-devel BuildRequires: openssl-devel >= 0.9.8a BuildRequires: pcre-devel BuildRequires: pkgconfig BuildRequires: xz BuildRequires: zlib-devel Requires: %{_sysconfdir}/mime.types Requires: %{name}-MPM Requires: logrotate Requires: w3m %if 0%{?suse_version} >= 1315 Requires: which %endif %if 0%{?suse_version} < 1210 Requires(post): %insserv_prereq %endif Requires(post): %fillup_prereq Requires(post): %{name}-utils Requires(post): fileutils Requires(post): grep Requires(post): permissions Requires(post): pwdutils Requires(post): sed Requires(post): textutils %if 0%{?suse_version} > 1320 Requires(pre): user(wwwrun) Requires(pre): group(www) %endif Suggests: apache2-%{default_mpm} Provides: %{apache_mmn} Provides: %{name}-mod_macro = %{version} Provides: http_daemon Provides: httpd Provides: suse_help_viewer Provides: suse_maintenance_mmn_%{suse_maintenance_mmn} Obsoletes: %{name}-mod_macro <= 1.2.1 Provides: apache = %{version} Obsoletes: apache < 1.3.29 Obsoletes: mod_ssl < 2.8.16 BuildRoot: %{_tmppath}/%{name}-%{version}-build %{?systemd_requires} %if 0%{?suse_version} >= 1210 BuildRequires: pkgconfig BuildRequires: pkgconfig(libsystemd) BuildRequires: pkgconfig(systemd) %endif # sigh, nghttp2 does not propagate into SLE-12-SP3 for some reason %if 0%{?suse_version} > 1320 || 0%{?sle_version} == 120200 BuildRequires: pkgconfig(libnghttp2) >= 1.2.1 %endif %description This version of httpd is a major release of the 2.4 stable branch, and represents the best available version of Apache HTTP Server. New features include Loadable MPMs, major improvements to OCSP support, mod_lua, Dynamic Reverse Proxy configuration, Improved Authentication/ Authorization, FastCGI Proxy, New Expression Parser, and a Small Object Caching API. See %{_docdir}/apache2/, http://httpd.apache.org/, and http://httpd.apache.org/docs-2.4/upgrading.html. %if %worker %package worker Summary: Apache 2 worker MPM (Multi-Processing Module) Group: Productivity/Networking/Web/Servers Requires: %{name} = %{version} # the post scriptlet sources /usr/share/apache2/script-helpers Requires(post): %{name} = %{version} Provides: %{name}-MPM %endif %if %prefork %package prefork Summary: Apache 2 "prefork" MPM (Multi-Processing Module) Group: Productivity/Networking/Web/Servers Requires: %{name} = %{version} # the post scriptlet sources /usr/share/apache2/script-helpers Requires(post): %{name} = %{version} Provides: %{name}-MPM Provides: apache:%{_sbindir}/httpd %endif %if %event %package event Summary: Apache 2 event MPM (Multi-Processing Module) Group: Productivity/Networking/Web/Servers Requires: %{name} = %{version} # the post scriptlet sources /usr/share/apache2/script-helpers Requires(post): %{name} = %{version} Provides: %{name}-MPM %endif %if %worker %description worker The worker MPM (multi-Processing Module) implementing a hybrid multi-threaded multi-process web server. This combination offers a performance boost and retains some of the stability of the multi-process model. %endif %if %{prefork} %description prefork "prefork" MPM (Multi-Processing Module) This MPM is basically the one that Apache 1.3.x used. It warrants the maximum stability because each server runs in its own process. If a process dies it will not affect other servers. %endif %if %{event} %description event The event MPM (multi-Processing Module) is experimental, so it may or may not work as expected. It uses a separate thread to handle Keep Alive requests and accepting connections. Keep Alive requests have traditionally required httpd to dedicate a worker to handle it. This dedicated worker could not be used again until the Keep Alive timeout was reached. This MPM depends on APR's atomic compare-and-swap operations for thread synchronization. %endif %package devel Summary: Apache 2 Header and Include Files Group: Development/Libraries/C and C++ Requires: %{name} = %{version} Requires: %{name}-MPM Requires: apache-rpm-macros-control Requires: apache2-prefork Requires: apr-devel Requires: apr-util-devel Requires: gcc %description devel This package contains header files and include files that are needed for development using the Apache API. %package doc Summary: Additional Package Documentation Group: Documentation/Other %if 0%{?suse_version} >= 1120 BuildArch: noarch %endif %description doc This package contains optional documentation provided in addition to this package's base documentation. %package example-pages Summary: Example Pages for the Apache 2 Web Server Group: Productivity/Networking/Web/Servers %description example-pages Some Example pages for Apache that show information about the installed server. %package utils Summary: Apache 2 utilities Group: Productivity/Networking/Web/Servers %description utils Utilities provided by the Apache 2 Web Server project which are useful to administrators of web servers in general. %prep %setup -q -n httpd-%{version} -a30 %patch2 -p1 %patch23 %patch66 -p1 %patch67 -p1 %patch68 -p1 %patch69 %patch70 -p1 # Systemd module enabling patch %if 0%{?suse_version} >= 1210 %patch109 -p1 %endif %patch111 -p1 %patch115 -p1 %if 0%{?suse_version} == 1110 %patch116 -p1 %endif cat $RPM_SOURCE_DIR/SUSE-NOTICE >> NOTICE # install READMEs a=$(basename %{SOURCE22}) cp %{SOURCE22} ./${a##%{name}-} b=$(basename %{SOURCE23}) cp %{SOURCE23} ./${b##%{name}-} c=$(basename %{SOURCE31}) cp %{SOURCE31} ./${c##%{name}-} d=$(basename %{SOURCE26}) cp %{SOURCE26} ./${d##%{name}-} # # replace PLATFORM string that's seen in the "Server:" header # sed 's,(" PLATFORM "),(%{platform_string}),' server/core.c > tmp_file && mv tmp_file server/core.c sed 's/public_html/%{userdir}/g' docs/conf/extra/httpd-userdir.conf.in > tmp_file && mv tmp_file docs/conf/extra/httpd-userdir.conf.in # Use mtime of .changes for build time CHANGES=`stat --format="%%y" %{SOURCE3}` sed -i -e "s/__DATE__ \" \" __TIME__;/\"$CHANGES\";/" server/buildmark.c # # now configure Apache # autoreconf -fiv %build function configure { CFLAGS="%{optflags} -fPIC -Wall -DLDAP_DEPRECATED" \ CPPFLAGS="-DSSL_EXPERIMENTAL_ENGINE -DMAX_SERVER_LIMIT=200000 -DLDAP_DEPRECATED -DMAXLINE=4096" \ ./configure \ --enable-layout=SuSE81%(test "%{_lib}" = lib64 && echo -n _64) \ --with-program-name=httpd$mpm_suffix \ --with-apr=%{_bindir}/apr-1-config \ --with-apr-util=%{_bindir}/apu-1-config \ --with-mpm=$mpm \ %if "$mpm" == "worker" || "$mpm" == "event" %ifarch %ix86 %ifnarch i386 --enable-nonportable-atomics=yes \ %endif %endif %endif --enable-exception-hook \ --with-pcre \ --enable-pie \ --enable-mods-shared=all \ --enable-mods-static="%{mods_static}" \ --enable-ssl=shared \ --disable-isapi \ --enable-deflate \ --enable-echo \ --enable-filter \ --enable-ext-filter \ --enable-charset-lite \ --enable-file-cache \ --enable-logio \ --enable-dumpio \ --enable-bucketeer \ --enable-case_filter \ --enable-case_filter_in \ --enable-imagemap \ --with-ldap \ --enable-ldap \ --enable-authnz_ldap \ --enable-authnz-fcgi \ --enable-proxy \ --enable-proxy-connect \ --enable-proxy-ftp \ --enable-proxy-http \ --enable-proxy-fdpass \ --enable-cache \ --enable-disk-cache \ --enable-mem-cache \ --enable-version \ --enable-dav-lock \ --enable-authn-alias \ --enable-optional-hook-export \ --enable-optional-hook-import \ --enable-optional-fn-import \ --enable-optional-fn-export \ --enable-suexec \ --with-suexec-bin=%{_sbindir}/suexec \ --with-suexec-caller=%{httpduser} \ --with-suexec-docroot=%{datadir} \ --with-suexec-logfile=%{logfiledir}/suexec.log \ --with-suexec-userdir=%{userdir} \ --with-suexec-uidmin=96 \ --with-suexec-gidmin=96 \ --with-suexec-safepath=%{suexec_safepath} \ --disable-heartbeat } # build the 3 multi-processing modules (MPM) in a loop # for mpm in %{mpms_to_build}; do echo $mpm >> .status test -s Makefile && make clean >/dev/null echo -e "\n\n\n \e[01m***** Building $mpm MPM *****\e[00m\n\n\n" export mpm_suffix=-$mpm configure sed "s/-$mpm//" include/ap_config_auto.h > include/ap_config_auto.h.new mv include/ap_config_auto.h.new include/ap_config_auto.h sed -i -e "s@%{_localstatedir}/run@%{runtimedir}@g" include/ap_config_layout.h make CFLAGS="%{optflags} -fvisibility=hidden -fPIC -Wall -DDEFAULT_ERRORLOG='\"%{logfiledir}/error_log\"'" %{?_smp_mflags} make DESTDIR=%{buildroot} install %{?_smp_mflags} # show pathnames in config files echo;echo;echo; diff -U1 docs/conf/httpd-std.conf.in docs/conf/httpd-std.conf ||: echo;echo;echo; diff -U1 docs/conf/ssl-std.conf.in docs/conf/ssl-std.conf ||: # show compile settings pwd printf "\n\n\n"; ./httpd$mpm_suffix -V printf "\n\n\n"; ./httpd$mpm_suffix -l #mv %{buildroot}/%{sysconfdir}/httpd-std.conf %{buildroot}/%{sysconfdir}/httpd-std.conf$mpm_suffix #mv %{buildroot}/%{sysconfdir}/httpd2-prefork.conf %{buildroot}/%{sysconfdir}/httpd-std.conf$mpm_suffix # fix up and rename config_vars file: remove references to the RPM build dir; # remove references to RPM build root; fix apr/apu includedir sed -e "/^EXTRA_INCLUDES/s|-I$RPM_BUILD_DIR[^ ]* ||g" \ -e "/^AP._INCLUDEDIR/s|$RPM_BUILD_DIR.*$|%{includedir}$mpm_suffix|" \ -e "/abs_srcdir/d" \ -e "/AP_LIBS/d" \ < %{buildroot}/%{installbuilddir}/config_vars.mk \ > %{buildroot}/%{installbuilddir}/config_vars.mk$mpm_suffix rm %{buildroot}/%{installbuilddir}/config_vars.mk #rm -rf %{buildroot}.$mpm.post #cp -a %{buildroot}/ %{buildroot}.$mpm.post done mkdir -p %{buildroot}/%{libexecdir} # remove references to mpm type in config_vars sed -e "s^%{_libdir}/%{name}-%{default_mpm}^%{_libdir}/%{name}^" \ -e "s/httpd$/httpd-%{default_mpm}/" \ -e "s/%{name}-%{default_mpm}/%{name}/" \ < %{buildroot}/%{installbuilddir}/config_vars.mk-%{default_mpm} \ > %{buildroot}/%{installbuilddir}/config_vars.mk # get rid of modules that do not differ between the MPMs (since most of them are the same) # by putting them in /usr/lib/apache2 ldir=%{buildroot}/%{libexecdir} for i in $(cd $ldir-%{default_mpm}; ls -1 *.so); do identical=true for mpm in %{mpms_to_build}; do if test -f $ldir-$mpm/$i -a -f $ldir-%{default_mpm}/$i; then objcopy --strip-debug $ldir-$mpm/$i $ldir-$mpm/$i.tst objcopy --strip-debug $ldir-%{default_mpm}/$i $ldir-%{default_mpm}/$i.tst ls -l $ldir-{%{default_mpm},$mpm}/$i* cmp -s $ldir-{%{default_mpm},$mpm}/$i.tst || identical=false rm -f $ldir-{%{default_mpm},$mpm}/$i.tst else identical=false fi done if $identical; then cp -dp $ldir-%{default_mpm}/$i $ldir for mpm in %{mpms_to_build}; do rm $ldir-$mpm/$i ln -s ../%{name}/$i $ldir-$mpm/$i done fi done # merge the three /usr/include/apache2-* directories # by putting them in /usr/lib/apache2 idir=%{buildroot}/%{includedir} mkdir -p $idir for i in $(cd $idir-%{default_mpm}; ls -1); do identical=true for mpm in %{mpms_to_build}; do cmp -s $idir-{%{default_mpm},$mpm}/$i || identical=false done if $identical; then cp -dp $idir-%{default_mpm}/$i $idir for mpm in %{mpms_to_build}; do rm $idir-$mpm/$i ln -s ../%{name}/$i $idir-$mpm/$i done fi done for i in ap_config_auto.h ap_config_layout.h; do if [ ! -f $idir/$i ]; then sed 's/-%{default_mpm}//' $idir-%{default_mpm}/$i > $idir/$i fi done %install # (most installation (to build root) has already been done in %%build) # # save MODULE_MAGIC_NUMBER cat > %{buildroot}/%{_libdir}/%{name}_MMN <<-EOF #!/bin/sh echo %{apache_mmn} EOF cp -p %{buildroot}/%{sysconfdir}/httpd-%{default_mpm}.conf %{buildroot}/%{sysconfdir}/httpd.conf cp -p %{buildroot}/%{sysconfdir}/httpd.conf ./httpd.conf.default rm %{buildroot}/%{sysconfdir}/httpd-*.conf # # create directories mkdir -p %{buildroot}/%{_fillupdir} \ %{buildroot}/%{proxycachedir} \ %{buildroot}/%{localstatedir} # # support files install -m 755 support/log_server_status %{buildroot}/%{_bindir}/ install -m 755 support/split-logfile %{buildroot}/%{_bindir}/ install -m 755 support/logresolve.pl %{buildroot}/%{_sbindir}/ mkdir -p %{buildroot}%{_sysconfdir}/logrotate.d install -m 644 $RPM_SOURCE_DIR/%{name}.logrotate %{buildroot}%{_sysconfdir}/logrotate.d/%{name} %if 0%{?suse_version} == 1110 install -m 644 $RPM_SOURCE_DIR/%{name}-init.logrotate %{buildroot}%{_sysconfdir}/logrotate.d/%{name} %endif install -m 755 $RPM_SOURCE_DIR/apache2-check_forensic %{buildroot}/%{_bindir}/check_forensic install -m 755 $RPM_SOURCE_DIR/apache2-find-directives %{buildroot}/%{_bindir}/ # # ssl stuff install -m 755 %{SOURCE25} %{buildroot}/%{_bindir}/ tar xjf %{SOURCE29} -C %{buildroot}/%{sysconfdir} # # init script and friends install -m 644 $RPM_SOURCE_DIR/apache2-script-helpers %{buildroot}/%{_datadir}/%{name}/script-helpers install -m 744 $RPM_SOURCE_DIR/start_apache2 %{buildroot}%{_sbindir}/ cp -r deprecated-scripts %{buildroot}/%{_datadir}/%{name}/ %if 0%{?suse_version} >= 1210 mkdir -p %{buildroot}%{_unitdir}/ install -m 700 $RPM_SOURCE_DIR/apache2-systemd-ask-pass %{buildroot}%{_sbindir}/ install -m 644 $RPM_SOURCE_DIR/apache2.service %{buildroot}%{_unitdir}/ install -m 644 $RPM_SOURCE_DIR/apache2@.service %{buildroot}%{_unitdir}/ install -m 644 $RPM_SOURCE_DIR/apache2.target %{buildroot}%{_unitdir}/ ln -sf service %{buildroot}/%{_sbindir}/rcapache2 %else mkdir -p %{buildroot}%{_sysconfdir}/init.d mkdir -p %{buildroot}%{_sysconfdir}/%{name}/sysconfig.d install -m 744 $RPM_SOURCE_DIR/rc.%{name} %{buildroot}%{_initddir}/%{name} ln -sf ../..%{_initddir}/%{name} %{buildroot}/%{_sbindir}/rcapache2 for file in find_mpm \ get_includes \ get_module_list \ load_configuration do ln -sf deprecated-scripts/$file %{buildroot}/%{_datadir}/%{name}/$file chmod +x %{buildroot}/%{_datadir}/%{name}/$file done %endif install -m 755 $RPM_SOURCE_DIR/sysconf_addword %{buildroot}/%{_datadir}/%{name}/ install -m 755 $RPM_SOURCE_DIR/a2enflag %{buildroot}/%{_sbindir} ln -s a2enflag %{buildroot}/%{_sbindir}/a2disflag install -m 755 $RPM_SOURCE_DIR/a2enmod %{buildroot}/%{_sbindir} ln -s a2enmod %{buildroot}/%{_sbindir}/a2dismod # # directories for files from other packages and other configuration mkdir -p %{buildroot}/%{sysconfdir}/vhosts.d # # install sysconfig template install -m 644 $RPM_SOURCE_DIR/sysconfig.%{name} \ %{buildroot}/%{_fillupdir}/sysconfig.%{name} # # install configuration files: mkdir -p %{buildroot}/%{runtimedir} mkdir -p %{buildroot}/%{sysconfdir}/conf.d for i in default-server.conf \ errors.conf \ global.conf \ httpd.conf \ listen.conf \ loadmodule.conf \ mod_autoindex-defaults.conf \ mod_info.conf \ mod_log_config.conf \ mod_mime-defaults.conf \ mod_status.conf \ mod_userdir.conf \ mod_usertrack.conf \ server-tuning.conf \ mod_reqtimeout.conf \ mod_cgid-timeout.conf \ ssl-global.conf \ protocols.conf do install -m 644 $RPM_SOURCE_DIR/apache2-$i %{buildroot}/%{sysconfdir}/$i done cat > %{buildroot}/%{sysconfdir}/uid.conf <<-EOF User %{httpduser} Group %{httpdgroup} EOF # fixup libdir %if "%{_lib}" != "lib64" sed -e 's/lib64/%{_lib}/' -i \ %{buildroot}/%{sysconfdir}/loadmodule.conf \ %{buildroot}/%{_fillupdir}/sysconfig.%{name} %endif # remove configuration for mpms which have not been built mpm_confs="$(awk '/IfModule .*\.c/ {print $2}' %{buildroot}/%{sysconfdir}/server-tuning.conf | cut -d. -f1 | tr '\n' ' ')" for mpm_conf in $mpm_confs; do case "%{mpms_to_build}" in *$mpm_conf*) ;; *) sed "/^# $mpm_conf/, /^$/ d" %{buildroot}/%{sysconfdir}/server-tuning.conf > t #diff -u %{buildroot}/%{sysconfdir}/server-tuning.conf t ||: mv t %{buildroot}/%{sysconfdir}/server-tuning.conf ;; esac done install -m 644 %{SOURCE130} %{buildroot}/%{sysconfdir}/vhosts.d/vhost.template install -m 644 %{SOURCE131} %{buildroot}/%{sysconfdir}/vhosts.d/vhost-ssl.template install -m 644 %{SOURCE104} %{buildroot}/%{sysconfdir}/conf.d/manual.conf # for mod_auth_ldap install -m 644 docs/conf/charset.conv %{buildroot}/%{sysconfdir}/ cp -p $RPM_SOURCE_DIR/robots.txt . cp -p $RPM_SOURCE_DIR/favicon.ico %{buildroot}/%{htdocsdir}/ cat > %{buildroot}/%{htdocsdir}/robots.txt <<-EOF User-Agent: * Disallow: / EOF # # use official mime.types (more complete) # ln -sf ../mime.types %{buildroot}/%{sysconfdir}/mime.types mv %{buildroot}/%{cgidir}/printenv* . mv %{buildroot}/%{cgidir}/test-cgi . # fix up apxs pushd %{buildroot}/%{_bindir} for mpm in %{mpms_to_build}; do cat <<-EOT_ED | ed -s apxs H ,s/^\(.*\)config_vars.mk\(.*\)$/\1config_vars.mk\$mpm_suffix\2/ /config_vars.mk - i my \$mpm_suffix = "-$mpm"; . wq apxs-$mpm EOT_ED chmod 755 apxs-$mpm done cat <<-EOT_ED | ed -s apxs H /config_vars a my \$mpm_suffix = ""; . wq EOT_ED popd # install firewall information file install -d %{buildroot}%{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/ install -m 644 %{SOURCE49} %{buildroot}%{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/%{name} install -m 644 %{SOURCE50} %{buildroot}%{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/%{name}-ssl ln -sf %{_bindir}/apxs %{buildroot}%{_sbindir} # # compat symlinks apache2 -> apache # ln -s ab %{buildroot}/%{_bindir}/ab2 ln -s ab.1.gz %{buildroot}/%{_mandir}/man1/ab2.1.gz ln -s apxs %{buildroot}/%{_bindir}/apxs2 ln -s apxs.1.gz %{buildroot}/%{_mandir}/man1/apxs2.1.gz ln -s apxs-prefork %{buildroot}/%{_bindir}/apxs2-prefork ln -s apxs-worker %{buildroot}/%{_bindir}/apxs2-worker ln -s apxs-event %{buildroot}/%{_bindir}/apxs2-event ln -s dbmmanage %{buildroot}/%{_bindir}/dbmmanage2 ln -s dbmmanage.1.gz %{buildroot}/%{_mandir}/man1/dbmmanage2.1.gz ln -s htdbm %{buildroot}/%{_bindir}/htdbm2 ln -s htdbm.1.gz %{buildroot}/%{_mandir}/man1/htdbm2.1.gz ln -s htdigest %{buildroot}/%{_bindir}/htdigest2 ln -s htdigest.1.gz %{buildroot}/%{_mandir}/man1/htdigest2.1.gz ln -s htpasswd %{buildroot}/%{_bindir}/htpasswd2 ln -s htpasswd.1.gz %{buildroot}/%{_mandir}/man1/htpasswd2.1.gz ln -s check_forensic %{buildroot}/%{_bindir}/check_forensic2 ln -s logresolve %{buildroot}/%{_bindir}/logresolve2 ln -s logresolve.1.gz %{buildroot}/%{_mandir}/man1/logresolve2.1.gz ln -s log_server_status %{buildroot}/%{_bindir}/log_server_status2 ln -s split-logfile %{buildroot}/%{_bindir}/split-logfile2 ln -s apachectl %{buildroot}/%{_sbindir}/apache2ctl ln -s apachectl.8.gz %{buildroot}/%{_mandir}/man8/apache2ctl.8.gz ln -s apxs %{buildroot}/%{_sbindir}/apxs2 ln -s httpd-prefork %{buildroot}/%{_sbindir}/httpd2-prefork ln -s httpd-worker %{buildroot}/%{_sbindir}/httpd2-worker ln -s httpd-event %{buildroot}/%{_sbindir}/httpd2-event ln -s httpd.8.gz %{buildroot}/%{_mandir}/man8/httpd2.8.gz ln -s logresolve.pl %{buildroot}/%{_sbindir}/logresolve.pl2 ln -s rotatelogs %{buildroot}/%{_sbindir}/rotatelogs2 ln -s rotatelogs.8.gz %{buildroot}/%{_mandir}/man8/rotatelogs2.8.gz ln -s suexec %{buildroot}/%{_sbindir}/suexec2 ln -s suexec.8.gz %{buildroot}/%{_mandir}/man8/suexec2.8.gz # # filelists # >filelist; >filelist-devel for mpm in %{mpms_to_build}; do echo %dir %{_libdir}/%{name}-$mpm >> filelist ( echo %dir %{includedir}-$mpm echo %{_bindir}/apxs-$mpm echo %{_bindir}/apxs2-$mpm ) >> filelist-devel done find %{buildroot}/%{includedir}/.. -type f -o -type l \ | sed "s#%{buildroot}##" \ >> filelist-devel find %{buildroot}/%{installbuilddir} -type f \ | sed "s#%{buildroot}##" \ >> filelist-devel # # remove files from the build root that we won't package # rm -f %{buildroot}/%{_libdir}/%{name}-*/*.exp # needed only on AIX rm -f %{buildroot}/%{_libdir}/%{name}/*.exp # needed only on AIX rm -f %{buildroot}/%{_sbindir}/checkgid # needed only for user installations from tarball rm -r %{buildroot}/%{sysconfdir}/extra # it is already in the documentation directory %check # now check wether httpd binary runs properly # and validate httpd.conf file # pushd %{buildroot}/%{sysconfdir} for i in *.conf; do # loadmodule.conf.test will be created later [ "$i" == loadmodule.conf ] && continue cp $i $i.test; done sed -e 's+%{_libdir}+'%{buildroot}'%{_libdir}+' \ -e 's+%{_localstatedir}/run+'%{buildroot}'%{_localstatedir}/run+' \ -e 's+%{sysconfdir}+'%{buildroot}'%{sysconfdir}+' \ -e 's+%{datadir}+'%{buildroot}'%{datadir}+' \ -e 's+\.conf$+&.test+' \ -e 's+%{_localstatedir}/log+'%{buildroot}'%{_localstatedir}/log+' \ httpd.conf > httpd.conf.test sed -e 's+%{sysconfdir}+'%{buildroot}'%{sysconfdir}+' \ default-server.conf > default-server.conf.test sed -i 's+%{_localstatedir}/log+'%{buildroot}'%{_localstatedir}/log+' \ global.conf.test popd pushd %{buildroot} for i in $(export LC_ALL=C; find .%{libexecdir}-%{default_mpm} -name "*.so" | sort); do mod_id=${i#*mod_}; mod_id=${mod_id%.so}_module mod_path= echo LoadModule $mod_id %{buildroot}/${i#.} >> .%{sysconfdir}/loadmodule.conf.test done # auth_ldap_module needs to be loaded after ldap_module echo -e "/authnz_ldap\n+\n-m/ldap\nwq" | ed -s ./%{sysconfdir}/loadmodule.conf.test popd LD_LIBRARY_PATH=%{buildroot}%{_libdir} \ %{buildroot}/%{_sbindir}/httpd-%{default_mpm} \ -e debug -t -f %{buildroot}/%{sysconfdir}/httpd.conf.test || exit 1 rm %{buildroot}/%{sysconfdir}/*.test mv %{buildroot}/%{sysconfdir}/original . %files -f filelist %defattr(-,root,root) %doc INSTALL READM* LICENSE ABOUT_APACHE CHANGES %doc support/SHA1 %{_mandir}/man?/apachectl.?.* %{_mandir}/man?/apache2ctl.?.* %{_mandir}/man?/htcacheclean.?.* %{_mandir}/man?/httpd.?.* %{_mandir}/man?/httpd2.?.* %{_mandir}/man?/apxs.?.* %{_mandir}/man?/apxs2.?.* %{_mandir}/man?/suexec.?.* %{_mandir}/man?/suexec2.?.* %doc robots.txt %doc printenv %doc test-cgi %doc httpd.conf.default %doc original %attr(750,root,root) %dir %{logfiledir} %attr(750,%{httpduser},root) %dir %{proxycachedir} %attr(750,%{httpduser},root) %dir %{localstatedir} %dir %{sysconfdir} %config %{sysconfdir}/magic %config %{sysconfdir}/mime.types %config (noreplace) %{sysconfdir}/*.conf %config (noreplace) %{sysconfdir}/charset.conv %{sysconfdir}/vhosts.d/*.template %dir %{sysconfdir}/ssl.crl %dir %{sysconfdir}/ssl.crt %dir %{sysconfdir}/ssl.csr %dir %attr(700,root,root) %{sysconfdir}/ssl.key %dir %{sysconfdir}/ssl.prm %{sysconfdir}/ssl.*/README* %dir %{sysconfdir}/conf.d %dir %{sysconfdir}/vhosts.d %config(noreplace) %{_sysconfdir}/logrotate.d/%{name} %if 0%{?suse_version} >= 1210 %{_unitdir}/apache2.service %{_unitdir}/apache2@.service %{_unitdir}/apache2.target %{_sbindir}/apache2-systemd-ask-pass %else %{_initddir}/%{name} %dir %{_sysconfdir}/%{name}/sysconfig.d %endif %{_sbindir}/rcapache2 %{_sbindir}/apachectl %{_sbindir}/apache2ctl %{_sbindir}/envvars %{_sbindir}/envvars-std %{_sbindir}/htcacheclean %{_sbindir}/a2enflag %{_sbindir}/a2enmod %{_sbindir}/a2disflag %{_sbindir}/a2dismod %{_sbindir}/start_apache2 %{_bindir}/log_server_status %{_bindir}/log_server_status2 %verify(not mode) %attr(0755,root,root) %{_sbindir}/suexec %{_sbindir}/suexec2 %{iconsdir} %{errordir} %{_fillupdir}/sysconfig.%{name} %attr(755,root,root) %{_libdir}/%{name}_MMN %dir %{_libdir}/%{name} %{_libdir}/%{name}/mod_*.so %dir %{installbuilddir} %dir %{_datadir}/%{name} %{_datadir}/%{name}/deprecated-scripts %{_datadir}/%{name}/script-helpers %{_datadir}/%{name}/sysconf_addword %config %{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/%{name} %config %{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/%{name}-ssl %if 0%{?suse_version} == 1110 /usr/share/apache2/find_mpm /usr/share/apache2/get_includes /usr/share/apache2/get_module_list /usr/share/apache2/load_configuration %endif %if %{prefork} %files prefork %defattr(-,root,root) %{_sbindir}/httpd-prefork %{_sbindir}/httpd2-prefork %dir %{_libdir}/%{name}-prefork # hardcoded list so we do not lose mods by accident %{_libdir}/%{name}-prefork/mod_access_compat.so %{_libdir}/%{name}-prefork/mod_actions.so %{_libdir}/%{name}-prefork/mod_alias.so %{_libdir}/%{name}-prefork/mod_allowmethods.so %{_libdir}/%{name}-prefork/mod_asis.so %{_libdir}/%{name}-prefork/mod_auth_basic.so %{_libdir}/%{name}-prefork/mod_auth_digest.so %{_libdir}/%{name}-prefork/mod_auth_form.so %{_libdir}/%{name}-prefork/mod_authn_anon.so %{_libdir}/%{name}-prefork/mod_authn_core.so %{_libdir}/%{name}-prefork/mod_authn_dbd.so %{_libdir}/%{name}-prefork/mod_authn_dbm.so %{_libdir}/%{name}-prefork/mod_authn_file.so %{_libdir}/%{name}-prefork/mod_authn_socache.so %{_libdir}/%{name}-prefork/mod_authnz_ldap.so %{_libdir}/%{name}-prefork/mod_authnz_fcgi.so %{_libdir}/%{name}-prefork/mod_authz_core.so %{_libdir}/%{name}-prefork/mod_authz_dbd.so %{_libdir}/%{name}-prefork/mod_authz_dbm.so %{_libdir}/%{name}-prefork/mod_authz_groupfile.so %{_libdir}/%{name}-prefork/mod_authz_host.so %{_libdir}/%{name}-prefork/mod_authz_owner.so %{_libdir}/%{name}-prefork/mod_authz_user.so %{_libdir}/%{name}-prefork/mod_autoindex.so %{_libdir}/%{name}-prefork/mod_bucketeer.so %{_libdir}/%{name}-prefork/mod_buffer.so %{_libdir}/%{name}-prefork/mod_cache.so %{_libdir}/%{name}-prefork/mod_cache_disk.so %{_libdir}/%{name}-prefork/mod_cache_socache.so %{_libdir}/%{name}-prefork/mod_case_filter.so %{_libdir}/%{name}-prefork/mod_case_filter_in.so %{_libdir}/%{name}-prefork/mod_cgi.so %{_libdir}/%{name}-prefork/mod_charset_lite.so %{_libdir}/%{name}-prefork/mod_data.so %{_libdir}/%{name}-prefork/mod_dav.so %{_libdir}/%{name}-prefork/mod_dav_fs.so %{_libdir}/%{name}-prefork/mod_dav_lock.so %{_libdir}/%{name}-prefork/mod_dbd.so %{_libdir}/%{name}-prefork/mod_deflate.so %{_libdir}/%{name}-prefork/mod_dialup.so %{_libdir}/%{name}-prefork/mod_dir.so %{_libdir}/%{name}-prefork/mod_dumpio.so %{_libdir}/%{name}-prefork/mod_echo.so %{_libdir}/%{name}-prefork/mod_env.so %{_libdir}/%{name}-prefork/mod_expires.so %{_libdir}/%{name}-prefork/mod_ext_filter.so %{_libdir}/%{name}-prefork/mod_file_cache.so %{_libdir}/%{name}-prefork/mod_filter.so %{_libdir}/%{name}-prefork/mod_headers.so %{_libdir}/%{name}-prefork/mod_heartmonitor.so %if 0%{?suse_version} > 1320 || 0%{?sle_version} >= 120200 %{_libdir}/%{name}-prefork/mod_http2.so %endif %{_libdir}/%{name}-prefork/mod_imagemap.so %{_libdir}/%{name}-prefork/mod_include.so %{_libdir}/%{name}-prefork/mod_info.so %{_libdir}/%{name}-prefork/mod_lbmethod_bybusyness.so %{_libdir}/%{name}-prefork/mod_lbmethod_byrequests.so %{_libdir}/%{name}-prefork/mod_lbmethod_bytraffic.so %{_libdir}/%{name}-prefork/mod_lbmethod_heartbeat.so %{_libdir}/%{name}-prefork/mod_ldap.so %{_libdir}/%{name}-prefork/mod_log_config.so %{_libdir}/%{name}-prefork/mod_log_debug.so %{_libdir}/%{name}-prefork/mod_log_forensic.so %{_libdir}/%{name}-prefork/mod_logio.so %{_libdir}/%{name}-prefork/mod_lua.so %{_libdir}/%{name}-prefork/mod_macro.so %{_libdir}/%{name}-prefork/mod_mime.so %{_libdir}/%{name}-prefork/mod_mime_magic.so %{_libdir}/%{name}-prefork/mod_negotiation.so %{_libdir}/%{name}-prefork/mod_optional_fn_export.so %{_libdir}/%{name}-prefork/mod_optional_fn_import.so %{_libdir}/%{name}-prefork/mod_optional_hook_export.so %{_libdir}/%{name}-prefork/mod_optional_hook_import.so %{_libdir}/%{name}-prefork/mod_proxy.so %{_libdir}/%{name}-prefork/mod_proxy_ajp.so %{_libdir}/%{name}-prefork/mod_proxy_balancer.so %{_libdir}/%{name}-prefork/mod_proxy_connect.so %{_libdir}/%{name}-prefork/mod_proxy_express.so %{_libdir}/%{name}-prefork/mod_proxy_fcgi.so %{_libdir}/%{name}-prefork/mod_proxy_fdpass.so %{_libdir}/%{name}-prefork/mod_proxy_ftp.so %{_libdir}/%{name}-prefork/mod_proxy_hcheck.so %{_libdir}/%{name}-prefork/mod_proxy_html.so %{_libdir}/%{name}-prefork/mod_proxy_http.so %{_libdir}/%{name}-prefork/mod_proxy_scgi.so %{_libdir}/%{name}-prefork/mod_proxy_wstunnel.so %{_libdir}/%{name}-prefork/mod_ratelimit.so %{_libdir}/%{name}-prefork/mod_reflector.so %{_libdir}/%{name}-prefork/mod_remoteip.so %{_libdir}/%{name}-prefork/mod_reqtimeout.so %{_libdir}/%{name}-prefork/mod_request.so %{_libdir}/%{name}-prefork/mod_rewrite.so %{_libdir}/%{name}-prefork/mod_sed.so %{_libdir}/%{name}-prefork/mod_session.so %{_libdir}/%{name}-prefork/mod_session_cookie.so %{_libdir}/%{name}-prefork/mod_session_crypto.so %{_libdir}/%{name}-prefork/mod_session_dbd.so %{_libdir}/%{name}-prefork/mod_setenvif.so %{_libdir}/%{name}-prefork/mod_slotmem_plain.so %{_libdir}/%{name}-prefork/mod_slotmem_shm.so %{_libdir}/%{name}-prefork/mod_socache_dbm.so %{_libdir}/%{name}-prefork/mod_socache_memcache.so %{_libdir}/%{name}-prefork/mod_socache_shmcb.so %{_libdir}/%{name}-prefork/mod_speling.so %{_libdir}/%{name}-prefork/mod_ssl.so %{_libdir}/%{name}-prefork/mod_status.so %{_libdir}/%{name}-prefork/mod_substitute.so %{_libdir}/%{name}-prefork/mod_suexec.so %{_libdir}/%{name}-prefork/mod_unique_id.so %{_libdir}/%{name}-prefork/mod_userdir.so %{_libdir}/%{name}-prefork/mod_usertrack.so %{_libdir}/%{name}-prefork/mod_version.so %{_libdir}/%{name}-prefork/mod_vhost_alias.so %{_libdir}/%{name}-prefork/mod_watchdog.so %{_libdir}/%{name}-prefork/mod_xml2enc.so %endif %if %{worker} %files worker %defattr(-,root,root) %{_sbindir}/httpd-worker %{_sbindir}/httpd2-worker %dir %{_libdir}/%{name}-worker # hardcoded list so we do not lose mods by accident %{_libdir}/%{name}-worker/mod_access_compat.so %{_libdir}/%{name}-worker/mod_actions.so %{_libdir}/%{name}-worker/mod_alias.so %{_libdir}/%{name}-worker/mod_allowmethods.so %{_libdir}/%{name}-worker/mod_asis.so %{_libdir}/%{name}-worker/mod_auth_basic.so %{_libdir}/%{name}-worker/mod_auth_digest.so %{_libdir}/%{name}-worker/mod_auth_form.so %{_libdir}/%{name}-worker/mod_authn_anon.so %{_libdir}/%{name}-worker/mod_authn_core.so %{_libdir}/%{name}-worker/mod_authn_dbd.so %{_libdir}/%{name}-worker/mod_authn_dbm.so %{_libdir}/%{name}-worker/mod_authn_file.so %{_libdir}/%{name}-worker/mod_authn_socache.so %{_libdir}/%{name}-worker/mod_authnz_ldap.so %{_libdir}/%{name}-worker/mod_authnz_fcgi.so %{_libdir}/%{name}-worker/mod_authz_core.so %{_libdir}/%{name}-worker/mod_authz_dbd.so %{_libdir}/%{name}-worker/mod_authz_dbm.so %{_libdir}/%{name}-worker/mod_authz_groupfile.so %{_libdir}/%{name}-worker/mod_authz_host.so %{_libdir}/%{name}-worker/mod_authz_owner.so %{_libdir}/%{name}-worker/mod_authz_user.so %{_libdir}/%{name}-worker/mod_autoindex.so %{_libdir}/%{name}-worker/mod_bucketeer.so %{_libdir}/%{name}-worker/mod_buffer.so %{_libdir}/%{name}-worker/mod_cache.so %{_libdir}/%{name}-worker/mod_cache_disk.so %{_libdir}/%{name}-worker/mod_cache_socache.so %{_libdir}/%{name}-worker/mod_case_filter.so %{_libdir}/%{name}-worker/mod_case_filter_in.so %{_libdir}/%{name}-worker/mod_cgid.so %{_libdir}/%{name}-worker/mod_charset_lite.so %{_libdir}/%{name}-worker/mod_data.so %{_libdir}/%{name}-worker/mod_dav.so %{_libdir}/%{name}-worker/mod_dav_fs.so %{_libdir}/%{name}-worker/mod_dav_lock.so %{_libdir}/%{name}-worker/mod_dbd.so %{_libdir}/%{name}-worker/mod_deflate.so %{_libdir}/%{name}-worker/mod_dialup.so %{_libdir}/%{name}-worker/mod_dir.so %{_libdir}/%{name}-worker/mod_dumpio.so %{_libdir}/%{name}-worker/mod_echo.so %{_libdir}/%{name}-worker/mod_env.so %{_libdir}/%{name}-worker/mod_expires.so %{_libdir}/%{name}-worker/mod_ext_filter.so %{_libdir}/%{name}-worker/mod_file_cache.so %{_libdir}/%{name}-worker/mod_filter.so %{_libdir}/%{name}-worker/mod_headers.so %{_libdir}/%{name}-worker/mod_heartmonitor.so %if 0%{?suse_version} > 1320 || 0%{?sle_version} >= 120200 %{_libdir}/%{name}-worker/mod_http2.so %endif %{_libdir}/%{name}-worker/mod_imagemap.so %{_libdir}/%{name}-worker/mod_include.so %{_libdir}/%{name}-worker/mod_info.so %{_libdir}/%{name}-worker/mod_lbmethod_bybusyness.so %{_libdir}/%{name}-worker/mod_lbmethod_byrequests.so %{_libdir}/%{name}-worker/mod_lbmethod_bytraffic.so %{_libdir}/%{name}-worker/mod_lbmethod_heartbeat.so %{_libdir}/%{name}-worker/mod_ldap.so %{_libdir}/%{name}-worker/mod_log_config.so %{_libdir}/%{name}-worker/mod_log_debug.so %{_libdir}/%{name}-worker/mod_log_forensic.so %{_libdir}/%{name}-worker/mod_logio.so %{_libdir}/%{name}-worker/mod_lua.so %{_libdir}/%{name}-worker/mod_macro.so %{_libdir}/%{name}-worker/mod_mime.so %{_libdir}/%{name}-worker/mod_mime_magic.so %{_libdir}/%{name}-worker/mod_negotiation.so %{_libdir}/%{name}-worker/mod_optional_fn_export.so %{_libdir}/%{name}-worker/mod_optional_fn_import.so %{_libdir}/%{name}-worker/mod_optional_hook_export.so %{_libdir}/%{name}-worker/mod_optional_hook_import.so %{_libdir}/%{name}-worker/mod_proxy.so %{_libdir}/%{name}-worker/mod_proxy_ajp.so %{_libdir}/%{name}-worker/mod_proxy_balancer.so %{_libdir}/%{name}-worker/mod_proxy_connect.so %{_libdir}/%{name}-worker/mod_proxy_express.so %{_libdir}/%{name}-worker/mod_proxy_fcgi.so %{_libdir}/%{name}-worker/mod_proxy_fdpass.so %{_libdir}/%{name}-worker/mod_proxy_ftp.so %{_libdir}/%{name}-worker/mod_proxy_hcheck.so %{_libdir}/%{name}-worker/mod_proxy_html.so %{_libdir}/%{name}-worker/mod_proxy_http.so %{_libdir}/%{name}-worker/mod_proxy_scgi.so %{_libdir}/%{name}-worker/mod_proxy_wstunnel.so %{_libdir}/%{name}-worker/mod_ratelimit.so %{_libdir}/%{name}-worker/mod_reflector.so %{_libdir}/%{name}-worker/mod_remoteip.so %{_libdir}/%{name}-worker/mod_reqtimeout.so %{_libdir}/%{name}-worker/mod_request.so %{_libdir}/%{name}-worker/mod_rewrite.so %{_libdir}/%{name}-worker/mod_sed.so %{_libdir}/%{name}-worker/mod_session.so %{_libdir}/%{name}-worker/mod_session_cookie.so %{_libdir}/%{name}-worker/mod_session_crypto.so %{_libdir}/%{name}-worker/mod_session_dbd.so %{_libdir}/%{name}-worker/mod_setenvif.so %{_libdir}/%{name}-worker/mod_slotmem_plain.so %{_libdir}/%{name}-worker/mod_slotmem_shm.so %{_libdir}/%{name}-worker/mod_socache_dbm.so %{_libdir}/%{name}-worker/mod_socache_memcache.so %{_libdir}/%{name}-worker/mod_socache_shmcb.so %{_libdir}/%{name}-worker/mod_speling.so %{_libdir}/%{name}-worker/mod_ssl.so %{_libdir}/%{name}-worker/mod_status.so %{_libdir}/%{name}-worker/mod_substitute.so %{_libdir}/%{name}-worker/mod_suexec.so %{_libdir}/%{name}-worker/mod_unique_id.so %{_libdir}/%{name}-worker/mod_userdir.so %{_libdir}/%{name}-worker/mod_usertrack.so %{_libdir}/%{name}-worker/mod_version.so %{_libdir}/%{name}-worker/mod_vhost_alias.so %{_libdir}/%{name}-worker/mod_watchdog.so %{_libdir}/%{name}-worker/mod_xml2enc.so %endif %if %{event} %files event %defattr(-,root,root) %{_sbindir}/httpd-event %{_sbindir}/httpd2-event %dir %{_libdir}/%{name}-event # hardcoded list so we do not lose mods by accident %{_libdir}/%{name}-event/mod_access_compat.so %{_libdir}/%{name}-event/mod_actions.so %{_libdir}/%{name}-event/mod_alias.so %{_libdir}/%{name}-event/mod_allowmethods.so %{_libdir}/%{name}-event/mod_asis.so %{_libdir}/%{name}-event/mod_auth_basic.so %{_libdir}/%{name}-event/mod_auth_digest.so %{_libdir}/%{name}-event/mod_auth_form.so %{_libdir}/%{name}-event/mod_authn_anon.so %{_libdir}/%{name}-event/mod_authn_core.so %{_libdir}/%{name}-event/mod_authn_dbd.so %{_libdir}/%{name}-event/mod_authn_dbm.so %{_libdir}/%{name}-event/mod_authn_file.so %{_libdir}/%{name}-event/mod_authn_socache.so %{_libdir}/%{name}-event/mod_authnz_ldap.so %{_libdir}/%{name}-event/mod_authnz_fcgi.so %{_libdir}/%{name}-event/mod_authz_core.so %{_libdir}/%{name}-event/mod_authz_dbd.so %{_libdir}/%{name}-event/mod_authz_dbm.so %{_libdir}/%{name}-event/mod_authz_groupfile.so %{_libdir}/%{name}-event/mod_authz_host.so %{_libdir}/%{name}-event/mod_authz_owner.so %{_libdir}/%{name}-event/mod_authz_user.so %{_libdir}/%{name}-event/mod_autoindex.so %{_libdir}/%{name}-event/mod_bucketeer.so %{_libdir}/%{name}-event/mod_buffer.so %{_libdir}/%{name}-event/mod_cache.so %{_libdir}/%{name}-event/mod_cache_disk.so %{_libdir}/%{name}-event/mod_cache_socache.so %{_libdir}/%{name}-event/mod_case_filter.so %{_libdir}/%{name}-event/mod_case_filter_in.so %{_libdir}/%{name}-event/mod_cgid.so %{_libdir}/%{name}-event/mod_charset_lite.so %{_libdir}/%{name}-event/mod_data.so %{_libdir}/%{name}-event/mod_dav.so %{_libdir}/%{name}-event/mod_dav_fs.so %{_libdir}/%{name}-event/mod_dav_lock.so %{_libdir}/%{name}-event/mod_dbd.so %{_libdir}/%{name}-event/mod_deflate.so %{_libdir}/%{name}-event/mod_dialup.so %{_libdir}/%{name}-event/mod_dir.so %{_libdir}/%{name}-event/mod_dumpio.so %{_libdir}/%{name}-event/mod_echo.so %{_libdir}/%{name}-event/mod_env.so %{_libdir}/%{name}-event/mod_expires.so %{_libdir}/%{name}-event/mod_ext_filter.so %{_libdir}/%{name}-event/mod_file_cache.so %{_libdir}/%{name}-event/mod_filter.so %{_libdir}/%{name}-event/mod_headers.so %if 0%{?suse_version} > 1320 || 0%{?sle_version} >= 120200 %{_libdir}/%{name}-event/mod_http2.so %endif %{_libdir}/%{name}-event/mod_heartmonitor.so %{_libdir}/%{name}-event/mod_imagemap.so %{_libdir}/%{name}-event/mod_include.so %{_libdir}/%{name}-event/mod_info.so %{_libdir}/%{name}-event/mod_lbmethod_bybusyness.so %{_libdir}/%{name}-event/mod_lbmethod_byrequests.so %{_libdir}/%{name}-event/mod_lbmethod_bytraffic.so %{_libdir}/%{name}-event/mod_lbmethod_heartbeat.so %{_libdir}/%{name}-event/mod_ldap.so %{_libdir}/%{name}-event/mod_log_config.so %{_libdir}/%{name}-event/mod_log_debug.so %{_libdir}/%{name}-event/mod_log_forensic.so %{_libdir}/%{name}-event/mod_logio.so %{_libdir}/%{name}-event/mod_lua.so %{_libdir}/%{name}-event/mod_macro.so %{_libdir}/%{name}-event/mod_mime.so %{_libdir}/%{name}-event/mod_mime_magic.so %{_libdir}/%{name}-event/mod_negotiation.so %{_libdir}/%{name}-event/mod_optional_fn_export.so %{_libdir}/%{name}-event/mod_optional_fn_import.so %{_libdir}/%{name}-event/mod_optional_hook_export.so %{_libdir}/%{name}-event/mod_optional_hook_import.so %{_libdir}/%{name}-event/mod_proxy.so %{_libdir}/%{name}-event/mod_proxy_ajp.so %{_libdir}/%{name}-event/mod_proxy_balancer.so %{_libdir}/%{name}-event/mod_proxy_connect.so %{_libdir}/%{name}-event/mod_proxy_express.so %{_libdir}/%{name}-event/mod_proxy_fcgi.so %{_libdir}/%{name}-event/mod_proxy_fdpass.so %{_libdir}/%{name}-event/mod_proxy_ftp.so %{_libdir}/%{name}-event/mod_proxy_hcheck.so %{_libdir}/%{name}-event/mod_proxy_html.so %{_libdir}/%{name}-event/mod_proxy_http.so %{_libdir}/%{name}-event/mod_proxy_scgi.so %{_libdir}/%{name}-event/mod_proxy_wstunnel.so %{_libdir}/%{name}-event/mod_ratelimit.so %{_libdir}/%{name}-event/mod_reflector.so %{_libdir}/%{name}-event/mod_remoteip.so %{_libdir}/%{name}-event/mod_reqtimeout.so %{_libdir}/%{name}-event/mod_request.so %{_libdir}/%{name}-event/mod_rewrite.so %{_libdir}/%{name}-event/mod_sed.so %{_libdir}/%{name}-event/mod_session.so %{_libdir}/%{name}-event/mod_session_cookie.so %{_libdir}/%{name}-event/mod_session_crypto.so %{_libdir}/%{name}-event/mod_session_dbd.so %{_libdir}/%{name}-event/mod_setenvif.so %{_libdir}/%{name}-event/mod_slotmem_plain.so %{_libdir}/%{name}-event/mod_slotmem_shm.so %{_libdir}/%{name}-event/mod_socache_dbm.so %{_libdir}/%{name}-event/mod_socache_memcache.so %{_libdir}/%{name}-event/mod_socache_shmcb.so %{_libdir}/%{name}-event/mod_speling.so %{_libdir}/%{name}-event/mod_ssl.so %{_libdir}/%{name}-event/mod_status.so %{_libdir}/%{name}-event/mod_substitute.so %{_libdir}/%{name}-event/mod_suexec.so %{_libdir}/%{name}-event/mod_unique_id.so %{_libdir}/%{name}-event/mod_userdir.so %{_libdir}/%{name}-event/mod_usertrack.so %{_libdir}/%{name}-event/mod_version.so %{_libdir}/%{name}-event/mod_vhost_alias.so %{_libdir}/%{name}-event/mod_watchdog.so %{_libdir}/%{name}-event/mod_xml2enc.so %endif %files devel -f filelist-devel %defattr(-,root,root) %dir %{_datadir}/%{name} %dir %{installbuilddir} %dir %{includedir} %{_bindir}/apxs %{_sbindir}/apxs %{_bindir}/apxs2 %{_sbindir}/apxs2 %files doc %defattr(-,root,root) %doc %{manualdir} %dir %{sysconfdir} %dir %{sysconfdir}/conf.d %config %{sysconfdir}/conf.d/manual.conf %files example-pages %defattr(-,root,root) %config(noreplace) %{htdocsdir}/index.htm* %config(noreplace) %{htdocsdir}/favicon.ico %config(noreplace) %{htdocsdir}/robots.txt %files utils %defattr(-,root,root) %{_mandir}/man?/ab.?.* %{_mandir}/man?/ab2.?.* %{_mandir}/man?/dbmmanage.?.* %{_mandir}/man?/dbmmanage2.?.* %{_mandir}/man?/htdbm.?.* %{_mandir}/man?/htdbm2.?.* %{_mandir}/man?/htdigest.?.* %{_mandir}/man?/htdigest2.?.* %{_mandir}/man?/htpasswd.?.* %{_mandir}/man?/htpasswd2.?.* %{_mandir}/man?/httxt2dbm.?.* %{_mandir}/man?/logresolve.?.* %{_mandir}/man?/logresolve2.?.* %{_mandir}/man?/rotatelogs.?.* %{_mandir}/man?/rotatelogs2.?.* %{_sbindir}/fcgistarter %{_mandir}/man8/fcgistarter.8.* %{_bindir}/check_forensic %{_bindir}/check_forensic2 %{_bindir}/dbmmanage %{_bindir}/dbmmanage2 %{_bindir}/apache2-find-directives %{_bindir}/gensslcert %{_bindir}/htdbm %{_bindir}/htdbm2 %{_bindir}/htdigest %{_bindir}/htdigest2 %{_bindir}/htpasswd %{_bindir}/htpasswd2 %{_bindir}/split-logfile %{_bindir}/split-logfile2 %{_bindir}/ab %{_bindir}/ab2 %{_bindir}/httxt2dbm %{_sbindir}/logresolve.pl %{_sbindir}/logresolve.pl2 %{_bindir}/logresolve %{_bindir}/logresolve2 %{_sbindir}/rotatelogs %{_sbindir}/rotatelogs2 %if %{prefork} # %post prefork # install /usr/sbin/httpd link if [ -f %{_datadir}/apache2/script-helpers ]; then # it might happen that apache2 including # %{_datadir}/apache2/script-helpers is not installed # yet even if apache2- has Requires(post): apache2 # because of circular dependency between apache2 # and apache2-MPM . %{_datadir}/apache2/script-helpers find_mpm ln -sf $HTTPD_SBIN_BASE-$HTTPD_MPM $HTTPD_SBIN_BASE fi exit 0 # %postun prefork if [ $1 -eq 1 ]; then %apache_request_restart fi exit 0 # %posttrans prefork %apache_restart_if_needed exit 0 # %endif %if %{worker} %post worker # install /usr/sbin/httpd link if [ -f %{_datadir}/apache2/script-helpers ]; then # it might happen that apache2 including # %{_datadir}/apache2/script-helpers is not installed # yet even if apache2- has Requires(post): apache2 # because of circular dependency between apache2 # and apache2-MPM . %{_datadir}/apache2/script-helpers find_mpm ln -sf $HTTPD_SBIN_BASE-$HTTPD_MPM $HTTPD_SBIN_BASE fi exit 0 # %postun worker if [ $1 -eq 1 ]; then %apache_request_restart fi exit 0 # %posttrans worker %apache_restart_if_needed exit 0 # %endif %if %{event} %post event # install /usr/sbin/httpd link if [ -f %{_datadir}/apache2/script-helpers ]; then # it might happen that apache2 including # %{_datadir}/apache2/script-helpers is not installed # yet even if apache2- has Requires(post): apache2 # because of circular dependency between apache2 # and apache2-MPM . %{_datadir}/apache2/script-helpers find_mpm ln -sf $HTTPD_SBIN_BASE-$HTTPD_MPM $HTTPD_SBIN_BASE fi exit 0 # %postun event if [ $1 -eq 1 ]; then %apache_request_restart fi exit 0 # %posttrans event %apache_restart_if_needed exit 0 # %endif %pre %if 0%{?suse_version} >= 1210 %service_add_pre apache2.service %endif %preun %if 0%{?suse_version} >= 1210 %service_del_preun apache2.target %endif # removing the symlink in case of uninstall (not upgrade) [bsc#1041830] if [ $1 -eq 0 ]; then for i in %{_sbindir}/httpd \ %{installbuilddir}/config_vars.mk do test -L $i && rm $i done fi exit 0 %postun %if 0%{?suse_version} >= 1210 DISABLE_RESTART_ON_UPDATE='yes' %service_del_postun apache2.target if [ $1 -eq 1 ]; then %apache_request_restart fi %else %insserv_cleanup %endif %post %if 0%{?suse_version} <= 1130 %run_permissions %else %set_permissions %{_sbindir}/suexec || echo "Please check %{_sysconfdir}/permissions.local for settings of %{_sbindir}/suexec2 ." %endif # wwwadmin group existed in past remove after openSUSE-13.2 out of support scope if grep -q "^wwwadmin:" %{_sysconfdir}/group; then groupmod -n www wwwadmin 2>/dev/null ||: usermod -g %{httpdgroup} %{httpduser} 2>/dev/null ||: usermod -s /bin/false %{httpduser} 2>/dev/null ||: fi %{fillup_only apache2} %if 0%{?suse_version} >= 1210 %service_add_post apache2.service %else %{fillup_and_insserv apache2} %endif # install /usr/bin/httpd link (the code here is # needed when apache2 was installed after apache2-) . %{_datadir}/apache2/script-helpers find_mpm if [ -n "$HTTPD_MPM" ]; then ln -sf $HTTPD_SBIN_BASE-$HTTPD_MPM $HTTPD_SBIN_BASE fi # exit 0 %posttrans %apache_restart_if_needed %verifyscript %verify_permissions -e %{_sbindir}/suexec %changelog