-Summary: Package that uses Apache configuration
-Summary(pl): Pakiet u¿ywaj±cy konfiguracji Apache'a
-Name: template-apache-package
-Version: 0.1
-Release: 0.19
+Summary: Package that uses webapps configuration
+Summary(pl.UTF-8): Pakiet używający konfiguracji aplikacji WWW
+Name: template-webapp
+Version: 0.3
+Release: 0.3
License: GPL
-Group: Development
-BuildRequires: rpmbuild(macros) >= 1.223
-Requires: apache >= 1.3.33-2
+Group: Applications/WWW
+#Source0: %{name}-%{version}.tar.gz
+# Source0-md5: -
+#Source1: apache.conf
+#Source2: lighttpd.conf
+#URL: -
+BuildRequires: rpmbuild(macros) >= 1.268
+Requires: webapps
+# see packages/webapps/webapps.README for description and complete listing
+#Requires: webserver(access)
+#Requires: webserver(alias)
+#Requires: webserver(auth)
+#Requires: webserver(cgi)
+#Requires: webserver(expires)
+#Requires: webserver(indexfile)
+#Requires: webserver(mime)
+#Requires: webserver(php)
+#Requires: webserver(setenv)
BuildArch: noarch
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+%define _webapps /etc/webapps
+%define _webapp %{name}
+%define _sysconfdir %{_webapps}/%{_webapp}
+#%define _appdir %{_datadir}/%{_webapp}
+
+# in case _sysconfdir is not in webapps dir, run this replace pattern
+# before copy-pasting to your spec: :%s#%{_sysconfdir}#%{_webapps}/%{_webapp}#g
+
%description
-This spec is for demonstrating triggers used for linking package
-config to apache1/apache2 configuration dir.
+This .spec is for demonstrating triggers used for linking webapp
+configuration to webserver config dir.
-%description -l pl
-Ten spec s³u¿y do pokazania triggerów s³u¿±cych do pod³±czania
-konfiguracji pakietu do katalogu konfiguracyjnego apache1/apache2.
+%description -l pl.UTF-8
+Ten plik .spec służy do pokazania triggerów służących do podłączania
+konfiguracji aplikacji WWW do katalogu konfiguracyjnego serwera WWW.
%prep
+%setup -q
+
+cat > apache.conf <<'EOF'
+Alias /%{name} %{_appdir}
+<Directory %{_appdir}>
+ # Apache 2.x
+ <IfModule !mod_authz_core.c>
+ Order allow,deny
+ Allow from all
+ </IfModule>
+ # Apache 2.4
+ <IfModule mod_authz_core.c>
+ Require all granted
+ </IfModule>
+</Directory>
+EOF
+
+cat > lighttpd.conf <<'EOF'
+alias.url += (
+ "/%{name}" => "%{_appdir}",
+)
+EOF
%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT%{_sysconfdir}
+install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_appdir}}
-#install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/apache-%{name}.conf
-cat >> $RPM_BUILD_ROOT%{_sysconfdir}/apache-%{name}.conf <<EOF
-# This is sample apache config
-EOF
+cp -a . $RPM_BUILD_ROOT%{_appdir}
-# %apache_config_* macros usage extracted from /usr/lib/rpm/macros:
-#
-# Usage:
-# %%apache_config_install -v {1|2} -c %{_sysconfdir}/apache-%{name}.conf -n 99
-#
-# -v REQUIRED: specify apache version. can be 1 or 2.
-# -c OPTIONAL: specify full path to PACKAGE's config. Defaults to %{_sysconfdir}/apache-%{name}.conf.
-# -n OPTIONAL: specify config "slot". defaults to 99
+cp -p apache.conf $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf
+cp -p apache.conf $RPM_BUILD_ROOT%{_sysconfdir}/httpd.conf
+cp -p lighttpd.conf $RPM_BUILD_ROOT%{_sysconfdir}/lighttpd.conf
+
+mv $RPM_BUILD_ROOT{%{_appdir},%{_sysconfdir}}/apache.conf
+mv $RPM_BUILD_ROOT{%{_appdir},%{_sysconfdir}}/lighttpd.conf
+cp -p $RPM_BUILD_ROOT%{_sysconfdir}/{apache,httpd}.conf
+
+cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf
+cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/lighttpd.conf
+cp -p $RPM_BUILD_ROOT%{_sysconfdir}/{apache,httpd}.conf
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+# %webapp_* macros usage extracted from /usr/lib/rpm/macros.build:
#
# Usage:
-# %%apache_config_uninstall -v {1|2} -n 99
-#
-# -v REQUIRED: specify apache version. can be 1 or 2.
-# -n OPTIONAL: specify config "slot". defaults to 99
-
-%triggerin -- apache1 >= 1.3.33-2
-%apache_config_install -v 1 -c %{_sysconfdir}/apache-%{name}.conf
-
-%triggerun -- apache1 >= 1.3.33-2
-%apache_config_uninstall -v 1
-
-%triggerin -- apache >= 2.0.0
-%apache_config_install -v 2 -c %{_sysconfdir}/apache-%{name}.conf
-
-%triggerun -- apache >= 2.0.0
-%apache_config_uninstall -v 2
-
-%if 00000000000000000000000000000000000
-# SAMPLE TRIGGER FOR MIGRATION PURPOSES
-%triggerpostun -- %{name} < 1.3.9-1.4
-# migrate from old config location (only apache2, as there was no apache1 support)
-if [ -f /etc/httpd/%{name}.conf.rpmsave ]; then
- cp -f %{_sysconfdir}/apache-%{name}.conf{,.rpmnew}
- mv -f /etc/httpd/%{name}.conf.rpmsave %{_sysconfdir}/apache-%{name}.conf
- if [ -f /var/lock/subsys/httpd ]; then
- /etc/rc.d/init.d/httpd restart 1>&2
- fi
-fi
-
-# nuke very-old config location (is this needed?)
-umask 027
-if [ ! -d /etc/httpd/httpd.conf ]; then
- grep -v "^Include.*%{name}.conf" /etc/httpd/httpd.conf > \
- /etc/httpd/httpd.conf.tmp
- mv -f /etc/httpd/httpd.conf.tmp /etc/httpd/httpd.conf
- if [ -f /var/lock/subsys/httpd ]; then
- /etc/rc.d/init.d/httpd restart 1>&2
- fi
-fi
-
-# place new config location, as trigger puts config only on first install, do it here.
-# apache1
-if [ -d /etc/apache/conf.d ]; then
- ln -sf %{_sysconfdir}/apache-%{name}.conf /etc/apache/conf.d/99_%{name}.conf
- if [ -f /var/lock/subsys/apache ]; then
- /etc/rc.d/init.d/apache restart 1>&2
- fi
-fi
-# apache2
-if [ -d /etc/httpd/httpd.conf ]; then
- ln -sf %{_sysconfdir}/apache-%{name}.conf /etc/httpd/httpd.conf/99_%{name}.conf
- if [ -f /var/lock/subsys/httpd ]; then
- /etc/rc.d/init.d/httpd restart 1>&2
- fi
-fi
-%endif # END OF SAMPLE TRIGGER
+# %%webapp_register HTTPD WEBAPP
+# %%webapp_unregister HTTPD WEBAPP
+
+%triggerin -- apache1 < 1.3.37-3, apache1-base
+%webapp_register apache %{_webapp}
+
+%triggerun -- apache1 < 1.3.37-3, apache1-base
+%webapp_unregister apache %{_webapp}
+
+%triggerin -- apache < 2.2.0, apache-base
+%webapp_register httpd %{_webapp}
+
+%triggerun -- apache < 2.2.0, apache-base
+%webapp_unregister httpd %{_webapp}
+
+%triggerin -- lighttpd
+%webapp_register lighttpd %{_webapp}
+
+%triggerun -- lighttpd
+%webapp_unregister lighttpd %{_webapp}
%files
%defattr(644,root,root,755)
-#%attr(750,root,http) %dir %{_sysconfdir}
-%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apache-%{name}.conf
-#%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*.php
+%dir %attr(750,root,http) %{_sysconfdir}
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apache.conf
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/httpd.conf
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lighttpd.conf
+%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*.php
+%{_appdir}