-%define plugin cvstracker
-%define pluginlibdir %{_libdir}/gforge/plugins/%{plugin}
-%define pluginconfdir /etc/gforge/plugins/%{plugin}
-
+%define plugin cvstracker
%{!?release:%define release 1}
Summary: CVS Tracker Plugin for GForge CDE
URL: http://www.gforge.org/
BuildRoot: %{_tmppath}/%{name}-%{version}-root
+%define gfuser gforge
+%define gfgroup gforge
+
+%if "%{_vendor}" == "suse"
+ %define httpduser wwwrun
+ %define httpdgroup www
+%else
+ %define httpduser apache
+ %define httpdgroup apache
+%endif
+
+#Globals defines for gforge
+%define GFORGE_DIR %{_datadir}/gforge
+%define GFORGE_CONF_DIR %{_sysconfdir}/gforge
+%define GFORGE_LANG_DIR %{GFORGE_CONF_DIR}/languages-local
+%define GFORGE_SBIN_DIR %{_sbindir}
+%define GFORGE_LIB_DIR %{_libdir}/gforge/lib
+%define GFORGE_DB_DIR %{_libdir}/gforge/db
+%define GFORGE_BIN_DIR %{_libdir}/gforge/bin
+%define PLUGINS_LIB_DIR %{_libdir}/gforge/plugins
+%define PLUGINS_CONF_DIR %{GFORGE_CONF_DIR}/plugins
+%define CROND_DIR %{_sysconfdir}/cron.d
+
+#specific define for plugins
+%define PLUGIN_LIB_DIR %{PLUGINS_LIB_DIR}/%{plugin}
+%define PLUGIN_CONF_DIR %{PLUGINS_CONF_DIR}/%{plugin}
+
%description
GForge CDE is a web-based Collaborative Development Environment offering
easy access to CVS, mailing lists, bug tracking, message
# cleaning build environment
[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
-# setting paths
-PLUGIN_LIB_DIR=$RPM_BUILD_ROOT%{pluginlibdir}
-CONF_DIR=$RPM_BUILD_ROOT/etc
-PLUGIN_CONF_DIR=$RPM_BUILD_ROOT/%{pluginconfdir}
-
# installing crontab
-install -m 755 -d ${CONF_DIR}/cron.d
-install -m 644 rpm-specific/cron.d/%{name} ${CONF_DIR}/cron.d/
+install -m 755 -d $RPM_BUILD_ROOT/%{CROND_DIR}/
+install -m 644 rpm-specific/cron.d/%{name} $RPM_BUILD_ROOT/%{CROND_DIR}/
-# copying all needed stuff to $PLUGIN_LIB_DIR
-install -m 755 -d $PLUGIN_LIB_DIR
+# copying all needed stuff to %{PLUGIN_LIB_DIR}
+install -m 755 -d $RPM_BUILD_ROOT/%{PLUGIN_LIB_DIR}
for dir in bin include lib rpm-specific www; do
- cp -rp $dir ${PLUGIN_LIB_DIR}/
+ cp -rp $dir $RPM_BUILD_ROOT/%{PLUGIN_LIB_DIR}/
done;
-
-chmod 755 ${PLUGIN_LIB_DIR}/bin/db-upgrade.pl
-chmod 755 ${PLUGIN_LIB_DIR}/bin/db-delete.pl
+chmod 755 $RPM_BUILD_ROOT/%{PLUGIN_LIB_DIR}/bin/db-*.pl
# installing configuration file
-install -m 755 -d ${PLUGIN_CONF_DIR}
-install -m 664 etc/plugins/%{plugin}/config.php $PLUGIN_CONF_DIR/
+install -m 755 -d $RPM_BUILD_ROOT/%{PLUGIN_CONF_DIR}
+install -m 664 etc/plugins/%{plugin}/config.php $RPM_BUILD_ROOT/%{PLUGIN_CONF_DIR}/
%pre
%post
if [ "$1" = "1" ] ; then
# register plugin in database
- %{_libdir}/gforge/bin/register-plugin %{plugin} "CVS Tracker" &> /dev/null
+ %{GFORGE_BIN_DIR}/register-plugin %{plugin} "CVS Tracker" &> /dev/null
- su -l gforge -c "%{_libdir}/gforge/plugins/%{plugin}/bin/db-upgrade.pl 2>&1" | grep -v ^NOTICE
+ su -l %{gfuser} -c "%{PLUGIN_LIB_DIR}/bin/db-upgrade.pl 2>&1" | grep -v ^NOTICE
else
# upgrade
- su -l gforge -c "%{_libdir}/gforge/plugins/%{plugin}/bin/db-upgrade.pl 2>&1" | grep -v ^NOTICE
+ su -l %{gfuser} -c "%{PLUGIN_LIB_DIR}/bin/db-upgrade.pl 2>&1" | grep -v ^NOTICE
fi
%postun
if [ "$1" = "0" ] ; then
# unregister plugin in database
- %{_libdir}/gforge/bin/unregister-plugin %{plugin}
+ %{GFORGE_BIN_DIR}/unregister-plugin %{plugin}
else
# upgrade
:
%files
%defattr(-, root, root)
%doc AUTHORS COPYING README
-%attr(0664, apache, gforge) %config(noreplace) %{pluginconfdir}/config.php
-%{pluginlibdir}/bin
-%{pluginlibdir}/include
-%{pluginlibdir}/lib
-%{pluginlibdir}/rpm-specific
-%{pluginlibdir}/www
-/etc/cron.d/%{name}
+%attr(0660, %{httpduser}, %{gfgroup}) %config(noreplace) %{PLUGIN_CONF_DIR}/config.php
+%{PLUGIN_LIB_DIR}/bin
+%{PLUGIN_LIB_DIR}/include
+%{PLUGIN_LIB_DIR}/lib
+%{PLUGIN_LIB_DIR}/rpm-specific
+%{PLUGIN_LIB_DIR}/www
+%{CROND_DIR}/%{name}
%changelog
+* Fri Apr 29 2005 Xavier Rameau <xrameau@gmail.com>
+- Added support for SuSE
* Sat Mar 05 2005 Guillaume Smet <guillaume-gforge@smet.org>
Initial RPM packaging