appsignal 2.8.0-java → 2.8.1.alpha.1-java

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5e76e94cd777606a91735f1d9cf73f421d65bd6d83f76e832043dba6fde78c39
4
- data.tar.gz: d62180d4d2dbb06812e002f6efe475a231f1ee0c53a3164f693a25590c7fdbb8
3
+ metadata.gz: 4e56562439130f7bc27a6d828e09be1bbbf56452952d2f0e92a49d485409359d
4
+ data.tar.gz: 5e2cfe223920ba78464062383f628915a54db9a31eaffac36c97c540e0e8b75e
5
5
  SHA512:
6
- metadata.gz: c84030acf3fcfffb953c2f1cd45c613482371e00cb567b7492a2ec75865c0ef2e947e0c535e8775bd00c2502ef53c50566e27695224bf2c1141df6a690b2fc3c
7
- data.tar.gz: 1a29c452c91900b239e189347600265134efa70b73f8999bf883896b94ec4f293f82320fabadd89975cea47409e9a04cc57f10af134b748b68ecbb916752621d
6
+ metadata.gz: 4331a8dc31c0a84732d92df56b32ce9ec5e1a6abe44142b038168e2bf210bca4a5fdaed6247f88f5f562c974544d9f1f3e12aea28a2a151f05025ae5f99a942b
7
+ data.tar.gz: 3855c70e310a9b69b5201b5f3bd3ab0762c01fc084cb49fbc0fc509e764793f5e842b5a83232f9697ca9959e4e2024b63e8236a3d385b8d3bb374cb413798522
@@ -15,6 +15,7 @@ rvm:
15
15
  - "2.3.8"
16
16
  - "2.4.5"
17
17
  - "2.5.3"
18
+ - "2.6.0"
18
19
  - "jruby-19mode"
19
20
 
20
21
  gemfile:
@@ -56,6 +57,10 @@ matrix:
56
57
  gemfile: "gemfiles/rails-4.0.gemfile"
57
58
  - rvm: "2.5.3"
58
59
  gemfile: "gemfiles/rails-4.1.gemfile"
60
+ - rvm: "2.6.0"
61
+ gemfile: "gemfiles/rails-4.0.gemfile"
62
+ - rvm: "2.6.0"
63
+ gemfile: "gemfiles/rails-4.1.gemfile"
59
64
 
60
65
  allow_failures:
61
66
  - rvm: "2.4.5"
@@ -70,9 +75,12 @@ env:
70
75
  - "JRUBY_OPTS=''" # Workaround https://github.com/travis-ci/travis-ci/issues/6471
71
76
 
72
77
  before_install:
73
- - "gem update --system"
78
+ - "gem update --system 2.7.8"
74
79
  - "gem update bundler"
75
80
  before_script:
76
81
  - "bundle exec rake extension:install"
82
+ after_failure:
83
+ - "find . -name ext/install.log -exec cat {} \\;"
84
+ - "find . -name ext/mkmf.log -exec cat {} \\;"
77
85
 
78
86
  script: "bundle exec rake test"
@@ -1,3 +1,6 @@
1
+ # 2.8.1
2
+ - Fix installation on Ruby 2.6 for libc and musl library builds. PR #453
3
+
1
4
  # 2.8.0
2
5
  - Group extension and agent tests in diagnose output. PR #437
3
6
  - Add diagnose --[no-]send-report option. PR #438
data/Rakefile CHANGED
@@ -239,6 +239,7 @@ namespace :extension do
239
239
  appsignal-agent \
240
240
  appsignal.h \
241
241
  appsignal_extension.o \
242
+ appsignal_extension.so \
242
243
  appsignal_extension.bundle \
243
244
  install.log \
244
245
  libappsignal.* \
@@ -1,7 +1,7 @@
1
1
  require File.expand_path("../../lib/appsignal/version.rb", __FILE__)
2
2
  require File.expand_path("../base.rb", __FILE__)
3
3
 
4
- def install
4
+ def install # rubocop:disable Metrics/CyclomaticComplexity
5
5
  logger.info "Installing appsignal agent #{Appsignal::VERSION} for Ruby #{RUBY_VERSION} on #{RUBY_PLATFORM}"
