2 # RPM spec file for FusionForge
4 # Initial work for 4.8 by JL Bond Consulting
5 # Reworked for 5.1 by Alain Peyrat <aljeux@free.fr>
7 # Copyright (C) 2010 Alain Peyrat
15 %define gfgroup gforge
17 %define httpduser apache
18 %define httpdgroup apache
20 %define fforge_admin fforgeadmin
22 %define FORGE_DIR %{_datadir}/gforge
23 %define FORGE_CONF_DIR %{_sysconfdir}/gforge
24 %define FORGE_LANG_DIR %{_datadir}/locale
25 %define FORGE_VAR_LIB %{_var}/lib/gforge
27 %define reloadhttpd() /etc/init.d/httpd httpd reload >/dev/null 2>&1
30 Summary: FusionForge Collaborative Development Environment
36 Group: Development/Tools
37 Source0: %{name}-%{version}.tar.bz2
38 Source1: README.mediawiki.jlbond
39 Source2: LocalSettings.php
40 Patch1: fusionforge-4.8.3-mediawiki.patch
41 Patch2: fusionforge-4.8.3-register_globals.patch
42 URL: http://www.fusionforge.org/
43 BuildRoot: %{_tmppath}/%{name}-%{version}-root
44 Packager: Alain Peyrat <aljeux@free.fr>
46 Requires: httpd, mod_dav_svn, mod_ssl, php, php-pgsql, php-gd, php-mbstring, mailman
47 Requires: postgresql, postgresql-libs, postgresql-server, postgresql-contrib
48 Requires: postfix, openssh, inetd, which
50 Requires: /bin/sh, /bin/bash
51 Requires: perl, perl-DBI, perl-HTML-Parser, perl-Text-Autoformat, perl-Mail-Sendmail, perl-Sort-Versions
54 Requires: /var/www/jpgraph-1.19/jpgraph.php
55 #Requires: libnss-pgsql >= 1.4
57 Requires: php-htmlpurifier >= 4.0.0
60 Requires: /usr/bin/newaliases
61 Requires: php-pear-HTTP_WebDAV_Server
62 Requires: php-pecl-zip
64 # BuildRequires: sed, perl
66 Provides: gforge = %{version}
69 FusionForge provides many tools to aid collaboration in a
70 development project, such as bug-tracking, task management,
71 mailing-lists, SCM repository, forums, support request helper,
72 web/FTP hosting, release management, etc. All these services are
73 integrated into one web site and managed through a web interface.
75 %package plugin-aselectextauth
76 Summary: A-select external authentication for FusionForge
77 Group: Development/Tools
78 Requires: %{name} >= %{version}, php, postgresql
79 %description plugin-aselectextauth
80 A system plugin for authenticating users in fusionforge. A-Select is a framework
81 where users can be authenticated by several means with Authentication
84 %package plugin-cvssyncmail
85 Summary: Provides email notifications of changes to CVS repositories
86 Group: Development/Tools
87 Requires: %{name} >= %{version}, %{name}-scmcvs, python, php
88 %description plugin-cvssyncmail
89 This plugin adds the capability to notify users of changes to CVS repositories
92 %package plugin-cvstracker
93 Summary: Links CVS log messages to trackers and tasks.
94 Group: Development/Tools
95 Requires: %{name} >= %{version}, %{name}-scmcvs, php, postgresql
96 %description plugin-cvstracker
97 This is a fusionforge plugin that allows linking CVS log messages to
98 trackers and tasks. It will review all commits in a project and search for
99 specific string to know which task or tracker is related.
101 %package plugin-externalsearch
102 Summary: external search plugin for FusionForge
103 Group: Development/Tools
104 Requires: %{name} >= %{version}, php
105 %description plugin-externalsearch
106 This plugin adds a new search engine to your FusionForge site. It allows
107 your users to search your FusionForge site through external search engines
108 which have indexed it. You can define search engines you want to use in
109 the configuration file.
111 %package plugin-forumml
112 Summary: Mailman to forums plugin for FusionForge
113 Group: Development/Tools
114 Requires: %{name} >= %{version}, php
115 %description plugin-forumml
116 ForumML integes mailing lists as forums in FusionForge
118 %package plugin-fckeditor
119 Summary: FCKEditor plugin for FusionForge
120 Group: Development/Tools
121 Requires: %{name} >= %{version}, php
122 %description plugin-fckeditor
123 FCKEditor is a WYSIWYG text editor that displays within a web browser.
125 %package plugin-gravatar
126 Summary: Gravatar plugin for FusionForge
127 Group: Development/Tools
128 Requires: %{name} >= %{version}, php
129 %description plugin-gravatar
130 This plugin adds faces images to FusionForge users using the gravatar service.
132 %package plugin-hudson
133 Summary: Hudson continous integration plugin for FusionForge
134 Group: Development/Tools
135 Requires: %{name} >= %{version}, php
136 %description plugin-hudson
137 This plugin adds hudson integration to FusionForge.
139 %package plugin-ldapextauth
140 Summary: external LDAP authentication for FusionForge plugin
141 Group: Development/Tools
142 Requires: %{name} >= %{version}, php, php-ldap
143 %description plugin-ldapextauth
144 This plugin provides LDAP authentication capability for FusionForge.
146 %package plugin-mantis
147 Summary: MantisBT plugin for FusionForge
148 Group: Development/Tools
149 Requires: %{name} >= %{version}, php
150 %description plugin-mantis
151 A plugin to use the MantisBT web-based bug tracking system with FusionForge.
153 %package plugin-mediawiki
154 Summary: Mediawiki plugin for FusionForge
155 Group: Development/Tools
156 Requires: %{name} >= %{version}, php, mediawiki
157 %description plugin-mediawiki
158 This is a plugin to integrate MediaWiki within FusionForge.
160 %package plugin-online_help
161 Summary: online_help plugin for FusionForge
162 Group: Development/Tools
163 Requires: %{name} >= %{version}, php
164 %description plugin-online_help
165 This is a online_help plugin within FusionForge.
168 Summary: OSLC plugin for FusionForge
169 Group: Development/Tools
170 Requires: %{name} >= %{version}, php, php-ZendFramework > 1.10
171 %description plugin-oslc
172 OSLC-CM compatible plugin for FusionForge tracker system.
173 OSLC-CM is a standard specification for APIs in Change Management
174 applications. It is based on Web technologies such as REST, RDF, or AJAX.
175 This package provides an OSLC-CM V2 compatible plugin for FusionForge
178 %package plugin-projects_hierarchy
179 Summary: projects_hierarchy plugin for FusionForge
180 Group: Development/Tools
181 Requires: %{name} >= %{version}, php
182 %description plugin-projects_hierarchy
183 This is a projects_hierarchy plugin within FusionForge.
185 %package plugin-quota_management
186 Summary: quota_management plugin for FusionForge
187 Group: Development/Tools
188 Requires: %{name} >= %{version}, php
189 %description plugin-quota_management
190 This is a quota_management plugin within FusionForge.
192 %package plugin-scmarch
193 Summary: Arch version control plugin for FusionForge
194 Group: Development/Tools
195 Requires: %{name} >= %{version}, php, arch
196 %description plugin-scmarch
197 This is a plugin to integrate Arch version control system with FusionForge
199 %package plugin-scmbzr
200 Summary: Bazaar version control plugin for FusionForge
201 Group: Development/Tools
202 Requires: %{name} >= %{version}, php, bazaar
203 %description plugin-scmbzr
204 This is a plugin to integrate Bazaar version control system with FusionForge
206 %package plugin-scmdarcs
207 Summary: DARCS version control plugin for FusionForge
208 Group: Development/Tools
209 Requires: %{name} >= %{version}, php, darcs
210 %description plugin-scmdarcs
211 This is a plugin to integrate DARCS version control system with FusionForge
213 %package plugin-scmgit
214 Summary: Git version control plugin for FusionForge
215 Group: Development/Tools
216 Requires: %{name} >= %{version}, php, git, gitweb
217 %description plugin-scmgit
218 This is a plugin to integrate Git version control system with FusionForge
220 %package plugin-scmhg
221 Summary: Mercurial (hg) version control plugin for FusionForge
222 Group: Development/Tools
223 Requires: %{name} >= %{version}, php, hg
224 %description plugin-scmhg
225 This is a plugin to integrate Mercurial (hg) version control system with FusionForge
227 %package plugin-scmccase
228 Summary: Clear Case plugin for FusionForge
229 Group: Development/Tools
230 Requires: %{name} >= %{version}, php
231 %description plugin-scmccase
232 This is the Clear Case plugin for FusionForge. It creats Clear Case repositories
233 for projects within FusionForge.
235 %package plugin-scmcvs
236 Summary: CVS plugin for FusionForge
237 Group: Development/Tools
238 Requires: %{name} >= %{version}, php, cvs
239 %description plugin-scmcvs
240 FusionForge is a web-based Collaborative Development Environment offering
241 easy access to CVS, mailing lists, bug tracking, message
242 boards/forums, task management, permanent file archival, and total
243 web-based administration.
245 This RPM installs SCM CVS plugin for FusionForge and provides CVS support
248 It also provides a specific version of CVSWeb wrapped in FusionForge.
250 %package plugin-scmsvn
251 Summary: Subversion plugin for FusionForge
252 Group: Development/Tools
253 Requires: %{name} >= %{version}, php, subversion
254 %description plugin-scmsvn
255 This RPM installs SCM SVN plugin for FusionForge and provides svn support
258 %package plugin-svncommitemail
259 Summary: subversion commit email plugin for FusionForge
260 Group: Development/Tools
261 Requires: %{name} >= %{version}, php, subversion, perl, %{name}-scmsvn >= %{version}
262 %description plugin-svncommitemail
263 This RPM installs subversion commit email notification plugin for FusionForge.
265 %package plugin-svntracker
266 Summary: SVNTracker plugin for FusionForge
267 Group: Development/Tools
268 Requires: %{name} >= %{version}, php, subversion, perl, postgresql, %{name}-scmsvn >= %{version}
269 %description plugin-svntracker
270 SVNTracker plugin allows linking SVN log messages to Trackers and tasks.
271 It will review all commits in a project and search for a specific string
272 to know which task or tracker is related.
274 %package plugin-blocks
275 Summary: Blocks plugin for FusionForge
276 Group: Development/Tools
277 Requires: %{name} >= %{version}
278 %description plugin-blocks
279 HTML blocks plugin for FusionForge.
281 %package plugin-extratabs
282 Summary: extratabs plugin for FusionForge
283 Group: Development/Tools
284 Requires: %{name} >= %{version}
285 %description plugin-extratabs
286 HTML extratabs plugin for FusionForge.
289 Summary: Wiki plugin for FusionForge
290 Group: Development/Tools
291 Requires: %{name} >= %{version}, php, postgresql
292 %description plugin-wiki
293 Wiki plugin for FusionForge. Allows for one wiki per project, integrated search,
294 page edits displayed on activity tab, and multi-project wiki preferences.
296 %package plugin-projectlabels
297 Summary: Labels plugin for FusionForge
298 Group: Development/Tools
299 Requires: %{name} >= %{version}, php, postgresql
300 %description plugin-projectlabels
301 Project Labels plugin for FusionForge.
303 %package plugin-contribtracker
304 Summary: contribtracker plugin for FusionForge
305 Group: Development/Tools
306 Requires: %{name} >= %{version}, php, postgresql
307 %description plugin-contribtracker
308 contribtracker plugin for FusionForge.
310 %package plugin-globalsearch
311 Summary: globalsearch plugin for FusionForge
312 Group: Development/Tools
313 Requires: %{name} >= %{version}, php, postgresql
314 %description plugin-globalsearch
315 globalsearch plugin for FusionForge.
317 %package plugin-mailman
318 Summary: Mailman plugin for FusionForge
319 Group: Development/Tools
320 Requires: %{name} >= %{version}, php
321 %description plugin-mailman
322 Mailman plugin for FusionForge.
324 %package plugin-mantisbt
325 Summary: mantisbt plugin for FusionForge
326 Group: Development/Tools
327 Requires: %{name} >= %{version}, php, postgresql
328 %description plugin-mantisbt
329 mantisbt plugin for FusionForge.
338 # empty build section
341 %{__rm} -rf $RPM_BUILD_ROOT
343 # creating required directories
344 %{__install} -m 755 -d $RPM_BUILD_ROOT%{_sysconfdir}/httpd/conf.d
345 %{__install} -m 755 -d $RPM_BUILD_ROOT%{_sysconfdir}/cron.d
346 %{__install} -m 755 -d $RPM_BUILD_ROOT/bin
347 %{__install} -m 755 -d $RPM_BUILD_ROOT%{FORGE_DIR}
348 %{__install} -m 755 -d $RPM_BUILD_ROOT%{FORGE_DIR}/lib
349 %{__install} -m 755 -d $RPM_BUILD_ROOT%{FORGE_CONF_DIR}
350 %{__install} -m 755 -d $RPM_BUILD_ROOT%{FORGE_CONF_DIR}/httpd.d
351 %{__install} -m 755 -d $RPM_BUILD_ROOT%{FORGE_CONF_DIR}/httpd.conf.d
352 %{__install} -m 755 -d $RPM_BUILD_ROOT%{FORGE_CONF_DIR}/config.ini.d
353 %{__install} -m 755 -d $RPM_BUILD_ROOT%{FORGE_CONF_DIR}/plugins
354 %{__install} -m 755 -d $RPM_BUILD_ROOT%{FORGE_LANG_DIR}
355 %{__install} -m 755 -d $RPM_BUILD_ROOT%{FORGE_VAR_LIB}
356 %{__install} -m 755 -d $RPM_BUILD_ROOT%{FORGE_VAR_LIB}/upload
357 %{__install} -m 755 -d $RPM_BUILD_ROOT%{FORGE_VAR_LIB}/scmtarballs
358 %{__install} -m 755 -d $RPM_BUILD_ROOT%{FORGE_VAR_LIB}/scmsnapshots
359 %{__install} -m 755 -d $RPM_BUILD_ROOT%{FORGE_VAR_LIB}/homedirs
360 %{__install} -m 755 -d $RPM_BUILD_ROOT%{FORGE_VAR_LIB}/dumps
361 %{__install} -m 755 -d $RPM_BUILD_ROOT%{FORGE_VAR_LIB}/etc
362 %{__install} -m 755 -d $RPM_BUILD_ROOT%{FORGE_VAR_LIB}/chroot/scmrepos/svn
363 %{__install} -m 755 -d $RPM_BUILD_ROOT%{FORGE_VAR_LIB}/chroot/scmrepos/cvs
364 %{__install} -m 755 -d $RPM_BUILD_ROOT/home/groups
365 %{__install} -m 755 -d $RPM_BUILD_ROOT/var/log/gforge
366 # mock mediawiki directory because we symlink GForge skin to Monobook
367 %{__install} -m 755 -d $RPM_BUILD_ROOT/usr/share/mediawiki/skins
369 # we define a search and replace function, we'll be using this a lot
370 # to fix several parts of the installation
373 /usr/bin/find . -type f | xargs grep -l ${1} | xargs %{__sed} -i -e "s+${1}+${2}+g"
376 # we need to fix up the fusionforge-install-3-db.php script to ref %{FORGE_DIR}
377 search_and_replace "/opt/gforge" "%{FORGE_DIR}"
380 %{__cp} -a * $RPM_BUILD_ROOT/%{FORGE_DIR}/
382 # create project vhost space symlink
383 %{__ln_s} /home/groups $RPM_BUILD_ROOT/%{FORGE_VAR_LIB}/homedirs/groups
384 # install restricted shell for cvs accounts
385 %{__cp} -a plugins/scmcvs/bin/cvssh.pl $RPM_BUILD_ROOT/bin/
387 # Fix configuration files entries (various sys_* variables)
388 #%{__cp} -a etc/local.inc.example $RPM_BUILD_ROOT/%{FORGE_CONF_DIR}/local.inc
389 #%{__sed} -i -e "s!/path/to/gforge!%{FORGE_DIR}!g" $RPM_BUILD_ROOT%{FORGE_CONF_DIR}/local.inc
390 #%{__sed} -i -e "s!/path/to/jpgraph!/var/www/jpgraph-1.19!g" $RPM_BUILD_ROOT%{FORGE_CONF_DIR}/local.inc
391 #%{__sed} -i -e "s/\$sys_dbname=.*/\$sys_dbname='%{dbname}';/g" $RPM_BUILD_ROOT%{FORGE_CONF_DIR}/local.inc
392 #%{__sed} -i -e "s/\$sys_dbuser=.*/\$sys_dbuser='%{dbuser}';/g" $RPM_BUILD_ROOT%{FORGE_CONF_DIR}/local.inc
393 #%{__sed} -i -e "s/\$sys_apache_user=.*/\$sys_apache_user='%{httpduser}';/g" $RPM_BUILD_ROOT%{FORGE_CONF_DIR}/local.inc
394 #%{__sed} -i -e "s/\$sys_apache_group=.*/\$sys_apache_group='%{httpdgroup}';/g" $RPM_BUILD_ROOT%{FORGE_CONF_DIR}/local.inc
395 #%{__sed} -i -e "s|\$sys_plugins_path=.*|\$sys_plugins_path=\"%{FORGE_DIR}/plugins\";|g" $RPM_BUILD_ROOT%{FORGE_CONF_DIR}/local.inc
396 #%{__sed} -i -e "s|\$sys_upload_dir=.*|\$sys_upload_dir=\"\$sys_var_path/upload\";|g" $RPM_BUILD_ROOT%{FORGE_CONF_DIR}/local.inc
397 #%{__sed} -i -e "s|\$sys_urlroot=.*|\$sys_urlroot=\"%{FORGE_DIR}/www\";|g" $RPM_BUILD_ROOT%{FORGE_CONF_DIR}/local.inc
399 # Replace sys_localinc, sys_gfdbname, sys_gfdbuser
400 #%{__cp} -a etc/httpd.secrets.example $RPM_BUILD_ROOT%{FORGE_CONF_DIR}/httpd.secrets
401 #%{__sed} -i -e "s|sys_localinc.*$|sys_localinc %{FORGE_CONF_DIR}/local.inc|g" $RPM_BUILD_ROOT%{FORGE_CONF_DIR}/httpd.secrets
402 #%{__sed} -i -e "s|sys_gfdbname.*$|sys_gfdbname %{dbname}|g" $RPM_BUILD_ROOT%{FORGE_CONF_DIR}/httpd.secrets
403 #%{__sed} -i -e "s|sys_gfdbuser.*$|sys_gfdbname %{dbuser}|g" $RPM_BUILD_ROOT%{FORGE_CONF_DIR}/httpd.secrets
405 # Apache configuration file
406 %{__cp} -a etc/httpd.conf.d-fhs/* $RPM_BUILD_ROOT%{FORGE_CONF_DIR}/httpd.conf.d/
407 %{__cp} -a etc/config.ini-fhs $RPM_BUILD_ROOT%{FORGE_CONF_DIR}/
408 %{__cp} -a etc/httpd.conf-fhs $RPM_BUILD_ROOT%{_sysconfdir}/httpd/conf.d/gforge.conf
409 #%{__cp} -a etc/gforge-httpd.conf.example $RPM_BUILD_ROOT%{_sysconfdir}/httpd/conf.d/gforge.conf
410 #%{__sed} -i -e 's|.*php_value[[:space:]]*include_path.*$|\tphp_value\tinclude_path ".:/usr/share/gforge/www/include:/usr/share/gforge:/etc/gforge:/usr/share/gforge/common:/usr/share/gforge/www:/usr/share/gforge/plugins"|' $RPM_BUILD_ROOT%{_sysconfdir}/httpd/conf.d/gforge.conf
411 # install fusionforge crontab
412 %{__install} -m 644 packaging/cron.d/cron.fusionforge $RPM_BUILD_ROOT%{_sysconfdir}/cron.d/%{name}
414 %{__install} -m 644 deb-specific/sqlhelper.pm $RPM_BUILD_ROOT%{FORGE_DIR}/lib/sqlhelper.pm
416 # Install locale files in Redhat standard location
417 %{__cp} -a locales/* $RPM_BUILD_ROOT/%{FORGE_LANG_DIR}/
419 %{__rm} -f $RPM_BUILD_ROOT%{FORGE_DIR}/utils/fusionforge-shell-postgresql.spec
421 %{__rm} -f $RPM_BUILD_ROOT%{FORGE_DIR}/COPYING.php
422 %{__rm} -fr $RPM_BUILD_ROOT/%{FORGE_DIR}/packaging
423 %{__rm} -fr $RPM_BUILD_ROOT/%{FORGE_DIR}/deb-specific
424 %{__rm} -fr $RPM_BUILD_ROOT/%{FORGE_DIR}/rpm-specific
425 %{__rm} -fr $RPM_BUILD_ROOT/%{FORGE_DIR}/plugins/*/packaging
426 %{__rm} -fr $RPM_BUILD_ROOT/%{FORGE_DIR}/plugins/*/*.spec
429 %{__cp} $RPM_BUILD_ROOT%{FORGE_DIR}/plugins/*/etc/*.ini $RPM_BUILD_ROOT%{FORGE_CONF_DIR}/config.ini.d/
430 %{__cp} $RPM_BUILD_ROOT%{FORGE_DIR}/plugins/*/etc/cron.d/* $RPM_BUILD_ROOT%{_sysconfdir}/cron.d/
431 %{__cp} $RPM_BUILD_ROOT%{FORGE_DIR}/plugins/*/etc/httpd.d/* $RPM_BUILD_ROOT%{FORGE_CONF_DIR}/httpd.d/
432 %{__cp} -rp $RPM_BUILD_ROOT%{FORGE_DIR}/plugins/*/etc/plugins/* $RPM_BUILD_ROOT%{FORGE_CONF_DIR}/plugins/
433 %{__rm} -f $RPM_BUILD_ROOT%{FORGE_DIR}/plugins/README
435 # plugin: aselectextauth
437 # plugin: cvssyncmail
440 # delete stuff that is clearly outdated/obsolete so we don't package this and confuse others
441 %{__rm} -f $RPM_BUILD_ROOT%{FORGE_DIR}/plugins/cvstracker/httpd.conf
442 %{__rm} -f $RPM_BUILD_ROOT%{FORGE_DIR}/plugins/cvstracker/Makefile
443 %{__rm} -rf $RPM_BUILD_ROOT%{FORGE_DIR}/plugins/cvstracker/rpm-specific
445 # plugin: externalsearch
450 %{__ln_s} ../../plugins/forumml/www $RPM_BUILD_ROOT%{FORGE_DIR}/www/plugins/forumml
453 %{__ln_s} ../../plugins/hudson/www $RPM_BUILD_ROOT%{FORGE_DIR}/www/plugins/hudson
455 # plugin: ldapextauth
456 %{__rm} -rf $RPM_BUILD_ROOT%{FORGE_DIR}/plugins/ldapextauth/rpm-specific
461 # create symlink for apache configuration for mediawiki plugin
462 ## first, delete the php_admin_value include_path
463 %{__sed} -i -e "/^.*php_admin_value[[:space:]]*include_path.*/d" $RPM_BUILD_ROOT%{FORGE_DIR}/plugins/mediawiki/etc/httpd.d/61plugin-mediawiki
464 %{__ln_s} %{FORGE_DIR}/plugins/mediawiki/etc/httpd.d/61plugin-mediawiki $RPM_BUILD_ROOT%{FORGE_CONF_DIR}/httpd.d/03mediawiki.conf
465 # this is pre-activated, so create the config symlink
466 #%{__ln_s} %{FORGE_DIR}/plugins/mediawiki/etc/plugins/mediawiki $RPM_BUILD_ROOT%{FORGE_CONF_DIR}/plugins/mediawiki
467 # create symlinks to use MonoBook as the GForge skin
468 %{__ln_s} monobook $RPM_BUILD_ROOT/usr/share/mediawiki/skins/gforge
469 %{__ln_s} MonoBook.deps.php $RPM_BUILD_ROOT/usr/share/mediawiki/skins/GForge.deps.php
470 %{__ln_s} MonoBook.php $RPM_BUILD_ROOT/usr/share/mediawiki/skins/GForge.php
471 # sort out the GForge skin files and remove obsolete code
472 %{__rm} -rf $RPM_BUILD_ROOT%{FORGE_DIR}/plugins/mediawiki/mediawiki-skin
473 %{__rm} -rf $RPM_BUILD_ROOT%{FORGE_DIR}/plugins/mediawiki/usr/share/gforge
474 %{__rm} -rf $RPM_BUILD_ROOT%{FORGE_DIR}/plugins/mediawiki/usr/share/mediawiki/skins
475 # insert our own LocalSettings.php
476 #%{__cp} -f %{SOURCE2} $RPM_BUILD_ROOT%{FORGE_DIR}/plugins/mediawiki/usr/share/mediawiki/LocalSettings.php
477 # insert our own README file
478 %{__cp} -f %{SOURCE1} $RPM_BUILD_ROOT%{FORGE_DIR}/plugins/mediawiki/README.jlbond
480 # plugin: online_help
482 # plugin: projects_hierarchy
484 # plugin: quota_management
493 %{__ln_s} ../../plugins/scmcvs $RPM_BUILD_ROOT%{FORGE_DIR}/www/plugins/scmcvs
494 %{__install} -m 644 plugins/scmcvs/cron.d/%{name}-plugin-scmcvs $RPM_BUILD_ROOT%{_sysconfdir}/cron.d
499 # this is pre-activated, so create the config symlink
500 %{__ln_s} ../../plugins/scmsvn/www $RPM_BUILD_ROOT%{FORGE_DIR}/www/plugins/scmsvn
503 %{__ln_s} ../../plugins/scmgit/www $RPM_BUILD_ROOT%{FORGE_DIR}/www/plugins/scmgit
504 %{__install} -m 755 -d $RPM_BUILD_ROOT%{FORGE_DIR}/plugins/scmgit/www/cgi-bin
505 %{__ln_s} /usr/share/gitweb/gitweb.cgi $RPM_BUILD_ROOT%{FORGE_DIR}/plugins/scmgit/www/cgi-bin/gitweb.cgi
506 %{__ln_s} /usr/share/gitweb/static/gitweb.css $RPM_BUILD_ROOT%{FORGE_DIR}/plugins/scmgit/www/gitweb.css
507 %{__ln_s} /usr/share/gitweb/static/gitweb.js $RPM_BUILD_ROOT%{FORGE_DIR}/plugins/scmgit/www/gitweb.js
511 # plugin: svncommitemail
515 %{__install} -m 644 plugins/svntracker/rpm-specific/cron.d/gforge-plugin-svntracker $RPM_BUILD_ROOT%{_sysconfdir}/cron.d
518 %{__ln_s} ../../plugins/blocks/www $RPM_BUILD_ROOT%{FORGE_DIR}/www/plugins/blocks
521 %{__ln_s} ../../plugins/extratabs/www $RPM_BUILD_ROOT%{FORGE_DIR}/www/plugins/extratabs
524 %{__ln_s} ../plugins/wiki/www $RPM_BUILD_ROOT%{FORGE_DIR}/www/wiki
527 %{__ln_s} ../../plugins/oslc/www $RPM_BUILD_ROOT%{FORGE_DIR}/www/plugins/oslc
529 # plugin: projectlabels
530 %{__ln_s} ../../plugins/projectlabels/www $RPM_BUILD_ROOT%{FORGE_DIR}/www/plugins/projectlabels
532 # plugin: contribtracker
533 %{__ln_s} ../../plugins/contribtracker/www $RPM_BUILD_ROOT%{FORGE_DIR}/www/plugins/contribtracker
535 # plugin: globalsearch
536 %{__ln_s} ../../plugins/globalsearch/www $RPM_BUILD_ROOT%{FORGE_DIR}/www/plugins/globalsearch
539 %{__ln_s} ../../plugins/mailman/www $RPM_BUILD_ROOT%{FORGE_DIR}/www/plugins/mailman
542 %{__ln_s} ../../plugins/mantisbt/www $RPM_BUILD_ROOT%{FORGE_DIR}/www/plugins/mantisbt
544 ### END OF PLUGIN SETUP ###
547 # we will need postgresql to be running. we start it, even if it already is running
548 # this won't hurt anything, just ensure we have a running database
549 /sbin/service postgresql start >>/var/log/%{name}-install.log 2>&1
551 if [ "$1" -eq "1" ]; then
552 # setup user/group for gforge
553 if [ `/usr/bin/getent passwd | /bin/cut -d: -f1 | /bin/grep -c %{gfuser}` -eq 0 ] ; then
554 echo "Did not find existing fusionforge user. Adding fusionforge group and user..." >>/var/log/%{name}-install.log 2>&1
555 /usr/sbin/groupadd -r %{gfgroup}
556 /usr/sbin/useradd -r -g %{gfgroup} -d %{FORGE_DIR} -s /bin/bash -c "FusionForge User" %{gfuser}
561 if [ "$1" -eq "1" ]; then
562 # check to see if the database already exists. if not, we proceed to create it.
563 # if so, we print a warning message.
564 echo "\q" | su - postgres -c "/usr/bin/psql %{dbname}" 1>/dev/null 2>&1
566 if [ $ret -ne 0 ] ; then
568 FFORGE_USER=%{dbuser}
569 FFORGE_ADMIN_USER=%{fforge_admin}
570 FFORGE_ADMIN_PASSWORD=$(/bin/dd if=/dev/urandom bs=32 count=1 2>/dev/null | /usr/bin/sha1sum | cut -c1-8)
571 export FFORGE_DB FFORGE_USER FFORGE_ADMIN_USER FFORGE_ADMIN_PASSWORD
572 /usr/bin/php %{FORGE_DIR}/fusionforge-install-3-db.php >>/var/log/%{name}-install.log 2>&1
574 echo "Database %{dbname} already exists. Will not proceed with database setup." >>/var/log/%{name}-install.log 2>&1
575 echo "Please see %{FORGE_DIR}/fusionforge-install-3-db.php and run it manually" >>/var/log/%{name}-install.log 2>&1
576 echo "if deemed necessary." >>/var/log/%{name}-install.log 2>&1
579 /usr/bin/php %{FORGE_DIR}/db/upgrade-db.php >>/var/log/%{name}-install.log 2>&1
581 HOSTNAME=`hostname -f`
582 #%{__sed} -i -e "s!gforge.company.com!$HOSTNAME!g" %{FORGE_CONF_DIR}/local.inc
583 #%{__sed} -i -e "s!gforge.company.com!$HOSTNAME!g" /etc/httpd/conf.d/gforge.conf
584 [ ! -d %{FORGE_VAR_LIB}/etc ] || mkdir %{FORGE_VAR_LIB}/etc
585 touch %{FORGE_VAR_LIB}/etc/httpd.vhosts
587 # ====================
588 # Installation from scratch, let's generate initial config files
589 if [ ! -e %{FORGE_CONF_DIR}/config.ini.d ] ; then
590 mkdir -p %{FORGE_CONF_DIR}/config.ini.d
592 if [ ! -e %{FORGE_CONF_DIR}/config.ini.d/rpm-install.ini ] ; then
593 cat > %{FORGE_CONF_DIR}/config.ini.d/rpm-install.ini <<EOF
594 ; This file was generated by the RPM installation system.
595 ; You can edit the values here or move them to other files.
598 forge_name=FusionForge
602 if [ ! -e %{FORGE_CONF_DIR}/config.ini.d/rpm-install-secrets.ini ] ; then
603 t=$(mktemp %{FORGE_CONF_DIR}/config.ini.d/rpm-install-secrets.ini.XXXXXX)
604 if [ "$pw" = "" ] ; then
605 if [ -c /dev/urandom ]; then # ...using /dev/urandom when possible
606 pw=$(dd if=/dev/urandom count=1 bs=16 2> /dev/null | md5sum | cut -c-32)
607 else # ...or something else if need be.
608 pw=$(date +"%s:%N" | md5sum | cut -c-32)
613 ; This file was generated by the RPM installation system.
614 ; You can edit the values here or move them to other files.
615 ; These values should not go into world-readable files!
619 database_name=%{dbname}
620 database_user=%{dbuser}
622 #database_password=$pw
624 mv $t %{FORGE_CONF_DIR}/config.ini.d/rpm-install-secrets.ini
626 # ====================
628 /usr/bin/php %{FORGE_DIR}/fusionforge-install-4-config.php >>/var/log/%{name}-install.log 2>&1
630 /etc/init.d/httpd restart >/dev/null 2>&1
632 chkconfig postgresql on >/dev/null 2>&1
634 # generate random hash for session_key
635 HASH=$(/bin/dd if=/dev/urandom bs=32 count=1 2>/dev/null | /usr/bin/sha1sum | cut -c1-40)
636 #%{__sed} -i -e "s/sys_session_key = 'foobar'/sys_session_key = '$HASH'/g" %{FORGE_CONF_DIR}/local.inc
638 # add noreply mail alias
639 echo "noreply: /dev/null" >> /etc/aliases
640 /usr/bin/newaliases >/dev/null 2>&1
642 if [ $ret -ne 0 ] ; then
643 # display message about default admin account
645 echo "You can now connect to your FusionForge installation using:"
647 echo " http://$HOSTNAME/"
649 echo "The default fusionforge administrator account and password is:"
651 echo "Account Name = %{fforge_admin}"
652 echo "Password = $FFORGE_ADMIN_PASSWORD"
653 #echo "Please change it to something appropriate upon initial login."
654 # give user a few seconds to read the message
658 /usr/bin/php %{FORGE_DIR}/db/upgrade-db.php >>/var/log/%{name}-upgrade.log 2>&1
664 if [ "$1" -eq "0" ]; then
666 if [ `/usr/bin/getent passwd | /bin/cut -d: -f1 | /bin/grep -c %{gfuser}` -ne 0 ] ; then
667 echo "Removing fusionforge user..."
668 /usr/sbin/userdel %{gfuser}
671 if [ `/usr/bin/getent group | /bin/cut -d: -f1 | /bin/grep -c %{gfuser}` -ne 0 ] ; then
672 echo "Removing fusionforge group..."
673 /usr/sbin/groupdel %{gfgroup}
677 %post plugin-aselectextauth
678 /usr/bin/psql -U %{dbuser} %{dbname} -f %{FORGE_DIR}/plugins/aselectextauth/db/install_aselectextauth.psql
680 %preun plugin-aselectextauth
681 /usr/bin/psql -U %{dbuser} %{dbname} -f %{FORGE_DIR}/plugins/aselectextauth/db/uninstall_aselectextauth.psql
684 [ "$RPM_BUILD_ROOT" != "/" ] && %{__rm} -rf $RPM_BUILD_ROOT
687 %defattr(-, root, root)
688 %doc AUTHORS* CHANGES COPYING INSTALL* NEWS README*
690 #%attr(0660, %{httpduser}, gforge) %config(noreplace) %{FORGE_CONF_DIR}/local.inc
691 #%attr(0640, %{httpduser}, %{httpdgroup}) %config(noreplace) %{_sysconfdir}/httpd/conf.d/gforge.conf
692 %attr(0644, root, root) %{_sysconfdir}/cron.d/%{name}
693 %attr(0775, %{httpduser}, %{httpdgroup}) %dir %{FORGE_VAR_LIB}/upload
694 %attr(755, root, %{httpdgroup}) %dir %{FORGE_DIR}
695 # Files under %{FORGE_DIR}
696 %{FORGE_DIR}/AUTHORS*
699 %{FORGE_DIR}/INSTALL*
702 %{FORGE_DIR}/fusionforge.spec
703 %{FORGE_DIR}/fusionforge-install*
704 %{FORGE_DIR}/gforge-restricted.sh
705 %{FORGE_DIR}/install.sh
706 %{FORGE_DIR}/install-common.inc
707 # Directories under %{FORGE_DIR}
710 #%{FORGE_DIR}/contrib
711 %{FORGE_DIR}/cronjobs
715 %{FORGE_DIR}/image-sources
719 %{FORGE_DIR}/translations
722 %dir %{FORGE_DIR}/www
723 # files under %{FORGE_DIR}/www
724 %{FORGE_DIR}/www/*.php
725 %{FORGE_DIR}/www/users
726 %{FORGE_DIR}/www/favicon.ico
727 %{FORGE_DIR}/www/projects
728 # directories under %{FORGE_DIR}/www
729 %{FORGE_DIR}/www/account
730 %{FORGE_DIR}/www/activity
731 %{FORGE_DIR}/www/admin
732 %{FORGE_DIR}/www/developer
733 %{FORGE_DIR}/www/docman
734 %{FORGE_DIR}/www/export
735 %{FORGE_DIR}/www/forum
737 %{FORGE_DIR}/www/images
738 %{FORGE_DIR}/www/include
739 %{FORGE_DIR}/www/jscook
741 %{FORGE_DIR}/www/mail
744 %{FORGE_DIR}/www/news
745 %{FORGE_DIR}/www/people
747 %{FORGE_DIR}/www/project
748 %{FORGE_DIR}/www/register
749 %{FORGE_DIR}/www/reporting
751 %{FORGE_DIR}/www/scripts
752 %{FORGE_DIR}/www/search
753 %{FORGE_DIR}/www/snippet
754 %{FORGE_DIR}/www/soap
755 %{FORGE_DIR}/www/softwaremap
756 %{FORGE_DIR}/www/squal
757 %{FORGE_DIR}/www/stats
758 %{FORGE_DIR}/www/survey
759 %{FORGE_DIR}/www/tabber
760 %{FORGE_DIR}/www/themes
762 %{FORGE_DIR}/www/tracker
763 %{FORGE_DIR}/www/trove
764 %{FORGE_DIR}/www/widgets
765 #%{FORGE_DIR}/www/plugins/online_help
766 #%{FORGE_DIR}/www/plugins/projects_hierarchy
767 #%{FORGE_DIR}/www/plugins/quota_management
768 %dir %{FORGE_DIR}/plugins
769 %{FORGE_DIR}/plugins/env.inc.php
770 #%{FORGE_DIR}/plugins/online_help
771 #%{FORGE_DIR}/plugins/projects_hierarchy
772 #%{FORGE_DIR}/plugins/quota_management
774 %dir %{FORGE_CONF_DIR}
775 #%config(noreplace) %{FORGE_CONF_DIR}/httpd.secrets
776 %dir %{FORGE_CONF_DIR}/httpd.d
777 %dir %{FORGE_CONF_DIR}/httpd.conf.d
778 %{FORGE_CONF_DIR}/httpd.conf.d/*
779 %{FORGE_CONF_DIR}/config.ini-fhs
780 %{_sysconfdir}/httpd/conf.d/gforge.conf
781 %dir %attr(0775,root,%{httpdgroup}) %{FORGE_CONF_DIR}/plugins
782 %dir %{FORGE_VAR_LIB}/scmtarballs
783 %dir %{FORGE_VAR_LIB}/scmsnapshots
784 %dir %{FORGE_VAR_LIB}/dumps
785 %{FORGE_VAR_LIB}/homedirs
790 %files plugin-aselectextauth
791 %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/aselectextauth.ini
792 %{FORGE_DIR}/plugins/aselectextauth
794 %files plugin-cvssyncmail
795 %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/cvssyncmail.ini
796 %{FORGE_DIR}/plugins/cvssyncmail
798 %files plugin-cvstracker
799 %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/cvstracker.ini
800 %{FORGE_DIR}/plugins/cvstracker
801 %{FORGE_DIR}/www/plugins/cvstracker
802 %attr(-,%{httpduser},%{httpdgroup}) %{FORGE_CONF_DIR}/plugins/cvstracker
804 %files plugin-externalsearch
805 %config(noreplace) %{FORGE_CONF_DIR}/plugins/externalsearch/
806 %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/externalsearch.ini
807 %{FORGE_DIR}/plugins/externalsearch
809 %files plugin-fckeditor
810 %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/fckeditor.ini
811 %{FORGE_DIR}/plugins/fckeditor
812 %{FORGE_DIR}/www/plugins/fckeditor
814 %files plugin-forumml
815 %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/forumml.ini
816 %{FORGE_DIR}/plugins/forumml
817 %{FORGE_DIR}/www/plugins/forumml
819 %files plugin-gravatar
820 %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/gravatar.ini
821 %{FORGE_DIR}/plugins/gravatar
824 %config(noreplace) %{FORGE_CONF_DIR}/plugins/hudson/
825 %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/hudson.ini
826 %{FORGE_CONF_DIR}/httpd.d/62plugin-hudson
827 %{FORGE_DIR}/plugins/hudson
828 %{FORGE_DIR}/www/plugins/hudson
830 %files plugin-ldapextauth
831 %config(noreplace) %{FORGE_CONF_DIR}/plugins/ldapextauth/
832 %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/ldapextauth.ini
833 %{FORGE_DIR}/plugins/ldapextauth
836 %config(noreplace) %{FORGE_CONF_DIR}/plugins/mantis/
837 %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/mantis.ini
838 %{FORGE_DIR}/plugins/mantis
839 %{FORGE_DIR}/www/plugins/mantis
841 %files plugin-mediawiki
842 %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/mediawiki.ini
843 %config(noreplace) %{FORGE_CONF_DIR}/httpd.d/03mediawiki.conf
844 %{FORGE_CONF_DIR}/httpd.d/61plugin-mediawiki
845 %{FORGE_DIR}/plugins/mediawiki/
846 %{FORGE_DIR}/www/plugins/mediawiki
847 /usr/share/mediawiki/skins/gforge
848 /usr/share/mediawiki/skins/GForge.deps.php
849 /usr/share/mediawiki/skins/GForge.php
851 %files plugin-online_help
852 %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/online_help.ini
853 %{FORGE_DIR}/plugins/online_help
854 %{FORGE_DIR}/www/plugins/online_help
857 %config(noreplace) %{FORGE_CONF_DIR}/plugins/oslc/
858 %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/oslc.ini
859 %{FORGE_CONF_DIR}/httpd.d/plugin-oslc.inc
860 %{FORGE_DIR}/plugins/oslc
861 %{FORGE_DIR}/www/plugins/oslc
863 %files plugin-projects_hierarchy
864 %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/projects_hierarchy.ini
865 %{FORGE_DIR}/plugins/projects_hierarchy
866 %{FORGE_DIR}/www/plugins/projects_hierarchy
868 %files plugin-quota_management
869 %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/quota_management.ini
870 %{FORGE_DIR}/plugins/quota_management
871 %{FORGE_DIR}/www/plugins/quota_management
873 %files plugin-scmarch
874 %config(noreplace) %{FORGE_CONF_DIR}/plugins/scmarch/
875 %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/scmarch.ini
876 %{FORGE_DIR}/plugins/scmarch
879 %config(noreplace) %{FORGE_CONF_DIR}/plugins/scmbzr/
880 %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/scmbzr.ini
881 %{FORGE_DIR}/plugins/scmbzr
883 %files plugin-scmdarcs
884 %config(noreplace) %{FORGE_CONF_DIR}/plugins/scmdarcs/
885 %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/scmdarcs.ini
886 %{FORGE_DIR}/plugins/scmdarcs
889 %config(noreplace) %{FORGE_CONF_DIR}/plugins/scmgit/
890 %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/scmgit.ini
891 %{FORGE_DIR}/plugins/scmgit
892 %{FORGE_DIR}/www/plugins/scmgit
895 %config(noreplace) %{FORGE_CONF_DIR}/plugins/scmhg/
896 %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/scmhg.ini
897 %{FORGE_DIR}/plugins/scmhg
899 %files plugin-scmccase
900 %config(noreplace) %{FORGE_CONF_DIR}/plugins/scmccase/
901 %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/scmccase.ini
902 %{FORGE_DIR}/plugins/scmccase
905 %config(noreplace) %{FORGE_CONF_DIR}/plugins/scmcvs/
906 %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/scmcvs.ini
907 %{_sysconfdir}/cron.d/%{name}-plugin-scmcvs
908 %{FORGE_CONF_DIR}/httpd.d/30virtualcvs
909 %{FORGE_CONF_DIR}/httpd.d/31virtualcvs.ssl
910 %{FORGE_DIR}/plugins/scmcvs
911 %{FORGE_DIR}/www/plugins/scmcvs
912 %{FORGE_VAR_LIB}/chroot/scmrepos/cvs
915 %config(noreplace) %{FORGE_CONF_DIR}/plugins/scmsvn/
916 %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/scmsvn.ini
917 %{FORGE_DIR}/plugins/scmsvn
918 %{FORGE_DIR}/www/plugins/scmsvn
919 %{FORGE_VAR_LIB}/chroot/scmrepos/svn
921 %files plugin-svncommitemail
922 %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/svncommitemail.ini
923 %{FORGE_DIR}/plugins/svncommitemail
925 %files plugin-svntracker
926 %config(noreplace) %{FORGE_CONF_DIR}/plugins/svntracker/
927 %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/svntracker.ini
928 %{_sysconfdir}/cron.d/gforge-plugin-svntracker
929 %{FORGE_DIR}/plugins/svntracker
930 %{FORGE_DIR}/www/plugins/svntracker
933 %config(noreplace) %{FORGE_CONF_DIR}/plugins/blocks/
934 %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/blocks.ini
935 %{FORGE_DIR}/plugins/blocks
936 %{FORGE_DIR}/www/plugins/blocks
938 %files plugin-extratabs
939 %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/extratabs.ini
940 %{FORGE_DIR}/plugins/extratabs
941 %{FORGE_DIR}/www/plugins/extratabs
944 %config(noreplace) %{FORGE_CONF_DIR}/plugins/wiki/
945 %{_sysconfdir}/cron.d/cron.wiki
946 %{FORGE_CONF_DIR}/httpd.d/03wiki.conf
947 %{FORGE_DIR}/plugins/wiki
948 %{FORGE_DIR}/www/wiki
950 %files plugin-projectlabels
951 %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/projectlabels.ini
952 %{FORGE_DIR}/plugins/projectlabels
953 %{FORGE_DIR}/www/plugins/projectlabels
955 %files plugin-contribtracker
956 %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/contribtracker.ini
957 %{FORGE_DIR}/plugins/contribtracker
958 %{FORGE_DIR}/www/plugins/contribtracker
960 %files plugin-globalsearch
961 %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/globalsearch.ini
962 %{FORGE_DIR}/plugins/globalsearch
963 %{FORGE_DIR}/www/plugins/globalsearch
965 %files plugin-mailman
966 %config(noreplace) %{FORGE_CONF_DIR}/plugins/mailman/
967 %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/mailman.ini
968 %{FORGE_CONF_DIR}/httpd.d/plugin-oslc.inc
969 %{FORGE_CONF_DIR}/httpd.d/62plugin-list-mailman
970 %{FORGE_CONF_DIR}/httpd.d/200list.vhost
971 %{FORGE_CONF_DIR}/httpd.d/20list
972 %{FORGE_CONF_DIR}/httpd.d/20zlist.vhost
973 %{FORGE_CONF_DIR}/httpd.d/21list.vhost.ssl
974 %{FORGE_DIR}/plugins/mailman
975 %{FORGE_DIR}/www/plugins/mailman
977 %files plugin-mantisbt
978 %config(noreplace) %{FORGE_CONF_DIR}/plugins/mantisbt/
979 %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/mantisbt.ini
980 %{FORGE_DIR}/plugins/mantisbt
981 %{FORGE_DIR}/www/plugins/mantisbt
984 * Fri May 28 2010 - Alain Peyrat <aljeux@free.fr> - 5.0.50-1
985 - Ported to 5.1 tree.
986 - Reworked logic with rights on configuration files.
987 - Adapted to changes like scm refactoring.
988 - Adapted to changes to .ini configuration file.
989 - Lots of new plugins added.
991 * Tue May 13 2010 - Bond Masuda <bond.masuda@JLBond.com> - 4.8.3-2
992 - fixed plugin symlinks and plugin directory permissions
993 - patched mediawiki, webcalendar plugins
994 - patch to fix various references to global variables
995 - add symlinks to use mediawiki Monobook skin as GForge
996 - patch to replace ereg_replace() with preg_replace()
997 - added jpgraph symlink
998 - setup httpd.secrets
999 - delete obsolete mediawiki plugin code
1001 * Fri Apr 16 2010 - Bond Masuda <bond.masuda@JLBond.com> - 4.8.3-1
1002 - My first packaging of fusionforge 4.8.3-1 and plugins