libdatadog 6.0.0.1.0-aarch64-linux → 7.0.0.1.0-aarch64-linux
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/libdatadog/version.rb +1 -1
- data/lib/libdatadog.rb +40 -16
- data/vendor/{libdatadog-6.0.0 → libdatadog-7.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/LICENSE-3rdparty.yml +15459 -6284
- data/vendor/{libdatadog-6.0.0 → libdatadog-7.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/bin/libdatadog-crashtracking-receiver +0 -0
- data/vendor/libdatadog-7.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/blazesym.h +895 -0
- data/vendor/{libdatadog-6.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl → libdatadog-7.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu}/include/datadog/common.h +135 -20
- data/vendor/{libdatadog-6.0.0 → libdatadog-7.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/profiling.h +54 -38
- data/vendor/libdatadog-7.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/telemetry.h +290 -0
- data/vendor/libdatadog-7.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so +0 -0
- data/vendor/{libdatadog-6.0.0 → libdatadog-7.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/lib/pkgconfig/datadog_profiling_with_rpath.pc +2 -4
- data/vendor/{libdatadog-6.0.0 → libdatadog-7.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/LICENSE-3rdparty.yml +15459 -6284
- data/vendor/{libdatadog-6.0.0 → libdatadog-7.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/bin/libdatadog-crashtracking-receiver +0 -0
- data/vendor/libdatadog-7.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/blazesym.h +895 -0
- data/vendor/{libdatadog-6.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu → libdatadog-7.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl}/include/datadog/common.h +135 -20
- data/vendor/{libdatadog-6.0.0 → libdatadog-7.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/profiling.h +54 -38
- data/vendor/libdatadog-7.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/telemetry.h +290 -0
- data/vendor/libdatadog-7.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/lib/libdatadog_profiling.so +0 -0
- data/vendor/{libdatadog-6.0.0 → libdatadog-7.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/lib/pkgconfig/datadog_profiling_with_rpath.pc +2 -4
- metadata +22 -18
- data/vendor/libdatadog-6.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so +0 -0
- data/vendor/libdatadog-6.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/lib/libdatadog_profiling.so +0 -0
- /data/vendor/{libdatadog-6.0.0 → libdatadog-7.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/LICENSE +0 -0
- /data/vendor/{libdatadog-6.0.0 → libdatadog-7.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/NOTICE +0 -0
- /data/vendor/{libdatadog-6.0.0 → libdatadog-7.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/LICENSE +0 -0
- /data/vendor/{libdatadog-6.0.0 → libdatadog-7.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/NOTICE +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cad5788d2cbed935f3c9434081495d8bf009e6de638f57eedd5c5aa5445ec3c4
|
4
|
+
data.tar.gz: 110297a7e166c333e3260ce4e969dbfb1c32d29ce9bb3f43ccb00818895e8a1a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 52de6c1a2167bec3661a15059c7f208d1885df4969c23cb834c6d17c3ba5517fe03d68d95d082f43809221028bad2e94e652c0587269ad9efeb526132530365e
|
7
|
+
data.tar.gz: a61aaf0a497f5749d502508a3e399431afea9073d4293ed333f1372fd08db74450428b4de197e6723ec97da96c828274890fb2ad5e933da697d82ed56ca5c53e
|
data/lib/libdatadog/version.rb
CHANGED
data/lib/libdatadog.rb
CHANGED
@@ -9,35 +9,59 @@ module Libdatadog
|
|
9
9
|
end
|
10
10
|
|
11
11
|
def self.pkgconfig_folder(pkgconfig_file_name = "datadog_profiling_with_rpath.pc")
|
12
|
-
current_platform =
|
12
|
+
current_platform = self.current_platform
|
13
13
|
|
14
|
-
|
15
|
-
|
14
|
+
return unless available_binaries.include?(current_platform)
|
15
|
+
|
16
|
+
pkgconfig_file = Dir.glob("#{vendor_directory}/#{current_platform}/**/#{pkgconfig_file_name}").first
|
17
|
+
|
18
|
+
return unless pkgconfig_file
|
19
|
+
|
20
|
+
File.absolute_path(File.dirname(pkgconfig_file))
|
21
|
+
end
|
22
|
+
|
23
|
+
private_class_method def self.vendor_directory
|
24
|
+
ENV["LIBDATADOG_VENDOR_OVERRIDE"] || "#{__dir__}/../vendor/libdatadog-#{Libdatadog::LIB_VERSION}/"
|
25
|
+
end
|
26
|
+
|
27
|
+
def self.current_platform
|
28
|
+
platform = Gem::Platform.local.to_s
|
29
|
+
|
30
|
+
if platform.end_with?("-gnu")
|
31
|
+
# In some cases on Linux with glibc the platform includes a -gnu suffix. We normalize it to not have the suffix.
|
32
|
+
#
|
33
|
+
# Note: This should be platform = platform.delete_suffix("-gnu") but it doesn't work on legacy Rubies; once
|
34
|
+
# dd-trace-rb 2.0 is out we can simplify this.
|
35
|
+
#
|
36
|
+
platform = platform[0..-5]
|
37
|
+
end
|
38
|
+
|
39
|
+
if RbConfig::CONFIG["arch"].include?("-musl") && !platform.include?("-musl")
|
40
|
+
# Fix/workaround for https://github.com/datadog/dd-trace-rb/issues/2222
|
16
41
|
#
|
17
42
|
# Old versions of rubygems (for instance 3.0.3) don't properly detect alternative libc implementations on Linux;
|
18
43
|
# in particular for our case, they don't detect musl. (For reference, Rubies older than 2.7 may have shipped with
|
19
44
|
# an affected version of rubygems).
|
20
45
|
# In such cases, we fall back to use RbConfig::CONFIG['arch'] instead.
|
21
46
|
#
|
22
|
-
# Why not use RbConfig::CONFIG['arch'] always? Because Gem::Platform.local.to_s does some normalization
|
23
|
-
# in
|
24
|
-
# workaround in a specific situation where we actually know it is wrong
|
47
|
+
# Why not use RbConfig::CONFIG['arch'] always? Because Gem::Platform.local.to_s does some normalization that seemed
|
48
|
+
# useful in the past, although part of it got removed in https://github.com/rubygems/rubygems/pull/5852.
|
49
|
+
# For now we only add this workaround in a specific situation where we actually know it is wrong, but in the
|
50
|
+
# future it may be worth re-evaluating if we should move away from `Gem::Platform` altogether.
|
25
51
|
#
|
26
52
|
# See also https://github.com/rubygems/rubygems/pull/2922 and https://github.com/rubygems/rubygems/pull/4082
|
27
53
|
|
28
|
-
|
54
|
+
RbConfig::CONFIG["arch"]
|
55
|
+
else
|
56
|
+
platform
|
29
57
|
end
|
58
|
+
end
|
30
59
|
|
31
|
-
|
32
|
-
|
33
|
-
pkgconfig_file = Dir.glob("#{vendor_directory}/#{current_platform}/**/#{pkgconfig_file_name}").first
|
34
|
-
|
35
|
-
return unless pkgconfig_file
|
60
|
+
def self.path_to_crashtracking_receiver_binary
|
61
|
+
pkgconfig_folder = self.pkgconfig_folder
|
36
62
|
|
37
|
-
|
38
|
-
end
|
63
|
+
return unless pkgconfig_folder
|
39
64
|
|
40
|
-
|
41
|
-
ENV["LIBDATADOG_VENDOR_OVERRIDE"] || "#{__dir__}/../vendor/libdatadog-#{Libdatadog::LIB_VERSION}/"
|
65
|
+
File.absolute_path("#{pkgconfig_folder}/../../bin/libdatadog-crashtracking-receiver")
|
42
66
|
end
|
43
67
|
end
|