6
6
  write_agent_architecture
7
7
  return unless check_architecture
@@ -16,18 +16,22 @@ def install
16
16
  unarchive(archive)
17
17
  end
18
18
 
19
+ is_linux_system = [
20
+ Appsignal::System::LINUX_TARGET,
21
+ Appsignal::System::MUSL_TARGET
22
+ ].include?(PLATFORM)
23
+
19
24
  logger.info "Creating makefile"
20
25
  require "mkmf"
26
+
27
+ link_libraries if is_linux_system
28
+
21
29
  if !have_library("appsignal", "appsignal_start", "appsignal.h")
22
30
  installation_failed "Aborting installation, libappsignal.a or appsignal.h not found"
23
31
  elsif !find_executable("appsignal-agent", EXT_PATH)
24
32
  installation_failed "Aborting installation, appsignal-agent not found"
25
33
  else
26
- with_static_link = [
27
- Appsignal::System::LINUX_TARGET,
28
- Appsignal::System::MUSL_TARGET
29
- ].include?(PLATFORM)
30
- if with_static_link
34
+ if is_linux_system
31
35
  # Statically link libgcc and libgcc_s libraries.
32
36
  # Dependencies of the libappsignal extension library.
33
37
  # If the gem is installed on a host with build tools installed, but is
@@ -45,4 +49,34 @@ rescue => ex
45
49
  end
46
50
  end
47
51
 
52
+ # Ruby 2.6 requires us to statically link more libraries we use in our
53
+ # extension library than previous versions. Needed for normal Linux libc
54
+ # and musl builds.
55
+ def link_libraries
56
+ if RbConfig::CONFIG["THREAD_MODEL"] == "pthread"
57
+ logger.info "Linking extension against 'pthread' library"
58
+ # Link gem extension against pthread library
59
+ have_library "pthread"
60
+ have_required_function "pthread_create"
61
+ end
62
+
63
+ # Links gem extension against the `dl` library. This is needed when Ruby is
64
+ # not linked against `dl` itself, so link it on the gem extension.
65
+ logger.info "Linking extension against 'dl' library"
66
+ have_library "dl"
67
+ # Check if functions are available now from the linked library
68
+ %w[dlopen dlclose dlsym].each do |func|
69
+ have_required_function func
70
+ end
71
+ end
72
+
73
+ def have_required_function(func) # rubocop:disable Naming/PredicateName
74
+ return if have_func(func)
75
+
76
+ installation_failed "Aborting installation, missing function '#{func}'"
77
+ # Exit with true/0/success because the AppSignal installation should never
78
+ # break a build
79
+ exit
80
+ end
81
+
48
82
  install
@@ -1,6 +1,7 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
3
  gem 'capistrano', '~> 3.0'
4
+ gem 'i18n', '~> 1.2.0'
4
5
  gem 'net-ssh', '2.9.2'
5
6
  gem 'rack', '~> 1.6'
6
7
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Appsignal
4
- VERSION = "2.8.0".freeze
4
+ VERSION = "2.8.1.alpha.1".freeze
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: appsignal
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.8.0
4
+ version: 2.8.1.alpha.1
5
5
  platform: java
6
6
  authors:
7
7
  - Robert Beekman
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2018-12-20 00:00:00.000000000 Z
12
+ date: 2018-12-28 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rack
@@ -378,12 +378,11 @@ required_ruby_version: !ruby/object:Gem::Requirement
378
378
  version: '1.9'
379
379
  required_rubygems_version: !ruby/object:Gem::Requirement
380
380
  requirements:
381
- - - ">="
381
+ - - ">"
382
382
  - !ruby/object:Gem::Version
383
- version: '0'
383
+ version: 1.3.1
384
384
  requirements: []
385
- rubyforge_project:
386
- rubygems_version: 2.7.6
385
+ rubygems_version: 3.0.1
387
386
  signing_key:
388
387
  specification_version: 4
389
388
  summary: Logs performance and exception data from your app to appsignal.com