Skip to content

Commit

Permalink
Land #62, update dependencies
Browse files Browse the repository at this point in the history
  • Loading branch information
jmartin-tech committed Mar 13, 2018
2 parents 47a7531 + 7d03772 commit ef10d71
Show file tree
Hide file tree
Showing 21 changed files with 404 additions and 157 deletions.
106 changes: 74 additions & 32 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -18,15 +18,14 @@ GEM
remote: https://rubygems.org/
specs:
addressable (2.3.8)
artifactory (2.8.1)
aws-sdk (2.9.27)
aws-sdk-resources (= 2.9.27)
aws-sdk-core (2.9.27)
aws-sdk (2.10.134)
aws-sdk-resources (= 2.10.134)
aws-sdk-core (2.10.134)
aws-sigv4 (~> 1.0)
jmespath (~> 1.0)
aws-sdk-resources (2.9.27)
aws-sdk-core (= 2.9.27)
aws-sigv4 (1.0.0)
aws-sdk-resources (2.10.134)
aws-sdk-core (= 2.10.134)
aws-sigv4 (1.0.2)
berkshelf (3.3.0)
addressable (~> 2.3.4)
berkshelf-api-client (~> 1.2)
Expand Down Expand Up @@ -55,64 +54,81 @@ GEM
buff-ruby_engine (0.1.0)
buff-shell_out (0.2.0)
buff-ruby_engine (~> 0.1.0)
builder (3.2.3)
celluloid (0.16.0)
timers (~> 4.0.0)
celluloid-io (0.16.2)
celluloid (>= 0.16.0)
nio4r (>= 1.1.0)
chef-config (13.1.31)
chef-config (13.7.16)
addressable
fuzzyurl
mixlib-config (~> 2.0)
mixlib-shellout (~> 2.0)
chef-sugar (3.4.0)
tomlrb (~> 1.2)
chef-sugar (3.6.0)
citrus (3.0.2)
cleanroom (1.0.0)
dep-selector-libgecode (1.3.1)
dep_selector (1.0.4)
dep_selector (1.0.6)
dep-selector-libgecode (~> 1.0)
ffi (~> 1.9)
erubis (2.7.0)
faraday (0.9.2)
multipart-post (>= 1.2, < 3)
ffi (1.9.18)
ffi-yajl (2.3.0)
ffi (1.9.21)
ffi (1.9.21-x86-mingw32)
ffi-yajl (2.3.1)
libyajl2 (~> 1.2)
fuzzyurl (0.9.0)
hashie (3.5.5)
hitimes (1.2.5)
gssapi (1.2.0)
ffi (>= 1.0.1)
gyoku (1.3.1)
builder (>= 2.1.2)
hashie (3.5.7)
hitimes (1.2.6)
hitimes (1.2.6-x86-mingw32)
httpclient (2.6.0.1)
ipaddress (0.8.3)
jmespath (1.3.1)
json (2.1.0)
kitchen-vagrant (1.1.0)
kitchen-vagrant (1.3.0)
test-kitchen (~> 1.4)
libyajl2 (1.2.0)
license_scout (0.1.3)
license_scout (1.0.0)
ffi-yajl (~> 2.2)
mixlib-shellout (~> 2.2)
toml-rb (~> 1.0)
little-plugger (1.1.4)
logging (2.2.2)
little-plugger (~> 1.1)
multi_json (~> 1.10)
minitar (0.5.4)
mixlib-authentication (1.4.1)
mixlib-log
mixlib-authentication (1.4.2)
mixlib-cli (1.7.0)
mixlib-config (2.2.4)
mixlib-install (2.1.12)
artifactory
mixlib-config (2.2.5)
mixlib-install (3.9.3)
mixlib-shellout
mixlib-versioning
thor
mixlib-log (1.7.1)
mixlib-shellout (2.2.7)
mixlib-versioning (1.1.0)
mixlib-shellout (2.3.2)
mixlib-shellout (2.3.2-universal-mingw32)
win32-process (~> 0.8.2)
wmi-lite (~> 1.0)
mixlib-versioning (1.2.2)
multi_json (1.13.1)
multipart-post (2.0.0)
net-scp (1.2.1)
net-ssh (>= 2.6.5)
net-ssh (4.1.0)
net-ssh (4.2.0)
net-ssh-gateway (1.3.0)
net-ssh (>= 2.6.5)
nio4r (1.2.1)
nori (2.6.0)
octokit (3.8.0)
sawyer (~> 0.6.0, >= 0.5.3)
ohai (8.24.0)
ohai (8.26.1)
chef-config (>= 12.5.0.alpha.1, < 14)
ffi (~> 1.9)
ffi-yajl (~> 2.2)
Expand All @@ -124,7 +140,7 @@ GEM
plist (~> 3.1)
systemu (~> 2.6.4)
wmi-lite (~> 1.0)
plist (3.3.0)
plist (3.4.0)
retryable (2.0.4)
ridley (4.4.2)
addressable
Expand All @@ -144,8 +160,9 @@ GEM
retryable (~> 2.0)
semverse (~> 1.1)
varia_model (~> 0.4.0)
ruby-progressbar (1.8.1)
safe_yaml (1.0.4)
ruby-progressbar (1.9.0)
rubyntlm (0.6.2)
rubyzip (1.2.1)
sawyer (0.6.0)
addressable (~> 2.3.5)
faraday (~> 0.8, < 0.10)
Expand All @@ -154,25 +171,50 @@ GEM
dep_selector (~> 1.0)
semverse (~> 1.1)
systemu (2.6.5)
test-kitchen (1.16.0)
mixlib-install (>= 1.2, < 3.0)
test-kitchen (1.20.0)
mixlib-install (~> 3.6)
mixlib-shellout (>= 1.2, < 3.0)
net-scp (~> 1.1)
net-ssh (>= 2.9, < 5.0)
net-ssh-gateway (~> 1.2)
safe_yaml (~> 1.0)
thor (~> 0.19, < 0.19.2)
winrm (~> 2.0)
winrm-elevated (~> 1.0)
winrm-fs (~> 1.1.0)
thor (0.19.1)
timers (4.0.4)
hitimes
toml-rb (1.1.1)
citrus (~> 3.0, > 3.0)
tomlrb (1.2.6)
vagrant-wrapper (2.0.3)
varia_model (0.4.1)
buff-extensions (~> 1.0)
hashie (>= 2.0.2, < 4.0.0)
win32-process (0.8.3)
ffi (>= 1.0.0)
winrm (2.2.3)
builder (>= 2.1.2)
erubis (~> 2.7)
gssapi (~> 1.2)
gyoku (~> 1.0)
httpclient (~> 2.2, >= 2.2.0.2)
logging (>= 1.6.1, < 3.0)
nori (~> 2.0)
rubyntlm (~> 0.6.0, >= 0.6.1)
winrm-elevated (1.1.0)
winrm (~> 2.0)
winrm-fs (~> 1.0)
winrm-fs (1.1.1)
erubis (~> 2.7)
logging (>= 1.6.1, < 3.0)
rubyzip (~> 1.1)
winrm (~> 2.0)
wmi-lite (1.0.0)

