#! /usr/bin/make -f
+#
+# TODO : document the role of this Makefile
+#
+
list:
@echo ======================================================================================
@echo '= Available target are listed below ='
@cat Makefile.rh | grep '^.*:.*#$$' | sed 's/^\(.*:\).*#\(.*\)#$$/\1 \2/'
#Do it all
-all: fusionforge allplugins allmodules dist # Build fusionforge and plugins #
+all: fusionforge allplugins allmodules allexternals dist # Build fusionforge and plugins #
clean: cleanff cleanplugins # Clean fusionforge and plugins #
#GForge
#Plugins
#allplugins: cvsplugin cvstrackerplugin ldapextauthplugin
-allplugins: cvsplugin
+allplugins: cvsplugin svnplugin
#cleanplugins: cleancvs cleansvn cleancvstracker cleanldapextauth cleanexternalsearch
cleanplugins: cleancvs
cvsplugin: buildcvs # package cvs plugin #
-#svnplugin: cleansvn buildsvn # package svn plugin #
+svnplugin: cleansvn buildsvn # package svn plugin #
#cvstrackerplugin: cleancvstracker buildcvstracker # package cvstracker plugin #
#ldapextauthplugin: cleanldapextauth buildldapextauth # package ldapextauth plugin #
#externalsearchplugin: cleanexternalsearch buildexternalsearch # package externalsearch plugin #
#Modules
allmodules : libnsspgsql
+#Exterals
+allexternals : htmlpurifier php-jpgraph
+
libnsspgsql : buildlibnsspgsql
RPM_TMP=~/rpmbuild
dist:
-mkdir -p $(BUILDRESULT)
cp $(RPM_TMP)/SRPMS/*.rpm $(BUILDRESULT)
+ cp $(RPM_TMP)/RPMS/noarch/*.rpm $(BUILDRESULT)
+ createrepo $(BUILDRESULT)
#
# FUSIONFORGE
#
# SVN PLUGIN
#
-#versionsvn:
-#override version=$(shell grep '^Version:' gforge-plugin-scmsvn/gforge-plugin-scmsvn.spec | sed 's/.*:\s*\(.*\)/\1/')
+target cleansvn buildsvn : override version=$(shell grep '^Version:' gforge/plugins/scmsvn/fusionforge-plugin-scmsvn.spec | sed 's/.*:\s*\(.*\)/\1/')
+
+cleansvn: # Clean files of gforge-plugin-scmcvs build #
+ @cd $(RPM_TMP)/SOURCES/; rm -rf fusionforge-plugin-scmsvn-$(version).tar.bz2 fusionforge-plugin-scmsvn-$(version)
+ @echo cleansvn Done
-#cleansvn: versionsvn # Clean files of gforge-plugin-scmcvs build #
-# @rm -rf gforge-plugin-scmsvn-$(version).tar.bz2 gforge-plugin-scmsvn-$(version)
-# @echo cleansvn Done
-#buildsvn: rpmprep versionsvn # Build rpm gforge-plugin-scmsvn package #
-# cd gforge-plugin-scmsvn ; find . -type f | grep -v '/CVS/' | grep -v contrib | cpio -pdumvB ../gforge-plugin-scmsvn-$(version)
-# tar cjf gforge-plugin-scmsvn-$(version).tar.bz2 gforge-plugin-scmsvn-$(version)
-# rpmbuild -ta --rcfile rpmrc gforge-plugin-scmsvn-$(version).tar.bz2
+buildsvn: # Build rpm gforge-plugin-scmsvn package #
+ cd gforge/plugins/scmsvn; find . -type f | grep -v '/CVS/' | grep -v '/.svn/' | grep -v contrib | grep -v '/debian/' | cpio -pdumvB --quiet $(RPM_TMP)/SOURCES/fusionforge-plugin-scmsvn-$(version)
+ mkdir -p $(RPM_TMP)/SOURCES/fusionforge-plugin-scmsvn-$(version)/bin
+ cp -rp gforge/rpm-specific/scripts/install-svn.sh $(RPM_TMP)/SOURCES/fusionforge-plugin-scmsvn-$(version)/bin
+ cd $(RPM_TMP)/SOURCES; tar cjf fusionforge-plugin-scmsvn-$(version).tar.bz2 fusionforge-plugin-scmsvn-$(version)
+ cd $(RPM_TMP)/SOURCES; rpmbuild -ta fusionforge-plugin-scmsvn-$(version).tar.bz2
#
# CVSTRACKER PLUGIN
cd $(RPM_TMP)/SOURCES/; rpmbuild -ts --nodeps fusionforge-shell-postgresql-$(version).tar.bz2
#
-# HTMLPURIFIER (third party plugin)
+# Building RPM for third party plugins
#
-htmlpurifier: rpmprep depot/htmlpurifier-3.3.0.tar.gz
- cp depot/htmlpurifier-3.3.0.tar.gz $(RPM_TMP)/SOURCES/
+htmlpurifier: rpmprep
+ cp 3rd-party/htmlpurifier/htmlpurifier-4.0.0.tar.gz $(RPM_TMP)/SOURCES/
rpmbuild --quiet --clean -ba 3rd-party/htmlpurifier/htmlpurifier.spec
-depot/htmlpurifier-3.3.0.tar.gz: rpmprep
- mkdir -p depot
- cd depot; wget -q -N http://htmlpurifier.org/releases/htmlpurifier-3.3.0.tar.gz
+php-jpgraph: rpmprep
+ cp 3rd-party/php-jpgraph/libphp-jpgraph_1.5.2.orig.tar.gz $(RPM_TMP)/SOURCES/jpgraph-1.5.2.tar.gz
+ zcat 3rd-party/php-jpgraph/libphp-jpgraph_1.5.2-12.diff.gz > $(RPM_TMP)/SOURCES/libphp-jpgraph_1.5.2-12.diff
+ cp 3rd-party/php-jpgraph/*.patch $(RPM_TMP)/SOURCES/
+ rpmbuild --quiet --clean -ba 3rd-party/php-jpgraph/php-jpgraph.spec