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/src
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
29 # Disable debug binary detection & generation to speed up process.
30 %global debug_package %{nil}
33 Summary: FusionForge Collaborative Development Environment
39 Group: Development/Tools
40 Source0: %{name}-%{version}.tar.bz2
41 URL: http://www.fusionforge.org/
42 BuildRoot: %{_tmppath}/%{name}-%{version}-root
43 Packager: Alain Peyrat <aljeux@free.fr>
45 Requires: httpd, mod_dav_svn, mod_ssl, php, php-pgsql, php-gd, php-mbstring, mailman
46 Requires: postgresql >= 8.3
47 Requires: postgresql-server >= 8.3
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-authcas
85 Summary: External CAS authentication plugin for FusionForge.
86 Group: Development/Tools
87 Requires: %{name} >= %{version}, php, postgresql
88 %description plugin-authcas
89 External CAS authentication plugin for FusionForge.
91 %package plugin-authhttpd
92 Summary: External HTTPD authentication plugin for FusionForge.
93 Group: Development/Tools
94 Requires: %{name} >= %{version}, php, postgresql
95 %description plugin-authhttpd
96 External HTTPD authentication plugin for FusionForge.
98 # %package plugin-authopenid
99 # Summary: External OpenID authentication plugin for FusionForge.
100 # Group: Development/Tools
101 # Requires: %{name} >= %{version}, php, postgresql
102 # %description plugin-authopenid
103 # External OpenID authentication plugin for FusionForge.
105 %package plugin-ckeditor
106 Summary: CKEditor plugin for FusionForge
107 Group: Development/Tools
108 Requires: %{name} >= %{version}, php, ckeditor
109 %description plugin-ckeditor
110 CKEditor is a WYSIWYG text editor that displays within a web browser.
112 %package plugin-cvssyncmail
113 Summary: Provides email notifications of changes to CVS repositories
114 Group: Development/Tools
115 Requires: %{name} >= %{version}, %{name}-plugin-scmcvs, python, php
116 %description plugin-cvssyncmail
117 This plugin adds the capability to notify users of changes to CVS repositories
120 %package plugin-compactpreview
121 Summary: Provides a preview mecanism
122 Group: Development/Tools
123 Requires: %{name} >= %{version}, php
124 %description plugin-compactpreview
125 This plugin adds support for user and project compact-preview
126 (popups) compatible with the OSLC specifications.
128 %package plugin-cvstracker
129 Summary: Links CVS log messages to trackers and tasks.
130 Group: Development/Tools
131 Requires: %{name} >= %{version}, %{name}-plugin-scmcvs, php, postgresql
132 %description plugin-cvstracker
133 This is a fusionforge plugin that allows linking CVS log messages to
134 trackers and tasks. It will review all commits in a project and search for
135 specific string to know which task or tracker is related.
137 %package plugin-doaprdf
138 Summary: DOAP RDF for projects
139 Group: Development/Tools
140 Requires: %{name} >= %{version}, php
141 %description plugin-doaprdf
142 DOAP RDF for projects
144 %package plugin-externalsearch
145 Summary: external search plugin for FusionForge
146 Group: Development/Tools
147 Requires: %{name} >= %{version}, php
148 %description plugin-externalsearch
149 This plugin adds a new search engine to your FusionForge site. It allows
150 your users to search your FusionForge site through external search engines
151 which have indexed it. You can define search engines you want to use in
152 the configuration file.
154 %package plugin-extsubproj
155 Summary: external sub project plugin for FusionForge
156 Group: Development/Tools
157 Requires: %{name} >= %{version}, php
158 %description plugin-extsubproj
159 Manages links to external subprojects on remote forges.
161 # %package plugin-forumml
162 # Summary: Mailman to forums plugin for FusionForge
163 # Group: Development/Tools
164 # Requires: %{name} >= %{version}, php
165 # %description plugin-forumml
166 # ForumML integes mailing lists as forums in FusionForge
168 %package plugin-fckeditor
169 Summary: FCKEditor plugin for FusionForge
170 Group: Development/Tools
171 Requires: %{name} >= %{version}, php
172 %description plugin-fckeditor
173 FCKEditor is a WYSIWYG text editor that displays within a web browser.
175 %package plugin-gravatar
176 Summary: Gravatar plugin for FusionForge
177 Group: Development/Tools
178 Requires: %{name} >= %{version}, php
179 %description plugin-gravatar
180 This plugin adds faces images to FusionForge users using the gravatar service.
182 %package plugin-hudson
183 Summary: Hudson continous integration plugin for FusionForge
184 Group: Development/Tools
185 Requires: %{name} >= %{version}, php
186 %description plugin-hudson
187 This plugin adds hudson integration to FusionForge.
189 %package plugin-authldap
190 Summary: external LDAP authentication for FusionForge plugin
191 Group: Development/Tools
192 Requires: %{name} >= %{version}, php, php-ldap
193 %description plugin-authldap
194 This plugin provides LDAP authentication capability for FusionForge.
196 %package plugin-mediawiki
197 Summary: Mediawiki plugin for FusionForge
198 Group: Development/Tools
199 Requires: %{name} >= %{version}, php, mediawiki
200 %description plugin-mediawiki
201 This is a plugin to integrate MediaWiki within FusionForge.
203 %package plugin-moinmoin
204 Summary: MoinMoinWiki plugin for FusionForge
205 Group: Development/Tools
206 Requires: %{name} >= %{version}, php, postgresql
207 %description plugin-moinmoin
208 This is a plugin to integrate MediaWiki within FusionForge.
210 %package plugin-message
211 Summary: Global Information Message plugin for FusionForge
212 Group: Development/Tools
213 Requires: %{name} >= %{version}, php
214 %description plugin-message
215 This is a plugin to add a global announce message for FusionForge.
216 It can be use to warn users for planned or current outage.
218 %package plugin-online_help
219 Summary: online_help plugin for FusionForge
220 Group: Development/Tools
221 Requires: %{name} >= %{version}, php
222 %description plugin-online_help
223 This is a online_help plugin within FusionForge.
226 Summary: OSLC plugin for FusionForge
227 Group: Development/Tools
228 Requires: %{name} >= %{version}, php, php-ZendFramework > 1.10
229 %description plugin-oslc
230 OSLC-CM compatible plugin for FusionForge tracker system.
231 OSLC-CM is a standard specification for APIs in Change Management
232 applications. It is based on Web technologies such as REST, RDF, or AJAX.
233 This package provides an OSLC-CM V2 compatible plugin for FusionForge
236 %package plugin-projectimport
237 Summary: Project Import plugin for FusionForge
238 Group: Development/Tools
239 Requires: %{name} >= %{version}, php
240 %description plugin-projectimport
241 Project import plugin for FusionForge
242 This plugin allows the import of a project data previously exported
243 with ForgePlucker, or a compatible tool.
245 # %package plugin-projects-hierarchy
246 # Summary: projects-hierarchy plugin for FusionForge
247 # Group: Development/Tools
248 # Requires: %{name} >= %{version}, php
249 # %description plugin-projects-hierarchy
250 # This is a projects-hierarchy plugin within FusionForge.
252 %package plugin-quota_management
253 Summary: quota_management plugin for FusionForge
254 Group: Development/Tools
255 Requires: %{name} >= %{version}, php
256 %description plugin-quota_management
257 This is a quota_management plugin within FusionForge.
259 %package plugin-scmarch
260 Summary: Arch version control plugin for FusionForge
261 Group: Development/Tools
262 Requires: %{name} >= %{version}, php, arch
263 %description plugin-scmarch
264 This is a plugin to integrate Arch version control system with FusionForge
266 %package plugin-scmbzr
267 Summary: Bazaar version control plugin for FusionForge
268 Group: Development/Tools
269 Requires: %{name} >= %{version}, php, bazaar
270 %description plugin-scmbzr
271 This is a plugin to integrate Bazaar version control system with FusionForge
273 %package plugin-scmdarcs
274 Summary: DARCS version control plugin for FusionForge
275 Group: Development/Tools
276 Requires: %{name} >= %{version}, php, darcs
277 %description plugin-scmdarcs
278 This is a plugin to integrate DARCS version control system with FusionForge
280 %package plugin-scmgit
281 Summary: Git version control plugin for FusionForge
282 Group: Development/Tools
283 Requires: %{name} >= %{version}, php, git, gitweb
284 %description plugin-scmgit
285 This is a plugin to integrate Git version control system with FusionForge
287 %package plugin-scmhg
288 Summary: Mercurial (hg) version control plugin for FusionForge
289 Group: Development/Tools
290 Requires: %{name} >= %{version}, php, hg
291 %description plugin-scmhg
292 This is a plugin to integrate Mercurial (hg) version control system with FusionForge
294 %package plugin-scmhook
295 Summary: Source Code Hooks plugin
296 Group: Development/Tools
297 Requires: %{name} >= %{version}
298 %description plugin-scmhook
299 This plugin provide a simple hook system for various version control system.
300 It allows project admins to activate/desactivate predefined hooks on their
303 %package plugin-scmccase
304 Summary: Clear Case plugin for FusionForge
305 Group: Development/Tools
306 Requires: %{name} >= %{version}, php
307 %description plugin-scmccase
308 This is the Clear Case plugin for FusionForge. It creats Clear Case repositories
309 for projects within FusionForge.
311 %package plugin-scmcvs
312 Summary: CVS plugin for FusionForge
313 Group: Development/Tools
314 Requires: %{name} >= %{version}, php, cvs
315 %description plugin-scmcvs
316 FusionForge is a web-based Collaborative Development Environment offering
317 easy access to CVS, mailing lists, bug tracking, message
318 boards/forums, task management, permanent file archival, and total
319 web-based administration.
321 This RPM installs SCM CVS plugin for FusionForge and provides CVS support
324 It also provides a specific version of CVSWeb wrapped in FusionForge.
326 %package plugin-scmsvn
327 Summary: Subversion plugin for FusionForge
328 Group: Development/Tools
329 Requires: %{name} >= %{version}, php, subversion, viewvc
330 %description plugin-scmsvn
331 This RPM installs SCM SVN plugin for FusionForge and provides svn support
334 %package plugin-svncommitemail
335 Summary: subversion commit email plugin for FusionForge
336 Group: Development/Tools
337 Requires: %{name} >= %{version}, php, subversion, perl, %{name}-plugin-scmsvn >= %{version}
338 %description plugin-svncommitemail
339 This RPM installs subversion commit email notification plugin for FusionForge.
341 %package plugin-svntracker
342 Summary: SVNTracker plugin for FusionForge
343 Group: Development/Tools
344 Requires: %{name} >= %{version}, php, subversion, perl, postgresql, %{name}-plugin-scmsvn >= %{version}
345 %description plugin-svntracker
346 SVNTracker plugin allows linking SVN log messages to Trackers and tasks.
347 It will review all commits in a project and search for a specific string
348 to know which task or tracker is related.
350 %package plugin-blocks
351 Summary: Blocks plugin for FusionForge
352 Group: Development/Tools
353 Requires: %{name} >= %{version}
354 %description plugin-blocks
355 HTML blocks plugin for FusionForge.
357 %package plugin-extratabs
358 Summary: extratabs plugin for FusionForge
359 Group: Development/Tools
360 Requires: %{name} >= %{version}
361 %description plugin-extratabs
362 HTML extratabs plugin for FusionForge.
365 Summary: Wiki plugin for FusionForge
366 Group: Development/Tools
367 Requires: %{name} >= %{version}, php, postgresql, units
368 %description plugin-wiki
369 Wiki plugin for FusionForge. Allows for one wiki per project, integrated search,
370 page edits displayed on activity tab, and multi-project wiki preferences.
372 %package plugin-projectlabels
373 Summary: Labels plugin for FusionForge
374 Group: Development/Tools
375 Requires: %{name} >= %{version}, php, postgresql
376 %description plugin-projectlabels
377 Project Labels plugin for FusionForge.
379 %package plugin-contribtracker
380 Summary: contribtracker plugin for FusionForge
381 Group: Development/Tools
382 Requires: %{name} >= %{version}, php, postgresql
383 %description plugin-contribtracker
384 contribtracker plugin for FusionForge.
386 %package plugin-globalsearch
387 Summary: globalsearch plugin for FusionForge
388 Group: Development/Tools
389 Requires: %{name} >= %{version}, php, postgresql
390 %description plugin-globalsearch
391 globalsearch plugin for FusionForge.
393 # %package plugin-mailman
394 # Summary: Mailman plugin for FusionForge
395 # Group: Development/Tools
396 # Requires: %{name} >= %{version}, php
397 # %description plugin-mailman
398 # Mailman plugin for FusionForge.
400 # %package plugin-mantisbt
401 # Summary: mantisbt plugin for FusionForge
402 # Group: Development/Tools
403 # Requires: %{name} >= %{version}, php, postgresql
404 # %description plugin-mantisbt
405 # mantisbt plugin for FusionForge.
407 # %package plugin-oauthprovider
408 # Summary: oauthprovider plugin for FusionForge
409 # Group: Development/Tools
410 # Requires: %{name} >= %{version}, php, postgresql
411 # %description plugin-oauthprovider
412 # oauthprovider plugin for FusionForge.
418 # empty build section
421 %{__rm} -rf $RPM_BUILD_ROOT
423 # creating required directories
424 %{__install} -m 755 -d $RPM_BUILD_ROOT%{_sysconfdir}/httpd/conf.d
425 %{__install} -m 755 -d $RPM_BUILD_ROOT%{_sysconfdir}/cron.d
426 %{__install} -m 755 -d $RPM_BUILD_ROOT/bin
427 %{__install} -m 755 -d $RPM_BUILD_ROOT%{FORGE_DIR}
428 %{__install} -m 755 -d $RPM_BUILD_ROOT%{FORGE_DIR}/lib
429 %{__install} -m 755 -d $RPM_BUILD_ROOT%{FORGE_DIR}/www
430 %{__install} -m 755 -d $RPM_BUILD_ROOT%{FORGE_DIR}/www/plugins
431 %{__install} -m 755 -d $RPM_BUILD_ROOT%{FORGE_CONF_DIR}
432 %{__install} -m 755 -d $RPM_BUILD_ROOT%{FORGE_CONF_DIR}/httpd.d
433 %{__install} -m 755 -d $RPM_BUILD_ROOT%{FORGE_CONF_DIR}/httpd.conf.d
434 %{__install} -m 755 -d $RPM_BUILD_ROOT%{FORGE_CONF_DIR}/config.ini.d
435 %{__install} -m 755 -d $RPM_BUILD_ROOT%{FORGE_CONF_DIR}/plugins
436 %{__install} -m 755 -d $RPM_BUILD_ROOT%{FORGE_LANG_DIR}
437 %{__install} -m 755 -d $RPM_BUILD_ROOT%{FORGE_VAR_LIB}
438 %{__install} -m 755 -d $RPM_BUILD_ROOT%{FORGE_VAR_LIB}/upload
439 %{__install} -m 755 -d $RPM_BUILD_ROOT%{FORGE_VAR_LIB}/scmtarballs
440 %{__install} -m 755 -d $RPM_BUILD_ROOT%{FORGE_VAR_LIB}/scmsnapshots
441 %{__install} -m 755 -d $RPM_BUILD_ROOT%{FORGE_VAR_LIB}/homedirs
442 %{__install} -m 755 -d $RPM_BUILD_ROOT%{FORGE_VAR_LIB}/dumps
443 %{__install} -m 755 -d $RPM_BUILD_ROOT%{FORGE_VAR_LIB}/etc
444 %{__install} -m 755 -d $RPM_BUILD_ROOT%{FORGE_VAR_LIB}/chroot/scmrepos/svn
445 %{__install} -m 755 -d $RPM_BUILD_ROOT%{FORGE_VAR_LIB}/chroot/scmrepos/cvs
446 %{__install} -m 755 -d $RPM_BUILD_ROOT%{FORGE_VAR_LIB}/plugins/mediawiki
447 %{__install} -m 755 -d $RPM_BUILD_ROOT/home/groups
448 %{__install} -m 755 -d $RPM_BUILD_ROOT/var/log/gforge
449 # mock mediawiki directory because we symlink GForge skin to Monobook
450 %{__install} -m 755 -d $RPM_BUILD_ROOT/usr/share/mediawiki/skins
452 # we define a search and replace function, we'll be using this a lot
453 # to fix several parts of the installation
456 /usr/bin/find . -type f | xargs grep -l ${1} | xargs %{__sed} -i -e "s+${1}+${2}+g"
459 # we need to fix up the fusionforge-install-3-db.php script to ref %{FORGE_DIR}
460 search_and_replace "/opt/gforge" "%{FORGE_DIR}"
463 %{__cp} -a * $RPM_BUILD_ROOT/%{FORGE_DIR}/
465 # create project vhost space symlink
466 %{__ln_s} /home/groups $RPM_BUILD_ROOT/%{FORGE_VAR_LIB}/homedirs/groups
467 # install restricted shell for cvs accounts
468 %{__cp} -a plugins/scmcvs/bin/cvssh.pl $RPM_BUILD_ROOT/bin/
470 # Apache configuration file
471 %{__cp} -a etc/httpd.conf.d-fhs/* $RPM_BUILD_ROOT%{FORGE_CONF_DIR}/httpd.conf.d/
472 %{__cp} -a etc/config.ini.d/defaults.ini $RPM_BUILD_ROOT%{FORGE_CONF_DIR}/config.ini.d/
473 %{__cp} -a etc/config.ini.d/debug.ini $RPM_BUILD_ROOT%{FORGE_CONF_DIR}/config.ini.d/
474 %{__cp} -a etc/config.ini-fhs $RPM_BUILD_ROOT%{FORGE_CONF_DIR}/config.ini
475 %{__cp} -a etc/httpd.conf-fhs $RPM_BUILD_ROOT%{_sysconfdir}/httpd/conf.d/gforge.conf
476 #%{__cp} -a etc/gforge-httpd.conf.example $RPM_BUILD_ROOT%{_sysconfdir}/httpd/conf.d/gforge.conf
477 #%{__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
479 %{__sed} -i -e "s!www-data!apache!g" $RPM_BUILD_ROOT%{FORGE_CONF_DIR}/config.ini.d/defaults.ini
480 %{__sed} -i -e "s!use_shell = yes!use_shell = no!g" $RPM_BUILD_ROOT%{FORGE_CONF_DIR}/config.ini.d/defaults.ini
481 %{__sed} -i -e "s!use_webdav = no!use_webdav = yes!g" $RPM_BUILD_ROOT%{FORGE_CONF_DIR}/config.ini.d/defaults.ini
483 # install fusionforge crontab
484 %{__install} -m 644 packaging/cron.d/cron.fusionforge $RPM_BUILD_ROOT%{_sysconfdir}/cron.d/%{name}
486 %{__install} -m 644 deb-specific/sqlhelper.pm $RPM_BUILD_ROOT%{FORGE_DIR}/lib/sqlhelper.pm
488 # Install locale files in Redhat standard location
489 %{__cp} -a locales/* $RPM_BUILD_ROOT/%{FORGE_LANG_DIR}/
491 %{__rm} -f $RPM_BUILD_ROOT%{FORGE_DIR}/utils/fusionforge-shell-postgresql.spec
493 # Identify this FusionForge version
494 # keep type intact and change forge in derivates,
495 # unless there are deep changes (type is used for
496 # the Forge-Identification meta header)
497 WHICH_TYPE=FusionForge
498 WHICH_FORGE=FusionForge
499 WHICH_VERSION=%{version}-%{release}
501 -e "s!@PKGNAME@!${WHICH_FORGE}!g" \
502 -e "s!@PKGVERSION@!${WHICH_VERSION}!g" \
503 -e "s!@PLUCKERNAME@!${WHICH_TYPE}!g" \
504 <$RPM_BUILD_ROOT/%{FORGE_DIR}/deb-specific/pkginfo.inc.php \
505 >$RPM_BUILD_ROOT/%{FORGE_DIR}/common/pkginfo.inc.php
507 %{__rm} -f $RPM_BUILD_ROOT%{FORGE_DIR}/COPYING.php
508 %{__rm} -fr $RPM_BUILD_ROOT/%{FORGE_DIR}/packaging
509 %{__rm} -fr $RPM_BUILD_ROOT/%{FORGE_DIR}/deb-specific
510 %{__rm} -fr $RPM_BUILD_ROOT/%{FORGE_DIR}/rpm-specific
511 %{__rm} -fr $RPM_BUILD_ROOT/%{FORGE_DIR}/plugins/*/packaging
512 %{__rm} -fr $RPM_BUILD_ROOT/%{FORGE_DIR}/plugins/*/*.spec
513 %{__rm} -fr $RPM_BUILD_ROOT/%{FORGE_DIR}/plugins/foafprofiles
516 for i in $(utils/list-enabled-plugins.sh --disabled) ; do
517 %{__rm} -rf $RPM_BUILD_ROOT%{FORGE_DIR}/plugins/$i
520 %{__cp} $RPM_BUILD_ROOT%{FORGE_DIR}/plugins/*/etc/*.ini $RPM_BUILD_ROOT%{FORGE_CONF_DIR}/config.ini.d/
521 %{__cp} $RPM_BUILD_ROOT%{FORGE_DIR}/plugins/*/etc/cron.d/* $RPM_BUILD_ROOT%{_sysconfdir}/cron.d/
522 %{__cp} $RPM_BUILD_ROOT%{FORGE_DIR}/plugins/*/etc/httpd.d/* $RPM_BUILD_ROOT%{FORGE_CONF_DIR}/httpd.d/
523 %{__cp} -rp $RPM_BUILD_ROOT%{FORGE_DIR}/plugins/*/etc/plugins/* $RPM_BUILD_ROOT%{FORGE_CONF_DIR}/plugins/
524 %{__rm} -f $RPM_BUILD_ROOT%{FORGE_DIR}/plugins/README
526 # plugin: aselectextauth
528 # plugin: authbuiltin (internal plugin)
529 %{__ln_s} ../../plugins/authbuiltin/www $RPM_BUILD_ROOT%{FORGE_DIR}/www/plugins/authbuiltin
532 %{__ln_s} ../../plugins/authcas/www $RPM_BUILD_ROOT%{FORGE_DIR}/www/plugins/authcas
535 %{__ln_s} ../../plugins/authhttpd/www $RPM_BUILD_ROOT%{FORGE_DIR}/www/plugins/authhttpd
538 # %{__ln_s} ../../plugins/authopenid/www $RPM_BUILD_ROOT%{FORGE_DIR}/www/plugins/authopenid
540 # plugin: compactpreview
541 %{__ln_s} ../../plugins/compactpreview/www $RPM_BUILD_ROOT%{FORGE_DIR}/www/plugins/compactpreview
543 # plugin: cvssyncmail
546 %{__ln_s} ../../plugins/cvstracker/www $RPM_BUILD_ROOT%{FORGE_DIR}/www/plugins/cvstracker
547 # delete stuff that is clearly outdated/obsolete so we don't package this and confuse others
548 %{__rm} -f $RPM_BUILD_ROOT%{FORGE_DIR}/plugins/cvstracker/httpd.conf
549 %{__rm} -f $RPM_BUILD_ROOT%{FORGE_DIR}/plugins/cvstracker/Makefile
550 %{__rm} -rf $RPM_BUILD_ROOT%{FORGE_DIR}/plugins/cvstracker/rpm-specific
552 # plugin: externalsearch
555 %{__ln_s} ../../plugins/extsubproj/www $RPM_BUILD_ROOT%{FORGE_DIR}/www/plugins/extsubproj
558 %{__ln_s} ../../plugins/fckeditor/www $RPM_BUILD_ROOT%{FORGE_DIR}/www/plugins/fckeditor
561 # %{__ln_s} ../../plugins/forumml/www $RPM_BUILD_ROOT%{FORGE_DIR}/www/plugins/forumml
564 %{__ln_s} ../../plugins/hudson/www $RPM_BUILD_ROOT%{FORGE_DIR}/www/plugins/hudson
567 %{__ln_s} ../../plugins/mediawiki/www $RPM_BUILD_ROOT%{FORGE_DIR}/www/plugins/mediawiki
568 %{__ln_s} /usr/share/mediawiki/api.php $RPM_BUILD_ROOT%{FORGE_DIR}/plugins/mediawiki/www/
569 %{__ln_s} /usr/share/mediawiki/extensions $RPM_BUILD_ROOT%{FORGE_DIR}/plugins/mediawiki/www/
570 %{__ln_s} /usr/share/mediawiki/img_auth.php $RPM_BUILD_ROOT%{FORGE_DIR}/plugins/mediawiki/www/
571 %{__ln_s} /usr/share/mediawiki/includes $RPM_BUILD_ROOT%{FORGE_DIR}/plugins/mediawiki/www/
572 %{__ln_s} /usr/share/mediawiki/index.php $RPM_BUILD_ROOT%{FORGE_DIR}/plugins/mediawiki/www/
573 %{__ln_s} /usr/share/mediawiki/languages $RPM_BUILD_ROOT%{FORGE_DIR}/plugins/mediawiki/www/
574 %{__ln_s} /usr/share/mediawiki/maintenance/ $RPM_BUILD_ROOT%{FORGE_DIR}/plugins/mediawiki/www/
575 %{__ln_s} /usr/share/mediawiki/opensearch_desc.php $RPM_BUILD_ROOT%{FORGE_DIR}/plugins/mediawiki/www/
576 %{__ln_s} /usr/share/mediawiki/profileinfo.php $RPM_BUILD_ROOT%{FORGE_DIR}/plugins/mediawiki/www/
577 %{__ln_s} /usr/share/mediawiki/redirect.php $RPM_BUILD_ROOT%{FORGE_DIR}/plugins/mediawiki/www/
578 %{__ln_s} /usr/share/mediawiki/StartProfiler.php $RPM_BUILD_ROOT%{FORGE_DIR}/plugins/mediawiki/www/
579 %{__ln_s} /usr/share/mediawiki/thumb.php $RPM_BUILD_ROOT%{FORGE_DIR}/plugins/mediawiki/www/
580 %{__ln_s} /usr/share/mediawiki/trackback.php $RPM_BUILD_ROOT%{FORGE_DIR}/plugins/mediawiki/www/
581 %{__ln_s} /usr/share/mediawiki/skins $RPM_BUILD_ROOT%{FORGE_DIR}/plugins/mediawiki/www/
582 %{__ln_s} /usr/share/mediawiki $RPM_BUILD_ROOT/var/lib/gforge/plugins/mediawiki/master
583 %{__ln_s} /usr/share/gforge/src/plugins/mediawiki/mediawiki-skin/FusionForge.php $RPM_BUILD_ROOT/usr/share/mediawiki/skins/
584 %{__ln_s} /usr/share/gforge/src/plugins/mediawiki/mediawiki-skin/fusionforge $RPM_BUILD_ROOT/usr/share/mediawiki/skins/
587 %{__ln_s} ../../plugins/moinmoin/www $RPM_BUILD_ROOT%{FORGE_DIR}/www/plugins/moinmoin
590 %{__ln_s} ../../plugins/message/www $RPM_BUILD_ROOT%{FORGE_DIR}/www/plugins/message
592 # plugin: online_help
593 %{__ln_s} ../../plugins/online_help/www $RPM_BUILD_ROOT%{FORGE_DIR}/www/plugins/online_help
595 # plugin: projects-hierarchy
596 # %{__ln_s} ../../plugins/projects-hierarchy/www $RPM_BUILD_ROOT%{FORGE_DIR}/www/plugins/projects-hierarchy
598 # plugin: quota_management
599 %{__ln_s} ../../plugins/quota_management/www $RPM_BUILD_ROOT%{FORGE_DIR}/www/plugins/quota_management
608 %{__ln_s} ../../plugins/scmcvs $RPM_BUILD_ROOT%{FORGE_DIR}/www/plugins/scmcvs
609 %{__install} -m 644 plugins/scmcvs/cron.d/%{name}-plugin-scmcvs $RPM_BUILD_ROOT%{_sysconfdir}/cron.d
614 # this is pre-activated, so create the config symlink
615 %{__ln_s} ../../plugins/scmsvn/www $RPM_BUILD_ROOT%{FORGE_DIR}/www/plugins/scmsvn
618 %{__ln_s} ../../plugins/scmgit/www $RPM_BUILD_ROOT%{FORGE_DIR}/www/plugins/scmgit
619 %{__install} -m 755 -d $RPM_BUILD_ROOT%{FORGE_DIR}/plugins/scmgit/www/cgi-bin
620 %{__ln_s} /usr/share/gitweb/gitweb.cgi $RPM_BUILD_ROOT%{FORGE_DIR}/plugins/scmgit/www/cgi-bin/gitweb.cgi
621 %{__ln_s} /usr/share/gitweb/static/gitweb.css $RPM_BUILD_ROOT%{FORGE_DIR}/plugins/scmgit/www/gitweb.css
622 %{__ln_s} /usr/share/gitweb/static/gitweb.js $RPM_BUILD_ROOT%{FORGE_DIR}/plugins/scmgit/www/gitweb.js
626 # plugin: svncommitemail
629 %{__ln_s} ../../plugins/svntracker/www $RPM_BUILD_ROOT%{FORGE_DIR}/www/plugins/svntracker
631 %{__install} -m 644 plugins/svntracker/rpm-specific/cron.d/gforge-plugin-svntracker $RPM_BUILD_ROOT%{_sysconfdir}/cron.d
634 %{__ln_s} ../../plugins/blocks/www $RPM_BUILD_ROOT%{FORGE_DIR}/www/plugins/blocks
637 %{__ln_s} ../../plugins/extratabs/www $RPM_BUILD_ROOT%{FORGE_DIR}/www/plugins/extratabs
640 %{__ln_s} ../plugins/wiki/www $RPM_BUILD_ROOT%{FORGE_DIR}/www/wiki
643 %{__ln_s} ../../plugins/oslc/www $RPM_BUILD_ROOT%{FORGE_DIR}/www/plugins/oslc
645 # plugin : projectimport
646 %{__ln_s} ../../plugins/projectimport/www $RPM_BUILD_ROOT%{FORGE_DIR}/www/plugins/projectimport
648 # plugin: projectlabels
649 %{__ln_s} ../../plugins/projectlabels/www $RPM_BUILD_ROOT%{FORGE_DIR}/www/plugins/projectlabels
651 # plugin: contribtracker
652 %{__ln_s} ../../plugins/contribtracker/www $RPM_BUILD_ROOT%{FORGE_DIR}/www/plugins/contribtracker
654 # plugin: globalsearch
655 %{__ln_s} ../../plugins/globalsearch/www $RPM_BUILD_ROOT%{FORGE_DIR}/www/plugins/globalsearch
658 # %{__ln_s} ../../plugins/mailman/www $RPM_BUILD_ROOT%{FORGE_DIR}/www/plugins/mailman
661 # %{__ln_s} ../../plugins/mantisbt/www $RPM_BUILD_ROOT%{FORGE_DIR}/www/plugins/mantisbt
663 # plugin: oauthprovider
664 #%{__ln_s} ../../plugins/oauthprovider/www $RPM_BUILD_ROOT%{FORGE_DIR}/www/plugins/oauthprovider
667 ### END OF PLUGIN SETUP ###
670 if [ ! -d "/var/lib/pgsql/data/base" ]; then
671 /sbin/service postgresql initdb >>/var/log/%{name}-install.log 2>&1
674 # we will need postgresql to be running. we start it, even if it already is running
675 # this won't hurt anything, just ensure we have a running database
676 /sbin/service postgresql start >>/var/log/%{name}-install.log 2>&1
678 if [ "$1" -eq "1" ]; then
679 # setup user/group for gforge
680 if [ `/usr/bin/getent passwd | /bin/cut -d: -f1 | /bin/grep -c %{gfuser}` -eq 0 ] ; then
681 echo "Did not find existing fusionforge user. Adding fusionforge group and user..." >>/var/log/%{name}-install.log 2>&1
682 /usr/sbin/groupadd -r %{gfgroup}
683 /usr/sbin/useradd -r -g %{gfgroup} -d %{FORGE_DIR} -s /bin/bash -c "FusionForge User" %{gfuser}
688 if [ "$1" -eq "1" ]; then
689 # check to see if the database already exists. if not, we proceed to create it.
690 # if so, we print a warning message.
691 echo "\q" | su - postgres -c "/usr/bin/psql %{dbname}" 1>/dev/null 2>&1
693 if [ $ret -ne 0 ] ; then
695 FFORGE_USER=%{dbuser}
696 if [ "x${FFORGE_ADMIN_USER}" = "x" ]
698 FFORGE_ADMIN_USER=%{fforge_admin}
700 if [ "x${FFORGE_ADMIN_PASSWORD}" = "x" ]
702 FFORGE_ADMIN_PASSWORD=$(/bin/dd if=/dev/urandom bs=32 count=1 2>/dev/null | /usr/bin/sha1sum | cut -c1-8)
704 export FFORGE_DB FFORGE_USER FFORGE_ADMIN_USER FFORGE_ADMIN_PASSWORD
705 /bin/sh %{FORGE_DIR}/install-ng --database >>/var/log/%{name}-install.log 2>&1
707 echo "Database %{dbname} already exists. Will not proceed with database setup." >>/var/log/%{name}-install.log 2>&1
708 echo "Please see %{FORGE_DIR}/install-ng --database and run it manually" >>/var/log/%{name}-install.log 2>&1
709 echo "if deemed necessary." >>/var/log/%{name}-install.log 2>&1
712 /usr/bin/php %{FORGE_DIR}/db/upgrade-db.php >>/var/log/%{name}-install.log 2>&1
713 /usr/bin/php %{FORGE_DIR}/utils/normalize_roles.php >>/var/log/%{name}-install.log 2>&1
715 HOSTNAME=`hostname -f`
716 #%{__sed} -i -e "s!gforge.company.com!$HOSTNAME!g" %{FORGE_CONF_DIR}/local.inc
717 #%{__sed} -i -e "s!gforge.company.com!$HOSTNAME!g" /etc/httpd/conf.d/gforge.conf
718 [ -d %{FORGE_VAR_LIB}/etc ] || mkdir %{FORGE_VAR_LIB}/etc
719 touch %{FORGE_VAR_LIB}/etc/httpd.vhosts
721 /bin/sh %{FORGE_DIR}/install-ng --config >>/var/log/%{name}-install.log 2>&1
723 /etc/init.d/httpd restart >/dev/null 2>&1
725 chkconfig postgresql on >/dev/null 2>&1
727 # generate random hash for session_key
728 HASH=$(/bin/dd if=/dev/urandom bs=32 count=1 2>/dev/null | /usr/bin/sha1sum | cut -c1-40)
729 #%{__sed} -i -e "s/sys_session_key = 'foobar'/sys_session_key = '$HASH'/g" %{FORGE_CONF_DIR}/local.inc
731 # add noreply mail alias
732 echo "noreply: /dev/null" >> /etc/aliases
733 /usr/bin/newaliases >/dev/null 2>&1
735 if [ $ret -ne 0 ] ; then
736 # display message about default admin account
738 echo "You can now connect to your FusionForge installation using:"
740 echo " http://$HOSTNAME/"
742 echo "The FusionForge administrator account and password is:"
744 echo "Account Name = $FFORGE_ADMIN_USER"
745 echo "Password = $FFORGE_ADMIN_PASSWORD"
746 #echo "Please change it to something appropriate upon initial login."
747 # give user a few seconds to read the message
751 /usr/bin/php %{FORGE_DIR}/db/upgrade-db.php >>/var/log/%{name}-upgrade.log 2>&1
757 if [ "$1" -eq "0" ]; then
759 if [ `/usr/bin/getent passwd | /bin/cut -d: -f1 | /bin/grep -c %{gfuser}` -ne 0 ] ; then
760 echo "Removing fusionforge user..."
761 /usr/sbin/userdel %{gfuser}
764 if [ `/usr/bin/getent group | /bin/cut -d: -f1 | /bin/grep -c %{gfuser}` -ne 0 ] ; then
765 echo "Removing fusionforge group..."
766 /usr/sbin/groupdel %{gfgroup}
770 %post plugin-aselectextauth
771 /usr/bin/psql -U %{dbuser} %{dbname} -f %{FORGE_DIR}/plugins/aselectextauth/db/install_aselectextauth.psql
773 %preun plugin-aselectextauth
774 /usr/bin/psql -U %{dbuser} %{dbname} -f %{FORGE_DIR}/plugins/aselectextauth/db/uninstall_aselectextauth.psql
777 [ "$RPM_BUILD_ROOT" != "/" ] && %{__rm} -rf $RPM_BUILD_ROOT
780 %defattr(-, root, root)
781 %doc AUTHORS* CHANGES COPYING INSTALL* NEWS README*
783 #%attr(0660, %{httpduser}, gforge) %config(noreplace) %{FORGE_CONF_DIR}/local.inc
784 #%attr(0640, %{httpduser}, %{httpdgroup}) %config(noreplace) %{_sysconfdir}/httpd/conf.d/gforge.conf
785 %attr(0644, root, root) %{_sysconfdir}/cron.d/%{name}
786 %attr(0775, %{httpduser}, %{httpdgroup}) %dir %{FORGE_VAR_LIB}/upload
787 %attr(755, root, %{httpdgroup}) %dir %{FORGE_DIR}
788 # Files under %{FORGE_DIR}
789 %{FORGE_DIR}/AUTHORS*
792 %{FORGE_DIR}/INSTALL*
793 %{FORGE_DIR}/Makefile
796 %{FORGE_DIR}/fusionforge.spec
797 %{FORGE_DIR}/install-ng
798 # Directories under %{FORGE_DIR}
801 #%{FORGE_DIR}/contrib
802 %{FORGE_DIR}/cronjobs
806 %{FORGE_DIR}/image-sources
811 %{FORGE_DIR}/translations
814 %dir %{FORGE_DIR}/www
815 # files under %{FORGE_DIR}/www
816 %{FORGE_DIR}/www/*.php
817 %{FORGE_DIR}/www/users
818 %{FORGE_DIR}/www/favicon.ico
819 %{FORGE_DIR}/www/projects
820 # directories under %{FORGE_DIR}/www
821 %{FORGE_DIR}/www/account
822 %{FORGE_DIR}/www/activity
823 %{FORGE_DIR}/www/admin
824 %{FORGE_DIR}/www/developer
825 %{FORGE_DIR}/www/docman
827 %{FORGE_DIR}/www/export
828 %{FORGE_DIR}/www/forum
830 %{FORGE_DIR}/www/images
831 %{FORGE_DIR}/www/include
833 %{FORGE_DIR}/www/mail
836 %{FORGE_DIR}/www/news
837 %{FORGE_DIR}/www/people
838 %{FORGE_DIR}/www/plugins
840 %{FORGE_DIR}/www/project
841 %{FORGE_DIR}/www/register
842 %{FORGE_DIR}/www/reporting
844 %{FORGE_DIR}/www/scripts
845 %{FORGE_DIR}/www/search
846 %{FORGE_DIR}/www/snippet
847 %{FORGE_DIR}/www/soap
848 %{FORGE_DIR}/www/softwaremap
849 %{FORGE_DIR}/www/squal
850 %{FORGE_DIR}/www/stats
851 %{FORGE_DIR}/www/support
852 %{FORGE_DIR}/www/survey
853 %{FORGE_DIR}/www/tabber
854 %{FORGE_DIR}/www/themes
856 %{FORGE_DIR}/www/tracker
857 %{FORGE_DIR}/www/trove
858 %{FORGE_DIR}/www/widgets
859 #%{FORGE_DIR}/www/plugins/online_help
860 #%{FORGE_DIR}/www/plugins/projects-hierarchy
861 #%{FORGE_DIR}/www/plugins/quota_management
862 %dir %{FORGE_DIR}/plugins
863 %{FORGE_DIR}/plugins/env.inc.php
864 #%{FORGE_DIR}/plugins/online_help
865 #%{FORGE_DIR}/plugins/projects-hierarchy
866 #%{FORGE_DIR}/plugins/quota_management
868 %dir %{FORGE_CONF_DIR}
869 #%config(noreplace) %{FORGE_CONF_DIR}/httpd.secrets
870 %dir %{FORGE_CONF_DIR}/httpd.d
871 %dir %{FORGE_CONF_DIR}/httpd.conf.d
872 %{FORGE_CONF_DIR}/httpd.conf.d/*
873 %{_sysconfdir}/httpd/conf.d/gforge.conf
874 %{FORGE_CONF_DIR}/config.ini.d/defaults.ini
875 %{FORGE_CONF_DIR}/config.ini.d/debug.ini
876 %{FORGE_CONF_DIR}/config.ini
877 %dir %attr(0775,root,%{httpdgroup}) %{FORGE_CONF_DIR}/plugins
878 %dir %{FORGE_VAR_LIB}/scmtarballs
879 %dir %{FORGE_VAR_LIB}/scmsnapshots
880 %dir %{FORGE_VAR_LIB}/dumps
881 %{FORGE_VAR_LIB}/homedirs
885 %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/authbuiltin.ini
886 %{FORGE_DIR}/plugins/authbuiltin
888 %files plugin-aselectextauth
889 %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/aselectextauth.ini
890 %{FORGE_DIR}/plugins/aselectextauth
892 %files plugin-authcas
893 %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/authcas.ini
894 %{FORGE_DIR}/plugins/authcas
895 %{FORGE_DIR}/www/plugins/authcas
897 %files plugin-authhttpd
898 %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/authhttpd.ini
899 %{FORGE_DIR}/plugins/authhttpd
900 %{FORGE_DIR}/www/plugins/authhttpd
902 # %files plugin-authopenid
903 # %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/authopenid.ini
904 # %{FORGE_DIR}/plugins/authopenid
906 %files plugin-ckeditor
907 %{FORGE_DIR}/plugins/ckeditor
909 %files plugin-cvssyncmail
910 %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/cvssyncmail.ini
911 %{FORGE_DIR}/plugins/cvssyncmail
913 %files plugin-cvstracker
914 %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/cvstracker.ini
915 %{FORGE_DIR}/plugins/cvstracker
916 %{FORGE_DIR}/www/plugins/cvstracker
917 %attr(-,%{httpduser},%{httpdgroup}) %{FORGE_CONF_DIR}/plugins/cvstracker
919 %files plugin-compactpreview
920 %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/compactpreview.ini
921 %{FORGE_DIR}/plugins/compactpreview
923 %files plugin-cvstracker
924 %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/cvstracker.ini
925 %{FORGE_DIR}/plugins/cvstracker
926 %{FORGE_DIR}/www/plugins/cvstracker
927 %attr(-,%{httpduser},%{httpdgroup}) %{FORGE_CONF_DIR}/plugins/cvstracker
929 %files plugin-doaprdf
930 %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/doaprdf.ini
931 %{FORGE_DIR}/plugins/doaprdf
933 %files plugin-externalsearch
934 %config(noreplace) %{FORGE_CONF_DIR}/plugins/externalsearch/
935 %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/externalsearch.ini
936 %{FORGE_DIR}/plugins/externalsearch
938 %files plugin-extsubproj
939 %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/extsubproj.ini
940 %{FORGE_DIR}/plugins/extsubproj
942 %files plugin-fckeditor
943 %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/fckeditor.ini
944 %{FORGE_DIR}/plugins/fckeditor
945 %{FORGE_DIR}/www/plugins/fckeditor
947 # %files plugin-forumml
948 # %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/forumml.ini
949 # %{FORGE_DIR}/plugins/forumml
950 # %{FORGE_DIR}/www/plugins/forumml
952 %files plugin-gravatar
953 %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/gravatar.ini
954 %{FORGE_DIR}/plugins/gravatar
957 %config(noreplace) %{FORGE_CONF_DIR}/plugins/hudson/
958 %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/hudson.ini
959 %{FORGE_CONF_DIR}/httpd.d/62plugin-hudson
960 %{FORGE_DIR}/plugins/hudson
961 %{FORGE_DIR}/www/plugins/hudson
963 %files plugin-authldap
964 %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/authldap.ini
965 %{FORGE_DIR}/plugins/authldap
967 %files plugin-mediawiki
968 %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/mediawiki.ini
969 %{_sysconfdir}/cron.d/fusionforge-plugin-mediawiki
970 %{FORGE_CONF_DIR}/httpd.d/61plugin-mediawiki
971 %{FORGE_DIR}/plugins/mediawiki/
972 %{FORGE_DIR}/www/plugins/mediawiki
973 %{FORGE_VAR_LIB}/plugins/mediawiki
974 /usr/share/mediawiki/skins/FusionForge.php
975 /usr/share/mediawiki/skins/fusionforge
977 %files plugin-moinmoin
978 %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/moinmoin.ini
979 %{FORGE_DIR}/plugins/moinmoin/
980 %{FORGE_DIR}/www/plugins/moinmoin
982 %files plugin-message
983 %{FORGE_DIR}/plugins/message
984 %{FORGE_DIR}/www/plugins/message
986 %files plugin-online_help
987 %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/online_help.ini
988 %{FORGE_DIR}/plugins/online_help
989 %{FORGE_DIR}/www/plugins/online_help
992 %config(noreplace) %{FORGE_CONF_DIR}/plugins/oslc/
993 %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/oslc.ini
994 %{FORGE_CONF_DIR}/httpd.d/plugin-oslc.inc
995 %{FORGE_DIR}/plugins/oslc
996 %{FORGE_DIR}/www/plugins/oslc
998 %files plugin-projectimport
999 %config(noreplace) %{FORGE_CONF_DIR}/plugins/projectimport/
1000 %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/projectimport.ini
1001 %{FORGE_DIR}/plugins/projectimport
1002 %{FORGE_DIR}/www/plugins/projectimport
1004 # %files plugin-projects-hierarchy
1005 # %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/projects-hierarchy.ini
1006 # %{FORGE_DIR}/plugins/projects-hierarchy
1007 # %{FORGE_DIR}/www/plugins/projects-hierarchy
1009 %files plugin-quota_management
1010 %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/quota_management.ini
1011 %{FORGE_DIR}/plugins/quota_management
1012 %{FORGE_DIR}/www/plugins/quota_management
1014 %files plugin-scmarch
1015 %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/scmarch.ini
1016 %{FORGE_DIR}/plugins/scmarch
1018 %files plugin-scmbzr
1019 %config(noreplace) %{FORGE_CONF_DIR}/plugins/scmbzr/
1020 %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/scmbzr.ini
1021 %{FORGE_DIR}/plugins/scmbzr
1023 %files plugin-scmdarcs
1024 %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/scmdarcs.ini
1025 %{FORGE_DIR}/plugins/scmdarcs
1027 %files plugin-scmgit
1028 %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/scmgit.ini
1029 %{FORGE_DIR}/plugins/scmgit
1030 %{FORGE_DIR}/www/plugins/scmgit
1033 %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/scmhg.ini
1034 %{FORGE_DIR}/plugins/scmhg
1036 %files plugin-scmhook
1037 %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/scmhook.ini
1038 %{FORGE_DIR}/plugins/scmhook
1040 %files plugin-scmccase
1041 %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/scmccase.ini
1042 %{FORGE_DIR}/plugins/scmccase
1044 %files plugin-scmcvs
1045 %config(noreplace) %{FORGE_CONF_DIR}/plugins/scmcvs/
1046 %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/scmcvs.ini
1047 %{_sysconfdir}/cron.d/%{name}-plugin-scmcvs
1048 %{FORGE_CONF_DIR}/httpd.d/30virtualcvs
1049 %{FORGE_CONF_DIR}/httpd.d/31virtualcvs.ssl
1050 %{FORGE_DIR}/plugins/scmcvs
1051 %{FORGE_DIR}/www/plugins/scmcvs
1052 %{FORGE_VAR_LIB}/chroot/scmrepos/cvs
1054 %files plugin-scmsvn
1055 %config(noreplace) %{FORGE_CONF_DIR}/plugins/scmsvn/
1056 %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/scmsvn.ini
1057 %{FORGE_DIR}/plugins/scmsvn
1058 %{FORGE_DIR}/www/plugins/scmsvn
1059 %{FORGE_VAR_LIB}/chroot/scmrepos/svn
1061 %files plugin-svncommitemail
1062 %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/svncommitemail.ini
1063 %{FORGE_DIR}/plugins/svncommitemail
1065 %files plugin-svntracker
1066 %config(noreplace) %{FORGE_CONF_DIR}/plugins/svntracker/
1067 %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/svntracker.ini
1068 %{_sysconfdir}/cron.d/gforge-plugin-svntracker
1069 %{FORGE_DIR}/plugins/svntracker
1070 %{FORGE_DIR}/www/plugins/svntracker
1072 %files plugin-blocks
1073 %config(noreplace) %{FORGE_CONF_DIR}/plugins/blocks/
1074 %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/blocks.ini
1075 %{FORGE_DIR}/plugins/blocks
1076 %{FORGE_DIR}/www/plugins/blocks
1078 %files plugin-extratabs
1079 %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/extratabs.ini
1080 %{FORGE_DIR}/plugins/extratabs
1081 %{FORGE_DIR}/www/plugins/extratabs
1084 %config(noreplace) %{FORGE_CONF_DIR}/plugins/wiki/
1085 %{_sysconfdir}/cron.d/cron.wiki
1086 %{FORGE_CONF_DIR}/httpd.d/03wiki.conf
1087 %{FORGE_DIR}/plugins/wiki
1088 %{FORGE_DIR}/www/wiki
1090 %files plugin-projectlabels
1091 %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/projectlabels.ini
1092 %{FORGE_DIR}/plugins/projectlabels
1093 %{FORGE_DIR}/www/plugins/projectlabels
1095 %files plugin-contribtracker
1096 %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/contribtracker.ini
1097 %{FORGE_DIR}/plugins/contribtracker
1098 %{FORGE_DIR}/www/plugins/contribtracker
1100 %files plugin-globalsearch
1101 %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/globalsearch.ini
1102 %{FORGE_DIR}/plugins/globalsearch
1103 %{FORGE_DIR}/www/plugins/globalsearch
1105 # %files plugin-mailman
1106 # %config(noreplace) %{FORGE_CONF_DIR}/plugins/mailman/
1107 # %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/mailman.ini
1108 # %{FORGE_CONF_DIR}/httpd.d/plugin-oslc.inc
1109 # %{FORGE_CONF_DIR}/httpd.d/62plugin-list-mailman
1110 # %{FORGE_CONF_DIR}/httpd.d/200list.vhost
1111 # %{FORGE_CONF_DIR}/httpd.d/20list
1112 # %{FORGE_CONF_DIR}/httpd.d/20zlist.vhost
1113 # %{FORGE_CONF_DIR}/httpd.d/21list.vhost.ssl
1114 # %{FORGE_DIR}/plugins/mailman
1115 # %{FORGE_DIR}/www/plugins/mailman
1117 # %files plugin-mantisbt
1118 # %config(noreplace) %{FORGE_CONF_DIR}/plugins/mantisbt/
1119 # %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/mantisbt.ini
1120 # %{FORGE_DIR}/plugins/mantisbt
1121 # %{FORGE_DIR}/www/plugins/mantisbt
1123 # %files plugin-oauthprovider
1124 # %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/oauthprovider.ini
1125 # %config(noreplace) %{FORGE_CONF_DIR}/plugins/oauthprovider/
1126 # %{FORGE_CONF_DIR}/httpd.d/62plugin-oauthprovider
1127 # %{FORGE_DIR}/plugins/oauthprovider
1130 * Tue May 17 2011 - Thorsten Glaser <t.glaser@tarent.de> - 5.0.50-2
1131 - Adapted for versioning of the forge via the packaging
1133 * Fri May 28 2010 - Alain Peyrat <aljeux@free.fr> - 5.0.50-1
1134 - Ported to 5.1 tree.
1135 - Reworked logic with rights on configuration files.
1136 - Adapted to changes like scm refactoring.
1137 - Adapted to changes to .ini configuration file.
1138 - Lots of new plugins added.
1140 * Tue May 13 2010 - Bond Masuda <bond.masuda@JLBond.com> - 4.8.3-2
1141 - fixed plugin symlinks and plugin directory permissions
1142 - patched mediawiki, webcalendar plugins
1143 - patch to fix various references to global variables
1144 - add symlinks to use mediawiki Monobook skin as GForge
1145 - patch to replace ereg_replace() with preg_replace()
1146 - added jpgraph symlink
1147 - setup httpd.secrets
1148 - delete obsolete mediawiki plugin code
1150 * Fri Apr 16 2010 - Bond Masuda <bond.masuda@JLBond.com> - 4.8.3-1
1151 - My first packaging of fusionforge 4.8.3-1 and plugins