changeset 21:1d50b19beda0

work on building from source
author Carl Byington <carl@five-ten-sg.com>
date Wed, 17 Apr 2013 17:38:14 -0700
parents a94969b736cb
children 226946e5dca4
files Makefile elasticsearch.spec jruby.spec logstash.Makefile logstash.conf logstash.manifest logstash.spec
diffstat 7 files changed, 42 insertions(+), 19 deletions(-) [+]
line wrap: on
line diff
--- a/Makefile	Wed Apr 17 13:10:34 2013 -0700
+++ b/Makefile	Wed Apr 17 17:38:14 2013 -0700
@@ -1,14 +1,14 @@
 d=el6
-f=logstash-1.1.9-monolithic.jar
-gv=1.1.9
+f=logstash-1.1.10-monolithic.jar
+gv=1.1.10
 g=logstash-$(gv).tar.gz
-hv=0.20.6
 hv=0.20.2
+hv=0.20.5
 h=elasticsearch-$(hv).tar.gz
 i=GraphTastic.tar.gz
 icc=06a620d011d08bd2c1099c0d0810c053bf105400
+jv=1.7.1
 jv=1.7.3
-jv=1.7.1
 j=jruby-complete-$(jv).jar
 k=GeoLite-City-2013-01-18.dat.gz
 
--- a/elasticsearch.spec	Wed Apr 17 13:10:34 2013 -0700
+++ b/elasticsearch.spec	Wed Apr 17 17:38:14 2013 -0700
@@ -5,7 +5,7 @@
 
 Summary:        elasticsearch is a scalable full text search engine
 Name:           elasticsearch
-Version:        0.20.2
+Version:        0.20.5
 Release:        0%{?dist}
 Group:          System Environment/Daemons
 License:        Apache 2.0
--- a/jruby.spec	Wed Apr 17 13:10:34 2013 -0700
+++ b/jruby.spec	Wed Apr 17 17:38:14 2013 -0700
@@ -5,7 +5,7 @@
 
 Summary:        just enough jruby for el6 to get logstash running
 Name:           jruby
-Version:        1.7.1
+Version:        1.7.3
 Release:        0%{?dist}
 Group:          System Environment/Daemons
 License:        Apache 2.0
--- a/logstash.Makefile	Wed Apr 17 13:10:34 2013 -0700
+++ b/logstash.Makefile	Wed Apr 17 17:38:14 2013 -0700
@@ -20,14 +20,19 @@
 	make -C lib/logstash/config grammar.rb
 	# compile-runner
 	mkdir -p build/ruby
-	cd lib; $(JRUBYC) -5 -t ../build/ruby logstash/runner.rb
+	cd lib; $(JRUBYC) -t ../build/ruby logstash/runner.rb
 	# copy-ruby-files
-	find ./lib	-name '*.rb' | sed -e 's,^\./lib/,,'  | (cd lib;  cpio -p --make-directories ../build/ruby)
-	find ./test -name '*.rb' | sed -e 's,^\./test/,,' | (cd test; cpio -p --make-directories ../build/ruby)
-	rsync -av ./spec build/ruby
+	rsync -a --include "*/" --include "*.rb" --exclude "*" ./lib/ ./test/ ./build/ruby
+	rsync -a ./spec ./build/ruby
+	rsync -a ./locales ./build/ruby
+	# Delete any empty directories copied by rsync.
+	find ./build/ruby -type d -empty -delete
 	# install-gems
 	mkdir -p vendor/bundle
 	GEM_HOME=./vendor/bundle/jruby/1.9/ GEM_PATH= $(JRUBY_CMD) --1.9 ./gembag.rb logstash.gemspec
+	# Purge old versions of gems installed because gembag doesn't do dependency resolution correctly
+	GEM_HOME=./vendor/bundle/jruby/1.9/ GEM_PATH= $(JRUBY_CMD) --1.9 -S gem uninstall addressable -v 2.2.8
+	# Purge any junk that fattens our jar without need!
 	rm -rf ./vendor/bundle/jruby/1.9/gems/riak-client-1.0.3/pkg
 	rm -rf ./vendor/bundle/jruby/1.9/gems/*/spec
 	rm -rf ./vendor/bundle/jruby/1.9/gems/*/test
@@ -49,13 +54,9 @@
 	rm -f build/monolith/META-INF/NOTICE.txt
 	rm -f build/monolith/META-INF/LICENSE
 	rm -f build/monolith/META-INF/LICENSE.txt
-	rm -rf build/monolith/org/jruby/ext/openssl
 	cp $(GEOIP) build/monolith/