PLATFORMS
ruby
x86-mingw32

DEPENDENCIES
berkshelf (~> 3.0)
Expand All @@ -183,4 +225,4 @@ DEPENDENCIES
vagrant-wrapper

BUNDLED WITH
1.15.0
1.16.1
12 changes: 12 additions & 0 deletions config/patches/libxslt/libxslt-windows-relocate-1.1.30.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
--- libxslt-1.1.30/libxslt/Makefile.in.orig 2017-10-25 14:23:01.000000000 +0100
+++ libxslt-1.1.30/libxslt/Makefile.in 2017-10-25 14:29:06.000000000 +0100
@@ -457,7 +457,8 @@
libxslt_la_LDFLAGS = \
$(WIN32_EXTRA_LDFLAGS) \
$(LIBXSLT_VERSION_SCRIPT) \
- -version-info $(LIBXSLT_VERSION_INFO)
+ -version-info $(LIBXSLT_VERSION_INFO) \
+ -Wl,--image-base,0x6d780000

man_MANS = libxslt.3
EXTRA_DIST = $(man_MANS) trio.h triodef.h libxslt.syms
29 changes: 29 additions & 0 deletions config/patches/ruby/2.4_no_proxy_exception.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
diff --git a/lib/uri/generic.rb b/lib/uri/generic.rb
index dcad27bc3501..e885657d4674 100644
--- a/lib/uri/generic.rb
+++ b/lib/uri/generic.rb
@@ -1535,10 +1535,10 @@ def find_proxy(env=ENV)
require 'ipaddr'
return nil if
begin
- IPAddr.new(host)
+ IPAddr.new(host).include?(self.host)
rescue IPAddr::InvalidAddressError
next
- end.include?(self.host)
+ end
end
end
}
diff --git a/test/uri/test_generic.rb b/test/uri/test_generic.rb
index b226b2278b83..355b0bac177b 100644
--- a/test/uri/test_generic.rb
+++ b/test/uri/test_generic.rb
@@ -838,6 +838,7 @@ def test_find_proxy_get
def test_find_proxy_no_proxy
with_proxy_env('http_proxy'=>'http://127.0.0.1:8080', 'no_proxy'=>'192.0.2.2') {|env|
assert_equal(URI('http://127.0.0.1:8080'), URI("http://192.0.2.1/").find_proxy(env))
+ assert_equal(URI('http://127.0.0.1:8080'), URI("http://example.org/").find_proxy(env))
assert_nil(URI("http://192.0.2.2/").find_proxy(env))
}
with_proxy_env('http_proxy'=>'http://127.0.0.1:8080', 'no_proxy'=>'example.org') {|env|
20 changes: 20 additions & 0 deletions config/patches/ruby/prelude_25_el6_no_pragma.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
--- template/prelude.c.tmpl.real 2018-01-25 12:12:58.636606731 +0000
+++ template/prelude.c.tmpl 2018-01-25 12:14:02.802380256 +0000
@@ -142,7 +142,7 @@
static void
prelude_eval(VALUE code, VALUE name, int line)
{
-#ifdef __GNUC__
+#if defined __GNUC__ && __GNUC__ >= 5
# pragma GCC diagnostic push
# pragma GCC diagnostic error "-Wmissing-field-initializers"
#endif
@@ -159,7 +159,7 @@
FALSE, /* unsigned int coverage_enabled; */
0, /* int debug_level; */
};
-#ifdef __GNUC__
+#if defined __GNUC__ && __GNUC__ >= 5
# pragma GCC diagnostic pop
#endif

98 changes: 98 additions & 0 deletions config/patches/ruby/ruby_2_3_gcc7.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
diff --git include/ruby/ruby.h include/ruby/ruby.h
index 60cfb1174e..dccfdc763a 100644
--- include/ruby/ruby.h
+++ include/ruby/ruby.h
@@ -551,27 +551,23 @@ static inline int rb_type(VALUE obj);
((type) == RUBY_T_FLOAT) ? RB_FLOAT_TYPE_P(obj) : \
(!RB_SPECIAL_CONST_P(obj) && RB_BUILTIN_TYPE(obj) == (type)))

