%define fforge_admin fforgeadmin
-%define FORGE_DIR %{_datadir}/gforge
+%define FORGE_DIR %{_datadir}/gforge/src
%define FORGE_CONF_DIR %{_sysconfdir}/gforge
%define FORGE_LANG_DIR %{_datadir}/locale
%define FORGE_VAR_LIB %{_var}/lib/gforge
%define reloadhttpd() /etc/init.d/httpd httpd reload >/dev/null 2>&1
+# Disable debug binary detection & generation to speed up process.
+%global debug_package %{nil}
+
# RPM spec preamble
Summary: FusionForge Collaborative Development Environment
Name: fusionforge
Packager: Alain Peyrat <aljeux@free.fr>
Requires: httpd, mod_dav_svn, mod_ssl, php, php-pgsql, php-gd, php-mbstring, mailman
-Requires: postgresql, postgresql-libs, postgresql-server, postgresql-contrib
+Requires: postgresql >= 8.3 or postgresql84, postgresql-libs, postgresql-server, postgresql-contrib
Requires: postfix, openssh, inetd, which
Requires: /bin/sh, /bin/bash
where users can be authenticated by several means with Authentication
Service Providers.
+%package plugin-authcas
+Summary: External CAS authentication plugin for FusionForge.
+Group: Development/Tools
+Requires: %{name} >= %{version}, php, postgresql
+%description plugin-authcas
+External CAS authentication plugin for FusionForge.
+
+%package plugin-authhttpd
+Summary: External HTTPD authentication plugin for FusionForge.
+Group: Development/Tools
+Requires: %{name} >= %{version}, php, postgresql
+%description plugin-authhttpd
+External HTTPD authentication plugin for FusionForge.
+
+# %package plugin-authopenid
+# Summary: External OpenID authentication plugin for FusionForge.
+# Group: Development/Tools
+# Requires: %{name} >= %{version}, php, postgresql
+# %description plugin-authopenid
+# External OpenID authentication plugin for FusionForge.
+
+%package plugin-ckeditor
+Summary: CKEditor plugin for FusionForge
+Group: Development/Tools
+Requires: %{name} >= %{version}, php, ckeditor
+%description plugin-ckeditor
+CKEditor is a WYSIWYG text editor that displays within a web browser.
+
%package plugin-cvssyncmail
Summary: Provides email notifications of changes to CVS repositories
Group: Development/Tools
-Requires: %{name} >= %{version}, %{name}-scmcvs, python, php
+Requires: %{name} >= %{version}, %{name}-plugin-scmcvs, python, php
%description plugin-cvssyncmail
This plugin adds the capability to notify users of changes to CVS repositories
in FusionForge.
+%package plugin-compactpreview
+Summary: Provides a preview mecanism
+Group: Development/Tools
+Requires: %{name} >= %{version}, php
+%description plugin-compactpreview
+This plugin adds support for user and project compact-preview
+(popups) compatible with the OSLC specifications.
+
%package plugin-cvstracker
Summary: Links CVS log messages to trackers and tasks.
Group: Development/Tools
-Requires: %{name} >= %{version}, %{name}-scmcvs, php, postgresql
+Requires: %{name} >= %{version}, %{name}-plugin-scmcvs, php, postgresql
%description plugin-cvstracker
This is a fusionforge plugin that allows linking CVS log messages to
trackers and tasks. It will review all commits in a project and search for
specific string to know which task or tracker is related.
+%package plugin-doaprdf
+Summary: DOAP RDF for projects
+Group: Development/Tools
+Requires: %{name} >= %{version}, php
+%description plugin-doaprdf
+DOAP RDF for projects
+
%package plugin-externalsearch
Summary: external search plugin for FusionForge
Group: Development/Tools
which have indexed it. You can define search engines you want to use in
the configuration file.
-%package plugin-forumml
-Summary: Mailman to forums plugin for FusionForge
+%package plugin-extsubproj
+Summary: external sub project plugin for FusionForge
Group: Development/Tools
Requires: %{name} >= %{version}, php
-%description plugin-forumml
-ForumML integes mailing lists as forums in FusionForge
+%description plugin-extsubproj
+Manages links to external subprojects on remote forges.
+
+# %package plugin-forumml
+# Summary: Mailman to forums plugin for FusionForge
+# Group: Development/Tools
+# Requires: %{name} >= %{version}, php
+# %description plugin-forumml
+# ForumML integes mailing lists as forums in FusionForge
%package plugin-fckeditor
Summary: FCKEditor plugin for FusionForge
%description plugin-hudson
This plugin adds hudson integration to FusionForge.
-%package plugin-ldapextauth
+%package plugin-authldap
Summary: external LDAP authentication for FusionForge plugin
Group: Development/Tools
Requires: %{name} >= %{version}, php, php-ldap
-%description plugin-ldapextauth
+%description plugin-authldap
This plugin provides LDAP authentication capability for FusionForge.
-%package plugin-mantis
-Summary: MantisBT plugin for FusionForge
-Group: Development/Tools
-Requires: %{name} >= %{version}, php
-%description plugin-mantis
-A plugin to use the MantisBT web-based bug tracking system with FusionForge.
-
%package plugin-mediawiki
Summary: Mediawiki plugin for FusionForge
Group: Development/Tools
%description plugin-mediawiki
This is a plugin to integrate MediaWiki within FusionForge.
+%package plugin-moinmoin
+Summary: MoinMoinWiki plugin for FusionForge
+Group: Development/Tools
+Requires: %{name} >= %{version}, php, postgresql
+%description plugin-moinmoin
+This is a plugin to integrate MediaWiki within FusionForge.
+
+%package plugin-message
+Summary: Global Information Message plugin for FusionForge
+Group: Development/Tools
+Requires: %{name} >= %{version}, php
+%description plugin-message
+This is a plugin to add a global announce message for FusionForge.
+It can be use to warn users for planned or current outage.
+
%package plugin-online_help
Summary: online_help plugin for FusionForge
Group: Development/Tools
This package provides an OSLC-CM V2 compatible plugin for FusionForge
tracker system.
-%package plugin-projects_hierarchy
-Summary: projects_hierarchy plugin for FusionForge
+%package plugin-projectimport
+Summary: Project Import plugin for FusionForge
Group: Development/Tools
Requires: %{name} >= %{version}, php
-%description plugin-projects_hierarchy
-This is a projects_hierarchy plugin within FusionForge.
+%description plugin-projectimport
+Project import plugin for FusionForge
+This plugin allows the import of a project data previously exported
+with ForgePlucker, or a compatible tool.
+
+# %package plugin-projects-hierarchy
+# Summary: projects-hierarchy plugin for FusionForge
+# Group: Development/Tools
+# Requires: %{name} >= %{version}, php
+# %description plugin-projects-hierarchy
+# This is a projects-hierarchy plugin within FusionForge.
%package plugin-quota_management
Summary: quota_management plugin for FusionForge
%description plugin-scmhg
This is a plugin to integrate Mercurial (hg) version control system with FusionForge
+%package plugin-scmhook
+Summary: Source Code Hooks plugin
+Group: Development/Tools
+Requires: %{name} >= %{version}
+%description plugin-scmhook
+This plugin provide a simple hook system for various version control system.
+It allows project admins to activate/desactivate predefined hooks on their
+repositories.
+
%package plugin-scmccase
Summary: Clear Case plugin for FusionForge
Group: Development/Tools
%package plugin-svncommitemail
Summary: subversion commit email plugin for FusionForge
Group: Development/Tools
-Requires: %{name} >= %{version}, php, subversion, perl, %{name}-scmsvn >= %{version}
+Requires: %{name} >= %{version}, php, subversion, perl, %{name}-plugin-scmsvn >= %{version}
%description plugin-svncommitemail
This RPM installs subversion commit email notification plugin for FusionForge.
%package plugin-svntracker
Summary: SVNTracker plugin for FusionForge
Group: Development/Tools
-Requires: %{name} >= %{version}, php, subversion, perl, postgresql, %{name}-scmsvn >= %{version}
+Requires: %{name} >= %{version}, php, subversion, perl, postgresql, %{name}-plugin-scmsvn >= %{version}
%description plugin-svntracker
SVNTracker plugin allows linking SVN log messages to Trackers and tasks.
It will review all commits in a project and search for a specific string
%description plugin-globalsearch
globalsearch plugin for FusionForge.
-%package plugin-mailman
-Summary: Mailman plugin for FusionForge
-Group: Development/Tools
-Requires: %{name} >= %{version}, php
-%description plugin-mailman
-Mailman plugin for FusionForge.
-
-%package plugin-mantisbt
-Summary: mantisbt plugin for FusionForge
-Group: Development/Tools
-Requires: %{name} >= %{version}, php, postgresql
-%description plugin-mantisbt
-mantisbt plugin for FusionForge.
+# %package plugin-mailman
+# Summary: Mailman plugin for FusionForge
+# Group: Development/Tools
+# Requires: %{name} >= %{version}, php
+# %description plugin-mailman
+# Mailman plugin for FusionForge.
+
+# %package plugin-mantisbt
+# Summary: mantisbt plugin for FusionForge
+# Group: Development/Tools
+# Requires: %{name} >= %{version}, php, postgresql
+# %description plugin-mantisbt
+# mantisbt plugin for FusionForge.
+
+# %package plugin-oauthprovider
+# Summary: oauthprovider plugin for FusionForge
+# Group: Development/Tools
+# Requires: %{name} >= %{version}, php, postgresql
+# %description plugin-oauthprovider
+# oauthprovider plugin for FusionForge.
%prep
%setup -q
%{__install} -m 755 -d $RPM_BUILD_ROOT/bin
%{__install} -m 755 -d $RPM_BUILD_ROOT%{FORGE_DIR}
%{__install} -m 755 -d $RPM_BUILD_ROOT%{FORGE_DIR}/lib
+%{__install} -m 755 -d $RPM_BUILD_ROOT%{FORGE_DIR}/www
+%{__install} -m 755 -d $RPM_BUILD_ROOT%{FORGE_DIR}/www/plugins
%{__install} -m 755 -d $RPM_BUILD_ROOT%{FORGE_CONF_DIR}
%{__install} -m 755 -d $RPM_BUILD_ROOT%{FORGE_CONF_DIR}/httpd.d
%{__install} -m 755 -d $RPM_BUILD_ROOT%{FORGE_CONF_DIR}/httpd.conf.d
%{__install} -m 755 -d $RPM_BUILD_ROOT%{FORGE_VAR_LIB}/chroot/scmrepos/svn
%{__install} -m 755 -d $RPM_BUILD_ROOT%{FORGE_VAR_LIB}/chroot/scmrepos/cvs
%{__install} -m 755 -d $RPM_BUILD_ROOT/home/groups
+%{__install} -m 755 -d $RPM_BUILD_ROOT/var/log/gforge
# mock mediawiki directory because we symlink GForge skin to Monobook
%{__install} -m 755 -d $RPM_BUILD_ROOT/usr/share/mediawiki/skins
# install restricted shell for cvs accounts
%{__cp} -a plugins/scmcvs/bin/cvssh.pl $RPM_BUILD_ROOT/bin/
-# Fix configuration files entries (various sys_* variables)
-#%{__cp} -a etc/local.inc.example $RPM_BUILD_ROOT/%{FORGE_CONF_DIR}/local.inc
-#%{__sed} -i -e "s!/path/to/gforge!%{FORGE_DIR}!g" $RPM_BUILD_ROOT%{FORGE_CONF_DIR}/local.inc
-#%{__sed} -i -e "s!/path/to/jpgraph!/var/www/jpgraph-1.19!g" $RPM_BUILD_ROOT%{FORGE_CONF_DIR}/local.inc
-#%{__sed} -i -e "s/\$sys_dbname=.*/\$sys_dbname='%{dbname}';/g" $RPM_BUILD_ROOT%{FORGE_CONF_DIR}/local.inc
-#%{__sed} -i -e "s/\$sys_dbuser=.*/\$sys_dbuser='%{dbuser}';/g" $RPM_BUILD_ROOT%{FORGE_CONF_DIR}/local.inc
-#%{__sed} -i -e "s/\$sys_apache_user=.*/\$sys_apache_user='%{httpduser}';/g" $RPM_BUILD_ROOT%{FORGE_CONF_DIR}/local.inc
-#%{__sed} -i -e "s/\$sys_apache_group=.*/\$sys_apache_group='%{httpdgroup}';/g" $RPM_BUILD_ROOT%{FORGE_CONF_DIR}/local.inc
-#%{__sed} -i -e "s|\$sys_plugins_path=.*|\$sys_plugins_path=\"%{FORGE_DIR}/plugins\";|g" $RPM_BUILD_ROOT%{FORGE_CONF_DIR}/local.inc
-#%{__sed} -i -e "s|\$sys_upload_dir=.*|\$sys_upload_dir=\"\$sys_var_path/upload\";|g" $RPM_BUILD_ROOT%{FORGE_CONF_DIR}/local.inc
-#%{__sed} -i -e "s|\$sys_urlroot=.*|\$sys_urlroot=\"%{FORGE_DIR}/www\";|g" $RPM_BUILD_ROOT%{FORGE_CONF_DIR}/local.inc
-
-# Replace sys_localinc, sys_gfdbname, sys_gfdbuser
-#%{__cp} -a etc/httpd.secrets.example $RPM_BUILD_ROOT%{FORGE_CONF_DIR}/httpd.secrets
-#%{__sed} -i -e "s|sys_localinc.*$|sys_localinc %{FORGE_CONF_DIR}/local.inc|g" $RPM_BUILD_ROOT%{FORGE_CONF_DIR}/httpd.secrets
-#%{__sed} -i -e "s|sys_gfdbname.*$|sys_gfdbname %{dbname}|g" $RPM_BUILD_ROOT%{FORGE_CONF_DIR}/httpd.secrets
-#%{__sed} -i -e "s|sys_gfdbuser.*$|sys_gfdbname %{dbuser}|g" $RPM_BUILD_ROOT%{FORGE_CONF_DIR}/httpd.secrets
-
# Apache configuration file
%{__cp} -a etc/httpd.conf.d-fhs/* $RPM_BUILD_ROOT%{FORGE_CONF_DIR}/httpd.conf.d/
-%{__cp} -a etc/config.ini-fhs $RPM_BUILD_ROOT%{FORGE_CONF_DIR}/
+%{__cp} -a etc/config.ini.d/defaults.ini $RPM_BUILD_ROOT%{FORGE_CONF_DIR}/config.ini.d/
+%{__cp} -a etc/config.ini.d/debug.ini $RPM_BUILD_ROOT%{FORGE_CONF_DIR}/config.ini.d/
+%{__cp} -a etc/config.ini-fhs $RPM_BUILD_ROOT%{FORGE_CONF_DIR}/config.ini
%{__cp} -a etc/httpd.conf-fhs $RPM_BUILD_ROOT%{_sysconfdir}/httpd/conf.d/gforge.conf
#%{__cp} -a etc/gforge-httpd.conf.example $RPM_BUILD_ROOT%{_sysconfdir}/httpd/conf.d/gforge.conf
#%{__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
%{__rm} -f $RPM_BUILD_ROOT%{FORGE_DIR}/utils/fusionforge-shell-postgresql.spec
+# Identify this FusionForge version
+# keep type intact and change forge in derivates,
+# unless there are deep changes (type is used for
+# the Forge-Identification meta header)
+WHICH_TYPE=FusionForge
+WHICH_FORGE=FusionForge
+WHICH_VERSION=%{version}-%{release}
+%{__sed} \
+ -e "s!@PKGNAME@!${WHICH_FORGE}!g" \
+ -e "s!@PKGVERSION@!${WHICH_VERSION}!g" \
+ -e "s!@PLUCKERNAME@!${WHICH_TYPE}!g" \
+ <$RPM_BUILD_ROOT/%{FORGE_DIR}/deb-specific/pkginfo.inc.php \
+ >$RPM_BUILD_ROOT/%{FORGE_DIR}/common/pkginfo.inc.php
+
%{__rm} -f $RPM_BUILD_ROOT%{FORGE_DIR}/COPYING.php
%{__rm} -fr $RPM_BUILD_ROOT/%{FORGE_DIR}/packaging
%{__rm} -fr $RPM_BUILD_ROOT/%{FORGE_DIR}/deb-specific
%{__rm} -fr $RPM_BUILD_ROOT/%{FORGE_DIR}/rpm-specific
%{__rm} -fr $RPM_BUILD_ROOT/%{FORGE_DIR}/plugins/*/packaging
%{__rm} -fr $RPM_BUILD_ROOT/%{FORGE_DIR}/plugins/*/*.spec
+%{__rm} -fr $RPM_BUILD_ROOT/%{FORGE_DIR}/plugins/foafprofiles
### Plugin setup ###
+for i in $(utils/list-enabled-plugins.sh --disabled) ; do
+ %{__rm} -rf $RPM_BUILD_ROOT%{FORGE_DIR}/plugins/$i
+done
+
%{__cp} $RPM_BUILD_ROOT%{FORGE_DIR}/plugins/*/etc/*.ini $RPM_BUILD_ROOT%{FORGE_CONF_DIR}/config.ini.d/
%{__cp} $RPM_BUILD_ROOT%{FORGE_DIR}/plugins/*/etc/cron.d/* $RPM_BUILD_ROOT%{_sysconfdir}/cron.d/
%{__cp} $RPM_BUILD_ROOT%{FORGE_DIR}/plugins/*/etc/httpd.d/* $RPM_BUILD_ROOT%{FORGE_CONF_DIR}/httpd.d/
# plugin: aselectextauth
+# plugin: authbuiltin (internal plugin)
+%{__ln_s} ../../plugins/authbuiltin/www $RPM_BUILD_ROOT%{FORGE_DIR}/www/plugins/authbuiltin
+
+# plugin: authcas
+%{__ln_s} ../../plugins/authcas/www $RPM_BUILD_ROOT%{FORGE_DIR}/www/plugins/authcas
+
+# plugin: authhttpd
+%{__ln_s} ../../plugins/authhttpd/www $RPM_BUILD_ROOT%{FORGE_DIR}/www/plugins/authhttpd
+
+# plugin: authopenid
+# %{__ln_s} ../../plugins/authopenid/www $RPM_BUILD_ROOT%{FORGE_DIR}/www/plugins/authopenid
+
+# plugin: compactpreview
+%{__ln_s} ../../plugins/compactpreview/www $RPM_BUILD_ROOT%{FORGE_DIR}/www/plugins/compactpreview
+
# plugin: cvssyncmail
# plugin: cvstracker
+%{__ln_s} ../../plugins/cvstracker/www $RPM_BUILD_ROOT%{FORGE_DIR}/www/plugins/cvstracker
# delete stuff that is clearly outdated/obsolete so we don't package this and confuse others
%{__rm} -f $RPM_BUILD_ROOT%{FORGE_DIR}/plugins/cvstracker/httpd.conf
%{__rm} -f $RPM_BUILD_ROOT%{FORGE_DIR}/plugins/cvstracker/Makefile
# plugin: externalsearch
+# plugin: extsubproj
+%{__ln_s} ../../plugins/extsubproj/www $RPM_BUILD_ROOT%{FORGE_DIR}/www/plugins/extsubproj
+
# plugin: fckeditor
+%{__ln_s} ../../plugins/fckeditor/www $RPM_BUILD_ROOT%{FORGE_DIR}/www/plugins/fckeditor
# plugin: forumml
-%{__ln_s} ../../plugins/forumml/www $RPM_BUILD_ROOT%{FORGE_DIR}/www/plugins/forumml
+# %{__ln_s} ../../plugins/forumml/www $RPM_BUILD_ROOT%{FORGE_DIR}/www/plugins/forumml
# plugin: hudson
%{__ln_s} ../../plugins/hudson/www $RPM_BUILD_ROOT%{FORGE_DIR}/www/plugins/hudson
-# plugin: ldapextauth
-%{__rm} -rf $RPM_BUILD_ROOT%{FORGE_DIR}/plugins/ldapextauth/rpm-specific
-
-# plugin: mantis
-
# plugin: mediawiki
+%{__ln_s} ../../plugins/mediawiki/www $RPM_BUILD_ROOT%{FORGE_DIR}/www/plugins/mediawiki
# create symlink for apache configuration for mediawiki plugin
## first, delete the php_admin_value include_path
%{__sed} -i -e "/^.*php_admin_value[[:space:]]*include_path.*/d" $RPM_BUILD_ROOT%{FORGE_DIR}/plugins/mediawiki/etc/httpd.d/61plugin-mediawiki
# insert our own README file
%{__cp} -f %{SOURCE1} $RPM_BUILD_ROOT%{FORGE_DIR}/plugins/mediawiki/README.jlbond
+# plugin: moinmoin
+%{__ln_s} ../../plugins/moinmoin/www $RPM_BUILD_ROOT%{FORGE_DIR}/www/plugins/moinmoin
+
+# plugin: message
+%{__ln_s} ../../plugins/message/www $RPM_BUILD_ROOT%{FORGE_DIR}/www/plugins/message
+
# plugin: online_help
+%{__ln_s} ../../plugins/online_help/www $RPM_BUILD_ROOT%{FORGE_DIR}/www/plugins/online_help
-# plugin: projects_hierarchy
+# plugin: projects-hierarchy
+# %{__ln_s} ../../plugins/projects-hierarchy/www $RPM_BUILD_ROOT%{FORGE_DIR}/www/plugins/projects-hierarchy
# plugin: quota_management
+%{__ln_s} ../../plugins/quota_management/www $RPM_BUILD_ROOT%{FORGE_DIR}/www/plugins/quota_management
# plugin: scmarch
# plugin: svncommitemail
# plugin: svntracker
+%{__ln_s} ../../plugins/svntracker/www $RPM_BUILD_ROOT%{FORGE_DIR}/www/plugins/svntracker
# install crontab
%{__install} -m 644 plugins/svntracker/rpm-specific/cron.d/gforge-plugin-svntracker $RPM_BUILD_ROOT%{_sysconfdir}/cron.d
# plugin: oslc
%{__ln_s} ../../plugins/oslc/www $RPM_BUILD_ROOT%{FORGE_DIR}/www/plugins/oslc
+# plugin : projectimport
+%{__ln_s} ../../plugins/projectimport/www $RPM_BUILD_ROOT%{FORGE_DIR}/www/plugins/projectimport
+
# plugin: projectlabels
%{__ln_s} ../../plugins/projectlabels/www $RPM_BUILD_ROOT%{FORGE_DIR}/www/plugins/projectlabels
%{__ln_s} ../../plugins/globalsearch/www $RPM_BUILD_ROOT%{FORGE_DIR}/www/plugins/globalsearch
# plugin: mailman
-%{__ln_s} ../../plugins/mailman/www $RPM_BUILD_ROOT%{FORGE_DIR}/www/plugins/mailman
+# %{__ln_s} ../../plugins/mailman/www $RPM_BUILD_ROOT%{FORGE_DIR}/www/plugins/mailman
# plugin: mantisbt
-%{__ln_s} ../../plugins/mantisbt/www $RPM_BUILD_ROOT%{FORGE_DIR}/www/plugins/mantisbt
+# %{__ln_s} ../../plugins/mantisbt/www $RPM_BUILD_ROOT%{FORGE_DIR}/www/plugins/mantisbt
+
+# plugin: oauthprovider
+#%{__ln_s} ../../plugins/oauthprovider/www $RPM_BUILD_ROOT%{FORGE_DIR}/www/plugins/oauthprovider
+
### END OF PLUGIN SETUP ###
if [ $ret -ne 0 ] ; then
FFORGE_DB=%{dbname}
FFORGE_USER=%{dbuser}
- FFORGE_ADMIN_USER=%{fforge_admin}
- FFORGE_ADMIN_PASSWORD=$(/bin/dd if=/dev/urandom bs=32 count=1 2>/dev/null | /usr/bin/sha1sum | cut -c1-8)
+ if [ "x${FFORGE_ADMIN_USER}" = "x" ]
+ then
+ FFORGE_ADMIN_USER=%{fforge_admin}
+ fi
+ if [ "x${FFORGE_ADMIN_PASSWORD}" = "x" ]
+ then
+ FFORGE_ADMIN_PASSWORD=$(/bin/dd if=/dev/urandom bs=32 count=1 2>/dev/null | /usr/bin/sha1sum | cut -c1-8)
+ fi
export FFORGE_DB FFORGE_USER FFORGE_ADMIN_USER FFORGE_ADMIN_PASSWORD
- /usr/bin/php %{FORGE_DIR}/fusionforge-install-3-db.php >>/var/log/%{name}-install.log 2>&1
+ /bin/sh %{FORGE_DIR}/install-ng --database >>/var/log/%{name}-install.log 2>&1
else
echo "Database %{dbname} already exists. Will not proceed with database setup." >>/var/log/%{name}-install.log 2>&1
- echo "Please see %{FORGE_DIR}/fusionforge-install-3-db.php and run it manually" >>/var/log/%{name}-install.log 2>&1
+ echo "Please see %{FORGE_DIR}/install-ng --database and run it manually" >>/var/log/%{name}-install.log 2>&1
echo "if deemed necessary." >>/var/log/%{name}-install.log 2>&1
fi
/usr/bin/php %{FORGE_DIR}/db/upgrade-db.php >>/var/log/%{name}-install.log 2>&1
+ /usr/bin/php %{FORGE_DIR}/utils/normalize_roles.php >>/var/log/%{name}-install.log 2>&1
HOSTNAME=`hostname -f`
#%{__sed} -i -e "s!gforge.company.com!$HOSTNAME!g" %{FORGE_CONF_DIR}/local.inc
#%{__sed} -i -e "s!gforge.company.com!$HOSTNAME!g" /etc/httpd/conf.d/gforge.conf
+ [ -d %{FORGE_VAR_LIB}/etc ] || mkdir %{FORGE_VAR_LIB}/etc
+ touch %{FORGE_VAR_LIB}/etc/httpd.vhosts
-# ====================
- # Installation from scratch, let's generate initial config files
- if [ ! -e %{FORGE_CONF_DIR}/config.ini.d ] ; then
- mkdir -p %{FORGE_CONF_DIR}/config.ini.d
- fi
- if [ ! -e %{FORGE_CONF_DIR}/config.ini.d/rpm-install.ini ] ; then
- cat > %{FORGE_CONF_DIR}/config.ini.d/rpm-install.ini <<EOF
-; This file was generated by the RPM installation system.
-; You can edit the values here or move them to other files.
-
-[core]
-forge_name=FusionForge
-web_host=$HOSTNAME
-EOF
- fi
- if [ ! -e %{FORGE_CONF_DIR}/config.ini.d/rpm-install-secrets.ini ] ; then
- t=$(mktemp %{FORGE_CONF_DIR}/config.ini.d/rpm-install-secrets.ini.XXXXXX)
- if [ "$pw" = "" ] ; then
- if [ -c /dev/urandom ]; then # ...using /dev/urandom when possible
- pw=$(dd if=/dev/urandom count=1 bs=16 2> /dev/null | md5sum | cut -c-32)
- else # ...or something else if need be.
- pw=$(date +"%s:%N" | md5sum | cut -c-32)
- fi
- fi
-
- cat > $t <<EOF
-; This file was generated by the RPM installation system.
-; You can edit the values here or move them to other files.
-; These values should not go into world-readable files!
-
-[core]
-database_host=""
-database_name=%{dbname}
-database_user=%{dbuser}
-database_port=5432
-#database_password=$pw
-EOF
- mv $t %{FORGE_CONF_DIR}/config.ini.d/rpm-install-secrets.ini
- fi
-# ====================
-
- /usr/bin/php %{FORGE_DIR}/fusionforge-install-4-config.php >>/var/log/%{name}-install.log 2>&1
+ /bin/sh %{FORGE_DIR}/install-ng --config >>/var/log/%{name}-install.log 2>&1
/etc/init.d/httpd restart >/dev/null 2>&1
echo ""
echo " http://$HOSTNAME/"
echo ""
- echo "The default fusionforge administrator account and password is:"
+ echo "The FusionForge administrator account and password is:"
echo ""
- echo "Account Name = %{fforge_admin}"
+ echo "Account Name = $FFORGE_ADMIN_USER"
echo "Password = $FFORGE_ADMIN_PASSWORD"
#echo "Please change it to something appropriate upon initial login."
# give user a few seconds to read the message
%{FORGE_DIR}/NEWS
%{FORGE_DIR}/README*
%{FORGE_DIR}/fusionforge.spec
-%{FORGE_DIR}/fusionforge-install*
-%{FORGE_DIR}/gforge-restricted.sh
-%{FORGE_DIR}/install.sh
-%{FORGE_DIR}/install-common.inc
+%{FORGE_DIR}/install-ng
# Directories under %{FORGE_DIR}
%{FORGE_DIR}/backend
%{FORGE_DIR}/common
%{FORGE_DIR}/docs
%{FORGE_DIR}/etc
%{FORGE_DIR}/image-sources
+%{FORGE_DIR}/install
%{FORGE_DIR}/lib
%{FORGE_DIR}/locales
%{FORGE_DIR}/monitor
%{FORGE_DIR}/www/admin
%{FORGE_DIR}/www/developer
%{FORGE_DIR}/www/docman
+%{FORGE_DIR}/www/DTD
%{FORGE_DIR}/www/export
%{FORGE_DIR}/www/forum
%{FORGE_DIR}/www/frs
%{FORGE_DIR}/www/images
%{FORGE_DIR}/www/include
-%{FORGE_DIR}/www/jscook
%{FORGE_DIR}/www/js
%{FORGE_DIR}/www/mail
%{FORGE_DIR}/www/my
%{FORGE_DIR}/www/new
%{FORGE_DIR}/www/news
%{FORGE_DIR}/www/people
+%{FORGE_DIR}/www/plugins
%{FORGE_DIR}/www/pm
%{FORGE_DIR}/www/project
%{FORGE_DIR}/www/register
%{FORGE_DIR}/www/softwaremap
%{FORGE_DIR}/www/squal
%{FORGE_DIR}/www/stats
+%{FORGE_DIR}/www/support
%{FORGE_DIR}/www/survey
%{FORGE_DIR}/www/tabber
%{FORGE_DIR}/www/themes
%{FORGE_DIR}/www/trove
%{FORGE_DIR}/www/widgets
#%{FORGE_DIR}/www/plugins/online_help
-#%{FORGE_DIR}/www/plugins/projects_hierarchy
+#%{FORGE_DIR}/www/plugins/projects-hierarchy
#%{FORGE_DIR}/www/plugins/quota_management
%dir %{FORGE_DIR}/plugins
%{FORGE_DIR}/plugins/env.inc.php
#%{FORGE_DIR}/plugins/online_help
-#%{FORGE_DIR}/plugins/projects_hierarchy
+#%{FORGE_DIR}/plugins/projects-hierarchy
#%{FORGE_DIR}/plugins/quota_management
%{FORGE_LANG_DIR}
%dir %{FORGE_CONF_DIR}
%dir %{FORGE_CONF_DIR}/httpd.d
%dir %{FORGE_CONF_DIR}/httpd.conf.d
%{FORGE_CONF_DIR}/httpd.conf.d/*
-%{FORGE_CONF_DIR}/config.ini-fhs
-%{FORGE_CONF_DIR}/httpd.conf-fhs
+%{_sysconfdir}/httpd/conf.d/gforge.conf
+%{FORGE_CONF_DIR}/config.ini.d/defaults.ini
+%{FORGE_CONF_DIR}/config.ini.d/debug.ini
+%{FORGE_CONF_DIR}/config.ini
%dir %attr(0775,root,%{httpdgroup}) %{FORGE_CONF_DIR}/plugins
%dir %{FORGE_VAR_LIB}/scmtarballs
%dir %{FORGE_VAR_LIB}/scmsnapshots
/home/groups
/var/log/gforge
/bin/cvssh.pl
+%config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/authbuiltin.ini
+%{FORGE_DIR}/plugins/authbuiltin
%files plugin-aselectextauth
%config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/aselectextauth.ini
%{FORGE_DIR}/plugins/aselectextauth
+%files plugin-authcas
+%config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/authcas.ini
+%{FORGE_DIR}/plugins/authcas
+%{FORGE_DIR}/www/plugins/authcas
+
+%files plugin-authhttpd
+%config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/authhttpd.ini
+%{FORGE_DIR}/plugins/authhttpd
+%{FORGE_DIR}/www/plugins/authhttpd
+
+# %files plugin-authopenid
+# %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/authopenid.ini
+# %{FORGE_DIR}/plugins/authopenid
+
+%files plugin-ckeditor
+%{FORGE_DIR}/plugins/ckeditor
+
%files plugin-cvssyncmail
%config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/cvssyncmail.ini
%{FORGE_DIR}/plugins/cvssyncmail
%{FORGE_DIR}/www/plugins/cvstracker
%attr(-,%{httpduser},%{httpdgroup}) %{FORGE_CONF_DIR}/plugins/cvstracker
+%files plugin-compactpreview
+%config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/compactpreview.ini
+%{FORGE_DIR}/plugins/compactpreview
+
+%files plugin-cvstracker
+%config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/cvstracker.ini
+%{FORGE_DIR}/plugins/cvstracker
+%{FORGE_DIR}/www/plugins/cvstracker
+%attr(-,%{httpduser},%{httpdgroup}) %{FORGE_CONF_DIR}/plugins/cvstracker
+
+%files plugin-doaprdf
+%config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/doaprdf.ini
+%{FORGE_DIR}/plugins/doaprdf
+
%files plugin-externalsearch
%config(noreplace) %{FORGE_CONF_DIR}/plugins/externalsearch/
%config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/externalsearch.ini
%{FORGE_DIR}/plugins/externalsearch
+%files plugin-extsubproj
+%config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/extsubproj.ini
+%{FORGE_DIR}/plugins/extsubproj
+
%files plugin-fckeditor
%config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/fckeditor.ini
%{FORGE_DIR}/plugins/fckeditor
%{FORGE_DIR}/www/plugins/fckeditor
-%files plugin-forumml
-%config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/forumml.ini
-%{FORGE_DIR}/plugins/forumml
-%{FORGE_DIR}/www/plugins/forumml
+# %files plugin-forumml
+# %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/forumml.ini
+# %{FORGE_DIR}/plugins/forumml
+# %{FORGE_DIR}/www/plugins/forumml
%files plugin-gravatar
%config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/gravatar.ini
%{FORGE_DIR}/plugins/hudson
%{FORGE_DIR}/www/plugins/hudson
-%files plugin-ldapextauth
-%config(noreplace) %{FORGE_CONF_DIR}/plugins/ldapextauth/
-%config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/ldapextauth.ini
-%{FORGE_DIR}/plugins/ldapextauth
-
-%files plugin-mantis
-%config(noreplace) %{FORGE_CONF_DIR}/plugins/mantis/
-%config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/mantis.ini
-%{FORGE_DIR}/plugins/mantis
-%{FORGE_DIR}/www/plugins/mantis
+%files plugin-authldap
+%config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/authldap.ini
+%{FORGE_DIR}/plugins/authldap
%files plugin-mediawiki
%config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/mediawiki.ini
/usr/share/mediawiki/skins/GForge.deps.php
/usr/share/mediawiki/skins/GForge.php
+%files plugin-moinmoin
+%config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/moinmoin.ini
+%{FORGE_DIR}/plugins/moinmoin/
+%{FORGE_DIR}/www/plugins/moinmoin
+
+%files plugin-message
+%{FORGE_DIR}/plugins/message
+%{FORGE_DIR}/www/plugins/message
+
%files plugin-online_help
%config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/online_help.ini
%{FORGE_DIR}/plugins/online_help
%{FORGE_DIR}/plugins/oslc
%{FORGE_DIR}/www/plugins/oslc
-%files plugin-projects_hierarchy
-%config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/projects_hierarchy.ini
-%{FORGE_DIR}/plugins/projects_hierarchy
-%{FORGE_DIR}/www/plugins/projects_hierarchy
+%files plugin-projectimport
+%config(noreplace) %{FORGE_CONF_DIR}/plugins/projectimport/
+%config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/projectimport.ini
+%{FORGE_DIR}/plugins/projectimport
+%{FORGE_DIR}/www/plugins/projectimport
+
+# %files plugin-projects-hierarchy
+# %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/projects-hierarchy.ini
+# %{FORGE_DIR}/plugins/projects-hierarchy
+# %{FORGE_DIR}/www/plugins/projects-hierarchy
%files plugin-quota_management
%config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/quota_management.ini
%{FORGE_DIR}/www/plugins/quota_management
%files plugin-scmarch
-%config(noreplace) %{FORGE_CONF_DIR}/plugins/scmarch/
%config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/scmarch.ini
%{FORGE_DIR}/plugins/scmarch
%{FORGE_DIR}/plugins/scmbzr
%files plugin-scmdarcs
-%config(noreplace) %{FORGE_CONF_DIR}/plugins/scmdarcs/
%config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/scmdarcs.ini
%{FORGE_DIR}/plugins/scmdarcs
%files plugin-scmgit
-%config(noreplace) %{FORGE_CONF_DIR}/plugins/scmgit/
%config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/scmgit.ini
%{FORGE_DIR}/plugins/scmgit
%{FORGE_DIR}/www/plugins/scmgit
%files plugin-scmhg
-%config(noreplace) %{FORGE_CONF_DIR}/plugins/scmhg/
%config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/scmhg.ini
%{FORGE_DIR}/plugins/scmhg
+%files plugin-scmhook
+%config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/scmhook.ini
+%{FORGE_DIR}/plugins/scmhook
+
%files plugin-scmccase
-%config(noreplace) %{FORGE_CONF_DIR}/plugins/scmccase/
%config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/scmccase.ini
%{FORGE_DIR}/plugins/scmccase
%{FORGE_DIR}/plugins/globalsearch
%{FORGE_DIR}/www/plugins/globalsearch
-%files plugin-mailman
-%config(noreplace) %{FORGE_CONF_DIR}/plugins/mailman/
-%config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/mailman.ini
-%{FORGE_CONF_DIR}/httpd.d/plugin-oslc.inc
-%{FORGE_CONF_DIR}/httpd.d/62plugin-list-mailman
-%{FORGE_CONF_DIR}/httpd.d/200list.vhost
-%{FORGE_CONF_DIR}/httpd.d/20list
-%{FORGE_CONF_DIR}/httpd.d/20zlist.vhost
-%{FORGE_CONF_DIR}/httpd.d/21list.vhost.ssl
-%{FORGE_DIR}/plugins/mailman
-%{FORGE_DIR}/www/plugins/mailman
-
-%files plugin-mantisbt
-%config(noreplace) %{FORGE_CONF_DIR}/plugins/mantisbt/
-%config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/mantisbt.ini
-%{FORGE_DIR}/plugins/mantisbt
-%{FORGE_DIR}/www/plugins/mantisbt
+# %files plugin-mailman
+# %config(noreplace) %{FORGE_CONF_DIR}/plugins/mailman/
+# %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/mailman.ini
+# %{FORGE_CONF_DIR}/httpd.d/plugin-oslc.inc
+# %{FORGE_CONF_DIR}/httpd.d/62plugin-list-mailman
+# %{FORGE_CONF_DIR}/httpd.d/200list.vhost
+# %{FORGE_CONF_DIR}/httpd.d/20list
+# %{FORGE_CONF_DIR}/httpd.d/20zlist.vhost
+# %{FORGE_CONF_DIR}/httpd.d/21list.vhost.ssl
+# %{FORGE_DIR}/plugins/mailman
+# %{FORGE_DIR}/www/plugins/mailman
+
+# %files plugin-mantisbt
+# %config(noreplace) %{FORGE_CONF_DIR}/plugins/mantisbt/
+# %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/mantisbt.ini
+# %{FORGE_DIR}/plugins/mantisbt
+# %{FORGE_DIR}/www/plugins/mantisbt
+
+# %files plugin-oauthprovider
+# %config(noreplace) %{FORGE_CONF_DIR}/config.ini.d/oauthprovider.ini
+# %config(noreplace) %{FORGE_CONF_DIR}/plugins/oauthprovider/
+# %{FORGE_CONF_DIR}/httpd.d/62plugin-oauthprovider
+# %{FORGE_DIR}/plugins/oauthprovider
%changelog
+* Tue May 17 2011 - Thorsten Glaser <t.glaser@tarent.de> - 5.0.50-2
+- Adapted for versioning of the forge via the packaging
+
* Fri May 28 2010 - Alain Peyrat <aljeux@free.fr> - 5.0.50-1
- Ported to 5.1 tree.
- Reworked logic with rights on configuration files.