2 %{!?release:%define release 1}
4 Summary: CVS Plugin for GForge CDE
5 Name: fusionforge-plugin-%{plugin}
10 Group: Development/Tools
11 Source: %{name}-%{version}.tar.bz2
13 Requires: fusionforge >= 4.7
14 Requires: perl perl-URI
16 #update etc/plugins/scmcvs/config.php $cvs_binary_version before updating cvs to 1.12
19 URL: http://www.gforge.org/
20 BuildRoot: %{_tmppath}/%{name}-%{version}-root
23 %define gfgroup gforge
25 %if "%{_vendor}" == "suse"
26 %define httpduser wwwrun
27 %define httpdgroup www
28 #Requires: perl-IPC-Run
30 %define httpduser apache
31 %define httpdgroup apache
32 Requires: perl-IPC-Run
35 #Globals defines for gforge
36 %define GFORGE_DIR %{_datadir}/gforge
37 %define GFORGE_CONF_DIR %{_sysconfdir}/gforge
38 %define GFORGE_SBIN_DIR %{_sbindir}
39 #%define GFORGE_LIB_DIR %{_libdir}/gforge/lib
40 #%define GFORGE_DB_DIR %{_libdir}/gforge/db
41 %define GFORGE_BIN_DIR %{_libdir}/gforge/bin
42 %define PLUGINS_LIB_DIR %{_libdir}/gforge/plugins
43 %define PLUGINS_CONF_DIR %{GFORGE_CONF_DIR}/plugins
44 %define CROND_DIR %{_sysconfdir}/cron.d
45 %define SBIN_DIR %{_sbindir}
47 #specific define for plugins
48 %define PLUGIN_LIB %{PLUGINS_LIB_DIR}/%{plugin}
49 %define PLUGIN_CONF %{PLUGINS_CONF_DIR}/%{plugin}
53 GForge CDE is a web-based Collaborative Development Environment offering
54 easy access to CVS, mailing lists, bug tracking, message
55 boards/forums, task management, permanent file archival, and total
56 web-based administration.
58 This RPM installs SCM CVS plugin for GForge CDE which was previously bundled
59 with GForge CDE and provides CVS support to GForge CDE.
61 It also provides a specific version of CVSWeb wrapped in GForge CDE.
69 # cleaning build environment
70 [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
73 install -m 755 -d $RPM_BUILD_ROOT/%{CROND_DIR}/
74 install -m 644 cron.d/%{name} $RPM_BUILD_ROOT/%{CROND_DIR}/
76 # copying all needed stuff to %{PLUGIN_LIB}
77 install -m 755 -d $RPM_BUILD_ROOT/%{PLUGIN_LIB}
78 for dir in bin common sbin www cronjobs; do
79 cp -rp $dir $RPM_BUILD_ROOT/%{PLUGIN_LIB}/
81 chmod 755 $RPM_BUILD_ROOT/%{PLUGIN_LIB}/bin/*
82 chmod 755 $RPM_BUILD_ROOT/%{PLUGIN_LIB}/sbin/*
83 chmod 755 $RPM_BUILD_ROOT/%{PLUGIN_LIB}/cronjobs/cvscreate.sh
85 # installing CVSWeb cgi
86 #install -m 755 -d $RPM_BUILD_ROOT/%{GFORGE_BIN_DIR}/
87 #install -m 755 cgi-bin/cvsweb $RPM_BUILD_ROOT/%{GFORGE_BIN_DIR}/
88 #install -m 755 -d $RPM_BUILD_ROOT/%{PLUGIN_LIB}/cgi-bin/
89 #install -m 755 cgi-bin/cvsweb $RPM_BUILD_ROOT/%{PLUGIN_LIB}/cgi-bin/
91 # installing configuration file
92 install -m 755 -d $RPM_BUILD_ROOT/%{GFORGE_CONF_DIR}/
93 cp -rp etc/* $RPM_BUILD_ROOT/%{GFORGE_CONF_DIR}/
94 install -m 755 -d $RPM_BUILD_ROOT/%{PLUGIN_CONF}
95 install -m 664 etc/plugins/%{plugin}/config.php $RPM_BUILD_ROOT/%{PLUGIN_CONF}/
96 install -m 664 etc/plugins/%{plugin}/cvsweb.conf $RPM_BUILD_ROOT/%{PLUGIN_CONF}/
98 # installing installation specific language files
99 #install -m 755 -d $RPM_BUILD_ROOT/%{PLUGIN_CONF}/languages
100 #if ls rpm-specific/languages/*.tab &> /dev/null; then
101 # cp rpm-specific/languages/*.tab $RPM_BUILD_ROOT/%{PLUGIN_CONF}/languages/
108 if [ "$1" = "1" ] ; then
109 # link the plugin www rep to be accessed by web
110 ln -s %{PLUGIN_LIB}/www %{GFORGE_DIR}/www/plugins/%{plugin}
112 [ ! -f /bin/cvssh ] && ln -s %{PLUGIN_LIB}/bin/cvssh.pl /bin/cvssh
114 #GF_DOMAIN=$(grep ^domain_name= %{GFORGE_CONF_DIR}/gforge.conf | cut -d= -f2-)
116 # s#^\\\$sys_plugins_path=.*#\\\$sys_plugins_path='"%{PLUGINS_LIB_DIR}"';#;
117 # s#^\\\$sys_default_domain=.*#\\\$sys_default_domain='$GF_DOMAIN';#" %{PLUGIN_CONF}/config.php
119 # register plugin in database
120 %{GFORGE_BIN_DIR}/register-plugin %{plugin} CVS &> /dev/null
123 s/sys_use_scm=false/sys_use_scm=true/g" %{GFORGE_CONF_DIR}/gforge.conf
125 # initializing configuration
126 %{SBIN_DIR}/gforge-config
128 CHROOT=`grep '^gforge_chroot=' %{GFORGE_CONF_DIR}/gforge.conf | sed 's/.*=\s*\(.*\)/\1/'`
129 if [ ! -d $CHROOT/cvsroot ] ; then
130 mkdir -p $CHROOT/cvsroot
132 ln -s $CHROOT/cvsroot /cvsroot
139 if [ "$1" = "0" ] ; then
140 # unregister plugin in database
141 %{GFORGE_BIN_DIR}/unregister-plugin %{plugin}
143 [ -L /bin/cvssh ] && rm -f /bin/cvssh
150 [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
153 %defattr(-, root, root)
154 %doc AUTHORS COPYING README
155 %attr(0664, %{httpduser}, %{gfgroup}) %config(noreplace) %{PLUGIN_CONF}/config.php
156 %attr(0660, %{httpduser}, %{gfgroup}) %config(noreplace) %{PLUGIN_CONF}/cvsweb.conf
157 #%attr(0755,root,root) %{GFORGE_BIN_DIR}/cvsweb
158 %{GFORGE_CONF_DIR}/httpd.d
159 #%{PLUGIN_CONF}/languages
160 %{PLUGIN_CONF}/config.pl
164 #%{PLUGIN_LIB}/cgi-bin
165 #%{PLUGIN_LIB}/include
167 #%{PLUGIN_LIB}/rpm-specific
169 %{PLUGIN_LIB}/cronjobs
173 * Mon Jan 09 2006 Nicolas Quienot <nquienot@linagora.com>
175 * Fri Apr 29 2005 Xavier Rameau <xrameau@gmail.com>
176 - Added support for SuSE
177 * Sat Feb 19 2005 Guillaume Smet <guillaume-gforge@smet.org>
179 - replaced -f test with ls
180 - redirects register-plugin output to /dev/null
181 * Mon Jan 03 2005 Guillaume Smet <guillaume-gforge@smet.org>
182 - it's now possible to add specific language files in the RPM
183 * Sun Sep 26 2004 Guillaume Smet <guillaume-gforge@smet.org>
184 Initial RPM packaging