Summary: Package that uses webapps configuration
-Summary(pl): Pakiet u¿ywaj±cy konfiguracji Apache'a
+Summary(pl.UTF-8): Pakiet używający konfiguracji aplikacji WWW
Name: template-webapp
-Version: 0.2
-Release: 0.6
+Version: 0.3
+Release: 0.3
License: GPL
-Group: Development
-BuildRequires: rpmbuild(macros) >= 1.264
+Group: Applications/WWW
+#Source0: %{name}-%{version}.tar.gz
+# Source0-md5: -
+Source1: apache.conf
+Source2: lighttpd.conf
+#URL: -
+BuildRequires: rpmbuild(macros) >= 1.268
Requires: webapps
-Requires: webserver
-%if %{with trigger}
-Requires(triggerpostun): sed >= 4.0
-%endif
+# see packages/webapps/webapps.README for description and complete listing
+#Requires: webserver(access)
+#Requires: webserver(alias)
+#Requires: webserver(auth)
+#Requires: webserver(cgi)
+#Requires: webserver(indexfile)
+#Requires: webserver(php)
+#Requires: webserver(rewrite)
+#Requires: webserver(setenv)
BuildArch: noarch
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define _webapps /etc/webapps
-%define _webapp sample-webapp
+%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
-cat > config.conf <<EOF
-# This is sample config
+%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}}
+
+cp -a . $RPM_BUILD_ROOT%{_appdir}
+
+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
-#install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf
-install config.conf $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/apache.conf
-install config.conf $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/httpd.conf
-install config.conf $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/lighttpd.conf
+%clean
+rm -rf $RPM_BUILD_ROOT
# %webapp_* macros usage extracted from /usr/lib/rpm/macros.build:
#
# %%webapp_register HTTPD WEBAPP
# %%webapp_unregister HTTPD WEBAPP
-%triggerin -- apache1 >= 1.3.34-3.3
+%triggerin -- apache1 < 1.3.37-3, apache1-base
%webapp_register apache %{_webapp}
-%triggerun -- apache1 >= 1.3.33-2
+%triggerun -- apache1 < 1.3.37-3, apache1-base
%webapp_unregister apache %{_webapp}
-%triggerin -- apache >= 2.0.0
+%triggerin -- apache < 2.2.0, apache-base
%webapp_register httpd %{_webapp}
-%triggerun -- apache >= 2.0.0
+%triggerun -- apache < 2.2.0, apache-base
%webapp_unregister httpd %{_webapp}
%triggerin -- lighttpd
%triggerun -- lighttpd
%webapp_unregister lighttpd %{_webapp}
-%if 00000000000000000000000000000000000
-# SAMPLE TRIGGER FOR MIGRATION PURPOSES
-%triggerpostun -- %{name} < 1.3.9-1.4
-# migrate from apache-config macros
-if [ -f /etc/%{name}/apache.conf.rpmsave ]; then
- if [ -d /etc/apache/webapps.d ]; then
- cp -f %{_webapps}/%{_webapp}/apache.conf{,.rpmnew}
- cp -f /etc/%{name}/apache.conf.rpmsave %{_webapps}/%{_webapp}/apache.conf
- fi
-
- if [ -d /etc/httpd/webapps.d ]; then
- cp -f %{_webapps}/%{_webapp}/httpd.conf{,.rpmnew}
- cp -f /etc/%{name}/apache.conf.rpmsave %{_webapps}/%{_webapp}/httpd.conf
- fi
-fi
-# same but without separate %{_sysconfdir} for package
-if [ -f /etc/apache-%{name}.conf.rpmsave ]; then
- if [ -d /etc/apache/webapps.d ]; then
- cp -f %{_webapps}/%{_webapp}/apache.conf{,.rpmnew}
- cp -f /etc/apache-%{name}.conf.rpmsave %{_webapps}/%{_webapp}/apache.conf
- fi
-
- if [ -d /etc/httpd/webapps.d ]; then
- cp -f %{_webapps}/%{_webapp}/httpd.conf{,.rpmnew}
- cp -f /etc/apache-%{name}.conf.rpmsave %{_webapps}/%{_webapp}/httpd.conf
- fi
-fi
-
-# migrate from httpd (apache2) config dir
-if [ -f /etc/httpd/%{name}.conf.rpmsave ]; then
- cp -f %{_webapps}/%{_webapp}/httpd.conf{,.rpmnew}
- cp -f /etc/httpd/%{name}.conf.rpmsave %{_webapps}/%{_webapp}/httpd.conf
- httpd_reload=1
-fi
-
-# nuke very-old config location (this mostly for Ra)
-if [ -f /etc/httpd/httpd.conf ]; then
- sed -i -e "/^Include.*%{name}.conf/d" /etc/httpd/httpd.conf
- httpd_reload=1
-fi
-
-# place new config location, as trigger puts config only on first install, do it here.
-# apache1
-if [ -d /etc/apache/webapps.d ]; then
- /usr/sbin/webapp register apache %{_webapp}
- apache_reload=1
-fi
-# apache2
-if [ -d /etc/httpd/webapps.d ]; then
- /usr/sbin/webapp register httpd %{_webapp}
- httpd_reload=1
-fi
-
-if [ "$httpd_reload" ]; the
- if [ -f /var/lock/subsys/httpd ]; then
- /etc/rc.d/init.d/httpd reload 1>&2
- fi
-fi
-if [ "$apache_reload" ]; the
- if [ -f /var/lock/subsys/apache ]; then
- /etc/rc.d/init.d/apache reload 1>&2
- fi
-fi
-%endif # END OF SAMPLE TRIGGER
-
-%clean
-rm -rf $RPM_BUILD_ROOT
-
%files
%defattr(644,root,root,755)
-%dir %attr(750,root,http) %{_webapps}/%{_webapp}
-%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/apache.conf
-%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/httpd.conf
-%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/lighttpd.conf
-
-#%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/*.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}