Commit graph

63 commits

Author SHA1 Message Date
Colin Surprenant
aa70b40862 refactor to use single gem dir vendor/bundle, use Bundler::CLI, .lock files naming
Fixes #2203
2014-12-10 23:48:17 +00:00
Colin Surprenant
b086a8cf8d all gems included in vendor/ glob and add bootstrap for bundler
Fixes #2203
2014-12-10 23:48:17 +00:00
Joseph Lawson
c0e91ce044 create empty /etc/logstash/conf.d directory [fixes #2188]
Fixes #2189
2014-12-05 19:27:20 +00:00
Jordan Sissel
3e09425524 Add /var/lib/logstash
Fixes #2160

Fixes #2162
2014-12-03 01:03:50 +00:00
Jordan Sissel
62e08e2020 Add /var/log/logstash as an empty directory.
Testing deb package

    % dpkg -c build/logstash_2.0.0.dev-1_all.deb | grep var/log/logstash
    drwxrwxr-x 0/0               0 2014-12-01 22:29 ./var/log/logstash/

Testing rpm package

    % rpm -qvlp build/logstash-2.0.0.dev-1.noarch.rpm| grep var/log/logstash
    drwxrwxr-x    2 root    root                        0 Dec  1 22:34 /var/log/logstash

Fixes #2146

Fixes #2159
2014-12-02 19:55:24 +00:00
Jordan Sissel
c1018129f4 Include 99 plugins by default.
This plugin set should be the same as the ones included in "core" in
Logstash 1.4.2, so users should experience no negative impact of this.

Fixes #2020
2014-11-14 22:04:05 +00:00
Jordan Sissel
8b509cdf7d Add init scripts to rpm and deb
Fixes #2018
2014-11-05 04:11:47 +00:00
Jordan Sissel
d68d2b613d Fix tarball packaging to be rooted in logstash-<VERSION>
Fixes #1982

Fixes #1995
2014-11-04 19:23:42 +00:00
Jordan Sissel
29f3df0653 Add bootstrap dependency for deb target
Fixes #1940
2014-10-22 20:04:01 +00:00
Jordan Sissel
f35558e395 Make most things depend on bootstrap
Fixes #1940
2014-10-22 20:04:01 +00:00
Jordan Sissel
41b28ad228 Refactor files/exclusion
Fixes #1940
2014-10-22 20:04:01 +00:00
Jordan Sissel
1887becc3d Exclude certain files from packaging
Fixes #1940
2014-10-22 20:04:01 +00:00
Jordan Sissel
920a9e9362 Refactor build tooling to use Ruby
The new way to build is using 'rake' and not 'make'.

For some some attempt at compatibility, any 'make' invocation will
invoke rake. `make foo` will invoke `rake foo`.

This is for #1640

Major changes:
* rake is used instead of make. This allows us to more easily improve,
  debug, and test the build tooling.
* The build process can be bootstrapped from any Ruby that has
  Rake available. Bootstrapping rake is automatic will download JRuby and
  re-execute itself under JRuby.
* rpm and deb packages no longer list any java as dependencies. This
  is the result of user discomfort and discussions which concluded
  that there is no good way to "depend" on Java via rpm or deb.

Internal changes:
* Vendoring paths are project-based. Each vendor directory is now
  specific as vendor/<project>/... For example, JRuby is dumped into
  vendor/jruby/...

Other changes:

* We don't use jruby-complete anymore. We now use bin/jruby as the entry point.
  This improves the startup time of Logstash on my laptop by approximately
  1.5 seconds (~25% speedup of startup time). Testing `bin/logstash
  version` speed; 5 runs each:

  * Before patch: 7.27 7.55 7.26 7.42 7.47
  * After patch: 5.54 5.97 5.67 5.58 5.54

Smaller changes:
- removed 'env' subcommand
- Remove 'deps' subcommand. Replaced by 'rake vendor:all'
- Add gem_home method for this platform's GEM_HOME
- .travis.yml removed because we haven't used Travis in a long time.
- bin/logstash exits nonzero with a useful message if JRuby can't be found.

Notes:

Invoke bundler via system() call instead of Bundler::CLI.
After some discussion in #bundler on freenode (very helpful!) on how
to do what we need to do with bundler, I was encouraged to not use the
bundler api from ruby, so system() it is.

Patch slightly modified to fit the new model of packaging (ruby instead
of shell invocation), but original author is obazoud in #1008.

Richard Pijnenburg helped with some of the code and was lovely in
helping test it.

Fixes #1640
2014-10-22 17:04:55 +00:00