+%define apache_modules_dir %{_usr}/lib/apache/modules
+%define apache_conf_dir %{_sysconfdir}/apache/conf/conf.d
+%define ngobjweb_requires apache
+
Summary: mod_ngobjweb apache module
Name: mod_ngobjweb
Version: %{mod_ngobjweb_version}
URL: http://sope.opengroupware.org/
Group: Development/Libraries
AutoReqProv: off
-Requires: apache ogo-environment
+Requires: %{ngobjweb_requires} ogo-environment
Source: %{mod_ngobjweb_source}
Prefix: %{mod_ngobjweb_prefix}
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
%description
Enables apache to handle HTTP requests for the
-OpenGroupware.org application server
+OpenGroupware.org application server.
%prep
rm -fr ${RPM_BUILD_ROOT}
# ****************************** install ******************************
%install
export PATH=$PATH:/usr/sbin
-mkdir -p ${RPM_BUILD_ROOT}/usr/lib/apache/modules
-cp mod_ngobjweb.so ${RPM_BUILD_ROOT}/usr/lib/apache/modules/
+mkdir -p ${RPM_BUILD_ROOT}%{apache_modules_dir}
+cp mod_ngobjweb.so ${RPM_BUILD_ROOT}%{apache_modules_dir}/
-mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/apache/conf/conf.d/
+mkdir -p ${RPM_BUILD_ROOT}%{apache_conf_dir}
echo "#Here we load the 'mod_ngobjweb.so' module
#
-LoadModule ngobjweb_module %{_usr}/lib/apache/modules/mod_ngobjweb.so
-" > ${RPM_BUILD_ROOT}%{_sysconfdir}/apache/conf/conf.d/ngobjweb.conf
+LoadModule ngobjweb_module %{apache_modules_dir}/mod_ngobjweb.so
+" > ${RPM_BUILD_ROOT}%{apache_conf_dir}/ngobjweb.conf
+
+# touch ghosts
+touch ${RPM_BUILD_ROOT}%{apache_conf_dir}/ogo-webui.conf
+touch ${RPM_BUILD_ROOT}%{apache_conf_dir}/ogo-xmlrpcd.conf
+touch ${RPM_BUILD_ROOT}%{apache_conf_dir}/ogo-zidestore.conf
# ****************************** post *********************************
+%preun
+if [ $1 = 0 ]; then
+ if [ -f %{apache_conf_dir}/ogo-webui.conf ]; then
+ rm -f %{apache_conf_dir}/ogo-webui.conf
+ fi
+ if [ -f %{apache_conf_dir}/ogo-xmlrpcd.conf ]; then
+ rm -f %{apache_conf_dir}/ogo-xmlrpcd.conf
+ fi
+ if [ -f %{apache_conf_dir}/ogo-zidestore.conf ]; then
+ rm -f %{apache_conf_dir}/ogo-zidestore.conf
+ fi
+fi
+
+# ****************************** trigger ******************************
+%triggerin -- ogo-webui-app
+if [ $2 = 1 ]; then
+echo "# configuration needed to access the OGo webui
+#
+# explicitly allow access
+<Directory %{prefix}/share/opengroupware.org-1.0a/www>
+ Order allow,deny
+ Allow from all
+</Directory>
+# required aliases
+Alias /OpenGroupware10a.woa/WebServerResources/ %{prefix}/share/opengroupware.org-1.0a/www/
+Alias /ArticleImages %{_var}/lib/opengroupware.org/news
+#
+# hook up
+<IfModule ngobjweb_module.c>
+ <LocationMatch "^/OpenGroupware*">
+ SetAppPort 20000
+ SetHandler ngobjweb-adaptor
+ </LocationMatch>
+</IfModule>
+" >%{apache_conf_dir}/ogo-webui.conf
+fi
+
+%triggerin -- ogo-xmlrpcd
+if [ $2 = 1 ]; then
+echo "# configuration needed to access the OGo XMLRPCd via http
+#
+# hook up
+<IfModule ngobjweb_module.c>
+ <LocationMatch "^/RPC2*">
+ SetAppPort 22000
+ SetHandler ngobjweb-adaptor
+ </LocationMatch>
+</IfModule>
+" >%{apache_conf_dir}/ogo-xmlrpcd.conf
+fi
+
+%triggerin -- ogo-zidestore
+if [ $2 = 1 ]; then
+echo "# configuration needed to access the OGo ZideStore via http
+#
+# hook up
+<IfModule ngobjweb_module.c>
+ <LocationMatch "^/zidestore/*">
+ SetAppPort 21000
+ SetHandler ngobjweb-adaptor
+ </LocationMatch>
+</IfModule>
+" >%{apache_conf_dir}/ogo-zidestore.conf
+fi
+
+%triggerun -- ogo-webui-app
+if [ $2 = 0 ]; then
+ if [ -f %{apache_conf_dir}/ogo-webui.conf ]; then
+ rm -f %{apache_conf_dir}/ogo-webui.conf
+ fi
+fi
+
+%triggerun -- ogo-xmlrpcd
+if [ $2 = 0 ]; then
+ if [ -f %{apache_conf_dir}/ogo-xmlrpcd.conf ]; then
+ rm -f %{apache_conf_dir}/ogo-xmlrpcd.conf
+ fi
+fi
+
+%triggerun -- ogo-zidestore
+if [ $2 = 0 ]; then
+ if [ -f %{apache_conf_dir}/ogo-zidestore.conf ]; then
+ rm -f %{apache_conf_dir}/ogo-zidestore.conf
+ fi
+fi
# ****************************** clean ********************************
%clean
# ****************************** files ********************************
%files
%defattr(-,root,root,-)
-%{_usr}/lib/apache/modules/mod_ngobjweb.so
-%config %{_sysconfdir}/apache/conf/conf.d/ngobjweb.conf
+%{apache_modules_dir}/mod_ngobjweb.so
+%config %{apache_conf_dir}/ngobjweb.conf
+%ghost %{apache_conf_dir}/ogo-webui.conf
+%ghost %{apache_conf_dir}/ogo-xmlrpcd.conf
+%ghost %{apache_conf_dir}/ogo-zidestore.conf
# ********************************* changelog *************************
%changelog
+* Sat Feb 19 2005 Frank Reppin <frank@opengroupware.org>
+- replaced common vars with 2 new macros (will make editing safer)
+- revisited last commit regarding OGo Bug #1254 and decided
+ to use triggers instead (and thus nothing moved into the application RPMS)
+- application specific config files get installed/removed based on whether
+ the application itself is installed/removed and/or mod_ngobjweb itself gets
+ removed or installed
* Fri Feb 18 2005 Frank Reppin <frank@opengroupware.org>
- moved parts to the application RPMS
* Wed Jan 12 2005 Frank Reppin <frank@opengroupware.org>
+%define apache_modules_dir %{_usr}/lib/httpd/modules
+%define apache_conf_dir %{_sysconfdir}/httpd/conf.d
+%define ngobjweb_requires httpd
+
Summary: mod_ngobjweb apache module
Name: mod_ngobjweb
Version: %{mod_ngobjweb_version}
URL: http://sope.opengroupware.org/
Group: Development/Libraries
AutoReqProv: off
-Requires: httpd ogo-environment
+Requires: %{ngobjweb_requires} ogo-environment
Source: %{mod_ngobjweb_source}
Prefix: %{mod_ngobjweb_prefix}
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
# ****************************** install ******************************
%install
export PATH=$PATH:/usr/sbin
-mkdir -p ${RPM_BUILD_ROOT}/usr/lib/httpd/modules
-cp mod_ngobjweb.so ${RPM_BUILD_ROOT}/usr/lib/httpd/modules/
+mkdir -p ${RPM_BUILD_ROOT}%{apache_modules_dir}
+cp mod_ngobjweb.so ${RPM_BUILD_ROOT}%{apache_modules_dir}/
-mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/httpd/conf.d
+mkdir -p ${RPM_BUILD_ROOT}%{apache_conf_dir}
echo "#Here we load the 'mod_ngobjweb.so' module
#
-LoadModule ngobjweb_module %{_usr}/lib/httpd/modules/mod_ngobjweb.so
-" > ${RPM_BUILD_ROOT}%{_sysconfdir}/httpd/conf.d/ngobjweb.conf
+LoadModule ngobjweb_module %{apache_modules_dir}/mod_ngobjweb.so
+" > ${RPM_BUILD_ROOT}%{apache_conf_dir}/ngobjweb.conf
+
+# touch ghosts
+touch ${RPM_BUILD_ROOT}%{apache_conf_dir}/ogo-webui.conf
+touch ${RPM_BUILD_ROOT}%{apache_conf_dir}/ogo-xmlrpcd.conf
+touch ${RPM_BUILD_ROOT}%{apache_conf_dir}/ogo-zidestore.conf
# ****************************** post *********************************
+%preun
+if [ $1 = 0 ]; then
+ if [ -f %{apache_conf_dir}/ogo-webui.conf ]; then
+ rm -f %{apache_conf_dir}/ogo-webui.conf
+ fi
+ if [ -f %{apache_conf_dir}/ogo-xmlrpcd.conf ]; then
+ rm -f %{apache_conf_dir}/ogo-xmlrpcd.conf
+ fi
+ if [ -f %{apache_conf_dir}/ogo-zidestore.conf ]; then
+ rm -f %{apache_conf_dir}/ogo-zidestore.conf
+ fi
+fi
+
+# ****************************** trigger ******************************
+%triggerin -- ogo-webui-app
+if [ $2 = 1 ]; then
+echo "# configuration needed to access the OGo webui
+#
+# explicitly allow access
+<Directory %{prefix}/share/opengroupware.org-1.0a/www>
+ Order allow,deny
+ Allow from all
+</Directory>
+# required aliases
+Alias /OpenGroupware10a.woa/WebServerResources/ %{prefix}/share/opengroupware.org-1.0a/www/
+Alias /ArticleImages %{_var}/lib/opengroupware.org/news
+#
+# hook up
+<IfModule ngobjweb_module.c>
+ <LocationMatch "^/OpenGroupware*">
+ SetAppPort 20000
+ SetHandler ngobjweb-adaptor
+ </LocationMatch>
+</IfModule>
+" >%{apache_conf_dir}/ogo-webui.conf
+fi
+
+%triggerin -- ogo-xmlrpcd
+if [ $2 = 1 ]; then
+echo "# configuration needed to access the OGo XMLRPCd via http
+#
+# hook up
+<IfModule ngobjweb_module.c>
+ <LocationMatch "^/RPC2*">
+ SetAppPort 22000
+ SetHandler ngobjweb-adaptor
+ </LocationMatch>
+</IfModule>
+" >%{apache_conf_dir}/ogo-xmlrpcd.conf
+fi
+
+%triggerin -- ogo-zidestore
+if [ $2 = 1 ]; then
+echo "# configuration needed to access the OGo ZideStore via http
+#
+# hook up
+<IfModule ngobjweb_module.c>
+ <LocationMatch "^/zidestore/*">
+ SetAppPort 21000
+ SetHandler ngobjweb-adaptor
+ </LocationMatch>
+</IfModule>
+" >%{apache_conf_dir}/ogo-zidestore.conf
+fi
+
+%triggerun -- ogo-webui-app
+if [ $2 = 0 ]; then
+ if [ -f %{apache_conf_dir}/ogo-webui.conf ]; then
+ rm -f %{apache_conf_dir}/ogo-webui.conf
+ fi
+fi
+
+%triggerun -- ogo-xmlrpcd
+if [ $2 = 0 ]; then
+ if [ -f %{apache_conf_dir}/ogo-xmlrpcd.conf ]; then
+ rm -f %{apache_conf_dir}/ogo-xmlrpcd.conf
+ fi
+fi
+%triggerun -- ogo-zidestore
+if [ $2 = 0 ]; then
+ if [ -f %{apache_conf_dir}/ogo-zidestore.conf ]; then
+ rm -f %{apache_conf_dir}/ogo-zidestore.conf
+ fi
+fi
# ****************************** clean ********************************
%clean
# ****************************** files ********************************
%files
%defattr(-,root,root,-)
-%{_usr}/lib/httpd/modules/mod_ngobjweb.so
-%config %{_sysconfdir}/httpd/conf.d/ngobjweb.conf
+%{apache_modules_dir}/mod_ngobjweb.so
+%config %{apache_conf_dir}/ngobjweb.conf
+%ghost %{apache_conf_dir}/ogo-webui.conf
+%ghost %{apache_conf_dir}/ogo-xmlrpcd.conf
+%ghost %{apache_conf_dir}/ogo-zidestore.conf
# ********************************* changelog *************************
%changelog
+* Sat Feb 19 2005 Frank Reppin <frank@opengroupware.org>
+- replaced common vars with 2 new macros (will make editing safer)
+- revisited last commit regarding OGo Bug #1254 and decided
+ to use triggers instead (and thus nothing moved into the application RPMS)
+- application specific config files get installed/removed based on whether
+ the application itself is installed/removed and/or mod_ngobjweb itself gets
+ removed or installed
* Fri Feb 18 2005 Frank Reppin <frank@opengroupware.org>
- moved parts to the application RPMS
* Thu Dec 23 2004 Frank Reppin <frank@opengroupware.org>
+%define apache_modules_dir %{_usr}/lib/apache2
+%define apache_conf_dir %{_sysconfdir}/httpd/conf.d
+%define ngobjweb_requires apache2
+
Summary: mod_ngobjweb apache module
Name: mod_ngobjweb
Version: %{mod_ngobjweb_version}
URL: http://sope.opengroupware.org/
Group: Development/Libraries
AutoReqProv: off
-Requires: apache2 ogo-environment
+Requires: %{ngobjweb_requires} ogo-environment
Source: %{mod_ngobjweb_source}
Prefix: %{mod_ngobjweb_prefix}
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
%description
Enables apache to handle HTTP requests for the
-OpenGroupware.org application server
+OpenGroupware.org application server.
%prep
rm -fr ${RPM_BUILD_ROOT}
# ****************************** install ******************************
%install
export PATH=$PATH:/usr/sbin
-mkdir -p ${RPM_BUILD_ROOT}/usr/lib/apache2
-cp mod_ngobjweb.so ${RPM_BUILD_ROOT}/usr/lib/apache2/
+mkdir -p ${RPM_BUILD_ROOT}%{apache_modules_dir}
+cp mod_ngobjweb.so ${RPM_BUILD_ROOT}%{apache_modules_dir}/
-mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/httpd/conf.d
+mkdir -p ${RPM_BUILD_ROOT}%{apache_conf_dir}
echo "#Here we load the 'mod_ngobjweb.so' module
#
-LoadModule ngobjweb_module %{_usr}/lib/apache2/mod_ngobjweb.so
-" > ${RPM_BUILD_ROOT}%{_sysconfdir}/httpd/conf.d/ngobjweb.conf
+LoadModule ngobjweb_module %{apache_modules_dir}/mod_ngobjweb.so
+" > ${RPM_BUILD_ROOT}%{apache_conf_dir}/ngobjweb.conf
+
+# touch ghosts
+touch ${RPM_BUILD_ROOT}%{apache_conf_dir}/ogo-webui.conf
+touch ${RPM_BUILD_ROOT}%{apache_conf_dir}/ogo-xmlrpcd.conf
+touch ${RPM_BUILD_ROOT}%{apache_conf_dir}/ogo-zidestore.conf
# ****************************** post *********************************
+%preun
+if [ $1 = 0 ]; then
+ if [ -f %{apache_conf_dir}/ogo-webui.conf ]; then
+ rm -f %{apache_conf_dir}/ogo-webui.conf
+ fi
+ if [ -f %{apache_conf_dir}/ogo-xmlrpcd.conf ]; then
+ rm -f %{apache_conf_dir}/ogo-xmlrpcd.conf
+ fi
+ if [ -f %{apache_conf_dir}/ogo-zidestore.conf ]; then
+ rm -f %{apache_conf_dir}/ogo-zidestore.conf
+ fi
+fi
+
+# ****************************** trigger ******************************
+%triggerin -- ogo-webui-app
+if [ $2 = 1 ]; then
+echo "# configuration needed to access the OGo webui
+#
+# explicitly allow access
+<Directory %{prefix}/share/opengroupware.org-1.0a/www>
+ Order allow,deny
+ Allow from all
+</Directory>
+# required aliases
+Alias /OpenGroupware10a.woa/WebServerResources/ %{prefix}/share/opengroupware.org-1.0a/www/
+Alias /ArticleImages %{_var}/lib/opengroupware.org/news
+#
+# hook up
+<IfModule ngobjweb_module.c>
+ <LocationMatch "^/OpenGroupware*">
+ SetAppPort 20000
+ SetHandler ngobjweb-adaptor
+ </LocationMatch>
+</IfModule>
+" >%{apache_conf_dir}/ogo-webui.conf
+fi
+
+%triggerin -- ogo-xmlrpcd
+if [ $2 = 1 ]; then
+echo "# configuration needed to access the OGo XMLRPCd via http
+#
+# hook up
+<IfModule ngobjweb_module.c>
+ <LocationMatch "^/RPC2*">
+ SetAppPort 22000
+ SetHandler ngobjweb-adaptor
+ </LocationMatch>
+</IfModule>
+" >%{apache_conf_dir}/ogo-xmlrpcd.conf
+fi
+
+%triggerin -- ogo-zidestore
+if [ $2 = 1 ]; then
+echo "# configuration needed to access the OGo ZideStore via http
+#
+# hook up
+<IfModule ngobjweb_module.c>
+ <LocationMatch "^/zidestore/*">
+ SetAppPort 21000
+ SetHandler ngobjweb-adaptor
+ </LocationMatch>
+</IfModule>
+" >%{apache_conf_dir}/ogo-zidestore.conf
+fi
+
+%triggerun -- ogo-webui-app
+if [ $2 = 0 ]; then
+ if [ -f %{apache_conf_dir}/ogo-webui.conf ]; then
+ rm -f %{apache_conf_dir}/ogo-webui.conf
+ fi
+fi
+
+%triggerun -- ogo-xmlrpcd
+if [ $2 = 0 ]; then
+ if [ -f %{apache_conf_dir}/ogo-xmlrpcd.conf ]; then
+ rm -f %{apache_conf_dir}/ogo-xmlrpcd.conf
+ fi
+fi
+%triggerun -- ogo-zidestore
+if [ $2 = 0 ]; then
+ if [ -f %{apache_conf_dir}/ogo-zidestore.conf ]; then
+ rm -f %{apache_conf_dir}/ogo-zidestore.conf
+ fi
+fi
# ****************************** clean ********************************
%clean
# ****************************** files ********************************
%files
%defattr(-,root,root,-)
-%{_usr}/lib/apache2/mod_ngobjweb.so
-%config %{_sysconfdir}/httpd/conf.d/ngobjweb.conf
+%{apache_modules_dir}/mod_ngobjweb.so
+%config %{apache_conf_dir}/ngobjweb.conf
+%ghost %{apache_conf_dir}/ogo-webui.conf
+%ghost %{apache_conf_dir}/ogo-xmlrpcd.conf
+%ghost %{apache_conf_dir}/ogo-zidestore.conf
# ********************************* changelog *************************
%changelog
+* Sat Feb 19 2005 Frank Reppin <frank@opengroupware.org>
+- replaced common vars with 2 new macros (will make editing safer)
+- revisited last commit regarding OGo Bug #1254 and decided
+ to use triggers instead (and thus nothing moved into the application RPMS)
+- application specific config files get installed/removed based on whether
+ the application itself is installed/removed and/or mod_ngobjweb itself gets
+ removed or installed
* Fri Feb 18 2005 Frank Reppin <frank@opengroupware.org>
- moved parts to the application RPMS
* Thu Dec 23 2004 Frank Reppin <frank@opengroupware.org>
+%define apache_modules_dir %{_usr}/lib/apache2
+%define apache_conf_dir %{_sysconfdir}/httpd/conf.d
+%define ngobjweb_requires apache2
+
Summary: mod_ngobjweb apache module
Name: mod_ngobjweb
Version: %{mod_ngobjweb_version}
URL: http://sope.opengroupware.org/
Group: Development/Libraries
AutoReqProv: off
-Requires: apache2 ogo-environment
+Requires: %{ngobjweb_requires} ogo-environment
Source: %{mod_ngobjweb_source}
Prefix: %{mod_ngobjweb_prefix}
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
%description
Enables apache to handle HTTP requests for the
-OpenGroupware.org application server
+OpenGroupware.org application server.
%prep
rm -fr ${RPM_BUILD_ROOT}
# ****************************** install ******************************
%install
export PATH=$PATH:/usr/sbin
-mkdir -p ${RPM_BUILD_ROOT}/usr/lib/apache2
-cp mod_ngobjweb.so ${RPM_BUILD_ROOT}/usr/lib/apache2/
+mkdir -p ${RPM_BUILD_ROOT}%{apache_modules_dir}
+cp mod_ngobjweb.so ${RPM_BUILD_ROOT}%{apache_modules_dir}/
-mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/httpd/conf.d
+mkdir -p ${RPM_BUILD_ROOT}%{apache_conf_dir}
echo "#Here we load the 'mod_ngobjweb.so' module
#
-LoadModule ngobjweb_module %{_usr}/lib/apache2/mod_ngobjweb.so
-" > ${RPM_BUILD_ROOT}%{_sysconfdir}/httpd/conf.d/ngobjweb.conf
+LoadModule ngobjweb_module %{apache_modules_dir}/mod_ngobjweb.so
+" > ${RPM_BUILD_ROOT}%{apache_conf_dir}/ngobjweb.conf
+
+# touch ghosts
+touch ${RPM_BUILD_ROOT}%{apache_conf_dir}/ogo-webui.conf
+touch ${RPM_BUILD_ROOT}%{apache_conf_dir}/ogo-xmlrpcd.conf
+touch ${RPM_BUILD_ROOT}%{apache_conf_dir}/ogo-zidestore.conf
# ****************************** post *********************************
+%preun
+if [ $1 = 0 ]; then
+ if [ -f %{apache_conf_dir}/ogo-webui.conf ]; then
+ rm -f %{apache_conf_dir}/ogo-webui.conf
+ fi
+ if [ -f %{apache_conf_dir}/ogo-xmlrpcd.conf ]; then
+ rm -f %{apache_conf_dir}/ogo-xmlrpcd.conf
+ fi
+ if [ -f %{apache_conf_dir}/ogo-zidestore.conf ]; then
+ rm -f %{apache_conf_dir}/ogo-zidestore.conf
+ fi
+fi
+
+# ****************************** trigger ******************************
+%triggerin -- ogo-webui-app
+if [ $2 = 1 ]; then
+echo "# configuration needed to access the OGo webui
+#
+# explicitly allow access
+<Directory %{prefix}/share/opengroupware.org-1.0a/www>
+ Order allow,deny
+ Allow from all
+</Directory>
+# required aliases
+Alias /OpenGroupware10a.woa/WebServerResources/ %{prefix}/share/opengroupware.org-1.0a/www/
+Alias /ArticleImages %{_var}/lib/opengroupware.org/news
+#
+# hook up
+<IfModule ngobjweb_module.c>
+ <LocationMatch "^/OpenGroupware*">
+ SetAppPort 20000
+ SetHandler ngobjweb-adaptor
+ </LocationMatch>
+</IfModule>
+" >%{apache_conf_dir}/ogo-webui.conf
+fi
+
+%triggerin -- ogo-xmlrpcd
+if [ $2 = 1 ]; then
+echo "# configuration needed to access the OGo XMLRPCd via http
+#
+# hook up
+<IfModule ngobjweb_module.c>
+ <LocationMatch "^/RPC2*">
+ SetAppPort 22000
+ SetHandler ngobjweb-adaptor
+ </LocationMatch>
+</IfModule>
+" >%{apache_conf_dir}/ogo-xmlrpcd.conf
+fi
+
+%triggerin -- ogo-zidestore
+if [ $2 = 1 ]; then
+echo "# configuration needed to access the OGo ZideStore via http
+#
+# hook up
+<IfModule ngobjweb_module.c>
+ <LocationMatch "^/zidestore/*">
+ SetAppPort 21000
+ SetHandler ngobjweb-adaptor
+ </LocationMatch>
+</IfModule>
+" >%{apache_conf_dir}/ogo-zidestore.conf
+fi
+
+%triggerun -- ogo-webui-app
+if [ $2 = 0 ]; then
+ if [ -f %{apache_conf_dir}/ogo-webui.conf ]; then
+ rm -f %{apache_conf_dir}/ogo-webui.conf
+ fi
+fi
+
+%triggerun -- ogo-xmlrpcd
+if [ $2 = 0 ]; then
+ if [ -f %{apache_conf_dir}/ogo-xmlrpcd.conf ]; then
+ rm -f %{apache_conf_dir}/ogo-xmlrpcd.conf
+ fi
+fi
+%triggerun -- ogo-zidestore
+if [ $2 = 0 ]; then
+ if [ -f %{apache_conf_dir}/ogo-zidestore.conf ]; then
+ rm -f %{apache_conf_dir}/ogo-zidestore.conf
+ fi
+fi
# ****************************** clean ********************************
%clean
# ****************************** files ********************************
%files
%defattr(-,root,root,-)
-%{_usr}/lib/apache2/mod_ngobjweb.so
-%config %{_sysconfdir}/httpd/conf.d/ngobjweb.conf
+%{apache_modules_dir}/mod_ngobjweb.so
+%config %{apache_conf_dir}/ngobjweb.conf
+%ghost %{apache_conf_dir}/ogo-webui.conf
+%ghost %{apache_conf_dir}/ogo-xmlrpcd.conf
+%ghost %{apache_conf_dir}/ogo-zidestore.conf
# ********************************* changelog *************************
%changelog
+* Sat Feb 19 2005 Frank Reppin <frank@opengroupware.org>
+- replaced common vars with 2 new macros (will make editing safer)
+- revisited last commit regarding OGo Bug #1254 and decided
+ to use triggers instead (and thus nothing moved into the application RPMS)
+- application specific config files get installed/removed based on whether
+ the application itself is installed/removed and/or mod_ngobjweb itself gets
+ removed or installed
* Fri Feb 18 2005 Frank Reppin <frank@opengroupware.org>
- moved parts to the application RPMS
* Thu Dec 23 2004 Frank Reppin <frank@opengroupware.org>
+%define apache_modules_dir %{_usr}/lib/httpd/modules
+%define apache_conf_dir %{_sysconfdir}/httpd/conf.d
+%define ngobjweb_requires httpd
+
Summary: mod_ngobjweb apache module
Name: mod_ngobjweb
Version: %{mod_ngobjweb_version}
URL: http://sope.opengroupware.org/
Group: Development/Libraries
AutoReqProv: off
-Requires: httpd ogo-environment
+Requires: %{ngobjweb_requires} ogo-environment
Source: %{mod_ngobjweb_source}
Prefix: %{mod_ngobjweb_prefix}
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
%description
Enables apache to handle HTTP requests for the
-OpenGroupware.org application server
+OpenGroupware.org application server.
%prep
rm -fr ${RPM_BUILD_ROOT}
# ****************************** install ******************************
%install
export PATH=$PATH:/usr/sbin
-mkdir -p ${RPM_BUILD_ROOT}/usr/lib/httpd/modules
-cp mod_ngobjweb.so ${RPM_BUILD_ROOT}/usr/lib/httpd/modules/
+mkdir -p ${RPM_BUILD_ROOT}%{apache_modules_dir}
+cp mod_ngobjweb.so ${RPM_BUILD_ROOT}%{apache_modules_dir}/
-mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/httpd/conf.d
+mkdir -p ${RPM_BUILD_ROOT}%{apache_conf_dir}
echo "#Here we load the 'mod_ngobjweb.so' module
#
-LoadModule ngobjweb_module %{_usr}/lib/httpd/modules/mod_ngobjweb.so
-" > ${RPM_BUILD_ROOT}%{_sysconfdir}/httpd/conf.d/ngobjweb.conf
+LoadModule ngobjweb_module %{apache_modules_dir}/mod_ngobjweb.so
+" > ${RPM_BUILD_ROOT}%{apache_conf_dir}/ngobjweb.conf
+
+# touch ghosts
+touch ${RPM_BUILD_ROOT}%{apache_conf_dir}/ogo-webui.conf
+touch ${RPM_BUILD_ROOT}%{apache_conf_dir}/ogo-xmlrpcd.conf
+touch ${RPM_BUILD_ROOT}%{apache_conf_dir}/ogo-zidestore.conf
# ****************************** post *********************************
+%preun
+if [ $1 = 0 ]; then
+ if [ -f %{apache_conf_dir}/ogo-webui.conf ]; then
+ rm -f %{apache_conf_dir}/ogo-webui.conf
+ fi
+ if [ -f %{apache_conf_dir}/ogo-xmlrpcd.conf ]; then
+ rm -f %{apache_conf_dir}/ogo-xmlrpcd.conf
+ fi
+ if [ -f %{apache_conf_dir}/ogo-zidestore.conf ]; then
+ rm -f %{apache_conf_dir}/ogo-zidestore.conf
+ fi
+fi
+
+# ****************************** trigger ******************************
+%triggerin -- ogo-webui-app
+if [ $2 = 1 ]; then
+echo "# configuration needed to access the OGo webui
+#
+# explicitly allow access
+<Directory %{prefix}/share/opengroupware.org-1.0a/www>
+ Order allow,deny
+ Allow from all
+</Directory>
+# required aliases
+Alias /OpenGroupware10a.woa/WebServerResources/ %{prefix}/share/opengroupware.org-1.0a/www/
+Alias /ArticleImages %{_var}/lib/opengroupware.org/news
+#
+# hook up
+<IfModule ngobjweb_module.c>
+ <LocationMatch "^/OpenGroupware*">
+ SetAppPort 20000
+ SetHandler ngobjweb-adaptor
+ </LocationMatch>
+</IfModule>
+" >%{apache_conf_dir}/ogo-webui.conf
+fi
+
+%triggerin -- ogo-xmlrpcd
+if [ $2 = 1 ]; then
+echo "# configuration needed to access the OGo XMLRPCd via http
+#
+# hook up
+<IfModule ngobjweb_module.c>
+ <LocationMatch "^/RPC2*">
+ SetAppPort 22000
+ SetHandler ngobjweb-adaptor
+ </LocationMatch>
+</IfModule>
+" >%{apache_conf_dir}/ogo-xmlrpcd.conf
+fi
+
+%triggerin -- ogo-zidestore
+if [ $2 = 1 ]; then
+echo "# configuration needed to access the OGo ZideStore via http
+#
+# hook up
+<IfModule ngobjweb_module.c>
+ <LocationMatch "^/zidestore/*">
+ SetAppPort 21000
+ SetHandler ngobjweb-adaptor
+ </LocationMatch>
+</IfModule>
+" >%{apache_conf_dir}/ogo-zidestore.conf
+fi
+
+%triggerun -- ogo-webui-app
+if [ $2 = 0 ]; then
+ if [ -f %{apache_conf_dir}/ogo-webui.conf ]; then
+ rm -f %{apache_conf_dir}/ogo-webui.conf
+ fi
+fi
+
+%triggerun -- ogo-xmlrpcd
+if [ $2 = 0 ]; then
+ if [ -f %{apache_conf_dir}/ogo-xmlrpcd.conf ]; then
+ rm -f %{apache_conf_dir}/ogo-xmlrpcd.conf
+ fi
+fi
+%triggerun -- ogo-zidestore
+if [ $2 = 0 ]; then
+ if [ -f %{apache_conf_dir}/ogo-zidestore.conf ]; then
+ rm -f %{apache_conf_dir}/ogo-zidestore.conf
+ fi
+fi
# ****************************** clean ********************************
%clean
# ****************************** files ********************************
%files
%defattr(-,root,root,-)
-%{_usr}/lib/httpd/modules/mod_ngobjweb.so
-%config %{_sysconfdir}/httpd/conf.d/ngobjweb.conf
+%{apache_modules_dir}/mod_ngobjweb.so
+%config %{apache_conf_dir}/ngobjweb.conf
+%ghost %{apache_conf_dir}/ogo-webui.conf
+%ghost %{apache_conf_dir}/ogo-xmlrpcd.conf
+%ghost %{apache_conf_dir}/ogo-zidestore.conf
# ********************************* changelog *************************
%changelog
+* Sat Feb 19 2005 Frank Reppin <frank@opengroupware.org>
+- replaced common vars with 2 new macros (will make editing safer)
+- revisited last commit regarding OGo Bug #1254 and decided
+ to use triggers instead (and thus nothing moved into the application RPMS)
+- application specific config files get installed/removed based on whether
+ the application itself is installed/removed and/or mod_ngobjweb itself gets
+ removed or installed
* Fri Feb 18 2005 Frank Reppin <frank@opengroupware.org>
- moved parts to the application RPMS
* Thu Dec 23 2004 Frank Reppin <frank@opengroupware.org>
+%define apache_modules_dir %{_usr}/lib/httpd/modules
+%define apache_conf_dir %{_sysconfdir}/httpd/conf.d
+%define ngobjweb_requires httpd
+
Summary: mod_ngobjweb apache module
Name: mod_ngobjweb
Version: %{mod_ngobjweb_version}
URL: http://sope.opengroupware.org/
Group: Development/Libraries
AutoReqProv: off
-Requires: httpd ogo-environment
+Requires: %{ngobjweb_requires} ogo-environment
Source: %{mod_ngobjweb_source}
Prefix: %{mod_ngobjweb_prefix}
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
%description
Enables apache to handle HTTP requests for the
-OpenGroupware.org application server
+OpenGroupware.org application server.
%prep
rm -fr ${RPM_BUILD_ROOT}
# ****************************** install ******************************
%install
export PATH=$PATH:/usr/sbin
-mkdir -p ${RPM_BUILD_ROOT}/usr/lib/httpd/modules
-cp mod_ngobjweb.so ${RPM_BUILD_ROOT}/usr/lib/httpd/modules/
+mkdir -p ${RPM_BUILD_ROOT}%{apache_modules_dir}
+cp mod_ngobjweb.so ${RPM_BUILD_ROOT}%{apache_modules_dir}/
-mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/httpd/conf.d
+mkdir -p ${RPM_BUILD_ROOT}%{apache_conf_dir}
echo "#Here we load the 'mod_ngobjweb.so' module
#
-LoadModule ngobjweb_module %{_usr}/lib/httpd/modules/mod_ngobjweb.so
-" > ${RPM_BUILD_ROOT}%{_sysconfdir}/httpd/conf.d/ngobjweb.conf
+LoadModule ngobjweb_module %{apache_modules_dir}/mod_ngobjweb.so
+" > ${RPM_BUILD_ROOT}%{apache_conf_dir}/ngobjweb.conf
+
+# touch ghosts
+touch ${RPM_BUILD_ROOT}%{apache_conf_dir}/ogo-webui.conf
+touch ${RPM_BUILD_ROOT}%{apache_conf_dir}/ogo-xmlrpcd.conf
+touch ${RPM_BUILD_ROOT}%{apache_conf_dir}/ogo-zidestore.conf
# ****************************** post *********************************
+%preun
+if [ $1 = 0 ]; then
+ if [ -f %{apache_conf_dir}/ogo-webui.conf ]; then
+ rm -f %{apache_conf_dir}/ogo-webui.conf
+ fi
+ if [ -f %{apache_conf_dir}/ogo-xmlrpcd.conf ]; then
+ rm -f %{apache_conf_dir}/ogo-xmlrpcd.conf
+ fi
+ if [ -f %{apache_conf_dir}/ogo-zidestore.conf ]; then
+ rm -f %{apache_conf_dir}/ogo-zidestore.conf
+ fi
+fi
+
+# ****************************** trigger ******************************
+%triggerin -- ogo-webui-app
+if [ $2 = 1 ]; then
+echo "# configuration needed to access the OGo webui
+#
+# explicitly allow access
+<Directory %{prefix}/share/opengroupware.org-1.0a/www>
+ Order allow,deny
+ Allow from all
+</Directory>
+# required aliases
+Alias /OpenGroupware10a.woa/WebServerResources/ %{prefix}/share/opengroupware.org-1.0a/www/
+Alias /ArticleImages %{_var}/lib/opengroupware.org/news
+#
+# hook up
+<IfModule ngobjweb_module.c>
+ <LocationMatch "^/OpenGroupware*">
+ SetAppPort 20000
+ SetHandler ngobjweb-adaptor
+ </LocationMatch>
+</IfModule>
+" >%{apache_conf_dir}/ogo-webui.conf
+fi
+
+%triggerin -- ogo-xmlrpcd
+if [ $2 = 1 ]; then
+echo "# configuration needed to access the OGo XMLRPCd via http
+#
+# hook up
+<IfModule ngobjweb_module.c>
+ <LocationMatch "^/RPC2*">
+ SetAppPort 22000
+ SetHandler ngobjweb-adaptor
+ </LocationMatch>
+</IfModule>
+" >%{apache_conf_dir}/ogo-xmlrpcd.conf
+fi
+
+%triggerin -- ogo-zidestore
+if [ $2 = 1 ]; then
+echo "# configuration needed to access the OGo ZideStore via http
+#
+# hook up
+<IfModule ngobjweb_module.c>
+ <LocationMatch "^/zidestore/*">
+ SetAppPort 21000
+ SetHandler ngobjweb-adaptor
+ </LocationMatch>
+</IfModule>
+" >%{apache_conf_dir}/ogo-zidestore.conf
+fi
+
+%triggerun -- ogo-webui-app
+if [ $2 = 0 ]; then
+ if [ -f %{apache_conf_dir}/ogo-webui.conf ]; then
+ rm -f %{apache_conf_dir}/ogo-webui.conf
+ fi
+fi
+
+%triggerun -- ogo-xmlrpcd
+if [ $2 = 0 ]; then
+ if [ -f %{apache_conf_dir}/ogo-xmlrpcd.conf ]; then
+ rm -f %{apache_conf_dir}/ogo-xmlrpcd.conf
+ fi
+fi
+%triggerun -- ogo-zidestore
+if [ $2 = 0 ]; then
+ if [ -f %{apache_conf_dir}/ogo-zidestore.conf ]; then
+ rm -f %{apache_conf_dir}/ogo-zidestore.conf
+ fi
+fi
# ****************************** clean ********************************
%clean
# ****************************** files ********************************
%files
%defattr(-,root,root,-)
-%{_usr}/lib/httpd/modules/mod_ngobjweb.so
-%config %{_sysconfdir}/httpd/conf.d/ngobjweb.conf
+%{apache_modules_dir}/mod_ngobjweb.so
+%config %{apache_conf_dir}/ngobjweb.conf
+%ghost %{apache_conf_dir}/ogo-webui.conf
+%ghost %{apache_conf_dir}/ogo-xmlrpcd.conf
+%ghost %{apache_conf_dir}/ogo-zidestore.conf
# ********************************* changelog *************************
%changelog
+* Sat Feb 19 2005 Frank Reppin <frank@opengroupware.org>
+- replaced common vars with 2 new macros (will make editing safer)
+- revisited last commit regarding OGo Bug #1254 and decided
+ to use triggers instead (and thus nothing moved into the application RPMS)
+- application specific config files get installed/removed based on whether
+ the application itself is installed/removed and/or mod_ngobjweb itself gets
+ removed or installed
* Fri Feb 18 2005 Frank Reppin <frank@opengroupware.org>
- moved parts to application RPMS
* Thu Dec 23 2004 Frank Reppin <frank@opengroupware.org>
-Summary: mod_ngobjweb apache module
-Name: mod_ngobjweb
-Version: %{mod_ngobjweb_version}
-Release: %{mod_ngobjweb_release}.%{mod_ngobjweb_buildcount}%{dist_suffix}
-Vendor: OpenGroupware.org
-Packager: Frank Reppin <frank@opengroupware.org>
-License: LGPL
-URL: http://sope.opengroupware.org/
-Group: Development/Libraries
-AutoReqProv: off
-Requires: apache2 ogo-environment
-Source: %{mod_ngobjweb_source}
-Prefix: %{mod_ngobjweb_prefix}
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
+%define apache_modules_dir %{_usr}/lib/apache2
+%define apache_conf_dir %{_sysconfdir}/apache2/conf.d
+%define ngobjweb_requires apache2
+
+Summary: mod_ngobjweb apache module
+Name: mod_ngobjweb
+Version: %{mod_ngobjweb_version}
+Release: %{mod_ngobjweb_release}.%{mod_ngobjweb_buildcount}%{dist_suffix}
+Vendor: OpenGroupware.org
+Packager: Frank Reppin <frank@opengroupware.org>
+License: LGPL
+URL: http://sope.opengroupware.org/
+Group: Development/Libraries
+AutoReqProv: off
+Requires: %{ngobjweb_requires} ogo-environment
+Source: %{mod_ngobjweb_source}
+Prefix: %{mod_ngobjweb_prefix}
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
%description
Enables apache to handle HTTP requests for the
-OpenGroupware.org application server
+OpenGroupware.org application server.
%prep
rm -fr ${RPM_BUILD_ROOT}
# ****************************** install ******************************
%install
export PATH=$PATH:/usr/sbin
-mkdir -p ${RPM_BUILD_ROOT}%{_usr}/lib/apache2
-cp mod_ngobjweb.so ${RPM_BUILD_ROOT}%{_usr}/lib/apache2/mod_ngobjweb.so
+mkdir -p ${RPM_BUILD_ROOT}%{apache_modules_dir}
+cp mod_ngobjweb.so ${RPM_BUILD_ROOT}%{apache_modules_dir}/
-mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/apache2/conf.d/
+mkdir -p ${RPM_BUILD_ROOT}%{apache_conf_dir}
echo "#Here we load the 'mod_ngobjweb.so' module
#
-LoadModule ngobjweb_module %{_usr}/lib/apache2/mod_ngobjweb.so
-" > ${RPM_BUILD_ROOT}%{_sysconfdir}/apache2/conf.d/ngobjweb.conf
+LoadModule ngobjweb_module %{apache_modules_dir}/mod_ngobjweb.so
+" > ${RPM_BUILD_ROOT}%{apache_conf_dir}/ngobjweb.conf
+
+# touch ghosts
+touch ${RPM_BUILD_ROOT}%{apache_conf_dir}/ogo-webui.conf
+touch ${RPM_BUILD_ROOT}%{apache_conf_dir}/ogo-xmlrpcd.conf
+touch ${RPM_BUILD_ROOT}%{apache_conf_dir}/ogo-zidestore.conf
# ****************************** post *********************************
+%preun
+if [ $1 = 0 ]; then
+ if [ -f %{apache_conf_dir}/ogo-webui.conf ]; then
+ rm -f %{apache_conf_dir}/ogo-webui.conf
+ fi
+ if [ -f %{apache_conf_dir}/ogo-xmlrpcd.conf ]; then
+ rm -f %{apache_conf_dir}/ogo-xmlrpcd.conf
+ fi
+ if [ -f %{apache_conf_dir}/ogo-zidestore.conf ]; then
+ rm -f %{apache_conf_dir}/ogo-zidestore.conf
+ fi
+fi
+
+# ****************************** trigger ******************************
+%triggerin -- ogo-webui-app
+if [ $2 = 1 ]; then
+echo "# configuration needed to access the OGo webui
+#
+# explicitly allow access
+<Directory %{prefix}/share/opengroupware.org-1.0a/www>
+ Order allow,deny
+ Allow from all
+</Directory>
+# required aliases
+Alias /OpenGroupware10a.woa/WebServerResources/ %{prefix}/share/opengroupware.org-1.0a/www/
+Alias /ArticleImages %{_var}/lib/opengroupware.org/news
+#
+# hook up
+<IfModule ngobjweb_module.c>
+ <LocationMatch "^/OpenGroupware*">
+ SetAppPort 20000
+ SetHandler ngobjweb-adaptor
+ </LocationMatch>
+</IfModule>
+" >%{apache_conf_dir}/ogo-webui.conf
+fi
+
+%triggerin -- ogo-xmlrpcd
+if [ $2 = 1 ]; then
+echo "# configuration needed to access the OGo XMLRPCd via http
+#
+# hook up
+<IfModule ngobjweb_module.c>
+ <LocationMatch "^/RPC2*">
+ SetAppPort 22000
+ SetHandler ngobjweb-adaptor
+ </LocationMatch>
+</IfModule>
+" >%{apache_conf_dir}/ogo-xmlrpcd.conf
+fi
+
+%triggerin -- ogo-zidestore
+if [ $2 = 1 ]; then
+echo "# configuration needed to access the OGo ZideStore via http
+#
+# hook up
+<IfModule ngobjweb_module.c>
+ <LocationMatch "^/zidestore/*">
+ SetAppPort 21000
+ SetHandler ngobjweb-adaptor
+ </LocationMatch>
+</IfModule>
+" >%{apache_conf_dir}/ogo-zidestore.conf
+fi
+
+%triggerun -- ogo-webui-app
+if [ $2 = 0 ]; then
+ if [ -f %{apache_conf_dir}/ogo-webui.conf ]; then
+ rm -f %{apache_conf_dir}/ogo-webui.conf
+ fi
+fi
+
+%triggerun -- ogo-xmlrpcd
+if [ $2 = 0 ]; then
+ if [ -f %{apache_conf_dir}/ogo-xmlrpcd.conf ]; then
+ rm -f %{apache_conf_dir}/ogo-xmlrpcd.conf
+ fi
+fi
+%triggerun -- ogo-zidestore
+if [ $2 = 0 ]; then
+ if [ -f %{apache_conf_dir}/ogo-zidestore.conf ]; then
+ rm -f %{apache_conf_dir}/ogo-zidestore.conf
+ fi
+fi
# ****************************** clean ********************************
%clean
# ****************************** files ********************************
%files
%defattr(-,root,root,-)
-%{_usr}/lib/apache2/mod_ngobjweb.so
-%config %{_sysconfdir}/apache2/conf.d/ngobjweb.conf
+%{apache_modules_dir}/mod_ngobjweb.so
+%config %{apache_conf_dir}/ngobjweb.conf
+%ghost %{apache_conf_dir}/ogo-webui.conf
+%ghost %{apache_conf_dir}/ogo-xmlrpcd.conf
+%ghost %{apache_conf_dir}/ogo-zidestore.conf
# ********************************* changelog *************************
%changelog
+* Sat Feb 19 2005 Frank Reppin <frank@opengroupware.org>
+- replaced common vars with 2 new macros (will make editing safer)
+- revisited last commit regarding OGo Bug #1254 and decided
+ to use triggers instead (and thus nothing moved into the application RPMS)
+- application specific config files get installed/removed based on whether
+ the application itself is installed/removed and/or mod_ngobjweb itself gets
+ removed or installed
* Fri Feb 18 2005 Frank Reppin <frank@opengroupware.org>
- moved parts to application RPMS
* Thu Dec 23 2004 Frank Reppin <frank@opengroupware.org>
- requires apache2 -obviously-
- mod_ngobjweb.so lives in /usr/lib/apache2/modules now
- OGo.conf lives in /etc/apache2/conf.d now...
-- which fixes -> http://bugzilla.opengroupware.org/bugzilla/show_bug.cgi?id=1020
+ which fixes -> http://bugzilla.opengroupware.org/bugzilla/show_bug.cgi?id=1020
* Wed Dec 21 2004 Frank Reppin <frank@opengroupware.org>
- dealt with http://bugzilla.opengroupware.org/bugzilla/show_bug.cgi?id=1084
* Wed Sep 09 2004 Frank Reppin <frank@opengroupware.org>
-Summary: mod_ngobjweb apache module
-Name: mod_ngobjweb
-Version: %{mod_ngobjweb_version}
-Release: %{mod_ngobjweb_release}.%{mod_ngobjweb_buildcount}%{dist_suffix}
-Vendor: OpenGroupware.org
-Packager: Frank Reppin <frank@opengroupware.org>
-License: LGPL
-URL: http://sope.opengroupware.org/
-Group: Development/Libraries
-AutoReqProv: off
-Requires: apache ogo-environment
-Source: %{mod_ngobjweb_source}
-Prefix: %{mod_ngobjweb_prefix}
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
+%define apache_modules_dir %{_usr}/lib/apache
+%define apache_conf_dir %{_sysconfdir}/httpd
+%define ngobjweb_requires apache
+
+Summary: mod_ngobjweb apache module
+Name: mod_ngobjweb
+Version: %{mod_ngobjweb_version}
+Release: %{mod_ngobjweb_release}.%{mod_ngobjweb_buildcount}%{dist_suffix}
+Vendor: OpenGroupware.org
+Packager: Frank Reppin <frank@opengroupware.org>
+License: LGPL
+URL: http://sope.opengroupware.org/
+Group: Development/Libraries
+AutoReqProv: off
+Requires: %{ngobjweb_requires} ogo-environment
+Source: %{mod_ngobjweb_source}
+Prefix: %{mod_ngobjweb_prefix}
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
%description
Enables apache to handle HTTP requests for the
-OpenGroupware.org application server
+OpenGroupware.org application server.
%prep
rm -fr ${RPM_BUILD_ROOT}
# ****************************** install ******************************
%install
export PATH=$PATH:/usr/sbin
-mkdir -p ${RPM_BUILD_ROOT}%{_usr}/lib/apache
-cp mod_ngobjweb.so ${RPM_BUILD_ROOT}%{_usr}/lib/apache/mod_ngobjweb.so
+mkdir -p ${RPM_BUILD_ROOT}%{apache_modules_dir}
+cp mod_ngobjweb.so ${RPM_BUILD_ROOT}%{apache_modules_dir}/
-mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/httpd
+mkdir -p ${RPM_BUILD_ROOT}%{apache_conf_dir}
echo "#Here we load the 'mod_ngobjweb.so' module
#
-LoadModule ngobjweb_module %{_usr}/lib/apache/mod_ngobjweb.so
-" > ${RPM_BUILD_ROOT}%{_sysconfdir}/httpd/ngobjweb.conf
+LoadModule ngobjweb_module %{apache_modules_dir}/mod_ngobjweb.so
+" > ${RPM_BUILD_ROOT}%{apache_conf_dir}/ngobjweb.conf
+
+# touch ghosts
+touch ${RPM_BUILD_ROOT}%{apache_conf_dir}/ogo-webui.conf
+touch ${RPM_BUILD_ROOT}%{apache_conf_dir}/ogo-xmlrpcd.conf
+touch ${RPM_BUILD_ROOT}%{apache_conf_dir}/ogo-zidestore.conf
# ****************************** post *********************************
+%preun
+if [ $1 = 0 ]; then
+ if [ -f %{apache_conf_dir}/ogo-webui.conf ]; then
+ rm -f %{apache_conf_dir}/ogo-webui.conf
+ fi
+ if [ -f %{apache_conf_dir}/ogo-xmlrpcd.conf ]; then
+ rm -f %{apache_conf_dir}/ogo-xmlrpcd.conf
+ fi
+ if [ -f %{apache_conf_dir}/ogo-zidestore.conf ]; then
+ rm -f %{apache_conf_dir}/ogo-zidestore.conf
+ fi
+fi
+
+# ****************************** trigger ******************************
+%triggerin -- ogo-webui-app
+if [ $2 = 1 ]; then
+echo "# configuration needed to access the OGo webui
+#
+# explicitly allow access
+<Directory %{prefix}/share/opengroupware.org-1.0a/www>
+ Order allow,deny
+ Allow from all
+</Directory>
+# required aliases
+Alias /OpenGroupware10a.woa/WebServerResources/ %{prefix}/share/opengroupware.org-1.0a/www/
+Alias /ArticleImages %{_var}/lib/opengroupware.org/news
+#
+# hook up
+<IfModule ngobjweb_module.c>
+ <LocationMatch "^/OpenGroupware*">
+ SetAppPort 20000
+ SetHandler ngobjweb-adaptor
+ </LocationMatch>
+</IfModule>
+" >%{apache_conf_dir}/ogo-webui.conf
+fi
+
+%triggerin -- ogo-xmlrpcd
+if [ $2 = 1 ]; then
+echo "# configuration needed to access the OGo XMLRPCd via http
+#
+# hook up
+<IfModule ngobjweb_module.c>
+ <LocationMatch "^/RPC2*">
+ SetAppPort 22000
+ SetHandler ngobjweb-adaptor
+ </LocationMatch>
+</IfModule>
+" >%{apache_conf_dir}/ogo-xmlrpcd.conf
+fi
+
+%triggerin -- ogo-zidestore
+if [ $2 = 1 ]; then
+echo "# configuration needed to access the OGo ZideStore via http
+#
+# hook up
+<IfModule ngobjweb_module.c>
+ <LocationMatch "^/zidestore/*">
+ SetAppPort 21000
+ SetHandler ngobjweb-adaptor
+ </LocationMatch>
+</IfModule>
+" >%{apache_conf_dir}/ogo-zidestore.conf
+fi
+
+%triggerun -- ogo-webui-app
+if [ $2 = 0 ]; then
+ if [ -f %{apache_conf_dir}/ogo-webui.conf ]; then
+ rm -f %{apache_conf_dir}/ogo-webui.conf
+ fi
+fi
+
+%triggerun -- ogo-xmlrpcd
+if [ $2 = 0 ]; then
+ if [ -f %{apache_conf_dir}/ogo-xmlrpcd.conf ]; then
+ rm -f %{apache_conf_dir}/ogo-xmlrpcd.conf
+ fi
+fi
+%triggerun -- ogo-zidestore
+if [ $2 = 0 ]; then
+ if [ -f %{apache_conf_dir}/ogo-zidestore.conf ]; then
+ rm -f %{apache_conf_dir}/ogo-zidestore.conf
+ fi
+fi
# ****************************** clean ********************************
%clean
# ****************************** files ********************************
%files
%defattr(-,root,root,-)
-%{_usr}/lib/apache/mod_ngobjweb.so
-%config %{_sysconfdir}/httpd/ngobjweb.conf
+%{apache_modules_dir}/mod_ngobjweb.so
+%config %{apache_conf_dir}/ngobjweb.conf
+%ghost %{apache_conf_dir}/ogo-webui.conf
+%ghost %{apache_conf_dir}/ogo-xmlrpcd.conf
+%ghost %{apache_conf_dir}/ogo-zidestore.conf
# ********************************* changelog *************************
%changelog
+* Sat Feb 19 2005 Frank Reppin <frank@opengroupware.org>
+- replaced common vars with 2 new macros (will make editing safer)
+- revisited last commit regarding OGo Bug #1254 and decided
+ to use triggers instead (and thus nothing moved into the application RPMS)
+- application specific config files get installed/removed based on whether
+ the application itself is installed/removed and/or mod_ngobjweb itself gets
+ removed or installed
* Fri Feb 18 2005 Frank Reppin <frank@opengroupware.org>
- moved parts to application RPMS
* Thu Dec 23 2004 Frank Reppin <frank@opengroupware.org>
- requires apache -obviously-
- mod_ngobjweb.so lives in /usr/lib/apache/modules now
- OGo.conf lives in /etc/httpd/conf.d now...
-- which fixes -> http://bugzilla.opengroupware.org/bugzilla/show_bug.cgi?id=1020
+ which fixes -> http://bugzilla.opengroupware.org/bugzilla/show_bug.cgi?id=1020
* Wed Sep 09 2004 Frank Reppin <frank@opengroupware.org>
- initial build
-Summary: mod_ngobjweb apache module
-Name: mod_ngobjweb
-Version: %{mod_ngobjweb_version}
-Release: %{mod_ngobjweb_release}.%{mod_ngobjweb_buildcount}%{dist_suffix}
-Vendor: OpenGroupware.org
-Packager: Frank Reppin <frank@opengroupware.org>
-License: LGPL
-URL: http://sope.opengroupware.org/
-Group: Development/Libraries
-AutoReqProv: off
-Requires: apache2 ogo-environment
-Source: %{mod_ngobjweb_source}
-Prefix: %{mod_ngobjweb_prefix}
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
+%define apache_modules_dir %{_usr}/lib/apache2
+%define apache_conf_dir %{_sysconfdir}/apache2/conf.d
+%define ngobjweb_requires apache2
+
+Summary: mod_ngobjweb apache module
+Name: mod_ngobjweb
+Version: %{mod_ngobjweb_version}
+Release: %{mod_ngobjweb_release}.%{mod_ngobjweb_buildcount}%{dist_suffix}
+Vendor: OpenGroupware.org
+Packager: Frank Reppin <frank@opengroupware.org>
+License: LGPL
+URL: http://sope.opengroupware.org/
+Group: Development/Libraries
+AutoReqProv: off
+Requires: %{ngobjweb_requires} ogo-environment
+Source: %{mod_ngobjweb_source}
+Prefix: %{mod_ngobjweb_prefix}
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
%description
Enables apache to handle HTTP requests for the
-OpenGroupware.org application server
+OpenGroupware.org application server.
%prep
rm -fr ${RPM_BUILD_ROOT}
# ****************************** install ******************************
%install
export PATH=$PATH:/usr/sbin
-mkdir -p ${RPM_BUILD_ROOT}%{_usr}/lib/apache2
-cp mod_ngobjweb.so ${RPM_BUILD_ROOT}%{_usr}/lib/apache2/mod_ngobjweb.so
+mkdir -p ${RPM_BUILD_ROOT}%{apache_modules_dir}
+cp mod_ngobjweb.so ${RPM_BUILD_ROOT}%{apache_modules_dir}/
-mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/apache2/conf.d/
+mkdir -p ${RPM_BUILD_ROOT}%{apache_conf_dir}
echo "#Here we load the 'mod_ngobjweb.so' module
#
-LoadModule ngobjweb_module %{_usr}/lib/apache2/mod_ngobjweb.so
-" > ${RPM_BUILD_ROOT}%{_sysconfdir}/apache2/conf.d/ngobjweb.conf
+LoadModule ngobjweb_module %{apache_modules_dir}/mod_ngobjweb.so
+" > ${RPM_BUILD_ROOT}%{apache_conf_dir}/ngobjweb.conf
+
+# touch ghosts
+touch ${RPM_BUILD_ROOT}%{apache_conf_dir}/ogo-webui.conf
+touch ${RPM_BUILD_ROOT}%{apache_conf_dir}/ogo-xmlrpcd.conf
+touch ${RPM_BUILD_ROOT}%{apache_conf_dir}/ogo-zidestore.conf
# ****************************** post *********************************
+%preun
+if [ $1 = 0 ]; then
+ if [ -f %{apache_conf_dir}/ogo-webui.conf ]; then
+ rm -f %{apache_conf_dir}/ogo-webui.conf
+ fi
+ if [ -f %{apache_conf_dir}/ogo-xmlrpcd.conf ]; then
+ rm -f %{apache_conf_dir}/ogo-xmlrpcd.conf
+ fi
+ if [ -f %{apache_conf_dir}/ogo-zidestore.conf ]; then
+ rm -f %{apache_conf_dir}/ogo-zidestore.conf
+ fi
+fi
+
+# ****************************** trigger ******************************
+%triggerin -- ogo-webui-app
+if [ $2 = 1 ]; then
+echo "# configuration needed to access the OGo webui
+#
+# explicitly allow access
+<Directory %{prefix}/share/opengroupware.org-1.0a/www>
+ Order allow,deny
+ Allow from all
+</Directory>
+# required aliases
+Alias /OpenGroupware10a.woa/WebServerResources/ %{prefix}/share/opengroupware.org-1.0a/www/
+Alias /ArticleImages %{_var}/lib/opengroupware.org/news
+#
+# hook up
+<IfModule ngobjweb_module.c>
+ <LocationMatch "^/OpenGroupware*">
+ SetAppPort 20000
+ SetHandler ngobjweb-adaptor
+ </LocationMatch>
+</IfModule>
+" >%{apache_conf_dir}/ogo-webui.conf
+fi
+
+%triggerin -- ogo-xmlrpcd
+if [ $2 = 1 ]; then
+echo "# configuration needed to access the OGo XMLRPCd via http
+#
+# hook up
+<IfModule ngobjweb_module.c>
+ <LocationMatch "^/RPC2*">
+ SetAppPort 22000
+ SetHandler ngobjweb-adaptor
+ </LocationMatch>
+</IfModule>
+" >%{apache_conf_dir}/ogo-xmlrpcd.conf
+fi
+
+%triggerin -- ogo-zidestore
+if [ $2 = 1 ]; then
+echo "# configuration needed to access the OGo ZideStore via http
+#
+# hook up
+<IfModule ngobjweb_module.c>
+ <LocationMatch "^/zidestore/*">
+ SetAppPort 21000
+ SetHandler ngobjweb-adaptor
+ </LocationMatch>
+</IfModule>
+" >%{apache_conf_dir}/ogo-zidestore.conf
+fi
+
+%triggerun -- ogo-webui-app
+if [ $2 = 0 ]; then
+ if [ -f %{apache_conf_dir}/ogo-webui.conf ]; then
+ rm -f %{apache_conf_dir}/ogo-webui.conf
+ fi
+fi
+
+%triggerun -- ogo-xmlrpcd
+if [ $2 = 0 ]; then
+ if [ -f %{apache_conf_dir}/ogo-xmlrpcd.conf ]; then
+ rm -f %{apache_conf_dir}/ogo-xmlrpcd.conf
+ fi
+fi
+%triggerun -- ogo-zidestore
+if [ $2 = 0 ]; then
+ if [ -f %{apache_conf_dir}/ogo-zidestore.conf ]; then
+ rm -f %{apache_conf_dir}/ogo-zidestore.conf
+ fi
+fi
# ****************************** clean ********************************
%clean
# ****************************** files ********************************
%files
%defattr(-,root,root,-)
-%{_usr}/lib/apache2/mod_ngobjweb.so
-%config %{_sysconfdir}/apache2/conf.d/ngobjweb.conf
+%{apache_modules_dir}/mod_ngobjweb.so
+%config %{apache_conf_dir}/ngobjweb.conf
+%ghost %{apache_conf_dir}/ogo-webui.conf
+%ghost %{apache_conf_dir}/ogo-xmlrpcd.conf
+%ghost %{apache_conf_dir}/ogo-zidestore.conf
# ********************************* changelog *************************
%changelog
+* Sat Feb 19 2005 Frank Reppin <frank@opengroupware.org>
+- replaced common vars with 2 new macros (will make editing safer)
+- revisited last commit regarding OGo Bug #1254 and decided
+ to use triggers instead (and thus nothing moved into the application RPMS)
+- application specific config files get installed/removed based on whether
+ the application itself is installed/removed and/or mod_ngobjweb itself gets
+ removed or installed
* Fri Feb 18 2005 Frank Reppin <frank@opengroupware.org>
- moved parts to application RPMS
* Thu Dec 23 2004 Frank Reppin <frank@opengroupware.org>
- requires apache2 -obviously-
- mod_ngobjweb.so lives in /usr/lib/apache2/modules now
- OGo.conf lives in /etc/apache2/conf.d now...
-- which fixes -> http://bugzilla.opengroupware.org/bugzilla/show_bug.cgi?id=1020
+ which fixes -> http://bugzilla.opengroupware.org/bugzilla/show_bug.cgi?id=1020
* Wed Sep 09 2004 Frank Reppin <frank@opengroupware.org>
- initial build
-Summary: mod_ngobjweb apache module
-Name: mod_ngobjweb
-Version: %{mod_ngobjweb_version}
-Release: %{mod_ngobjweb_release}.%{mod_ngobjweb_buildcount}%{dist_suffix}
-Vendor: OpenGroupware.org
-Packager: Frank Reppin <frank@opengroupware.org>
-License: LGPL
-URL: http://sope.opengroupware.org/
-Group: Development/Libraries
-AutoReqProv: off
-Requires: apache2 ogo-environment
-Source: %{mod_ngobjweb_source}
-Prefix: %{mod_ngobjweb_prefix}
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
+%define apache_modules_dir %{_usr}/lib/apache2
+%define apache_conf_dir %{_sysconfdir}/apache2/conf.d
+%define ngobjweb_requires apache2
+
+Summary: mod_ngobjweb apache module
+Name: mod_ngobjweb
+Version: %{mod_ngobjweb_version}
+Release: %{mod_ngobjweb_release}.%{mod_ngobjweb_buildcount}%{dist_suffix}
+Vendor: OpenGroupware.org
+Packager: Frank Reppin <frank@opengroupware.org>
+License: LGPL
+URL: http://sope.opengroupware.org/
+Group: Development/Libraries
+AutoReqProv: off
+Requires: %{ngobjweb_requires} ogo-environment
+Source: %{mod_ngobjweb_source}
+Prefix: %{mod_ngobjweb_prefix}
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
%description
Enables apache to handle HTTP requests for the
-OpenGroupware.org application server
+OpenGroupware.org application server.
%prep
rm -fr ${RPM_BUILD_ROOT}
# ****************************** install ******************************
%install
export PATH=$PATH:/usr/sbin
-mkdir -p ${RPM_BUILD_ROOT}%{_usr}/lib/apache2
-cp mod_ngobjweb.so ${RPM_BUILD_ROOT}%{_usr}/lib/apache2/mod_ngobjweb.so
+mkdir -p ${RPM_BUILD_ROOT}%{apache_modules_dir}
+cp mod_ngobjweb.so ${RPM_BUILD_ROOT}%{apache_modules_dir}/
-mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/apache2/conf.d/
+mkdir -p ${RPM_BUILD_ROOT}%{apache_conf_dir}
echo "#Here we load the 'mod_ngobjweb.so' module
#
-LoadModule ngobjweb_module %{_usr}/lib/apache2/mod_ngobjweb.so
-" > ${RPM_BUILD_ROOT}%{_sysconfdir}/apache2/conf.d/ngobjweb.conf
+LoadModule ngobjweb_module %{apache_modules_dir}/mod_ngobjweb.so
+" > ${RPM_BUILD_ROOT}%{apache_conf_dir}/ngobjweb.conf
+
+# touch ghosts
+touch ${RPM_BUILD_ROOT}%{apache_conf_dir}/ogo-webui.conf
+touch ${RPM_BUILD_ROOT}%{apache_conf_dir}/ogo-xmlrpcd.conf
+touch ${RPM_BUILD_ROOT}%{apache_conf_dir}/ogo-zidestore.conf
# ****************************** post *********************************
+%preun
+if [ $1 = 0 ]; then
+ if [ -f %{apache_conf_dir}/ogo-webui.conf ]; then
+ rm -f %{apache_conf_dir}/ogo-webui.conf
+ fi
+ if [ -f %{apache_conf_dir}/ogo-xmlrpcd.conf ]; then
+ rm -f %{apache_conf_dir}/ogo-xmlrpcd.conf
+ fi
+ if [ -f %{apache_conf_dir}/ogo-zidestore.conf ]; then
+ rm -f %{apache_conf_dir}/ogo-zidestore.conf
+ fi
+fi
+
+# ****************************** trigger ******************************
+%triggerin -- ogo-webui-app
+if [ $2 = 1 ]; then
+echo "# configuration needed to access the OGo webui
+#
+# explicitly allow access
+<Directory %{prefix}/share/opengroupware.org-1.0a/www>
+ Order allow,deny
+ Allow from all
+</Directory>
+# required aliases
+Alias /OpenGroupware10a.woa/WebServerResources/ %{prefix}/share/opengroupware.org-1.0a/www/
+Alias /ArticleImages %{_var}/lib/opengroupware.org/news
+#
+# hook up
+<IfModule ngobjweb_module.c>
+ <LocationMatch "^/OpenGroupware*">
+ SetAppPort 20000
+ SetHandler ngobjweb-adaptor
+ </LocationMatch>
+</IfModule>
+" >%{apache_conf_dir}/ogo-webui.conf
+fi
+
+%triggerin -- ogo-xmlrpcd
+if [ $2 = 1 ]; then
+echo "# configuration needed to access the OGo XMLRPCd via http
+#
+# hook up
+<IfModule ngobjweb_module.c>
+ <LocationMatch "^/RPC2*">
+ SetAppPort 22000
+ SetHandler ngobjweb-adaptor
+ </LocationMatch>
+</IfModule>
+" >%{apache_conf_dir}/ogo-xmlrpcd.conf
+fi
+
+%triggerin -- ogo-zidestore
+if [ $2 = 1 ]; then
+echo "# configuration needed to access the OGo ZideStore via http
+#
+# hook up
+<IfModule ngobjweb_module.c>
+ <LocationMatch "^/zidestore/*">
+ SetAppPort 21000
+ SetHandler ngobjweb-adaptor
+ </LocationMatch>
+</IfModule>
+" >%{apache_conf_dir}/ogo-zidestore.conf
+fi
+
+%triggerun -- ogo-webui-app
+if [ $2 = 0 ]; then
+ if [ -f %{apache_conf_dir}/ogo-webui.conf ]; then
+ rm -f %{apache_conf_dir}/ogo-webui.conf
+ fi
+fi
+
+%triggerun -- ogo-xmlrpcd
+if [ $2 = 0 ]; then
+ if [ -f %{apache_conf_dir}/ogo-xmlrpcd.conf ]; then
+ rm -f %{apache_conf_dir}/ogo-xmlrpcd.conf
+ fi
+fi
+%triggerun -- ogo-zidestore
+if [ $2 = 0 ]; then
+ if [ -f %{apache_conf_dir}/ogo-zidestore.conf ]; then
+ rm -f %{apache_conf_dir}/ogo-zidestore.conf
+ fi
+fi
# ****************************** clean ********************************
%clean
# ****************************** files ********************************
%files
%defattr(-,root,root,-)
-%{_usr}/lib/apache2/mod_ngobjweb.so
-%config %{_sysconfdir}/apache2/conf.d/ngobjweb.conf
+%{apache_modules_dir}/mod_ngobjweb.so
+%config %{apache_conf_dir}/ngobjweb.conf
+%ghost %{apache_conf_dir}/ogo-webui.conf
+%ghost %{apache_conf_dir}/ogo-xmlrpcd.conf
+%ghost %{apache_conf_dir}/ogo-zidestore.conf
# ********************************* changelog *************************
%changelog
+* Sat Feb 19 2005 Frank Reppin <frank@opengroupware.org>
+- replaced common vars with 2 new macros (will make editing safer)
+- revisited last commit regarding OGo Bug #1254 and decided
+ to use triggers instead (and thus nothing moved into the application RPMS)
+- application specific config files get installed/removed based on whether
+ the application itself is installed/removed and/or mod_ngobjweb itself gets
+ removed or installed
* Fri Feb 18 2005 Frank Reppin <frank@opengroupware.org>
- moved parts to application RPMS
* Thu Dec 23 2004 Frank Reppin <frank@opengroupware.org>
- requires apache2 -obviously-
- mod_ngobjweb.so lives in /usr/lib/apache2/modules now
- OGo.conf lives in /etc/apache2/conf.d now...
-- which fixes -> http://bugzilla.opengroupware.org/bugzilla/show_bug.cgi?id=1020
+ which fixes -> http://bugzilla.opengroupware.org/bugzilla/show_bug.cgi?id=1020
* Wed Dec 21 2004 Frank Reppin <frank@opengroupware.org>
- dealt with http://bugzilla.opengroupware.org/bugzilla/show_bug.cgi?id=1084
* Wed Sep 09 2004 Frank Reppin <frank@opengroupware.org>
-Summary: mod_ngobjweb apache module
-Name: mod_ngobjweb
-Version: %{mod_ngobjweb_version}
-Release: %{mod_ngobjweb_release}.%{mod_ngobjweb_buildcount}%{dist_suffix}
-Vendor: OpenGroupware.org
-Packager: Frank Reppin <frank@opengroupware.org>
-License: LGPL
-URL: http://sope.opengroupware.org/
-Group: Development/Libraries
-AutoReqProv: off
-Requires: apache2 ogo-environment
-Source: %{mod_ngobjweb_source}
-Prefix: %{mod_ngobjweb_prefix}
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
+%define apache_modules_dir %{_usr}/lib/apache2
+%define apache_conf_dir %{_sysconfdir}/apache2/conf.d
+%define ngobjweb_requires apache2
+
+Summary: mod_ngobjweb apache module
+Name: mod_ngobjweb
+Version: %{mod_ngobjweb_version}
+Release: %{mod_ngobjweb_release}.%{mod_ngobjweb_buildcount}%{dist_suffix}
+Vendor: OpenGroupware.org
+Packager: Frank Reppin <frank@opengroupware.org>
+License: LGPL
+URL: http://sope.opengroupware.org/
+Group: Development/Libraries
+AutoReqProv: off
+Requires: %{ngobjweb_requires} ogo-environment
+Source: %{mod_ngobjweb_source}
+Prefix: %{mod_ngobjweb_prefix}
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
%description
Enables apache to handle HTTP requests for the
-OpenGroupware.org application server
+OpenGroupware.org application server.
%prep
rm -fr ${RPM_BUILD_ROOT}
# ****************************** install ******************************
%install
export PATH=$PATH:/usr/sbin
-mkdir -p ${RPM_BUILD_ROOT}%{_usr}/lib/apache2
-cp mod_ngobjweb.so ${RPM_BUILD_ROOT}%{_usr}/lib/apache2/mod_ngobjweb.so
+mkdir -p ${RPM_BUILD_ROOT}%{apache_modules_dir}
+cp mod_ngobjweb.so ${RPM_BUILD_ROOT}%{apache_modules_dir}/
-mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/apache2/conf.d/
+mkdir -p ${RPM_BUILD_ROOT}%{apache_conf_dir}
echo "#Here we load the 'mod_ngobjweb.so' module
#
-LoadModule ngobjweb_module %{_usr}/lib/apache2/mod_ngobjweb.so
-" > ${RPM_BUILD_ROOT}%{_sysconfdir}/apache2/conf.d/ngobjweb.conf
+LoadModule ngobjweb_module %{apache_modules_dir}/mod_ngobjweb.so
+" > ${RPM_BUILD_ROOT}%{apache_conf_dir}/ngobjweb.conf
+
+# touch ghosts
+touch ${RPM_BUILD_ROOT}%{apache_conf_dir}/ogo-webui.conf
+touch ${RPM_BUILD_ROOT}%{apache_conf_dir}/ogo-xmlrpcd.conf
+touch ${RPM_BUILD_ROOT}%{apache_conf_dir}/ogo-zidestore.conf
# ****************************** post *********************************
+%preun
+if [ $1 = 0 ]; then
+ if [ -f %{apache_conf_dir}/ogo-webui.conf ]; then
+ rm -f %{apache_conf_dir}/ogo-webui.conf
+ fi
+ if [ -f %{apache_conf_dir}/ogo-xmlrpcd.conf ]; then
+ rm -f %{apache_conf_dir}/ogo-xmlrpcd.conf
+ fi
+ if [ -f %{apache_conf_dir}/ogo-zidestore.conf ]; then
+ rm -f %{apache_conf_dir}/ogo-zidestore.conf
+ fi
+fi
+
+# ****************************** trigger ******************************
+%triggerin -- ogo-webui-app
+if [ $2 = 1 ]; then
+echo "# configuration needed to access the OGo webui
+#
+# explicitly allow access
+<Directory %{prefix}/share/opengroupware.org-1.0a/www>
+ Order allow,deny
+ Allow from all
+</Directory>
+# required aliases
+Alias /OpenGroupware10a.woa/WebServerResources/ %{prefix}/share/opengroupware.org-1.0a/www/
+Alias /ArticleImages %{_var}/lib/opengroupware.org/news
+#
+# hook up
+<IfModule ngobjweb_module.c>
+ <LocationMatch "^/OpenGroupware*">
+ SetAppPort 20000
+ SetHandler ngobjweb-adaptor
+ </LocationMatch>
+</IfModule>
+" >%{apache_conf_dir}/ogo-webui.conf
+fi
+
+%triggerin -- ogo-xmlrpcd
+if [ $2 = 1 ]; then
+echo "# configuration needed to access the OGo XMLRPCd via http
+#
+# hook up
+<IfModule ngobjweb_module.c>
+ <LocationMatch "^/RPC2*">
+ SetAppPort 22000
+ SetHandler ngobjweb-adaptor
+ </LocationMatch>
+</IfModule>
+" >%{apache_conf_dir}/ogo-xmlrpcd.conf
+fi
+
+%triggerin -- ogo-zidestore
+if [ $2 = 1 ]; then
+echo "# configuration needed to access the OGo ZideStore via http
+#
+# hook up
+<IfModule ngobjweb_module.c>
+ <LocationMatch "^/zidestore/*">
+ SetAppPort 21000
+ SetHandler ngobjweb-adaptor
+ </LocationMatch>
+</IfModule>
+" >%{apache_conf_dir}/ogo-zidestore.conf
+fi
+
+%triggerun -- ogo-webui-app
+if [ $2 = 0 ]; then
+ if [ -f %{apache_conf_dir}/ogo-webui.conf ]; then
+ rm -f %{apache_conf_dir}/ogo-webui.conf
+ fi
+fi
+
+%triggerun -- ogo-xmlrpcd
+if [ $2 = 0 ]; then
+ if [ -f %{apache_conf_dir}/ogo-xmlrpcd.conf ]; then
+ rm -f %{apache_conf_dir}/ogo-xmlrpcd.conf
+ fi
+fi
+%triggerun -- ogo-zidestore
+if [ $2 = 0 ]; then
+ if [ -f %{apache_conf_dir}/ogo-zidestore.conf ]; then
+ rm -f %{apache_conf_dir}/ogo-zidestore.conf
+ fi
+fi
# ****************************** clean ********************************
%clean
# ****************************** files ********************************
%files
%defattr(-,root,root,-)
-%{_usr}/lib/apache2/mod_ngobjweb.so
-%config %{_sysconfdir}/apache2/conf.d/ngobjweb.conf
+%{apache_modules_dir}/mod_ngobjweb.so
+%config %{apache_conf_dir}/ngobjweb.conf
+%ghost %{apache_conf_dir}/ogo-webui.conf
+%ghost %{apache_conf_dir}/ogo-xmlrpcd.conf
+%ghost %{apache_conf_dir}/ogo-zidestore.conf
# ********************************* changelog *************************
%changelog
+* Sat Feb 19 2005 Frank Reppin <frank@opengroupware.org>
+- replaced common vars with 2 new macros (will make editing safer)
+- revisited last commit regarding OGo Bug #1254 and decided
+ to use triggers instead (and thus nothing moved into the application RPMS)
+- application specific config files get installed/removed based on whether
+ the application itself is installed/removed and/or mod_ngobjweb itself gets
+ removed or installed
* Fri Feb 18 2005 Frank Reppin <frank@opengroupware.org>
- moved parts to application RPMS
* Thu Dec 23 2004 Frank Reppin <frank@opengroupware.org>
- requires apache2 -obviously-
- mod_ngobjweb.so lives in /usr/lib/apache2/modules now
- OGo.conf lives in /etc/apache2/conf.d now...
-- which fixes -> http://bugzilla.opengroupware.org/bugzilla/show_bug.cgi?id=1020
+ which fixes -> http://bugzilla.opengroupware.org/bugzilla/show_bug.cgi?id=1020
* Wed Dec 21 2004 Frank Reppin <frank@opengroupware.org>
- dealt with http://bugzilla.opengroupware.org/bugzilla/show_bug.cgi?id=1084
* Wed Sep 09 2004 Frank Reppin <frank@opengroupware.org>