43c955beef
OBS-URL: https://build.opensuse.org/package/show/Apache/apache2?expand=0&rev=cfcefd03ea0dedd79a1df42f3e5912c1
1133 lines
34 KiB
RPMSpec
1133 lines
34 KiB
RPMSpec
#
|
|
# spec file for package apache2 (Version 2.2.15)
|
|
#
|
|
# Copyright (c) 2010 SUSE LINUX Products 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/
|
|
#
|
|
|
|
# norootforbuild
|
|
|
|
|
|
Name: apache2
|
|
BuildRequires: db-devel ed libapr-util1-devel libapr1-devel openldap2 openldap2-devel
|
|
BuildRequires: openssl-devel pcre-devel zlib-devel
|
|
%if %{?suse_version:1}0
|
|
%define httpduser wwwrun
|
|
%define httpdgroup www
|
|
%else
|
|
%define httpduser apache
|
|
%define httpdgroup apache
|
|
BuildRequires: expat-devel
|
|
%endif
|
|
#
|
|
%define pname apache2
|
|
%define vers 2
|
|
%define httpd httpd2
|
|
%define apache_mmn %(test -s %{S:0} && { echo -n apache_mmn_; bzcat %{S:0} | awk '/^#define MODULE_MAGIC_NUMBER_MAJOR/ {printf "%d", $3}'; })
|
|
%define default_mpm prefork
|
|
%{!?prefork:%define prefork 1}
|
|
%{!?worker:%define worker 1}
|
|
%{!?event:%define event 1}
|
|
%{!?itk:%define itk 1}
|
|
%define mpms_to_build %(test %prefork = 1 && printf prefork) %(test %worker = 1 && printf worker) %(test %event = 1 && printf event) %(test %itk = 1 && printf itk)
|
|
# dir names
|
|
%define datadir /srv/www
|
|
%define htdocsdir %{datadir}/htdocs
|
|
%define manualdir %{_prefix}/share/%{pname}/manual
|
|
%define errordir %{_prefix}/share/%{pname}/error
|
|
%define iconsdir %{_prefix}/share/%{pname}/icons
|
|
%define cgidir %{datadir}/cgi-bin
|
|
%define localstatedir /var/lib/%{pname}
|
|
%define proxycachedir /var/cache/%{pname}
|
|
%define logfiledir /var/log/%{pname}
|
|
%define runtimedir /var/run
|
|
%define sysconfdir /etc/%{pname}
|
|
%define includedir %{_includedir}/%{pname}
|
|
%define libexecdir %_libdir/%{pname}
|
|
%define installbuilddir %{_prefix}/share/%{pname}/build
|
|
%define userdir public_html
|
|
%define suexec_safepath /usr/local/bin:/usr/bin:/bin
|
|
# "Server:" header
|
|
%define VENDOR SUSE
|
|
%define platform_string Linux/%VENDOR
|
|
License: ASLv..
|
|
Group: Productivity/Networking/Web/Servers
|
|
%define realver 2.2.15
|
|
Version: 2.2.15
|
|
Release: 3
|
|
#Source0: http://www.apache.org/dist/httpd-%{version}.tar.bz2
|
|
Source0: http://httpd.apache.org/dev/dist/httpd-%{realver}.tar.bz2
|
|
# Add file to take mtime from it in prep section
|
|
Source1: apache2.changes
|
|
Source10: SUSE-NOTICE
|
|
Source11: rc.%{pname}
|
|
Source13: sysconfig.%{pname}
|
|
Source16: certificate.sh
|
|
Source17: mkcert.sh.gz
|
|
Source18: robots.txt
|
|
Source20: favicon.ico
|
|
Source22: apache2-README.QUICKSTART
|
|
Source24: apache2-README
|
|
Source25: gensslcert
|
|
Source27: %{pname}.logrotate
|
|
Source28: permissions.%{pname}
|
|
Source29: apache-ssl-stuff.tar.bz2
|
|
Source40: load_configuration
|
|
Source41: find_mpm
|
|
Source42: get_module_list
|
|
Source43: get_includes
|
|
Source44: find_httpd2_includes
|
|
# 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
|
|
Source48: apache2.xml
|
|
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
|
|
Source130: apache2-vhost.template
|
|
Source131: apache2-vhost-ssl.template
|
|
Source140: apache2-check_forensic
|
|
Source141: apache-20-22-upgrade
|
|
Patch2: httpd-2.1.3alpha-layout.dif
|
|
Patch23: httpd-2.1.9-apachectl.dif
|
|
Patch65: httpd-2.0.49-log_server_status.dif
|
|
Patch66: httpd-2.0.54-envvars.dif
|
|
Patch67: httpd-2.2.0-apxs-a2enmod.dif
|
|
Patch68: httpd-2.x.x-logresolve.patch
|
|
Patch100: apache2.2-mpm-itk-20090414-00.patch
|
|
# PATCH-FIX-UPSTREAM fix deprecated usage of $[ in apxs2
|
|
Patch101: httpd-2.2.15-deprecated_use_of_build_in_variable.patch
|
|
Url: http://httpd.apache.org/
|
|
Icon: Apache.xpm
|
|
Summary: The Apache Web Server Version 2.0
|
|
AutoReqProv: on
|
|
Provides: httpd http_daemon %{apache_mmn} suse_help_viewer
|
|
Requires: %{pname}-MPM /etc/mime.types
|
|
PreReq: %{name}-utils
|
|
Requires: logrotate
|
|
Requires: libapr1 >= 1.0
|
|
Requires: libapr1 < 2.0
|
|
PreReq: fileutils textutils grep sed
|
|
%if %{?suse_version:1}0
|
|
PreReq: %insserv_prereq %fillup_prereq permissions pwdutils
|
|
%endif
|
|
%if 0%{?suse_version} >= 901 && 0%{?sles_version} != 9
|
|
Provides: apache
|
|
Obsoletes: apache < 1.3.29
|
|
Obsoletes: mod_ssl < 2.8.16
|
|
%endif
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
|
|
|
%description
|
|
Apache 2, the successor to Apache 1.
|
|
|
|
Apache is the most used Web server software worldwide.
|
|
|
|
Some new features in Apache 2: - hybrid multiprocess, multithreaded
|
|
mode for improved scalability
|
|
|
|
- multiprotocol support
|
|
|
|
- stream filtering
|
|
|
|
- IPv6 support
|
|
|
|
- new module API
|
|
|
|
New modules include: - mod_auth_db
|
|
|
|
- mod_auth_digest
|
|
|
|
- mod_charset_lite
|
|
|
|
- mod_dav
|
|
|
|
- mod_file_cache
|
|
|
|
Mod_ssl is no longer a separate package, but is now included in the
|
|
Apache distribution.
|
|
|
|
See /usr/share/doc/packages/apache2/, http://httpd.apache.org/, and
|
|
http://httpd.apache.org/docs-2.0/upgrading.html.
|
|
|
|
|
|
|
|
Authors:
|
|
--------
|
|
Too many to list here -- see /usr/share/doc/packages/apache2/ABOUT_APACHE
|
|
|
|
%if %worker
|
|
|
|
%package worker
|
|
License: ASLv..
|
|
Summary: Apache 2 worker MPM (Multi-Processing Module)
|
|
Group: Productivity/Networking/Web/Servers
|
|
Provides: %{pname}-MPM
|
|
Requires: %{name} = %{version}
|
|
%endif
|
|
%if %prefork
|
|
|
|
%package prefork
|
|
License: ASLv..
|
|
Summary: Apache 2 "prefork" MPM (Multi-Processing Module)
|
|
Group: Productivity/Networking/Web/Servers
|
|
Provides: %{pname}-MPM
|
|
%if 0%{?suse_version} >= 901 && 0%{?sles_version} != 9
|
|
Provides: apache:/usr/sbin/httpd
|
|
%endif
|
|
Requires: %{name} = %{version}
|
|
%endif
|
|
%if %event
|
|
|
|
%package event
|
|
License: ASLv..
|
|
Summary: Apache 2 event MPM (Multi-Processing Module)
|
|
Group: Productivity/Networking/Web/Servers
|
|
Provides: %{pname}-MPM
|
|
Requires: %{name} = %{version}
|
|
%endif
|
|
%if %itk
|
|
|
|
%package itk
|
|
License: ASLv..
|
|
Summary: Apache 2 "ITK" MPM (Multi-Processing Module)
|
|
Group: Productivity/Networking/Web/Servers
|
|
Provides: %{pname}-MPM
|
|
Requires: %{name} = %{version}
|
|
%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.
|
|
|
|
|
|
|
|
Authors:
|
|
--------
|
|
Too many to list here -- see /usr/share/doc/packages/apache2/ABOUT_APACHE
|
|
|
|
%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.
|
|
|
|
|
|
|
|
Authors:
|
|
--------
|
|
Too many to list here -- see /usr/share/doc/packages/apache2/ABOUT_APACHE
|
|
|
|
%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.
|
|
|
|
|
|
|
|
Authors:
|
|
--------
|
|
Too many to list here -- see /usr/share/doc/packages/apache2/ABOUT_APACHE
|
|
|
|
%endif
|
|
%if %itk
|
|
|
|
%description itk
|
|
The "ITK" MPM (Multi-Processing Module) is experimental and NOT officially
|
|
endorsed by the Apache Software Foundation, so it may or may not work as
|
|
expected.
|
|
|
|
Apache2-mpm-itk (just mpm-itk for short) is a MPM for the Apache 2 web server.
|
|
mpm-itk allows you to run each of your vhosts under a separate uid and gid --
|
|
in short, the scripts and configuration files for one vhost no longer have to
|
|
be readable for all the other vhosts.
|
|
|
|
See http://mpm-itk.sesse.net/
|
|
|
|
|
|
|
|
Authors:
|
|
--------
|
|
Too many to list here -- see /usr/share/doc/packages/apache2/ABOUT_APACHE
|
|
Steinar H. Gunderson (ITK module)
|
|
|
|
%endif
|
|
|
|
%package devel
|
|
License: ASLv..
|
|
Summary: Apache 2.0 Header and Include Files
|
|
Group: Development/Libraries/C and C++
|
|
Requires: %{name} = %{version} %{pname}-MPM
|
|
Requires: libapr1-devel libapr-util1-devel
|
|
Requires: apache2-prefork gcc
|
|
|
|
%description devel
|
|
This package contains header files and include files that are needed
|
|
for development using the Apache API.
|
|
|
|
|
|
|
|
%package doc
|
|
License: ASLv..
|
|
Summary: Additional Package Documentation.
|
|
Group: Documentation/Other
|
|
%if 0%{?suse_version} >= 901 && 0%{?sles_version} != 9
|
|
Provides: apache-doc
|
|
Obsoletes: apache-doc
|
|
%endif
|
|
%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
|
|
License: ASLv..
|
|
Summary: Example Pages for the Apache 2 Web Server
|
|
Group: Productivity/Networking/Web/Servers
|
|
%if 0%{?suse_version} >= 901 && 0%{?sles_version} != 9
|
|
Provides: apache-example-pages
|
|
Obsoletes: apache-example-pages
|
|
%endif
|
|
|
|
%description example-pages
|
|
Some Example pages for Apache that show information about the installed
|
|
server.
|
|
|
|
|
|
|
|
Authors:
|
|
--------
|
|
Too many to list here -- see /usr/share/doc/packages/apache2/ABOUT_APACHE
|
|
|
|
%package example-certificates
|
|
License: ASLv..
|
|
Summary: Example certificates for the Apache 2 Web Server
|
|
Group: Productivity/Networking/Web/Servers
|
|
|
|
%description example-certificates
|
|
Snakeoil example certificates for Apache.
|
|
|
|
|
|
|
|
Authors:
|
|
--------
|
|
Too many to list here -- see /usr/share/doc/packages/apache2/ABOUT_APACHE
|
|
|
|
%package utils
|
|
License: ASLv..
|
|
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.
|
|
|
|
|
|
|
|
Authors:
|
|
--------
|
|
Too many to list here -- see /usr/share/doc/packages/apache2/ABOUT_APACHE
|
|
|
|
|
|
%prep
|
|
#
|
|
# O/ ._ .__ ._
|
|
# /O |_)|(/_|_)
|
|
# | |
|
|
#
|
|
%setup -q -n httpd-%{realver}
|
|
%patch2 -p1
|
|
%patch23 -p1
|
|
%patch65 -p1
|
|
%patch66 -p1
|
|
%patch67 -p1
|
|
%patch68 -p1
|
|
%patch100 -p1
|
|
%patch101 -p0
|
|
#
|
|
cat $RPM_SOURCE_DIR/SUSE-NOTICE >> NOTICE
|
|
#
|
|
cp -p %{S:16} %{S:17} .; gunzip mkcert.sh.gz
|
|
#
|
|
# 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" %SOURCE1`
|
|
sed -i -e "s/__DATE__ \" \" __TIME__;/\"$CHANGES\";/" server/buildmark.c
|
|
#
|
|
# now configure Apache
|
|
#
|
|
%if 0%{?suse_version} > 910
|
|
aclocal
|
|
autoreconf --force --install
|
|
%else
|
|
rm -rf aclocal.m4 autom4te*.cache
|
|
autoheader
|
|
autoconf
|
|
%endif
|
|
|
|
%build
|
|
#
|
|
# O/ |_ o| _|
|
|
# /O |_)|_|||(_|
|
|
#
|
|
function configure {
|
|
CFLAGS="$RPM_OPT_FLAGS -fPIC -Wall -fno-strict-aliasing -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%{vers}$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 \
|
|
\
|
|
%if %{?suse_version:%suse_version}%{?!suse_version:9999} > 930
|
|
--with-pcre \
|
|
--enable-pie \
|
|
%endif
|
|
--enable-mods-shared=all \
|
|
--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 \
|
|
\
|
|
--with-ldap \
|
|
--enable-ldap \
|
|
--enable-authnz_ldap \
|
|
\
|
|
--enable-proxy \
|
|
--enable-proxy-connect \
|
|
--enable-proxy-ftp \
|
|
--enable-proxy-http \
|
|
--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%{vers} \
|
|
--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}
|
|
}
|
|
|
|
#
|
|
# |_ o| _| | _ _ ._
|
|
# |_)|_|||(_| |(_)(_)|_)
|
|
# |
|
|
#
|
|
# build the 3 multi-processing modules (MPM) in a loop
|
|
#
|
|
[ "$RPM_BUILD_ROOT" != "/" ] && [ -d $RPM_BUILD_ROOT ] && rm -rf $RPM_BUILD_ROOT;
|
|
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/%{vers}-$mpm//" include/ap_config_auto.h > include/ap_config_auto.h.new
|
|
mv include/ap_config_auto.h.new include/ap_config_auto.h
|
|
|
|
make CFLAGS="$RPM_OPT_FLAGS -fPIC \
|
|
-fno-strict-aliasing \
|
|
-Wall \
|
|
-DDEFAULT_PIDLOG='\"%{runtimedir}/%{httpd}.pid\"' \
|
|
-DDEFAULT_ERRORLOG='\"%{logfiledir}/error_log\"' " \
|
|
%{?jobs:-j%jobs}
|
|
|
|
make DESTDIR=$RPM_BUILD_ROOT install
|
|
|
|
#rm -rf $RPM_BUILD_ROOT.$mpm.pre
|
|
#cp -a $RPM_BUILD_ROOT/ $RPM_BUILD_ROOT.$mpm.pre
|
|
# 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 $RPM_BUILD_ROOT/%{sysconfdir}/httpd-std.conf $RPM_BUILD_ROOT/%{sysconfdir}/httpd-std.conf$mpm_suffix
|
|
#mv $RPM_BUILD_ROOT/%{sysconfdir}/httpd2-prefork.conf $RPM_BUILD_ROOT/%{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" \
|
|
< $RPM_BUILD_ROOT/%{installbuilddir}/config_vars.mk \
|
|
> $RPM_BUILD_ROOT/%{installbuilddir}/config_vars.mk$mpm_suffix
|
|
rm $RPM_BUILD_ROOT/%{installbuilddir}/config_vars.mk
|
|
#rm -rf $RPM_BUILD_ROOT.$mpm.post
|
|
#cp -a $RPM_BUILD_ROOT/ $RPM_BUILD_ROOT.$mpm.post
|
|
done
|
|
mkdir -p $RPM_BUILD_ROOT/%{libexecdir}
|
|
|
|
# remove references to mpm type in config_vars
|
|
sed -e "s^/usr/%_lib/%{pname}-%{default_mpm}^/usr/%_lib/%{pname}^" \
|
|
-e "s/httpd$/%{httpd}-%{default_mpm}/" \
|
|
-e "s/%{pname}-%{default_mpm}/%{pname}/" \
|
|
< $RPM_BUILD_ROOT/%{installbuilddir}/config_vars.mk-%{default_mpm} \
|
|
> $RPM_BUILD_ROOT/%{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/apache%{vers}
|
|
ldir=$RPM_BUILD_ROOT/%{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 ../%{pname}/$i $ldir-$mpm/$i
|
|
done
|
|
fi
|
|
done
|
|
|
|
# merge the three /usr/include/apache2-* directories
|
|
# by putting them in /usr/lib/apache%{vers}
|
|
idir=$RPM_BUILD_ROOT/%{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 ../%{pname}/$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
|
|
#
|
|
# O/ o._ __|_ _.||
|
|
# /O || |_> |_(_|||
|
|
#
|
|
#
|
|
# (most installation (to build root) has already been done in %%build)
|
|
#
|
|
# save MODULE_MAGIC_NUMBER
|
|
cat > $RPM_BUILD_ROOT/%{_libdir}/%{pname}_MMN <<-EOF
|
|
#!/bin/sh
|
|
echo %{apache_mmn}
|
|
EOF
|
|
|
|
cp -p $RPM_BUILD_ROOT/%{sysconfdir}/%{httpd}-%{default_mpm}.conf $RPM_BUILD_ROOT/%{sysconfdir}/httpd.conf
|
|
cp -p $RPM_BUILD_ROOT/%{sysconfdir}/httpd.conf ./httpd.conf.default
|
|
rm $RPM_BUILD_ROOT/%{sysconfdir}/%{httpd}-*.conf
|
|
#
|
|
# create directories
|
|
mkdir -p $RPM_BUILD_ROOT/%{_var}/adm/fillup-templates \
|
|
$RPM_BUILD_ROOT/%{proxycachedir} \
|
|
$RPM_BUILD_ROOT/%{localstatedir}
|
|
#
|
|
# support files
|
|
install -m 755 support/log_server_status $RPM_BUILD_ROOT/%{_bindir}/log_server_status%{vers}
|
|
install -m 755 support/split-logfile $RPM_BUILD_ROOT/%{_bindir}/split-logfile%{vers}
|
|
install -m 755 support/logresolve.pl $RPM_BUILD_ROOT/%{_sbindir}/logresolve.pl%{vers}
|
|
mkdir -p $RPM_BUILD_ROOT/etc/logrotate.d
|
|
install -m 644 $RPM_SOURCE_DIR/%{pname}.logrotate $RPM_BUILD_ROOT/etc/logrotate.d/%{pname}
|
|
# since 10.0, the permission files are maintained centrally
|
|
%if %{?suse_version:%suse_version}%{?!suse_version:9999} < 1000
|
|
mkdir -p $RPM_BUILD_ROOT/etc/permissions.d
|
|
install -m 644 $RPM_SOURCE_DIR/permissions.%{pname} $RPM_BUILD_ROOT/etc/permissions.d/%{pname}
|
|
%endif
|
|
install -m 755 $RPM_SOURCE_DIR/apache2-check_forensic $RPM_BUILD_ROOT/%{_bindir}/check_forensic%{vers}
|
|
#
|
|
# xml stuff
|
|
install -d $RPM_BUILD_ROOT%{_datadir}/omc/svcinfo.d/
|
|
install -m 644 %{S:48} $RPM_BUILD_ROOT%{_datadir}/omc/svcinfo.d/
|
|
#
|
|
# ssl stuff
|
|
install -m 755 %{S:25} $RPM_BUILD_ROOT/%{_bindir}/
|
|
chmod 755 certificate.sh mkcert.sh
|
|
tar xjf $RPM_SOURCE_DIR/apache-ssl-stuff.tar.bz2 -C $RPM_BUILD_ROOT/%{sysconfdir}
|
|
#
|
|
# init script and friends
|
|
mkdir -p $RPM_BUILD_ROOT/etc/init.d
|
|
install -m 744 $RPM_SOURCE_DIR/rc.%{pname} $RPM_BUILD_ROOT/etc/init.d/%{pname}
|
|
ln -sf ../../etc/init.d/%{pname} $RPM_BUILD_ROOT/%{_sbindir}/rc%{pname}
|
|
install -m 755 $RPM_SOURCE_DIR/load_configuration $RPM_BUILD_ROOT/%{_prefix}/share/%{pname}/
|
|
install -m 755 $RPM_SOURCE_DIR/find_mpm $RPM_BUILD_ROOT/%{_prefix}/share/%{pname}/
|
|
install -m 755 $RPM_SOURCE_DIR/get_includes $RPM_BUILD_ROOT/%{_prefix}/share/%{pname}/
|
|
install -m 755 $RPM_SOURCE_DIR/find_httpd2_includes $RPM_BUILD_ROOT/%{_prefix}/share/%{pname}/
|
|
install -m 755 $RPM_SOURCE_DIR/apache-20-22-upgrade $RPM_BUILD_ROOT/%{_prefix}/share/%{pname}/
|
|
sed 's+/usr/lib+/usr/%_lib+' $RPM_SOURCE_DIR/get_module_list \
|
|
> $RPM_BUILD_ROOT/%{_prefix}/share/%{pname}/get_module_list
|
|
chmod 755 $RPM_BUILD_ROOT/%{_prefix}/share/%{pname}/get_module_list
|
|
install -m 755 $RPM_SOURCE_DIR/sysconf_addword $RPM_BUILD_ROOT/%{_prefix}/share/%{pname}/
|
|
install -m 755 $RPM_SOURCE_DIR/a2enflag $RPM_BUILD_ROOT/%{_sbindir}
|
|
ln -s a2enflag $RPM_BUILD_ROOT/%{_sbindir}/a2disflag
|
|
install -m 755 $RPM_SOURCE_DIR/a2enmod $RPM_BUILD_ROOT/%{_sbindir}
|
|
ln -s a2enmod $RPM_BUILD_ROOT/%{_sbindir}/a2dismod
|
|
#
|
|
# directories for files from other packages and other configuration
|
|
mkdir -p $RPM_BUILD_ROOT/%{sysconfdir}/vhosts.d
|
|
mkdir -p $RPM_BUILD_ROOT/%{sysconfdir}/sysconfig.d
|
|
#
|
|
# make list of all modules, and install sysconfig template
|
|
for i in $(find $RPM_BUILD_ROOT/%{libexecdir}-%{default_mpm} -name "*.so" | sort); do
|
|
modname=${i#*mod_}; modname=${modname%.so}
|
|
modname=${modname##*lib}
|
|
all_modules="$all_modules $modname"
|
|
done
|
|
all_modules=$(echo $all_modules | fmt | sed 's/\(.*\)/# \1\\/')
|
|
sed "s+@@all_modules@@+$all_modules +" $RPM_SOURCE_DIR/sysconfig.%{pname} \
|
|
> $RPM_BUILD_ROOT/%{_var}/adm/fillup-templates/sysconfig.%{pname}
|
|
#
|
|
# install READMEs
|
|
cp -p $RPM_SOURCE_DIR/%{pname}-README README.%VENDOR
|
|
cp -p $RPM_SOURCE_DIR/%{pname}-README.QUICKSTART README.QUICKSTART
|
|
#
|
|
# install configuration files:
|
|
mkdir -p $RPM_BUILD_ROOT/%{runtimedir}
|
|
touch $RPM_BUILD_ROOT/%{sysconfdir}/sysconfig.d/include.conf
|
|
mkdir -p $RPM_BUILD_ROOT/%{sysconfdir}/conf.d
|
|
for i in default-server.conf \
|
|
errors.conf \
|
|
httpd.conf \
|
|
listen.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 \
|
|
ssl-global.conf
|
|
do
|
|
install -m 644 $RPM_SOURCE_DIR/apache2-$i $RPM_BUILD_ROOT/%{sysconfdir}/$i
|
|
done
|
|
cat > $RPM_BUILD_ROOT/%{sysconfdir}/uid.conf <<-EOF
|
|
User %httpduser
|
|
Group %httpdgroup
|
|
EOF
|
|
|
|
# remove configuration for mpms which have not been built
|
|
mpm_confs="$(awk '/IfModule .*\.c/ {print $2}' $RPM_BUILD_ROOT/%{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" $RPM_BUILD_ROOT/%{sysconfdir}/server-tuning.conf > t
|
|
#diff -u $RPM_BUILD_ROOT/%{sysconfdir}/server-tuning.conf t ||:
|
|
mv t $RPM_BUILD_ROOT/%{sysconfdir}/server-tuning.conf
|
|
;;
|
|
esac
|
|
done
|
|
install -m 644 $RPM_SOURCE_DIR/apache2-vhost.template $RPM_BUILD_ROOT/%{sysconfdir}/vhosts.d/vhost.template
|
|
install -m 644 $RPM_SOURCE_DIR/apache2-vhost-ssl.template $RPM_BUILD_ROOT/%{sysconfdir}/vhosts.d/vhost-ssl.template
|
|
install -m 644 $RPM_SOURCE_DIR/apache2-manual.conf $RPM_BUILD_ROOT/%{sysconfdir}/conf.d/
|
|
# for mod_auth_ldap
|
|
install -m 644 docs/conf/charset.conv $RPM_BUILD_ROOT/%{sysconfdir}/
|
|
|
|
cp -p $RPM_SOURCE_DIR/robots.txt .
|
|
cp -p $RPM_SOURCE_DIR/favicon.ico $RPM_BUILD_ROOT/%{htdocsdir}/
|
|
cat > $RPM_BUILD_ROOT/%{htdocsdir}/robots.txt <<-EOF
|
|
User-Agent: *
|
|
Disallow: /
|
|
EOF
|
|
|
|
#
|
|
# use official mime.types (more complete)
|
|
#
|
|
ln -sf ../mime.types $RPM_BUILD_ROOT/%{sysconfdir}/mime.types
|
|
|
|
mv $RPM_BUILD_ROOT/%{cgidir}/printenv .
|
|
mv $RPM_BUILD_ROOT/%{cgidir}/test-cgi .
|
|
pushd $RPM_BUILD_ROOT/%{_mandir}
|
|
for i in $(find . -type f); do
|
|
mv $i ${i%.*}%{vers}.${i#*.*.} || true
|
|
done
|
|
popd
|
|
pushd $RPM_BUILD_ROOT/%{_sbindir}
|
|
for i in ab dbmmanage htdbm htdigest htpasswd logresolve rotatelogs suexec; do
|
|
mv $i ${i}%{vers} || true
|
|
done
|
|
mv apachectl apachectl.tmp; mv apachectl.tmp apache%{vers}ctl
|
|
for i in dbmmanage htdbm htdigest htpasswd; do
|
|
mv ${i}%{vers} ../bin/
|
|
done
|
|
popd
|
|
# fix up apxs
|
|
pushd $RPM_BUILD_ROOT/%{_sbindir}
|
|
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%{vers}-$mpm
|
|
EOT_ED
|
|
chmod 755 apxs%{vers}-$mpm
|
|
done
|
|
cat <<-EOT_ED | ed -s apxs
|
|
H
|
|
/config_vars
|
|
a
|
|
my \$mpm_suffix = "";
|
|
.
|
|
wq
|
|
EOT_ED
|
|
mv apxs apxs%{vers}
|
|
popd
|
|
|
|
# install firewall information file
|
|
install -d $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/
|
|
install -m 644 %{S:49} $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/%{name}
|
|
install -m 644 %{S:50} $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/%{name}-ssl
|
|
|
|
#
|
|
# filelists
|
|
#
|
|
>filelist; >filelist-devel
|
|
for mpm in %{mpms_to_build}; do
|
|
echo %dir %{_libdir}/%{pname}-$mpm >> filelist
|
|
(
|
|
echo %dir %{includedir}-$mpm
|
|
echo %{_sbindir}/apxs%{vers}-$mpm
|
|
) >> filelist-devel
|
|
done
|
|
find $RPM_BUILD_ROOT/%{includedir}/.. -type f -o -type l \
|
|
| sed "s#$RPM_BUILD_ROOT##" \
|
|
>> filelist-devel
|
|
find $RPM_BUILD_ROOT/%{installbuilddir} -type f \
|
|
| sed "s#$RPM_BUILD_ROOT##" \
|
|
>> filelist-devel
|
|
|
|
# remove files from the build root that we won't package
|
|
rm -f $RPM_BUILD_ROOT/%{_libdir}/%{pname}-*/*.exp # needed only on AIX
|
|
rm -f $RPM_BUILD_ROOT/%{_libdir}/%{pname}/*.exp # needed only on AIX
|
|
rm -f $RPM_BUILD_ROOT/%{_sbindir}/checkgid # needed only for user installations from tarball
|
|
rm -r $RPM_BUILD_ROOT/%{sysconfdir}/extra # it is already in the documentation directory
|
|
|
|
#
|
|
# O/ _|_ _ __|_
|
|
# /O |_(/__> |_
|
|
#
|
|
#
|
|
# now check wether httpd binary runs properly
|
|
# and validate httpd.conf file
|
|
#
|
|
pushd $RPM_BUILD_ROOT/%{sysconfdir}
|
|
for i in *.conf; do cp $i $i.test; done
|
|
%if %{?suse_version:%suse_version}%{?!suse_version:9999} < 810
|
|
echo -e "User %httpduser \nGroup nogroup" > uid.conf.test
|
|
sed 's+/srv/www+/usr/local/httpd+' default-server.conf > t
|
|
mv t default-server.conf
|
|
mkdir -p /usr/local/httpd/htdocs
|
|
%endif
|
|
# for Fedora
|
|
%if %{?suse_version:0}%{!?suse_version:1}
|
|
echo -e "User nobody \nGroup nobody" > uid.conf.test
|
|
mkdir -p $RPM_BUILD_ROOT/%{htdocsdir}
|
|
%endif
|
|
sed -e 's+/usr/%_lib+'$RPM_BUILD_ROOT'/usr/%_lib+' \
|
|
-e 's+/var/run+'$RPM_BUILD_ROOT'/var/run+' \
|
|
-e 's+%{sysconfdir}+'$RPM_BUILD_ROOT'%{sysconfdir}+' \
|
|
-e 's+%{datadir}+'$RPM_BUILD_ROOT'%{datadir}+' \
|
|
-e 's+\.conf$+&.test+' \
|
|
httpd.conf > httpd.conf.test
|
|
sed -e 's+%{sysconfdir}+'$RPM_BUILD_ROOT'%{sysconfdir}+' \
|
|
default-server.conf > default-server.conf.test
|
|
touch sysconfig.d/global.conf.test
|
|
touch sysconfig.d/include.conf.test
|
|
popd
|
|
pushd $RPM_BUILD_ROOT
|
|
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 $RPM_BUILD_ROOT/${i#.} >> .%{sysconfdir}/sysconfig.d/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}/sysconfig.d/loadmodule.conf.test
|
|
popd
|
|
|
|
%if %{?suse_version:1}%{!?suse_version:0}
|
|
LD_LIBRARY_PATH=${RPM_BUILD_ROOT}%{_libdir} \
|
|
$RPM_BUILD_ROOT/%{_sbindir}/httpd%{vers}-%{default_mpm} \
|
|
-e debug -t -f $RPM_BUILD_ROOT/%{sysconfdir}/httpd.conf.test || exit 1
|
|
%else
|
|
LD_LIBRARY_PATH=${RPM_BUILD_ROOT}%{_libdir} \
|
|
$RPM_BUILD_ROOT/%{_sbindir}/httpd%{vers}-%{default_mpm} \
|
|
-e debug -t -f $RPM_BUILD_ROOT/%{sysconfdir}/httpd.conf.test || :
|
|
%endif
|
|
rm $RPM_BUILD_ROOT/%{sysconfdir}/*.test
|
|
rm $RPM_BUILD_ROOT/%{sysconfdir}/sysconfig.d/*
|
|
mv $RPM_BUILD_ROOT/%{sysconfdir}/original .
|
|
|
|
%files -f filelist
|
|
# _
|
|
# O/ _|_o| _ _
|
|
# /O | ||(/__>
|
|
#
|
|
%defattr(-,root,root)
|
|
%doc INSTALL READM* LICENSE ABOUT_APACHE CHANGES
|
|
%doc support/SHA1
|
|
%doc %attr(755,root,root) certificate.sh
|
|
%doc %attr(755,root,root) mkcert.sh
|
|
%doc %{_mandir}/man8/apachectl%{vers}.8.*
|
|
%doc %{_mandir}/man8/htcacheclean%{vers}.8.*
|
|
%doc %{_mandir}/man8/%{httpd}.8.*
|
|
%doc %{_mandir}/man8/apxs%{vers}.8.*
|
|
%doc robots.txt
|
|
%doc printenv
|
|
%doc test-cgi
|
|
#%doc httpd-std.conf-*
|
|
#%doc ssl-std.conf
|
|
%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*
|
|
%config %{sysconfdir}/ssl.*/Makefile
|
|
%config(noreplace) %{sysconfdir}/ssl.crt/server.crt
|
|
%config(noreplace) %{sysconfdir}/ssl.csr/server.csr
|
|
%config(noreplace) %{sysconfdir}/ssl.key/server.key
|
|
%dir %{sysconfdir}/conf.d
|
|
%dir %{sysconfdir}/vhosts.d
|
|
%dir %{sysconfdir}/sysconfig.d
|
|
%config(noreplace) /etc/logrotate.d/%{pname}
|
|
%{_datadir}/omc/svcinfo.d/apache2.xml
|
|
%if %{?suse_version:%suse_version}%{?!suse_version:9999} < 1000
|
|
%config(noreplace) /etc/permissions.d/%{pname}
|
|
%endif
|
|
%config /etc/init.d/%{pname}
|
|
#
|
|
%{_sbindir}/rc%{pname}
|
|
%{_sbindir}/apache%{vers}ctl
|
|
%{_sbindir}/envvars
|
|
%{_sbindir}/envvars-std
|
|
%{_sbindir}/htcacheclean
|
|
%{_sbindir}/a2enflag
|
|
%{_sbindir}/a2enmod
|
|
%{_sbindir}/a2disflag
|
|
%{_sbindir}/a2dismod
|
|
%{_bindir}/log_server_status%{vers}
|
|
%{iconsdir}
|
|
%{errordir}
|
|
%{_var}/adm/fillup-templates/sysconfig.%{pname}
|
|
%attr(755,root,root) %{_libdir}/%{pname}_MMN
|
|
%dir %{_libdir}/%{pname}
|
|
%{_libdir}/%{pname}/mod_*.so
|
|
%dir %{installbuilddir}
|
|
%dir %{_prefix}/share/%{pname}
|
|
%{_prefix}/share/%{pname}/apache-20-22-upgrade
|
|
%{_prefix}/share/%{pname}/get_module_list
|
|
%{_prefix}/share/%{pname}/get_includes
|
|
%{_prefix}/share/%{pname}/find_httpd2_includes
|
|
%{_prefix}/share/%{pname}/find_mpm
|
|
%{_prefix}/share/%{pname}/load_configuration
|
|
%{_prefix}/share/%{pname}/sysconf_addword
|
|
%config %{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/%{name}
|
|
%config %{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/%{name}-ssl
|
|
%if %prefork
|
|
|
|
%files prefork
|
|
%defattr(-,root,root)
|
|
%{_sbindir}/%{httpd}-prefork
|
|
%dir %{_libdir}/%{pname}-prefork
|
|
%{_libdir}/%{pname}-prefork/mod_*.so
|
|
%endif
|
|
%if %worker
|
|
|
|
%files worker
|
|
%defattr(-,root,root)
|
|
%{_sbindir}/%{httpd}-worker
|
|
%dir %{_libdir}/%{pname}-worker
|
|
%{_libdir}/%{pname}-worker/mod_*.so
|
|
%endif
|
|
%if %event
|
|
|
|
%files event
|
|
%defattr(-,root,root)
|
|
%{_sbindir}/%{httpd}-event
|
|
%dir %{_libdir}/%{pname}-event
|
|
%{_libdir}/%{pname}-event/mod_*.so
|
|
%endif
|
|
%if %itk
|
|
|
|
%files itk
|
|
%defattr(-,root,root)
|
|
%{_sbindir}/%{httpd}-itk
|
|
%dir %{_libdir}/%{pname}-itk
|
|
%{_libdir}/%{pname}-itk/mod_*.so
|
|
%endif
|
|
|
|
%files devel -f filelist-devel
|
|
%defattr(-,root,root)
|
|
%dir %{_prefix}/share/%{pname}
|
|
%dir %{installbuilddir}
|
|
%dir %{includedir}
|
|
%{_sbindir}/apxs%{vers}
|
|
|
|
%files doc
|
|
%defattr(-,root,root)
|
|
%doc %{manualdir}
|
|
%dir %{sysconfdir}
|
|
%dir %{sysconfdir}/conf.d
|
|
%config %{sysconfdir}/conf.d/apache2-manual.conf
|
|
|
|
%files example-pages
|
|
%defattr(-,root,root)
|
|
%config(noreplace) %{htdocsdir}/index.htm*
|
|
%config(noreplace) %{htdocsdir}/favicon.ico
|
|
%config(noreplace) %{htdocsdir}/robots.txt
|
|
|
|
%files example-certificates
|
|
%defattr(-,root,root)
|
|
%{sysconfdir}/ssl.*/snakeoil*
|
|
%{sysconfdir}/ssl.*/*.0
|
|
|
|
%files utils
|
|
%defattr(-,root,root)
|
|
%doc %{_mandir}/man8/ab%{vers}.8.*
|
|
%doc %{_mandir}/man1/dbmmanage%{vers}.1.*
|
|
%doc %{_mandir}/man1/htdbm%{vers}.1.*
|
|
%doc %{_mandir}/man1/htdigest%{vers}.1.*
|
|
%doc %{_mandir}/man1/htpasswd%{vers}.1.*
|
|
%doc %{_mandir}/man8/logresolve%{vers}.8.*
|
|
%doc %{_mandir}/man8/rotatelogs%{vers}.8.*
|
|
%doc %{_mandir}/man8/suexec%{vers}.8.*
|
|
%{_bindir}/check_forensic%{vers}
|
|
%{_bindir}/dbmmanage%{vers}
|
|
%{_bindir}/gensslcert
|
|
%{_bindir}/htdbm%{vers}
|
|
%{_bindir}/htdigest%{vers}
|
|
%{_bindir}/htpasswd%{vers}
|
|
%{_bindir}/split-logfile%{vers}
|
|
%{_sbindir}/ab%{vers}
|
|
%{_sbindir}/httxt2dbm
|
|
%{_sbindir}/logresolve.pl%{vers}
|
|
%{_sbindir}/logresolve%{vers}
|
|
%{_sbindir}/rotatelogs%{vers}
|
|
%verify(not mode) %attr(0755,root,root) %_sbindir/suexec2
|
|
%if %prefork
|
|
|
|
%post prefork
|
|
/usr/share/%{pname}/get_module_list &>/dev/null
|
|
exit 0
|
|
%endif
|
|
%if %worker
|
|
|
|
%post worker
|
|
/usr/share/%{pname}/get_module_list &>/dev/null
|
|
exit 0
|
|
%endif
|
|
%if %event
|
|
|
|
%post event
|
|
/usr/share/%{pname}/get_module_list &>/dev/null
|
|
exit 0
|
|
%endif
|
|
%if %itk
|
|
|
|
%post itk
|
|
/usr/share/%{pname}/get_module_list &>/dev/null
|
|
exit 0
|
|
%endif
|
|
|
|
#
|
|
# O/ ._ .__ / ._ _ __|_
|
|
# /O |_)|(/_ / |_)(_)_> |_
|
|
# | |
|
|
#
|
|
|
|
# on Fedora, add the "apache" user
|
|
%if %{?suse_version:0}%{!?suse_version:1}
|
|
|
|
%pre
|
|
if ! /usr/bin/getent passwd %httpduser &>/dev/null; then
|
|
echo "Creating %httpduser user"
|
|
/usr/sbin/useradd -c "Apache" -u 48 \
|
|
-s /sbin/nologin -r -d %{localstatedir} %httpduser 2> /dev/null || :
|
|
fi
|
|
%endif
|
|
|
|
%preun
|
|
for i in %{_sbindir}/%{httpd} \
|
|
%{installbuilddir}/config_vars.mk
|
|
do
|
|
test -L $i && rm $i
|
|
done
|
|
exit 0
|
|
|
|
%postun
|
|
#if %suse_version > 810
|
|
#restart_on_update %{pname}
|
|
#endif
|
|
%insserv_cleanup
|
|
|
|
%post
|
|
%run_permissions
|
|
%if 0%{?suse_version}
|
|
# a group wwwadmin has existed in the distant past, and it was renamed to www
|
|
if grep -q "^wwwadmin:" /etc/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
|
|
%endif
|
|
tmpdir=$(mktemp -d etc/%{pname}/%{pname}-post.XXXXXX); test $? = 0 || { echo >&2 Could not create tmpdir. Exiting; exit 1; }
|
|
tmpfile=$tmpdir/tmpfile
|
|
if test -s etc/sysconfig/%{pname} && grep -q "^LOADMODULES" etc/sysconfig/%{pname}; then
|
|
sed "s/LOADMODULES/APACHE_MODULES/" etc/sysconfig/%{pname} >| $tmpfile \
|
|
&& cp $tmpfile etc/sysconfig/%{pname}
|
|
fi
|
|
%{fillup_and_insserv apache2}
|
|
# Update ?
|
|
if [ ${FIRST_ARG:-0} -gt 1 ]; then
|
|
# update from package with the old near-monolithic conf file?
|
|
if [ -s ./%{sysconfdir}/httpd.conf.default -a -s ./%{sysconfdir}/httpd.conf.rpmnew ]; then
|
|
diff -u .%{sysconfdir}/httpd.conf.default .%{sysconfdir}/httpd.conf \
|
|
> $tmpdir/httpd.conf.dif ||:
|
|
cp -p $tmpdir/httpd.conf.dif ./%{sysconfdir}/httpd.conf var/adm/backup/
|
|
archive_conf=$(old var/adm/backup/httpd.conf 2>/dev/null); archive_conf=${archive_conf##*/}
|
|
archive_dif=$(old var/adm/backup/httpd.conf.dif 2>/dev/null); archive_dif=${archive_dif##*/}
|
|
fi
|
|
#
|
|
sed "
|
|
# generated files were renamed from suse_* to sysconfig.d/*
|
|
s|\(^Include /etc/apache2\)/suse_\(\(include\|loadmodule\|global\).conf\)|\1/sysconfig.d/\2|
|
|
|
|
# the access_log configuration is now configurable
|
|
s|^CustomLog /var/log/apache2/access_log.*|# &|
|
|
|
|
# group of wwwrun has changed
|
|
s|^Group nogroup|Group www|
|
|
|
|
" < ./%{sysconfdir}/httpd.conf > $tmpfile
|
|
chmod --reference=./%{sysconfdir}/httpd.conf $tmpfile
|
|
chown --reference=./%{sysconfdir}/httpd.conf $tmpfile
|
|
cmp -s $tmpfile ./%{sysconfdir}/httpd.conf || cp -p $tmpfile ./%{sysconfdir}/httpd.conf
|
|
fi
|
|
|
|
rm -rf $tmpdir
|
|
/usr/share/%{pname}/apache-20-22-upgrade
|
|
/usr/share/%{pname}/get_module_list &>/dev/null
|
|
exit 0
|
|
|
|
%verifyscript
|
|
%verify_permissions -e %{_sbindir}/suexec2
|
|
|
|
%clean
|
|
if ! test -f /.buildenv; then
|
|
rm -rf $RPM_BUILD_ROOT
|
|
fi
|
|
|
|
%changelog
|