source: branches/1.0/Makefile @ 902

Last change on this file since 902 was 902, checked in by ramonb, 11 years ago

Makefile:

  • update DAEMON path in init.d script during make install
File size: 6.3 KB
Line 
1# Where to build
2#
3TMPDIR = /tmp
4
5# Where to install
6DESTDIR = 
7
8# Install prefix
9PREFIX = /usr/local
10
11# What is the location of the Ganglia web frontend
12# i.e.: where to we install Job Monarch's web frontend addon
13#
14GANGLIA_ROOT = $(PREFIX)/ganglia
15GANGLIA_USER = ganglia.ganglia
16HTTPD_USER   = apache.apache
17
18# Where jobarchived RRDS are stored
19JOBARCHIVE_RRDS = $(PREFIX)/jobmonarch
20
21# Clear this if you don't want to use ${FAKEROOT}
22#
23FAKEROOT = fakeroot
24
25VERSION = 1.1
26RELEASE = 1
27
28REQUIRED = ./jobarchived ./jobmond ./web
29
30all:
31
32tarball:    tarball-gzip tarball-bzip
33
34tarball-gzip:    ${REQUIRED} ./pkg/rpm/jobmonarch.spec ./debian/changelog
35    mkdir -p ${TMPDIR}/.monarch_buildroot/ganglia_jobmonarch-${VERSION}
36    ( rsync -a --exclude=.svn --exclude=*_test* --exclude=*-example.php \
37    . ${TMPDIR}/.monarch_buildroot/ganglia_jobmonarch-${VERSION} )
38    ( cd ${TMPDIR}/.monarch_buildroot; tar zcvf ganglia_jobmonarch-${VERSION}.tar.gz ./ganglia_jobmonarch-${VERSION} )
39    mv ${TMPDIR}/.monarch_buildroot/ganglia_jobmonarch-${VERSION}.tar.gz ..
40
41tarball-bzip:    ${REQUIRED} ./pkg/rpm/jobmonarch.spec ./debian/changelog
42    mkdir -p ${TMPDIR}/.monarch_buildroot/ganglia_jobmonarch-${VERSION}
43    ( rsync -a --exclude=.svn --exclude=*_test* --exclude=*-example.php \
44    . ${TMPDIR}/.monarch_buildroot/ganglia_jobmonarch-${VERSION} )
45    ( cd ${TMPDIR}/.monarch_buildroot; tar jcvf ganglia_jobmonarch-${VERSION}.tar.bz2 ./ganglia_jobmonarch-${VERSION} )
46    mv ${TMPDIR}/.monarch_buildroot/ganglia_jobmonarch-${VERSION}.tar.bz2 ..
47
48rpmspec: ./pkg/rpm/jobmonarch.spec
49
50./pkg/rpm/jobmonarch.spec: pkg/rpm/jobmonarch.spec.in Makefile
51    sed -e 's/__VERSION__/${VERSION}/g' -e 's/__RELEASE__/${RELEASE}/g' ./pkg/rpm/jobmonarch.spec.in > ./pkg/rpm/jobmonarch.spec
52
53rpm: tarball-bzip
54    rpmbuild -tb ../ganglia_jobmonarch-${VERSION}.tar.bz2
55
56srpm: tarball-bzip
57    rpmbuild -ts --define '%dist %{nil}' ../ganglia_jobmonarch-${VERSION}.tar.bz2
58
59debchangelog: ./debian/changelog
60
61./debian/changelog: ./debian/changelog.in Makefile
62    sed -e 's/__VERSION__/${VERSION}/g' -e 's/__RELEASE__/${RELEASE}/g' ./debian/changelog.in > ./debian/changelog
63
64deb: ${REQUIRED} ./debian ./debian/changelog
65    dpkg-buildpackage -b -uc -us
66
67install: @#
68    @# Set the correct GANGLIA_PATH.
69    @#
70    @echo
71    @echo "Using $(GANGLIA_ROOT) as Ganglia root installation path. If it's not what"
72    @echo "you want, use make GANGLIA_ROOT=/path/to/your/ganglia/root ."
73    @sed -e 's|__GANGLIA_ROOT__|$(GANGLIA_ROOT)/|g' web/conf.php.in > web/addons/job_monarch/conf.php
74    @#
75    @# Set the correct JOBARCHIVE_RRDS in jobarchve.conf and ganglia conf.php
76    @#
77    @echo
78    @echo "Using $(JOBARCHIVE_RRDS) as jobarchive path to  store rrds files. If it's not what"
79    @echo "you want, use make JOBARCHIVE_RRDS=/path/to/you/jobarchived/rrdsfiles ."
80    @sed -i -e 's|/var/lib/jobarchive|$(JOBARCHIVE_RRDS)|g' jobarchived/jobarchived.conf web/addons/job_monarch/conf.php
81    @#
82    @# Files in SBIN_DIR
83    @#
84    @echo
85    @echo "Installing jobmond.py and jobarchived.py to $(PREFIX)/sbin"
86    @install -m 0755 -d $(DESTDIR)$(PREFIX)/sbin
87    @install -m 0755 jobmond/jobmond.py $(DESTDIR)$(PREFIX)/sbin/
88    @install -m 0755 jobarchived/jobarchived.py $(DESTDIR)$(PREFIX)/sbin/
89    @(cd $(DESTDIR)$(PREFIX)/sbin/; ln -s jobmond.py jobmond; ln -s jobarchived.py jobarchived)
90    @#
91    @# Files specific to distros if /etc/redhat_release => rpm else (/etc/debian_version => debian)
92    @#
93    @echo
94    @echo "Installing service files in /etc"
95    @sed -i -e 's/DAEMON=.*/DAEMON=${DESTDIR}${PREFIX}\/sbin\/jobmond/g' pkg/deb/init.d/jobmond
96    @sed -i -e 's/DAEMON=.*/DAEMON=${DESTDIR}${PREFIX}\/sbin\/jobarchived/g' pkg/deb/init.d/jobarchived
97    @sed -i -e 's/DAEMON=.*/DAEMON=${DESTDIR}${PREFIX}\/sbin\/jobmond/g' pkg/rpm/init.d/jobmond
98    @sed -i -e 's/DAEMON=.*/DAEMON=${DESTDIR}${PREFIX}\/sbin\/jobarchived/g' pkg/rpm/init.d/jobarchived
99    @if test -r /etc/redhat_release; then \
100        install -m 0755 -d $(DESTDIR)/etc/rc.d/init.d; \
101        install -m 0755 pkg/rpm/init.d/jobmond $(DESTDIR)/etc/rc.d/init.d/; \
102        install -m 0755 pkg/rpm/init.d/jobarchived $(DESTDIR)/etc/rc.d/init.d/; \
103        install -m 0755 -d $(DESTDIR)/etc/sysconfig; \
104        install -m 0755 pkg/rpm/sysconfig/jobmond $(DESTDIR)/etc/sysconfig; \
105        install -m 0755 pkg/rpm/sysconfig/jobarchived $(DESTDIR)/etc/sysconfig; \
106    else \
107        install -m 0755 -d $(DESTDIR)/etc/init.d; \
108        install -m 0755 pkg/deb/init.d/jobmond $(DESTDIR)/etc/init.d/; \
109        install -m 0755 pkg/deb/init.d/jobarchived $(DESTDIR)/etc/init.d/; \
110        install -m 0755 -d $(DESTDIR)/etc/default; \
111        install -m 0755 pkg/deb/default/jobmond $(DESTDIR)/etc/default; \
112        install -m 0755 pkg/deb/default/jobarchived $(DESTDIR)/etc/default; \
113    fi
114    @#
115    @# Files in /etc
116    @#
117    @echo
118    @echo "Installing config files jobmond.conf jobarchived.conf in /etc"
119    @install -m 0644 jobmond/jobmond.conf $(DESTDIR)/etc
120    @install -m 0644 jobarchived/jobarchived.conf $(DESTDIR)/etc
121    @#
122    @# Files in /usr/share
123    @#
124    @echo
125    @echo "Installing job_dbase.sql in $(PREFIX)/share/jobarchived"
126    @install -m 0755 -d $(DESTDIR)$(PREFIX)/share/jobarchived
127    @install -m 0755 jobarchived/job_dbase.sql $(DESTDIR)$(PREFIX)/share/jobarchived/
128    @#
129    @# Create the /var/lib/jobarchive directory where rrds are stored.
130    @#
131    @echo
132    @echo "Creating the directory where RRDs will be stored: $(JOBARCHIVE_RRDS)"
133    @install -m 0755 -d $(DESTDIR)$(JOBARCHIVE_RRDS)
134    @#
135    @# Files for ganglia
136    @#
137    @echo
138    @echo "Installing Ganglia web interface to $(GANGLIA_ROOT) ."
139    @install -m 0755 -d $(DESTDIR)$(GANGLIA_ROOT)
140    @chown -R $(GANGLIA_USER) ./web
141    @chown $(HTTPD_USER) ./web/addons/job_monarch/dwoo/compiled
142    @chown $(HTTPD_USER) ./web/addons/job_monarch/dwoo/cache
143    @chmod 775 ./web/addons/job_monarch/dwoo/cache
144    @(cd web; rsync -a --exclude=.svn --exclude=*_test* --exclude=*-example.php ./addons ./templates $(DESTDIR)$(GANGLIA_ROOT)/)
145    @#
146    @echo
147    @echo "Installation complete."
148    @echo
149
150clean: @rm -rf ${TMPDIR}/.monarch_buildroot
151    @rm -rf ./pkg/rpm/jobmonarch.spec
152    @(cd ./debian; rm -rf files *.log *.substvars jobmonarch/ jobmonarch-jobmond/ jobmonarch-jobarchived/ jobmonarch-webfrontend/ tmp/)
153    @rm -f web/addons/job_monarch/conf.php
Note: See TracBrowser for help on using the repository browser.