view Makefile @ 24:0f249d38da21

jruby.spec needs /usr/share to match fedora jrudy location
author Carl Byington <carl@five-ten-sg.com>
date Fri, 19 Apr 2013 17:48:29 -0700
parents bb48b2672ff2
children d058481276aa
line wrap: on
line source

ifeq ($(dist),)
dist=.f20
endif

gv=1.1.10
f=logstash-$(gv)-monolithic.jar
g=logstash-$(gv).tar.gz
hv=0.20.6
h=elasticsearch-$(hv).tar.gz
i=GraphTastic.tar.gz
icc=06a620d011d08bd2c1099c0d0810c053bf105400
jv=1.7.3
j=jruby-complete-$(jv).jar
k=GeoLite-City-2013-01-18.dat.gz

download:
	[ -f $(f) ] || curl https://logstash.objects.dreamhost.com/release/$(f) >$(f)
	[ -f $(g) ] || curl https://nodeload.github.com/logstash/logstash/tar.gz/v$(gv) >$(g)
	[ -f $(h) ] || curl https://nodeload.github.com/elasticsearch/elasticsearch/tar.gz/v$(hv) >$(h)
	[ -f $(i) ] || curl https://nodeload.github.com/NickPadilla/GraphTastic/tar.gz/$(icc) >$(i)
	[ -f $(j) ] || curl http://repository.codehaus.org/org/jruby/jruby-complete/$(jv)/$(j) >$(j)
	[ -f $(k) ] || curl http://logstash.objects.dreamhost.com/maxmind/$(k) >$(k)

srpm: download
	# build the classpath in a manifest file
	echo "Class-Path: /usr/share/jruby.jar /usr/share/graphtastic-client.jar " >logstash.manifest
	for i in /usr/share/elasticsearch/{elasticsearch,jna,jts,log4j,lucene-{core,analyzers,highlighter,memory,queries},snappy-java,spatial4j}.jar; do \
		echo "  $$i" >>logstash.manifest; \
	done
	# build the source rpms
	rpmbuild --define "dist $(dist)" --define "_sourcedir $(shell pwd)" --define "_srcrpmdir $(shell pwd)" --define "_rpmdir $(shell pwd)" -bs jruby.spec
	rpmbuild --define "dist $(dist)" --define "_sourcedir $(shell pwd)" --define "_srcrpmdir $(shell pwd)" --define "_rpmdir $(shell pwd)" -bs GraphTastic-client.spec
	rpmbuild --define "dist $(dist)" --define "_sourcedir $(shell pwd)" --define "_srcrpmdir $(shell pwd)" --define "_rpmdir $(shell pwd)" -bs elasticsearch.spec
	rpmbuild --define "dist $(dist)" --define "_sourcedir $(shell pwd)" --define "_srcrpmdir $(shell pwd)" --define "_rpmdir $(shell pwd)" -bs logstash.spec

rpm:
	# kill off maven repository cache
	rm -rf ~/.m2
	# build binary rpms
	rpmbuild --define "dist $(dist)" --define "_rpmdir $(shell pwd)" --rebuild jruby-$(jv)-0$(dist).src.rpm
	rpmbuild --define "dist $(dist)" --define "_rpmdir $(shell pwd)" --rebuild GraphTastic-client-0.0.0-0$(dist).src.rpm
	rpmbuild --define "dist $(dist)" --define "_rpmdir $(shell pwd)" --rebuild elasticsearch-$(hv)-0$(dist).src.rpm
	rpmbuild --define "dist $(dist)" --define "_rpmdir $(shell pwd)" --rebuild logstash-$(gv)-0$(dist).src.rpm

package-web:
	tar cfz logstash.fedora.tar.gz *.src.rpm $$(hg status -c | cut -c3-)