-/* RB_GC_GUARD_PTR() is an intermediate macro, and has no effect by
- * itself. don't use it directly */
#ifdef __GNUC__
-#define RB_GC_GUARD_PTR(ptr) \
- __extension__ ({volatile VALUE *rb_gc_guarded_ptr = (ptr); rb_gc_guarded_ptr;})
-#else
-#ifdef _MSC_VER
+#define RB_GC_GUARD(v) \
+ (*__extension__ ({ \
+ volatile VALUE *rb_gc_guarded_ptr = &(v); \
+ __asm__("" : : "m"(rb_gc_guarded_ptr)); \
+ rb_gc_guarded_ptr; \
+ }))
+#elif defined _MSC_VER
#pragma optimize("", off)
static inline volatile VALUE *rb_gc_guarded_ptr(volatile VALUE *ptr) {return ptr;}
#pragma optimize("", on)
+#define RB_GC_GUARD(v) (*rb_gc_guarded_ptr(&(v)))
#else
volatile VALUE *rb_gc_guarded_ptr_val(volatile VALUE *ptr, VALUE val);
#define HAVE_RB_GC_GUARDED_PTR_VAL 1
#define RB_GC_GUARD(v) (*rb_gc_guarded_ptr_val(&(v),(v)))
#endif
-#define RB_GC_GUARD_PTR(ptr) rb_gc_guarded_ptr(ptr)
-#endif
-
-#ifndef RB_GC_GUARD
-#define RB_GC_GUARD(v) (*RB_GC_GUARD_PTR(&(v)))
-#endif

