]> err.no Git - sope/commitdiff
fix for OGo Bug #1254
authorfrank <frank@e4a50df8-12e2-0310-a44c-efbce7f8a7e3>
Sat, 19 Feb 2005 14:12:33 +0000 (14:12 +0000)
committerfrank <frank@e4a50df8-12e2-0310-a44c-efbce7f8a7e3>
Sat, 19 Feb 2005 14:12:33 +0000 (14:12 +0000)
git-svn-id: http://svn.opengroupware.org/SOPE/trunk@574 e4a50df8-12e2-0310-a44c-efbce7f8a7e3

maintenance/mod_ngobjweb_conectiva10.spec
maintenance/mod_ngobjweb_fedora.spec
maintenance/mod_ngobjweb_mdk100.spec
maintenance/mod_ngobjweb_mdk101.spec
maintenance/mod_ngobjweb_redhat9.spec
maintenance/mod_ngobjweb_rhel3.spec
maintenance/mod_ngobjweb_sles9.spec
maintenance/mod_ngobjweb_slss8.spec
maintenance/mod_ngobjweb_suse82.spec
maintenance/mod_ngobjweb_suse91.spec
maintenance/mod_ngobjweb_suse92.spec

index 6c28934ff5c0ea4dfcd3e4a10ee6a2fb5e4c7160..9d9eed697f16f651ecb78ca8fda8eebb5e209c77 100644 (file)
@@ -1,3 +1,7 @@
+%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}
@@ -8,14 +12,14 @@ License:      LGPL
 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}
@@ -29,16 +33,106 @@ make %{mod_ngobjweb_makeflags} APXS_INCLUDE_DIRS="-I/usr/include/apache"
 # ****************************** 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
@@ -47,11 +141,21 @@ rm -fr ${RPM_BUILD_ROOT}
 # ****************************** 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>
index a6fd62b50514a107df0db1ece61481f2865f4a87..f94e6ef7c882b75f7156e731abd7639c1c41c534 100644 (file)
@@ -1,3 +1,7 @@
+%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}
@@ -8,7 +12,7 @@ License:      LGPL
 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
@@ -29,17 +33,106 @@ make %{mod_ngobjweb_makeflags} APXS_INCLUDE_DIRS="-I/usr/include/httpd -I/usr/in
 # ****************************** 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
@@ -48,11 +141,21 @@ rm -fr ${RPM_BUILD_ROOT}
 # ****************************** 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>
index e409928a8b1fd8ef90511f27f23f859642dae175..584335f31edbd829a978f8d6f9fff66eae3bb06b 100644 (file)
@@ -1,3 +1,7 @@
+%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}
@@ -8,14 +12,14 @@ License:      LGPL
 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}
@@ -29,17 +33,106 @@ make %{mod_ngobjweb_makeflags} APXS="/usr/sbin/apxs2" APXS_INCLUDE_DIRS="-I/usr/
 # ****************************** 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
@@ -48,11 +141,21 @@ rm -fr ${RPM_BUILD_ROOT}
 # ****************************** 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>
index 7c55033680fb193210563dffbcf4d7c96bb55bbb..4c0a878867ced55ab5ba93a0a6d1b0725d2bb52d 100644 (file)
@@ -1,3 +1,7 @@
+%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}
@@ -8,14 +12,14 @@ License:      LGPL
 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}
@@ -29,17 +33,106 @@ make %{mod_ngobjweb_makeflags} APXS="/usr/sbin/apxs2" APXS_INCLUDE_DIRS="-I/usr/
 # ****************************** 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
@@ -48,11 +141,21 @@ rm -fr ${RPM_BUILD_ROOT}
 # ****************************** 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>
index 1b4b488e166bf523ee796c95a7e86bbe31fb19a8..36c171784611b76d1999671082fa4928a3a6eb1a 100644 (file)
@@ -1,3 +1,7 @@
+%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}
@@ -8,14 +12,14 @@ License:      LGPL
 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}
@@ -29,17 +33,106 @@ make %{mod_ngobjweb_makeflags} APXS_INCLUDE_DIRS="-I/usr/include/httpd"
 # ****************************** 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
@@ -48,11 +141,21 @@ rm -fr ${RPM_BUILD_ROOT}
 # ****************************** 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>
index ebd254b822779e81a3958f0c422044f81c9a9dfa..165f3b7a19a2ea51ed7dbb2f51880d3abb2c02b8 100644 (file)
@@ -1,3 +1,7 @@
+%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}
@@ -8,14 +12,14 @@ License:      LGPL
 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}
@@ -29,17 +33,106 @@ make %{mod_ngobjweb_makeflags} APXS_INCLUDE_DIRS="-I/usr/include/httpd"
 # ****************************** 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
@@ -48,11 +141,21 @@ rm -fr ${RPM_BUILD_ROOT}
 # ****************************** 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>
index 6dd72c2fc4dd4700f8eb6efeb995f9d3f6479c71..86c7661591c5b751d499f21bd059d4b184f97b27 100644 (file)
@@ -1,21 +1,25 @@
-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}
@@ -29,17 +33,106 @@ make %{mod_ngobjweb_makeflags} APXS="/usr/sbin/apxs2" APXS_INCLUDE_DIRS="-I/usr/
 # ****************************** 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
@@ -48,18 +141,28 @@ rm -fr ${RPM_BUILD_ROOT}
 # ****************************** 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>
index 09aee21245794d12d1b5f20ef5051ce8b687c1d6..1889d2cfeccac0b0e7a06d451d48b1b7a63a95a5 100644 (file)
@@ -1,21 +1,25 @@
-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}
@@ -29,17 +33,106 @@ make %{mod_ngobjweb_makeflags} APXS="/usr/sbin/apxs" APXS_INCLUDE_DIRS="-I/usr/i
 # ****************************** 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
@@ -48,17 +141,27 @@ rm -fr ${RPM_BUILD_ROOT}
 # ****************************** 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
index 6450fdf3dc2cef2226cba5c74abcc39c287f1d03..483d1157c5ee1fec0fc1edd01516c7784795f4a6 100644 (file)
@@ -1,21 +1,25 @@
-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}
@@ -29,17 +33,106 @@ make %{mod_ngobjweb_makeflags} APXS="/usr/sbin/apxs2" APXS_INCLUDE_DIRS="-I/usr/
 # ****************************** 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
@@ -48,17 +141,27 @@ rm -fr ${RPM_BUILD_ROOT}
 # ****************************** 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
index 6dd72c2fc4dd4700f8eb6efeb995f9d3f6479c71..86c7661591c5b751d499f21bd059d4b184f97b27 100644 (file)
@@ -1,21 +1,25 @@
-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}
@@ -29,17 +33,106 @@ make %{mod_ngobjweb_makeflags} APXS="/usr/sbin/apxs2" APXS_INCLUDE_DIRS="-I/usr/
 # ****************************** 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
@@ -48,18 +141,28 @@ rm -fr ${RPM_BUILD_ROOT}
 # ****************************** 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>
index 6dd72c2fc4dd4700f8eb6efeb995f9d3f6479c71..86c7661591c5b751d499f21bd059d4b184f97b27 100644 (file)
@@ -1,21 +1,25 @@
-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}
@@ -29,17 +33,106 @@ make %{mod_ngobjweb_makeflags} APXS="/usr/sbin/apxs2" APXS_INCLUDE_DIRS="-I/usr/
 # ****************************** 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
@@ -48,18 +141,28 @@ rm -fr ${RPM_BUILD_ROOT}
 # ****************************** 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>