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.264 Requires: webapps %if %{with trigger} Requires(triggerpostun): sed >= 4.0 %endif BuildArch: noarch BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %define _webapps /etc/webapps %define _webapp %{name} %define _sysconfdir %{_webapps}/%{_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 > config.conf <= 2.0.0 %webapp_register httpd %{_webapp} %triggerun -- apache >= 2.0.0 %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 /usr/sbin/webapp register httpd %{_webapp} 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 /usr/sbin/webapp register httpd %{_webapp} 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 # 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 /usr/sbin/webapp register apache %{_webapp} apache_reload=1 fi if [ -L /etc/httpd/httpd.conf/99_%{name}.conf ]; then rm -f /etc/httpd/httpd.conf/99_%{name}.conf /usr/sbin/webapp register httpd %{_webapp} httpd_reload=1 fi else # no earlier registration. assume migration from Ra if [ -d /etc/apache/webapps.d ]; then /usr/sbin/webapp register apache %{_webapp} apache_reload=1 fi if [ -d /etc/httpd/webapps.d ]; then /usr/sbin/webapp register httpd %{_webapp} httpd_reload=1 fi fi if [ "$httpd_reload" ]; then if [ -f /var/lock/subsys/httpd ]; then /etc/rc.d/init.d/httpd reload 1>&2 fi fi if [ "$apache_reload" ]; then 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) %{_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