#ifdef __GNUC__
#define RB_UNUSED_VAR(x) x __attribute__ ((unused))
diff --git marshal.c marshal.c
index c56de4af8d..b7274bf3c4 100644
--- marshal.c
+++ marshal.c
@@ -1022,7 +1022,7 @@ VALUE
rb_marshal_dump_limited(VALUE obj, VALUE port, int limit)
{
struct dump_arg *arg;
- VALUE wrapper; /* used to avoid memory leak in case of exception */
+ volatile VALUE wrapper; /* used to avoid memory leak in case of exception */

wrapper = TypedData_Make_Struct(rb_cData, struct dump_arg, &dump_arg_data, arg);
arg->dest = 0;
@@ -1051,8 +1051,8 @@ rb_marshal_dump_limited(VALUE obj, VALUE port, int limit)
rb_io_write(arg->dest, arg->str);
rb_str_resize(arg->str, 0);
}
- clear_dump_arg(arg);
- RB_GC_GUARD(wrapper);
+ free_dump_arg(arg);
+ rb_gc_force_recycle(wrapper);

return port;
}
@@ -2044,7 +2044,7 @@ rb_marshal_load_with_proc(VALUE port, VALUE proc)
{
int major, minor, infection = 0;
VALUE v;
- VALUE wrapper; /* used to avoid memory leak in case of exception */
+ volatile VALUE wrapper; /* used to avoid memory leak in case of exception */
struct load_arg *arg;

v = rb_check_string_type(port);
@@ -2090,8 +2090,8 @@ rb_marshal_load_with_proc(VALUE port, VALUE proc)

if (!NIL_P(proc)) arg->proc = proc;
v = r_object(arg);
- clear_load_arg(arg);
- RB_GC_GUARD(wrapper);
+ free_load_arg(arg);
+ rb_gc_force_recycle(wrapper);

return v;
}
diff --git test/ruby/test_marshal.rb test/ruby/test_marshal.rb
index 6ac5c29991..dc2b8b30dc 100644
--- test/ruby/test_marshal.rb
+++ test/ruby/test_marshal.rb
@@ -645,6 +645,9 @@ def test_continuation
c = Bug9523.new
assert_raise_with_message(RuntimeError, /Marshal\.dump reentered at marshal_dump/) do
Marshal.dump(c)
+ GC.start
+ 1000.times {"x"*1000}
+ GC.start
c.cc.call
end
end
32 changes: 32 additions & 0 deletions config/patches/ruby/ruby_no_conversion_warnings.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
From fe28339fe58807d93fd78de0fdd6a41a298f8b91 Mon Sep 17 00:00:00 2001
From: Steven Danna <steve@chef.io>
Date: Mon, 26 Jun 2017 15:20:38 +0100
Subject: [PATCH] Cast args of __builtin_expect to avoid GCC 4.1 warning

GCC's -Wconversion will complain about RB_UNLIKELY and RB_LIKELY
without this cast, causing some native gem compilations to
fail. Notably, this was preventing nokogiri from building on EL-5.

Signed-off-by: Steven Danna <steve@chef.io>
---
include/ruby/defines.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/include/ruby/defines.h b/include/ruby/defines.h
index a4da7ea014..70092a90cf 100644
--- a/include/ruby/defines.h
+++ b/include/ruby/defines.h
@@ -75,8 +75,8 @@ extern "C" {

/* likely */
#if __GNUC__ >= 3
-#define RB_LIKELY(x) (__builtin_expect(!!(x), 1))
-#define RB_UNLIKELY(x) (__builtin_expect(!!(x), 0))
+#define RB_LIKELY(x) (__builtin_expect((long int)!!(x), 1L))
+#define RB_UNLIKELY(x) (__builtin_expect((long int)!!(x), 0L))
#else /* __GNUC__ >= 3 */
#define RB_LIKELY(x) (x)
#define RB_UNLIKELY(x) (x)
--
2.12.2

Loading

0 comments on commit ef10d71

Please sign in to comment.