4 # TODO : document the role of this Makefile
8 @echo ======================================================================================
9 @echo '= Available target are listed below ='
10 @echo '= Today only to build rpm packages and tarballs ='
11 @echo ======================================================================================
12 @cat Makefile.rh | grep '^.*:.*#$$' | sed 's/^\(.*:\).*#\(.*\)#$$/\1 \2/'
15 all: fusionforge allplugins allmodules allexternals dist # Build fusionforge and plugins #
16 clean: cleanff cleanplugins # Clean fusionforge and plugins #
19 fusionforge: build # Build fusionforge #
22 #allplugins: cvsplugin cvstrackerplugin ldapextauthplugin
23 allplugins: cvsplugin svnplugin
24 #cleanplugins: cleancvs cleansvn cleancvstracker cleanldapextauth cleanexternalsearch
25 cleanplugins: cleancvs
27 cvsplugin: buildcvs # package cvs plugin #
28 svnplugin: cleansvn buildsvn # package svn plugin #
29 #cvstrackerplugin: cleancvstracker buildcvstracker # package cvstracker plugin #
30 #ldapextauthplugin: cleanldapextauth buildldapextauth # package ldapextauth plugin #
31 #externalsearchplugin: cleanexternalsearch buildexternalsearch # package externalsearch plugin #
34 allmodules : libnsspgsql
37 allexternals : htmlpurifier php-jpgraph
39 libnsspgsql : buildlibnsspgsql
42 BUILDRESULT=~/fusionforge_repo
44 # build a custom rpmmacro file and rpmrc to point to it for rpmbuild
46 # echo 'include: /usr/lib/rpm/rpmrc' > ./rpmrc
49 # echo '$(shell rpmbuild --showrc | grep '^macrofiles'):./rpmmacros' >> ./rpmrc
50 # echo '%_topdir $(RPM_TMP)' > ./rpmmacros
51 # echo '%_rpmtopdir %{_topdir}' >> ./rpmmacros
52 # echo '%_builddir %{_rpmtopdir}/BUILD' >> ./rpmmacros
53 # echo '%_rpmdir %{_rpmtopdir}/RPMS' >> ./rpmmacros
54 # echo '%_sourcedir %{_rpmtopdir}/SOURCE' >> ./rpmmacros
55 # echo '%_specdir %{_rpmtopdir}/SPEC' >> ./rpmmacros
56 # echo '%_srcrpmdir %{_rpmtopdir}/SRPMS' >> ./rpmmacros
57 # echo '%_tmppath %{_rpmtopdir}/TMP' >> ./rpmmacros
58 # echo '%_buildroot %{_tmppath}/%{name}-root' >> ./rpmmacros
60 #rpmprep: rpmrc rpmmacro
61 # -mkdir -p $(RPM_TMP)/BUILD $(RPM_TMP)/RPMS $(RPM_TMP)/SOURCE $(RPM_TMP)/SPEC $(RPM_TMP)/SRPMS $(RPM_TMP)/TMP 2> /dev/null
64 # -mkdir ./dist 2> /dev/null
65 # mv ./*.bz2 $(RPM_TMP)/SRPMS/*.rpm ./dist
70 sh tools/rpmdev-setuptree
71 echo '%_tmppath %{_topdir}/TMP' >> ~/.rpmmacros
72 echo '%_buildroot %{_tmppath}/%{name}-root' >> ~/.rpmmacros
76 -mkdir -p $(BUILDRESULT)
77 cp $(RPM_TMP)/SRPMS/*.rpm $(BUILDRESULT)
78 cp $(RPM_TMP)/RPMS/noarch/*.rpm $(BUILDRESULT)
79 createrepo $(BUILDRESULT)
84 target cleanff build : override version=$(shell grep '^Version:' gforge/fusionforge.spec | sed 's/.*:\s*\(.*\)/\1/')
86 cleanff: # Clean files of fusionforge build #
87 @cd $(RPM_TMP)/SOURCES/; rm -rf fusionforge-$(version).tar.bz2 fusionforge-$(version)
90 build: rpmprep # Build rpm fusionforge packages #
91 cd gforge; find . -type f | grep -v '/CVS/' | grep -v '/.svn/' | grep -v '/contrib/' | grep -v '/debian/' | grep -v docs/phpdoc/docs | cpio -pdumB --quiet $(RPM_TMP)/SOURCES/fusionforge-$(version)
92 cd $(RPM_TMP)/SOURCES/fusionforge-$(version); mv plugins ../;mkdir ../utils;mv utils/install-nsspgsql.sh ../utils/;mv utils/fusionforge-shell-postgresql.spec ../utils/
93 cd $(RPM_TMP)/SOURCES/fusionforge-$(version)/; utils/manage-translations.sh build
94 cd $(RPM_TMP)/SOURCES/; cp fusionforge-$(version)/rpm-specific/patches/gforge-4.0-deb_rpm.patch .
95 cd $(RPM_TMP)/SOURCES/; tar cjf fusionforge-$(version).tar.bz2 fusionforge-$(version)
96 cd $(RPM_TMP)/SOURCES/; rpmbuild -ts --nodeps fusionforge-$(version).tar.bz2
101 target cleancvs buildcvs : override version=$(shell grep '^Version:' gforge/plugins/scmcvs/fusionforge-plugin-scmcvs.spec | sed 's/.*:\s*\(.*\)/\1/')
103 cleancvs: # Clean files of gforge-plugin-scmcvs build #
104 @cd $(RPM_TMP)/SOURCES/; rm -rf fusionforge-plugin-scmcvs-$(version).tar.bz2 fusionforge-plugin-scmcvs-$(version)
107 buildcvs: # Build rpm fusionforge-plugin-scmcvs package #
108 cd gforge/plugins/scmcvs; find . -type f | grep -v '/CVS/' | grep -v '/.svn/' | grep -v '/contrib/' | grep -v '/debian/' | cpio -pdumB --quiet $(RPM_TMP)/SOURCES/fusionforge-plugin-scmcvs-$(version)
109 cd $(RPM_TMP)/SOURCES; tar cjf fusionforge-plugin-scmcvs-$(version).tar.bz2 fusionforge-plugin-scmcvs-$(version)
110 cd $(RPM_TMP)/SOURCES; rpmbuild -ts --nodeps fusionforge-plugin-scmcvs-$(version).tar.bz2
115 target cleansvn buildsvn : override version=$(shell grep '^Version:' gforge/plugins/scmsvn/fusionforge-plugin-scmsvn.spec | sed 's/.*:\s*\(.*\)/\1/')
117 cleansvn: # Clean files of gforge-plugin-scmcvs build #
118 @cd $(RPM_TMP)/SOURCES/; rm -rf fusionforge-plugin-scmsvn-$(version).tar.bz2 fusionforge-plugin-scmsvn-$(version)
121 buildsvn: # Build rpm gforge-plugin-scmsvn package #
122 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)
123 mkdir -p $(RPM_TMP)/SOURCES/fusionforge-plugin-scmsvn-$(version)/bin
124 cp -rp gforge/rpm-specific/scripts/install-svn.sh $(RPM_TMP)/SOURCES/fusionforge-plugin-scmsvn-$(version)/bin
125 cd $(RPM_TMP)/SOURCES; tar cjf fusionforge-plugin-scmsvn-$(version).tar.bz2 fusionforge-plugin-scmsvn-$(version)
126 cd $(RPM_TMP)/SOURCES; rpmbuild -ta fusionforge-plugin-scmsvn-$(version).tar.bz2
132 #override version=$(shell grep '^Version:' gforge-plugin-cvstracker/gforge-plugin-cvstracker.spec | sed 's/.*:\s*\(.*\)/\1/')
134 #cleancvstracker: versioncvstracker # Clean files of gforge-plugin-cvstracker build #
135 # @rm -rf gforge-plugin-cvstracker-$(version).tar.bz2 gforge-plugin-cvstracker-$(version)
136 # @echo cleantracker Done
137 #buildcvstracker: rpmprep versioncvstracker # Build rpm gforge-plugin-cvstracker package #
138 # cd gforge-plugin-cvstracker ; find . -type f | grep -v '/CVS/' | grep -v contrib | grep -v debian | cpio -pdumvB ../gforge-plugin-cvstracker-$(version)
139 # tar cjf gforge-plugin-cvstracker-$(version).tar.bz2 gforge-plugin-cvstracker-$(version)
140 # rpmbuild -ta --rcfile rpmrc gforge-plugin-cvstracker-$(version).tar.bz2
146 #override version=$(shell grep '^Version:' gforge-plugin-ldapextauth/gforge-plugin-ldapextauth.spec | sed 's/.*:\s*\(.*\)/\1/')
148 #cleanldapextauth: versionldapextauth # Clean files of gforge-plugin-ldapextauth build #
149 # @rm -rf gforge-plugin-ldapextauth-$(version).tar.bz2 gforge-plugin-ldapextauth-$(version)
150 # @echo cleanldapextauth Done
151 #buildldapextauth: rpmprep versionldapextauth # Build rpm gforge-plugin-ldapextauth package #
152 # cd gforge-plugin-ldapextauth ; find . -type f | grep -v '/CVS/' | grep -v contrib | grep -v debian | cpio -pdumvB ../gforge-plugin-ldapextauth-$(version)
153 # tar cjf gforge-plugin-ldapextauth-$(version).tar.bz2 gforge-plugin-ldapextauth-$(version)
154 # rpmbuild -ta --rcfile rpmrc gforge-plugin-ldapextauth-$(version).tar.bz2
157 # EXTERNALSEARCH PLUGIN
159 #versionexternalsearch:
160 #override version=$(shell grep '^Version:' gforge-plugin-externalsearch/gforge-plugin-externalsearch.spec | sed 's/.*:\s*\(.*\)/\1/')
162 #cleanexternalsearch: versionexternalsearch # Clean files of gforge-plugin-externalsearch build #
163 # @rm -rf gforge-plugin-externalsearch-$(version).tar.bz2 gforge-plugin-externalsearch-$(version)
164 # @echo cleanexternalsearch Done
165 #buildexternalsearch: rpmprep versionexternalsearch # Build rpm gforge-plugin-externalsearch package #
166 # cd gforge-plugin-externalsearch ; find . -type f | grep -v '/CVS/' | grep -v contrib | grep -v debian | cpio -pdumvB ../gforge-plugin-externalsearch-$(version)
167 # tar cjf gforge-plugin-externalsearch-$(version).tar.bz2 gforge-plugin-externalsearch-$(version)
168 # rpmbuild -ta --rcfile rpmrc gforge-plugin-externalsearch-$(version).tar.bz2
172 # LIBNSS-PGSQL MODULE
174 target cleanlibnsspgsql buildlibnsspgsql : override version=$(shell grep '^Version:' gforge/utils/fusionforge-shell-postgresql.spec | sed 's/.*:\s*\(.*\)/\1/')
176 cleanlibnsspgsql: # Clean files of fusionforge-shell-postgresql #
177 @cd $(RPM_TMP)/SOURCES/; rm -rf fusionforge-shell-postgresql-$(version).tar.bz2 fusionforge-shell-postgresql-$(version)
178 @echo cleanlibnsspgsql Done
180 buildlibnsspgsql: # Build rpm fusionforge-shell-postgresql package #
181 cd gforge/utils; find . -type f | grep -v '/CVS/' | grep -v '/.svn/' | grep -v '/contrib/' | grep -v '/debian/' | cpio -pdumB --quiet $(RPM_TMP)/SOURCES/fusionforge-shell-postgresql-$(version)
182 cd $(RPM_TMP)/SOURCES; tar cjf fusionforge-shell-postgresql-$(version).tar.bz2 fusionforge-shell-postgresql-$(version)
183 cd $(RPM_TMP)/SOURCES/; rpmbuild -ts --nodeps fusionforge-shell-postgresql-$(version).tar.bz2
186 # Building RPM for third party plugins
188 htmlpurifier: rpmprep
189 cp 3rd-party/htmlpurifier/htmlpurifier-4.0.0.tar.gz $(RPM_TMP)/SOURCES/
190 rpmbuild --quiet --clean -ba 3rd-party/htmlpurifier/htmlpurifier.spec
193 cp 3rd-party/php-jpgraph/libphp-jpgraph_1.5.2.orig.tar.gz $(RPM_TMP)/SOURCES/jpgraph-1.5.2.tar.gz
194 zcat 3rd-party/php-jpgraph/libphp-jpgraph_1.5.2-12.diff.gz > $(RPM_TMP)/SOURCES/libphp-jpgraph_1.5.2-12.diff
195 cp 3rd-party/php-jpgraph/*.patch $(RPM_TMP)/SOURCES/
196 rpmbuild --quiet --clean -ba 3rd-party/php-jpgraph/php-jpgraph.spec