-	# build the classpath in a manifest file
-	#echo -n "Class-Path: /usr/share/jruby.jar /usr/local/bin/graphtastic-client.jar " >logstash.manifest
-	#echo /usr/local/bin/{elasticsearch,jna,jts,log4j,lucene-core,lucene-analyzers,lucene-highlighter,lucene-memory,lucene-queries,snappy-java,spatial4j}.jar >>logstash.manifest
 	# build-logstash-jar
-	jar cfme build/logstash.jar logstash.manifest logstash.runner       \
+	jar cfme build/logstash.jar logstash.manifest logstash.runner		\
 		-C build/ruby .								 \
 		-C build/monolith .							 \
 		-C vendor/bundle/jruby/1.9 gems				 \
@@ -64,3 +65,10 @@
 		-C lib logstash/certs						 \
 		-C lib logstash/web/views					 \
 		patterns
+
+manifest:
+	# build the classpath in a manifest file
+	echo "Class-Path: /usr/share/jruby.jar /usr/local/bin/graphtastic-client.jar " >logstash.manifest
+	for i in /usr/local/bin/elasticsearch/{elasticsearch,jna,jts,log4j,lucene-{core,analyzers,highlighter,memory,queries},snappy-java,spatial4j}.jar; do \
+		echo "  $$i" >>logstash.manifest; \
+	done
--- a/logstash.conf	Wed Apr 17 13:10:34 2013 -0700
+++ b/logstash.conf	Wed Apr 17 17:38:14 2013 -0700
@@ -63,7 +63,7 @@
     date {
         # do we need this? the above picks up SYSLOGTIMESTAMP %{MONTH} +%{MONTHDAY} %{TIME}
         type            => "linux-syslog"
-        timestamp       => ["MMM dd HH:mm:ss","MMM  d HH:mm:ss"]
+        match           => [ "timestamp", "MMM dd HH:mm:ss", "MMM  d HH:mm:ss" ]
     }
     grok {
         type            => "apache-access"
@@ -73,7 +73,7 @@
         # Try to pull the timestamp from the 'timestamp' field (parsed above with
         # grok). The apache time format looks like: "18/Aug/2011:05:44:34 -0700"
         type            => "apache-access"
-        timestamp       => "dd/MMM/yyyy:HH:mm:ss Z"
+        match           => [ "timestamp", "dd/MMM/yyyy:HH:mm:ss Z" ]
     }
     grok {
         type            => "apache-error"
@@ -85,5 +85,6 @@
 output {
     elasticsearch {
         embedded => true
+        host     => "127.0.0.1"
     }
 }
--- a/logstash.manifest	Wed Apr 17 13:10:34 2013 -0700
+++ b/logstash.manifest	Wed Apr 17 17:38:14 2013 -0700
@@ -1,1 +1,12 @@
-Class-Path: /usr/share/jruby.jar /usr/local/bin/graphtastic-client.jar /usr/local/bin/elasticsearch.jar /usr/local/bin/jna.jar /usr/local/bin/jts.jar /usr/local/bin/log4j.jar /usr/local/bin/lucene-core.jar /usr/local/bin/lucene-analyzers.jar /usr/local/bin/lucene-highlighter.jar /usr/local/bin/lucene-memory.jar /usr/local/bin/lucene-queries.jar /usr/local/bin/snappy-java.jar /usr/local/bin/spatial4j.jar
+Class-Path: /usr/share/jruby.jar /usr/local/bin/graphtastic-client.jar 
+  /usr/local/bin/elasticsearch/elasticsearch.jar
+  /usr/local/bin/elasticsearch/jna.jar
+  /usr/local/bin/elasticsearch/jts.jar
+  /usr/local/bin/elasticsearch/log4j.jar
+  /usr/local/bin/elasticsearch/lucene-core.jar
+  /usr/local/bin/elasticsearch/lucene-analyzers.jar
+  /usr/local/bin/elasticsearch/lucene-highlighter.jar
+  /usr/local/bin/elasticsearch/lucene-memory.jar
+  /usr/local/bin/elasticsearch/lucene-queries.jar
+  /usr/local/bin/elasticsearch/snappy-java.jar
+  /usr/local/bin/elasticsearch/spatial4j.jar
--- a/logstash.spec	Wed Apr 17 13:10:34 2013 -0700
+++ b/logstash.spec	Wed Apr 17 17:38:14 2013 -0700
@@ -5,7 +5,7 @@
 
 Summary:        logstash is a tool for managing events and logs.
 Name:           logstash
-Version:        1.1.9
+Version:        1.1.10
 Release:        0%{?dist}
 License:        Apache 2.0
 Group:          System Environment/Daemons
@@ -115,6 +115,9 @@
 
 
 %changelog
+* Wed Apr 17 2013  <carl@five-ten-sg.com> - 1.1.10-0
+- update to newer logstash
+
 * Fri Mar 22 2013  <carl@five-ten-sg.com> - 1.1.9-0
 - Initial build.