+# TODO
+# - add -D_FILE_OFFSET_BITS=64 somewhere to get >2GB logfiles support
#
# Conditional build:
%bcond_with rewrite_ldap # enable ldap map support for mod_rewrite (alpha)
Summary(uk.UTF-8): Найпопулярніший Web-Server
Summary(zh_CN.UTF-8): Internet 上应用最广泛的 Web 服务程序。
Name: apache1
-Version: 1.3.39
-Release: 4
-License: Apache Group
-Group: Networking/Daemons
+Version: 1.3.41
+Release: 13
+License: Apache v2.0
+Group: Networking/Daemons/HTTP
Source0: http://www.apache.org/dist/httpd/apache_%{version}.tar.gz
-# Source0-md5: 76066f630203291acd20c764e5eedb6e
+# Source0-md5: f7f00b635243f03a787ca9f4d4c85651
Source1: %{name}.init
Source2: %{name}.logrotate
-Source3: apache-icons.tar.gz
-# Source3-md5: 2b085cbc19fd28536dc883f0b864cd83
-Source4: %{name}.sysconfig
+Source3: %{name}.sysconfig
+# http://www.iagora.com/about/software/lingerd/
+Source4: http://images.iagora.com/media/software/lingerd/lingerd-0.94.tar.gz
+# Source4-md5: 6401015bafad4f44fdf8a9a1795d9258
Source5: http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/apache-non-english-man-pages.tar.bz2
# Source5-md5: 74ff6e8d8a7b365b48ed10a52fbeb84e
-
+Source6: %{name}-defaultindex.conf
Source7: %{name}-httpd.conf
Source8: %{name}-common.conf
Source9: %{name}-mod_status.conf
Source22: %{name}-mod_setenvif.conf
Source23: %{name}-mod_vhost_alias.conf
Source24: %{name}-errordocs.conf
-# http://www.iagora.com/about/software/lingerd/
-Source25: http://images.iagora.com/media/software/lingerd/lingerd-0.94.tar.gz
-# Source25-md5: 6401015bafad4f44fdf8a9a1795d9258
+Source25: %{name}-manual.conf
Patch0: %{name}-PLD.patch
Patch1: %{name}-suexec.patch
Patch2: %{name}-errordocs.patch
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define _sysconfdir /etc/apache
-%define _includedir %{_prefix}/include/apache1
-%define _libexecdir %{_prefix}/%{_lib}/apache1
-%define _datadir %{httpdir}
+%define _includedir %{_prefix}/include/%{name}
+%define _libexecdir %{_prefix}/%{_lib}/%{name}
%define apxs /usr/sbin/apxs1
%define httpdir /home/services/apache
-%define manualdir %{_prefix}/share/apache1-manual
+%define docroot %{_datadir}/%{name}/html
+%define errordir %{_datadir}/%{name}/error
+%define manualdir %{_datadir}/%{name}/manual
+%define cgibindir %{_prefix}/lib/cgi-bin/%{name}
%description
Apache is a powerful, full-featured, efficient and freely-available
%package base
Summary: The most widely used Web server on the Internet
Summary(pl.UTF-8): Serwer WWW (World Wide Web)
-Group: Networking/Daemons
+Group: Networking/Daemons/HTTP
Requires(post,preun): /sbin/chkconfig
Requires(postun): /usr/sbin/groupdel
Requires(postun): /usr/sbin/userdel
Obsoletes: apache-extra
Obsoletes: apache6
Conflicts: apache1 < 1.3.37-4
+Conflicts: apache1-mod_ssl < 2.8.30_1.3.39-3
Conflicts: logrotate < 3.7-4
# for the posttrans scriptlet, conflicts because in vserver environment rpm package is not installed.
Conflicts: rpm < 4.4.2-0.2
Summary(pl.UTF-8): Suexec wrapper do serwera WWW Apache
Summary(ru.UTF-8): Apache suEXEC CGI wrapper
Summary(uk.UTF-8): Apache suEXEC CGI wrapper
-Group: Networking/Daemons
+Group: Networking/Daemons/HTTP
Requires: %{name}(EAPI) = %{version}-%{release}
Obsoletes: apache-suexec < 2.0.0
%description tools -l pl.UTF-8
Narzędzia Apache'a.
-%package index
+%package defaultindex
Summary: Apache index.html* files
Summary(pl.UTF-8): Pliki Apache index.html*
Group: Documentation
Requires: %{name}-base = %{version}-%{release}
+Requires: %{name}-mod_alias = %{version}-%{release}
+Requires: %{name}-mod_dir = %{version}-%{release}
+Provides: apache1-index
+Obsoletes: apache1-index < 1.3.39-7.9
Obsoletes: indexhtml
-%description index
+%description defaultindex
Apache index.html* files.
-%description index -l pl.UTF-8
+%description defaultindex -l pl.UTF-8
Pliki Apache index.html*.
-%package doc
+%package manual
Summary: Apache 1.3.x manual
Summary(pl.UTF-8): Podręcznik do Apache'a 1.3.x
Group: Documentation
Requires: %{name}-base = %{version}-%{release}
+Requires: %{name}-mod_alias = %{version}-%{release}
+Requires: %{name}-mod_negotiation = %{version}-%{release}
+Provides: apache1-doc
+Obsoletes: apache1-doc < 1.3.39-7.9
-%description doc
+%description manual
Apache 1.3.x manual.
-%description doc -l pl.UTF-8
+%description manual -l pl.UTF-8
Podręcznik do Apache'a 1.3.x.
%package errordocs
Summary: Apache 1.3.x HTTP error documents
Summary(pl.UTF-8): Dokumenty opisujące błędy HTTP dla Apache'a 1.3.x
Group: Applications/WWW
+Requires: %{name}-mod_alias = %{version}-%{release}
Requires: %{name}-mod_include = %{version}-%{release}
+Requires: %{name}-mod_negotiation = %{version}-%{release}
%description errordocs
Apache 1.3.x HTTP error documents. Currently in English and Polish
%package mod_access
Summary: Access control based on client hostname or IP address
Summary(pl.UTF-8): Kontrola dostępu w oparciu o nazwę hosta lub adres IP klienta
-Group: Networking/Daemons
+Group: Networking/Daemons/HTTP
Requires: %{name}(EAPI) = %{version}-%{release}
Provides: apache(mod_access) = %{version}-%{release}
Provides: webserver(access)
%package mod_actions
Summary: Apache module for run CGI whenever a file of a certain type is requested
Summary(pl.UTF-8): Moduł dla Apache'a do uruchamiania skryptów cgi
-Group: Networking/Daemons
+Group: Networking/Daemons/HTTP
Requires: %{name}(EAPI) = %{version}-%{release}
Provides: apache(mod_actions) = %{version}-%{release}
Obsoletes: apache-mod_actions < 2.0.0
%package mod_alias
Summary: Mapping different parts of the host filesystem in the document tree, and URL redirection
Summary(pl.UTF-8): Odwzorowywanie części systemu plików w drzewie dokumentów oraz przekierowywanie URL-i
-Group: Networking/Daemons
+Group: Networking/Daemons/HTTP
Requires: %{name}(EAPI) = %{version}-%{release}
Provides: apache(mod_alias) = %{version}-%{release}
Provides: webserver(alias)
%package mod_asis
Summary: Sending files which contain their own HTTP headers
Summary(pl.UTF-8): Wysyłanie plików zawierających własne nagłówki HTTP
-Group: Networking/Daemons
+Group: Networking/Daemons/HTTP
Requires: %{name}(EAPI) = %{version}-%{release}
Provides: apache(mod_asis) = %{version}-%{release}
%package mod_auth
Summary: Apache module with user authentication using textual files
Summary(pl.UTF-8): Moduł uwierzytelniania użytkownika przy użyciu plików tekstowych dla Apache
-Group: Networking/Daemons
+Group: Networking/Daemons/HTTP
Requires: %{name}(EAPI) = %{version}-%{release}
Provides: apache(mod_auth) = %{version}-%{release}
Provides: webserver(auth)
%package mod_auth_anon
Summary: Apache module with "anonymous" user access authentication
Summary(pl.UTF-8): Moduł apache oferujący anonimową autoryzację użytkownia
-Group: Networking/Daemons
+Group: Networking/Daemons/HTTP
Requires: %{name}(EAPI) = %{version}-%{release}
Provides: apache(mod_auth_anon) = %{version}-%{release}
Obsoletes: apache-mod_auth_anon < 2.0.0
%package mod_auth_db
Summary: Apache module with user authentication which uses Berkeley DB files
Summary(pl.UTF-8): Moduł Apache'a z mechanizmem uwierzytelniania używającym plików Berkeley DB
-Group: Networking/Daemons
+Group: Networking/Daemons/HTTP
Requires(triggerpostun): sed >= 4.0
Requires: %{name}(EAPI) = %{version}-%{release}
Provides: apache(mod_auth_db) = %{version}-%{release}
%package mod_auth_digest
Summary: Apache user authentication module using MD5 Digest Authentication
Summary(pl.UTF-8): Moduł Apache'a do uwierzytelniania metodą MD5 Digest Authentication
-Group: Networking/Daemons
+Group: Networking/Daemons/HTTP
Requires: %{name}(EAPI) = %{version}-%{release}
Provides: apache(mod_auth_digest) = %{version}-%{release}
Obsoletes: apache-mod_auth_digest < 2.0.0
%package mod_autoindex
Summary: Apache module - display index of files
Summary(pl.UTF-8): Moduł apache do wyświetlania indeksu plików
-Group: Networking/Daemons
+Group: Networking/Daemons/HTTP
Requires(triggerpostun): sed >= 4.0
Requires: %{name}(EAPI) = %{version}-%{release}
+Requires: %{name}-mod_alias = %{version}-%{release}
+Requires: apache-icons
Provides: apache(mod_autoindex) = %{version}-%{release}
%description mod_autoindex
%package mod_cern_meta
Summary: Support for HTTP header metafiles
Summary(pl.UTF-8): Obsługa metaplików nagłówków HTTP
-Group: Networking/Daemons
+Group: Networking/Daemons/HTTP
Requires: %{name}(EAPI) = %{version}-%{release}
Provides: apache(mod_cern_meta) = %{version}-%{release}
%package mod_cgi
Summary: Invoking CGI scripts
Summary(pl.UTF-8): Wywoływanie skryptów CGI
-Group: Networking/Daemons
+Group: Networking/Daemons/HTTP
Requires: %{name}(EAPI) = %{version}-%{release}
Provides: apache(mod_cgi) = %{version}-%{release}
Provides: webserver(cgi)
%package mod_define
Summary: Apache module - definition variables for arbitrary directives
Summary(pl.UTF-8): Moduł Apache'a do definiowania zmiennych
-Group: Networking/Daemons
+Group: Networking/Daemons/HTTP
Requires: %{name}(EAPI) = %{version}-%{release}
Provides: apache(mod_define) = %{version}-%{release}
Obsoletes: apache-mod_define < 2.0.0
%package mod_digest
Summary: Older version of apache user authentication module using MD5 Digest Authentication
Summary(pl.UTF-8): Starsza wersja modułu apache do autoryzacji MD5
-Group: Networking/Daemons
+Group: Networking/Daemons/HTTP
Requires: %{name}(EAPI) = %{version}-%{release}
Provides: apache(mod_digest) = %{version}-%{release}
Obsoletes: apache-mod_digest < 2.0.0
%package mod_dir
Summary: Apache module for "trailing slash" redirects and serving directory index files
Summary(pl.UTF-8): Moduł oferujący przekierowania i serwowanie indeksu katalogu
-Group: Networking/Daemons
+Group: Networking/Daemons/HTTP
Requires: %{name}(EAPI) = %{version}-%{release}
Provides: apache(mod_dir) = %{version}-%{release}
Provides: webserver(indexfile)
%package mod_env
Summary: Passing of environments to CGI scripts
Summary(pl.UTF-8): Przekazywanie środowiska do skryptów CGI
-Group: Networking/Daemons
+Group: Networking/Daemons/HTTP
Requires: %{name}(EAPI) = %{version}-%{release}
Provides: apache(mod_env) = %{version}-%{release}
+Provides: webserver(setenv)
%description mod_env
This module allows for control of the environment that will be
%package mod_expires
Summary: Apache module which generates Expires HTTP headers
Summary(pl.UTF-8): Moduł generujący nagłówki HTTP Expires
-Group: Networking/Daemons
+Group: Networking/Daemons/HTTP
Requires: %{name}(EAPI) = %{version}-%{release}
Provides: apache(mod_expires) = %{version}-%{release}
+Provides: webserver(expires)
Obsoletes: apache-mod_expires < 2.0.0
%description mod_expires
%package mod_headers
Summary: Apache module allows for the customization of HTTP response headers
Summary(pl.UTF-8): Moduł pozwalający na modyfikację nagłówków HTTP
-Group: Networking/Daemons
+Group: Networking/Daemons/HTTP
Requires: %{name}(EAPI) = %{version}-%{release}
Provides: apache(mod_headers) = %{version}-%{release}
Obsoletes: apache-mod_headers < 2.0.0
%package mod_imap
Summary: Apache module with imap-file handler
Summary(pl.UTF-8): Moduł Apache'a z obsługą imap-file
-Group: Networking/Daemons
+Group: Networking/Daemons/HTTP
Requires: %{name}(EAPI) = %{version}-%{release}
Provides: apache(mod_imap) = %{version}-%{release}
Obsoletes: apache-mod_imap < 2.0.0
%package mod_include
Summary: Server-parsed documents
Summary(pl.UTF-8): Dokumenty przetwarzane po stronie serwera
-Group: Networking/Daemons
+Group: Networking/Daemons/HTTP
Requires: %{name}(EAPI) = %{version}-%{release}
Provides: apache(mod_include) = %{version}-%{release}
%package mod_info
Summary: Apache module with comprehensive overview of the server configuration
Summary(pl.UTF-8): Moduł dostarczający informacji na temat serwera
-Group: Networking/Daemons
+Group: Networking/Daemons/HTTP
Requires: %{name}(EAPI) = %{version}-%{release}
Provides: apache(mod_info) = %{version}-%{release}
Obsoletes: apache-mod_info < 2.0.0
%package mod_log_agent
Summary: Logging of User Agents
Summary(pl.UTF-8): Logowanie nazw klientów (User Agent)
-Group: Networking/Daemons
+Group: Networking/Daemons/HTTP
Requires: %{name}(EAPI) = %{version}-%{release}
Provides: apache(mod_log_agent) = %{version}-%{release}
%package mod_log_config
Summary: User-configurable logging replacement for mod_log_common
Summary(pl.UTF-8): Konfigurowalny logujący zamiennik dla mod_log_common
-Group: Networking/Daemons
+Group: Networking/Daemons/HTTP
Requires: %{name}(EAPI) = %{version}-%{release}
Provides: apache(mod_log_config) = %{version}-%{release}
%package mod_log_forensic
Summary: Apache module for forensic logging of the requests
Summary(pl.UTF-8): Moduł Apache'a do logowania żądań w celu późniejszej analizy
-Group: Networking/Daemons
+Group: Networking/Daemons/HTTP
Requires: %{name}(EAPI) = %{version}-%{release}
Provides: apache(mod_log_forensic) = %{version}-%{release}
Obsoletes: apache-mod_log_forensic < 2.0.0
%package mod_log_referer
Summary: User-configurable logging replacement for mod_log_common
Summary(pl.UTF-8): Konfigurowalny logujący zamiennik dla mod_log_common
-Group: Networking/Daemons
+Group: Networking/Daemons/HTTP
Requires: %{name}(EAPI) = %{version}-%{release}
Provides: apache(mod_log_referer) = %{version}-%{release}
%package mod_mime
Summary: Determining document types using file extensions
Summary(pl.UTF-8): Określanie typów dokumentów przy użyciu rozszerzeń plików
-Group: Networking/Daemons
+Group: Networking/Daemons/HTTP
Requires: %{name}(EAPI) = %{version}-%{release}
Provides: apache(mod_mime) = %{version}-%{release}
%package mod_mime_magic
Summary: Determining document types using "magic numbers"
Summary(pl.UTF-8): Określanie typów dokumentów przy użyciu "liczb magicznych"
-Group: Networking/Daemons
+Group: Networking/Daemons/HTTP
Requires: %{name}(EAPI) = %{version}-%{release}
Provides: apache(mod_mime_magic) = %{version}-%{release}
%package mod_mmap_static
Summary: Apache module for mmap()ing statically configured list files
Summary(pl.UTF-8): Moduł służący do mmap()owania plików
-Group: Networking/Daemons
+Group: Networking/Daemons/HTTP
Requires: %{name}(EAPI) = %{version}-%{release}
Provides: apache(mod_mmap_static) = %{version}-%{release}
Obsoletes: apache-mod_mmap_static < 2.0.0
%package mod_negotiation
Summary: Content negotiation
Summary(pl.UTF-8): Negocjacja treści
-Group: Networking/Daemons
+Group: Networking/Daemons/HTTP
Requires: %{name}(EAPI) = %{version}-%{release}
Provides: apache(mod_negotiation) = %{version}-%{release}
%package mod_proxy
Summary: Apache module with Web proxy
Summary(pl.UTF-8): Moduł dodający obsługę serwera proxy
-Group: Networking/Daemons
+Group: Networking/Daemons/HTTP
Requires(triggerpostun): sed >= 4.0
Requires: %{name}(EAPI) = %{version}-%{release}
Provides: apache(mod_proxy) = %{version}-%{release}
%package mod_rewrite
Summary: Apache module with rule-based engine for rewrite requested URLs on the fly
Summary(pl.UTF-8): Moduł do ,,przepisywania'' adresów URL w locie
-Group: Networking/Daemons
+Group: Networking/Daemons/HTTP
Requires: %{name}(EAPI) = %{version}-%{release}
Provides: apache(mod_rewrite) = %{version}-%{release}
Obsoletes: apache-mod_rewrite < 2.0.0
%package mod_setenvif
Summary: Set environment variables based on client information
Summary(pl.UTF-8): Ustawianie zmiennych środowiskowych w oparciu o informacje o kliencie
-Group: Networking/Daemons
+Group: Networking/Daemons/HTTP
Requires: %{name}(EAPI) = %{version}-%{release}
Provides: apache(mod_setenvif) = %{version}-%{release}
%package mod_speling
Summary: Automatically correct minor typos in URLs
Summary(pl.UTF-8): Automatyczne poprawianie pomniejszych literówek w URL-ach
-Group: Networking/Daemons
+Group: Networking/Daemons/HTTP
Requires: %{name}(EAPI) = %{version}-%{release}
Provides: apache(mod_speling) = %{version}-%{release}
%package mod_status
Summary: Server status report module for apache
Summary(pl.UTF-8): Moduł dostarczający informacje statystyczne o serwerze
-Group: Networking/Daemons
+Group: Networking/Daemons/HTTP
Requires(triggerpostun): sed >= 4.0
Requires: %{name}(EAPI) = %{version}-%{release}
Provides: apache(mod_status) = %{version}-%{release}
%package mod_unique_id
Summary: Apache module which provides a magic token for each request
Summary(pl.UTF-8): Moduł nadający każdemu żądaniu unikalny token
-Group: Networking/Daemons
+Group: Networking/Daemons/HTTP
Requires: %{name}(EAPI) = %{version}-%{release}
Provides: apache(mod_unique_id) = %{version}-%{release}
Obsoletes: apache-mod_unique_id < 2.0.0
%package mod_userdir
Summary: User home directories
Summary(pl.UTF-8): Katalogi domowe użytkowników
-Group: Networking/Daemons
+Group: Networking/Daemons/HTTP
Requires: %{name}(EAPI) = %{version}-%{release}
Provides: apache(mod_userdir) = %{version}-%{release}
%package mod_usertrack
Summary: Apache module for user tracking using cookies
Summary(pl.UTF-8): Moduł służący do śledzenia użytkowników przy użyciu ciasteczek
-Group: Networking/Daemons
+Group: Networking/Daemons/HTTP
Requires: %{name}(EAPI) = %{version}-%{release}
Provides: apache(mod_usertrack) = %{version}-%{release}
Obsoletes: apache-mod_usertrack < 2.0.0
%package mod_vhost_alias
Summary: Apache module for dynamically configured mass virtual hosting
Summary(pl.UTF-8): Moduł dodający obsługę hostów wirtualnych
-Group: Networking/Daemons
+Group: Networking/Daemons/HTTP
Requires(triggerpostun): sed >= 4.0
Requires: %{name}(EAPI) = %{version}-%{release}
Provides: apache(mod_vhost_alias) = %{version}-%{release}
wersja obsługuje hasła zapisane czystym tekstem oraz zakodowane
algorytmami CRYPT (domyślnym), MD5 i SHA1.
+%package cgi_test
+Summary: cgi test/demo programs
+Summary(pl.UTF-8): Programy testowe/przykładowe cgi
+Group: Networking/Utilities
+Requires: %{name}-base = %{version}-%{release}
+Requires: filesystem >= 2.0-1
+
+%description cgi_test
+Two cgi test/demo programs: test-cgi and print-env.
+
+%description cgi_test -l pl.UTF-8
+Dwa programy testowe/przykładowe cgi: test-cgi and print-env.
+
%prep
-%setup -q -n apache_%{version} -a3 %{?with_lingerd:-a25}
+%setup -q -n apache_%{version} %{?with_lingerd:-a4}
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch42 -p1
%endif
+# make manual link with full path
+%{__sed} -i -e 's,href="manual/,href="/manual/,i' htdocs/index.html.*
+
+# fix libdir (at least in PLD layout; no need to care about other ones)
+%{__sed} -i -e 's,/lib$,/%{_lib},' config.layout
+
%build
OPTIM="%{rpmcflags} -DHARD_SERVER_LIMIT=2048" \
./configure \
- --prefix=%{_sysconfdir} \
- --exec-prefix=%{_libexecdir} \
- --bindir=%{_bindir} \
- --sbindir=%{_sbindir} \
- --sysconfdir=%{_sysconfdir} \
- --datadir=%{_datadir} \
- --includedir=%{_includedir} \
- --libexecdir=%{_sysconfdir}/modules \
- --localstatedir=/var \
- --mandir=%{_mandir} \
- --manualdir=%{manualdir} \
- --runtimedir=/var/run \
- --logfiledir=/var/log/apache \
--with-layout=PLD \
--without-confadjust \
--enable-module=all \
--enable-module=auth_digest \
--enable-shared=max \
- --proxycachedir=/var/cache/apache \
--with-perl=%{__perl} \
--enable-suexec \
--suexec-caller=http \
--suexec-uidmin=500 \
--suexec-gidmin=500 \
- --suexec-docroot=%{_datadir} \
+ --suexec-docroot=%{httpdir} \
--disable-rule=WANTHSREGEX \
--enable-rule=EAPI \
--target=apache \
%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT/etc/{logrotate.d,rc.d/init.d,sysconfig} \
- $RPM_BUILD_ROOT%{_datadir}/errordocs \
$RPM_BUILD_ROOT%{_sysconfdir}/{webapps.d,conf.d} \
+ $RPM_BUILD_ROOT%{httpdir}/html \
$RPM_BUILD_ROOT%{_libexecdir} \
$RPM_BUILD_ROOT/var/{log/{apache,archive/apache},run/apache}
install %{SOURCE2} $RPM_BUILD_ROOT/etc/logrotate.d/apache1
sed -e 's,/usr/lib,%{_libdir},g' %{SOURCE1} > $RPM_BUILD_ROOT/etc/rc.d/init.d/apache
-install %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/apache
+install %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/apache
bzip2 -dc %{SOURCE5} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
mv $RPM_BUILD_ROOT%{_mandir}/hu/man8/{httpd,apache}.8
mv $RPM_BUILD_ROOT%{_mandir}/pl/man8/{httpd,apache}.8
touch $RPM_BUILD_ROOT/var/log/apache/{access,error,agent,referer}_log
-install errordocs/* $RPM_BUILD_ROOT%{_datadir}/errordocs
+install -d $RPM_BUILD_ROOT%{errordir}
+cp -a errordocs/* $RPM_BUILD_ROOT%{errordir}
mv $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf conf/apache.conf.dist
-install %{SOURCE7} $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf
+cp -a %{SOURCE7} $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf
CFG="$RPM_BUILD_ROOT%{_sysconfdir}/conf.d"
echo "LoadModule access_module modules/mod_access.so" > $CFG/01_mod_access.conf
echo "LoadModule alias_module modules/mod_alias.so" > $CFG/02_mod_alias.conf
echo "LoadModule asis_module modules/mod_asis.so" > $CFG/03_mod_asis.conf
-install %{SOURCE21} $CFG/04_mod_cern_meta.conf
+cp -a %{SOURCE21} $CFG/04_mod_cern_meta.conf
echo "LoadModule cgi_module modules/mod_cgi.so" > $CFG/05_mod_cgi.conf
echo "LoadModule env_module modules/mod_env.so" > $CFG/06_mod_env.conf
echo "LoadModule include_module modules/mod_include.so" > $CFG/07_mod_include.conf
echo "LoadModule log_agent_module modules/mod_log_agent.so" > $CFG/08_mod_log_agent.conf
-install %{SOURCE14} $CFG/09_mod_log_config.conf
+cp -a %{SOURCE14} $CFG/09_mod_log_config.conf
echo "LoadModule log_referer_module modules/mod_log_referer.so" > $CFG/10_mod_log_referer.conf
-install %{SOURCE16} $CFG/11_mod_mime_magic.conf
-install %{SOURCE19} $CFG/12_mod_mime.conf
-install %{SOURCE18} $CFG/13_mod_negotiation.conf
-install %{SOURCE22} $CFG/14_mod_setenvif.conf
+cp -a %{SOURCE16} $CFG/11_mod_mime_magic.conf
+cp -a %{SOURCE19} $CFG/12_mod_mime.conf
+cp -a %{SOURCE18} $CFG/13_mod_negotiation.conf
+cp -a %{SOURCE22} $CFG/14_mod_setenvif.conf
echo "LoadModule speling_module modules/mod_speling.so" > $CFG/15_mod_speling.conf
-install %{SOURCE15} $CFG/16_mod_userdir.conf
+cp -a %{SOURCE15} $CFG/16_mod_userdir.conf
-install %{SOURCE8} $CFG/20_common.conf
+cp -a %{SOURCE8} $CFG/20_common.conf
+cp -a %{SOURCE6} $CFG/30_defaultindex.conf
+cp -a %{SOURCE25} $CFG/30_manual.conf
-install %{SOURCE23} $CFG/20_mod_vhost_alias.conf
-install %{SOURCE9} $CFG/25_mod_status.conf
-install %{SOURCE10} $CFG/30_mod_proxy.conf
-install %{SOURCE20} $CFG/50_mod_actions.conf
+cp -a %{SOURCE23} $CFG/20_mod_vhost_alias.conf
+cp -a %{SOURCE9} $CFG/25_mod_status.conf
+cp -a %{SOURCE10} $CFG/30_mod_proxy.conf
+cp -a %{SOURCE20} $CFG/50_mod_actions.conf
echo "LoadModule auth_module modules/mod_auth.so" > $CFG/51_mod_auth.conf
echo "LoadModule auth_anon_module modules/mod_auth_anon.so" > $CFG/52_mod_auth_anon.conf
echo "LoadModule auth_db_module modules/mod_auth_db.so" > $CFG/53_mod_auth_db.conf
echo "LoadModule auth_digest_module modules/mod_auth_digest.so" > $CFG/54_mod_auth_digest.conf
-install %{SOURCE11} $CFG/57_mod_autoindex.conf
-install %{SOURCE12} $CFG/59_mod_dir.conf
+cp -a %{SOURCE11} $CFG/57_mod_autoindex.conf
+cp -a %{SOURCE12} $CFG/59_mod_dir.conf
echo "LoadModule expires_module modules/mod_expires.so" > $CFG/67_mod_expires.conf
echo "LoadModule headers_module modules/mod_headers.so" > $CFG/68_mod_headers.conf
echo "LoadModule imap_module modules/mod_imap.so" > $CFG/69_mod_imap.conf
echo "LoadModule digest_module modules/mod_digest.so" > $CFG/74_mod_digest.conf
echo "LoadModule log_forensic_module modules/mod_log_forensic.so" > $CFG/75_mod_log_forensic.conf
echo "LoadModule mmap_static_module modules/mod_mmap_static.so" > $CFG/76_mod_mmap_static.conf
-install %{SOURCE13} $CFG/77_mod_info.conf
-install %{SOURCE24} $CFG/80_errordocs.conf
-install %{SOURCE17} $CFG/80_mod_alias.conf
+cp -a %{SOURCE13} $CFG/77_mod_info.conf
+cp -a %{SOURCE24} $CFG/80_errordocs.conf
+cp -a %{SOURCE17} $CFG/80_mod_alias.conf
+# cgi_test: create config file with ScriptAlias
+cat << 'EOF' > $CFG/09_cgi_test.conf
+ScriptAlias /cgi-bin/printenv %{cgibindir}/printenv
+ScriptAlias /cgi-bin/test-cgi %{cgibindir}/test-cgi
+EOF
-ln -sf index.html.en $RPM_BUILD_ROOT%{_datadir}/html/index.html
+ln -sf index.html.en $RPM_BUILD_ROOT%{docroot}/index.html
mv $RPM_BUILD_ROOT%{_sbindir}/apxs $RPM_BUILD_ROOT%{apxs}
mv $RPM_BUILD_ROOT%{_mandir}/man8/apxs.8 $RPM_BUILD_ROOT%{_mandir}/man8/apxs1.8
perl -p -i -e 's/^if ...O ne "MSWin32"./if (0)/' $RPM_BUILD_ROOT%{apxs}
-mv $RPM_BUILD_ROOT%{_sysconfdir}/modules/* $RPM_BUILD_ROOT%{_libexecdir}
-rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/modules
ln -s ../..%{_libexecdir} $RPM_BUILD_ROOT%{_sysconfdir}/modules
ln -s ../../var/log/apache $RPM_BUILD_ROOT%{_sysconfdir}/logs
rm -f $RPM_BUILD_ROOT%{_sysconfdir}/mime.types
rm -f $RPM_BUILD_ROOT%{_libexecdir}/*.exp
rm -f $RPM_BUILD_ROOT%{_libexecdir}/mod_{auth_dbm,example}.so
-rm -f $RPM_BUILD_ROOT%{_datadir}/icons{,/small}/README*
rm -f $RPM_BUILD_ROOT%{_mandir}/README*
+rm -rf $RPM_BUILD_ROOT%{_datadir}/apache-icons
+
# Not for our os or for older apache
-rm $RPM_BUILD_ROOT%{_prefix}/share/apache1-manual/{cygwin,ebcdic,install-{z,}tpf,man-template}.html
-rm $RPM_BUILD_ROOT%{_prefix}/share/apache1-manual/mod/mod_{auth_dbm,browser,dld,example,isapi,log_common}.html
-rm $RPM_BUILD_ROOT%{_prefix}/share/apache1-manual/{mpeix,netware,new_features_1_[0-2],readme-tpf,suexec_1_2,unixware,vhosts/details_1_2}.html
-rm $RPM_BUILD_ROOT%{_prefix}/share/apache1-manual/{win_{compiling,service}.html*,windows.html*}
+rm $RPM_BUILD_ROOT%{manualdir}/{cygwin,ebcdic,install-{z,}tpf,man-template}.html
+rm $RPM_BUILD_ROOT%{manualdir}/mod/mod_{auth_dbm,browser,dld,example,isapi,log_common}.html
+rm $RPM_BUILD_ROOT%{manualdir}/{mpeix,netware,new_features_1_[0-2],readme-tpf,suexec_1_2,unixware,vhosts/details_1_2}.html
+rm $RPM_BUILD_ROOT%{manualdir}/{win_{compiling,service}.html*,windows.html*}
%if %{with lingerd}
install lingerd-*/lingerd $RPM_BUILD_ROOT%{_libexecdir}
%pre base
%groupadd -g 51 -r -f http
%useradd -u 51 -r -d %{httpdir} -s /bin/false -c "HTTP User" -g http http
-
-if [ "`getent passwd http | cut -d: -f6`" = "/home/httpd" ]; then
+if [ "$(getent passwd http | cut -d: -f6)" = "/home/httpd" ]; then
/usr/sbin/usermod -d %{httpdir} http
fi
' /etc/apache/apache.conf
fi
-%triggerpostun base -- %{name} <= 1.3.31-5
+%triggerpostun base -- %{name} < 1.3.31-5.9
%banner %{name} -e -a <<EOF
WARNING!!!
Since 1.3.31-5 version autoindex module has been separated to package %{name}-mod_autoindex
' /etc/apache/apache.conf
fi
-%triggerpostun mod_auth_db -- apache-mod_auth_db <= 1.3.20-2
+%triggerpostun mod_auth_db -- apache-mod_auth_db < 1.3.20-16
sed -i -e '/^\(Add\|Load\)Module.*mod_auth_dbm\.\(so\|c\)/d' /etc/apache/apache.conf
%triggerpostun mod_autoindex -- apache1-mod_autoindex < 1.3.33-1.85
%postun mod_vhost_alias
%module_postun
+%post defaultindex
+if [ "$1" = "1" ]; then
+ %service -q apache reload
+fi
+
+%postun defaultindex
+if [ "$1" = "0" ]; then
+ %service -q apache reload
+fi
+
+%post cgi_test
+if [ "$1" = "1" ]; then
+ %service -q apache reload
+fi
+
+%postun cgi_test
+if [ "$1" = "0" ]; then
+ %service -q apache reload
+fi
+
%files
%defattr(644,root,root,755)
%attr(2751,root,logs) %dir /var/log/apache
%attr(2750,root,logs) %dir /var/log/archive/apache
%attr(640,root,logs) %ghost /var/log/apache/*
-%dir %{_datadir}
-%attr(755,root,root) %dir %{_datadir}/html
-%dir %{_datadir}/icons
-%{_datadir}/icons/*.gif
-%{_datadir}/icons/*.png
-%dir %{_datadir}/icons/small
-%{_datadir}/icons/small/*.gif
-%{_datadir}/icons/small/*.png
-%attr(755,root,root) %{_datadir}/cgi-bin
+%dir %{_datadir}/%{name}
+%dir %{httpdir}
+%dir %{httpdir}/html
+%dir %{docroot}
+
+%files cgi_test
+%defattr(644,root,root,755)
+%dir %{cgibindir}
+%attr(755,root,root) %{cgibindir}/*
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*_cgi_test.conf
%files tools
%defattr(644,root,root,755)
%{_mandir}/man8/logresolve.8*
%{_mandir}/man8/rotatelogs.8*
-%files index
+%files defaultindex
%defattr(644,root,root,755)
-%config(noreplace,missingok) %{_datadir}/html/index.html
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*_defaultindex.conf
+%config(noreplace,missingok) %{docroot}/index.html
# NOTE: html extensions are not the same as (g)libc locale names
-%lang(ca) %{_datadir}/html/index.html.ca
-%lang(cs) %{_datadir}/html/index.html.cz
-%lang(de) %{_datadir}/html/index.html.de
-%lang(da) %{_datadir}/html/index.html.dk
-%lang(et) %{_datadir}/html/index.html.ee
-%lang(el) %{_datadir}/html/index.html.el
-%{_datadir}/html/index.html.en
-%lang(es) %{_datadir}/html/index.html.es
-%lang(fr) %{_datadir}/html/index.html.fr
-%lang(he) %{_datadir}/html/index.html.he.iso8859-8
-%lang(hu) %{_datadir}/html/index.html.hu
-%lang(it) %{_datadir}/html/index.html.it
-%lang(ja) %{_datadir}/html/index.html.ja.jis
-%lang(ko) %{_datadir}/html/index.html.kr.iso-kr
-%lang(de_LU) %{_datadir}/html/index.html.lb.utf8
-%lang(nl) %{_datadir}/html/index.html.nl
-%lang(nn) %{_datadir}/html/index.html.nn
-%lang(nb) %{_datadir}/html/index.html.no
-%lang(pl) %{_datadir}/html/index.html.po.iso-pl
-%lang(pt) %{_datadir}/html/index.html.pt
-%lang(pt_BR) %{_datadir}/html/index.html.pt-br
-%lang(ru) %{_datadir}/html/index.html.ru.cp-1251
-%lang(ru) %{_datadir}/html/index.html.ru.cp866
-%lang(ru) %{_datadir}/html/index.html.ru.iso-ru
-%lang(ru) %{_datadir}/html/index.html.ru.koi8-r
-%lang(ru) %{_datadir}/html/index.html.ru.ucs2
-%lang(ru) %{_datadir}/html/index.html.ru.ucs4
-%lang(ru) %{_datadir}/html/index.html.ru.utf8
-%lang(sv) %{_datadir}/html/index.html.se
-%lang(zh_TW) %{_datadir}/html/index.html.zh-tw.big5
-%{_datadir}/html/*.gif
-
-%files doc
+%lang(ca) %{docroot}/index.html.ca
+%lang(cs) %{docroot}/index.html.cz
+%lang(de) %{docroot}/index.html.de
+%lang(da) %{docroot}/index.html.dk
+%lang(et) %{docroot}/index.html.ee
+%lang(el) %{docroot}/index.html.el
+%{docroot}/index.html.en
+%lang(es) %{docroot}/index.html.es
+%lang(fr) %{docroot}/index.html.fr
+%lang(he) %{docroot}/index.html.he.iso8859-8
+%lang(hu) %{docroot}/index.html.hu
+%lang(it) %{docroot}/index.html.it
+%lang(ja) %{docroot}/index.html.ja.jis
+%lang(ko) %{docroot}/index.html.kr.iso-kr
+%lang(de_LU) %{docroot}/index.html.lb.utf8
+%lang(nl) %{docroot}/index.html.nl
+%lang(nn) %{docroot}/index.html.nn
+%lang(nb) %{docroot}/index.html.no
+%lang(pl) %{docroot}/index.html.po.iso-pl
+%lang(pt) %{docroot}/index.html.pt
+%lang(pt_BR) %{docroot}/index.html.pt-br
+%lang(ru) %{docroot}/index.html.ru.cp-1251
+%lang(ru) %{docroot}/index.html.ru.cp866
+%lang(ru) %{docroot}/index.html.ru.iso-ru
+%lang(ru) %{docroot}/index.html.ru.koi8-r
+%lang(ru) %{docroot}/index.html.ru.ucs2
+%lang(ru) %{docroot}/index.html.ru.ucs4
+%lang(ru) %{docroot}/index.html.ru.utf8
+%lang(sv) %{docroot}/index.html.se
+%lang(zh_TW) %{docroot}/index.html.zh-tw.big5
+%{docroot}/*.gif
+
+%files manual
%defattr(644,root,root,755)
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*_manual.conf
%dir %{manualdir}
%dir %{manualdir}/images
%{manualdir}/images/apache_header.gif
%files errordocs
%defattr(644,root,root,755)
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*_errordocs.conf
-%{_datadir}/errordocs
+%dir %{errordir}
+%{errordir}/HEADER.shtml
+%{errordir}/FOOT.shtml
+%{errordir}/*.shtml.en
+%lang(pl) %{errordir}/*.shtml.po
%files suexec
%defattr(644,root,root,755)
%files -n htpasswd-%{name}
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/htpasswd
-%{_sbindir}/htpasswd
+%attr(755,root,root) %{_sbindir}/htpasswd
%{_mandir}/man1/htpasswd.1*
%files mod_access