Summary: Package that uses webapps configuration Summary(pl): Pakiet używający konfiguracji aplikacji WWW Name: template-webapp Version: 0.2 Release: 0.7 License: GPL Group: Applications/WWW #Source0: %{name}-%{version}.tar.gz # Source0-md5: - #URL: - BuildRequires: rpmbuild(macros) >= 1.268 Requires: webapps %if %{with trigger} Requires(triggerpostun): sed >= 4.0 %endif # see SOURCES/webapps.README for description and complete listing #Requires: webserver(access) #Requires: webserver(alias) #Requires: webserver(auth) #Requires: webserver(cgi) #Requires: webserver(indexfile) 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 webapp configuration to webserver config dir. %description -l pl 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} Allow from all 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.conf install apache.conf $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf install apache.conf $RPM_BUILD_ROOT%{_sysconfdir}/httpd.conf install lighttpd.conf $RPM_BUILD_ROOT%{_sysconfdir}/lighttpd.conf # %webapp_* macros usage extracted from /usr/lib/rpm/macros.build: # # Usage: # %%webapp_register HTTPD WEBAPP # %%webapp_unregister HTTPD WEBAPP %triggerin -- apache1 < 1.3.37-3, apache1-base >= 1.3.37-3 %webapp_register apache %{_webapp} %triggerun -- apache1 < 1.3.37-3, apache1-base >= 1.3.37-3 %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} %if 00000000000000000000000000000000000 # SAMPLE TRIGGER FOR MIGRATION PURPOSES %triggerpostun -- %{name} < 1.3.9-1.4 # rescue app configs. issue this in old config dir to get a list: # rpm -qfl .|grep `pwd`/|awk -F/ '{print $NF}'|egrep -v 'apache|httpd'|xargs for i in config.inc.php; do if [ -f /etc/%{name}/$i.rpmsave ]; then mv -f %{_sysconfdir}/$i{,.rpmnew} mv -f /etc/%{name}/$i.rpmsave %{_sysconfdir}/$i fi done # 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 # migrate from httpd (apache2) config dir if [ -f /etc/httpd/%{name}.conf.rpmsave ]; then cp -f %{_sysconfdir}/httpd.conf{,.rpmnew} mv -f /etc/httpd/%{name}.conf.rpmsave %{_sysconfdir}/httpd.conf httpd_reload=1 fi # migrate from apache-config macros if [ -f /etc/%{name}/apache.conf.rpmsave ]; then if [ -d /etc/apache/webapps.d ]; then cp -f %{_sysconfdir}/apache.conf{,.rpmnew} cp -f /etc/%{name}/apache.conf.rpmsave %{_sysconfdir}/apache.conf fi if [ -d /etc/httpd/webapps.d ]; then cp -f %{_sysconfdir}/httpd.conf{,.rpmnew} cp -f /etc/%{name}/apache.conf.rpmsave %{_sysconfdir}/httpd.conf fi rm -f /etc/%{name}/apache.conf.rpmsave 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 %{_sysconfdir}/apache.conf{,.rpmnew} cp -f /etc/apache-%{name}.conf.rpmsave %{_sysconfdir}/apache.conf fi if [ -d /etc/httpd/webapps.d ]; then cp -f %{_sysconfdir}/httpd.conf{,.rpmnew} cp -f /etc/apache-%{name}.conf.rpmsave %{_sysconfdir}/httpd.conf fi rm -f /etc/apache-%{name}.conf.rpmsave fi # update htpasswd path #sed -i -e 's,/etc/%{name},%{_webapps}/%{_webapp},' %{_webapps}/%{_webapp}/{apache,httpd}.conf # migrating from earlier apache-config? if [ -L /etc/apache/conf.d/99_%{name}.conf ] || [ -L /etc/httpd/httpd.conf/99_%{name}.conf ]; then if [ -L /etc/apache/conf.d/99_%{name}.conf ]; then rm -f /etc/apache/conf.d/99_%{name}.conf apache_reload=1 fi if [ -L /etc/httpd/httpd.conf/99_%{name}.conf ]; then rm -f /etc/httpd/httpd.conf/99_%{name}.conf httpd_reload=1 fi else # no earlier registration. assume migration from Ra if [ -d /etc/apache/webapps.d ]; then apache_reload=1 fi if [ -d /etc/httpd/webapps.d ]; then httpd_reload=1 fi fi if [ "$apache_reload" ]; then /usr/sbin/webapp register apache %{_webapp} %service -q apache reload fi if [ "$httpd_reload" ]; then /usr/sbin/webapp register httpd %{_webapp} %service -q httpd reload fi %endif # END OF SAMPLE TRIGGER %clean rm -rf $RPM_BUILD_ROOT %files %defattr(644,root,root,755) %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