From 0a64e4b921f6b38f91813ae8dbd714facf4e9491 Mon Sep 17 00:00:00 2001 From: Vít Ondruch Date: Nov 18 2016 15:59:26 +0000 Subject: Update to Ruby 2.3.2. --- diff --git a/ruby-2.3.0-ruby_version.patch b/ruby-2.3.0-ruby_version.patch index cdd016c..96d7249 100644 --- a/ruby-2.3.0-ruby_version.patch +++ b/ruby-2.3.0-ruby_version.patch @@ -249,7 +249,7 @@ diff --git a/test/rubygems/test_gem.rb b/test/rubygems/test_gem.rb index 0428bea..b6e090e 100644 --- a/test/rubygems/test_gem.rb +++ b/test/rubygems/test_gem.rb -@@ -963,7 +963,8 @@ def test_self_use_paths +@@ -962,7 +962,8 @@ def test_self_use_paths def test_self_user_dir parts = [@userhome, '.gem', Gem.ruby_engine] @@ -259,7 +259,7 @@ index 0428bea..b6e090e 100644 assert_equal File.join(parts), Gem.user_dir end -@@ -1090,7 +1091,7 @@ def test_self_user_home_user_drive_and_path +@@ -1089,7 +1090,7 @@ def test_self_user_home_user_drive_and_path def test_self_vendor_dir expected = File.join RbConfig::CONFIG['vendordir'], 'gems', diff --git a/ruby-2.4.0-increase-timeout-for-ARMv7.patch b/ruby-2.4.0-increase-timeout-for-ARMv7.patch deleted file mode 100644 index d0dfcb2..0000000 --- a/ruby-2.4.0-increase-timeout-for-ARMv7.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 35568b41699ca1cd466fc8d23a84139b73ad0f1b Mon Sep 17 00:00:00 2001 -From: naruse -Date: Tue, 19 Jan 2016 02:52:37 +0000 -Subject: [PATCH] increase timeout for ARMv7 - -http://rubyci.s3.amazonaws.com/scw-9d6766/ruby-trunk/log/20160113T091704Z.diff.html.gz - -git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53586 b2dd03c8-39d4-4d8f-98ff-823fe69b080e ---- - test/ruby/test_iseq.rb | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/test/ruby/test_iseq.rb b/test/ruby/test_iseq.rb -index 7af8c1b..4561eeb 100644 ---- a/test/ruby/test_iseq.rb -+++ b/test/ruby/test_iseq.rb -@@ -187,7 +187,7 @@ def test_safe_call_chain - end - - def test_parent_iseq_mark -- assert_separately([], <<-'end;') -+ assert_separately([], <<-'end;', timeout: 20) - ->{ - ->{ - ->{ diff --git a/ruby-2.4.0-openssl-register-ex_data-index-for-X509_STORE-_CTX-r.patch b/ruby-2.4.0-openssl-register-ex_data-index-for-X509_STORE-_CTX-r.patch deleted file mode 100644 index 594d5f9..0000000 --- a/ruby-2.4.0-openssl-register-ex_data-index-for-X509_STORE-_CTX-r.patch +++ /dev/null @@ -1,206 +0,0 @@ -From 2aabfcd4c604891ab043649129bb1404e3c311f0 Mon Sep 17 00:00:00 2001 -From: rhe -Date: Thu, 19 May 2016 04:53:05 +0000 -Subject: [PATCH] openssl: register ex_data index for X509_STORE{_CTX,} - respectively - -* ext/openssl/ossl.c (Init_openssl): register an ex_data index for - X509_STORE and X509_STORE_CTX respectively. Since they don't share - the ex_data index registry, we can't use the same index. - (ossl_verify_cb): use the the correct index. - -* ext/openssl/ossl_ssl.c (ossl_ssl_verify_callback): ditto. - -* ext/openssl/ossl_x509store.c (ossl_x509store_set_vfy_cb): ditto. - (ossl_x509stctx_verify): ditto. - -* ext/openssl/ossl.h (void ossl_clear_error): add extern declarations - of ossl_store_{ctx_,}ex_verify_cb_idx. - -* ext/openssl/openssl_missing.c: remove X509_STORE_set_ex_data and - X509_STORE_get_ex_data. - -* ext/openssl/openssl_missing.h: implement X509_STORE_get_ex_data, - X509_STORE_set_ex_data and X509_STORE_get_ex_new_index as macros. - -git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55074 b2dd03c8-39d4-4d8f-98ff-823fe69b080e ---- - ChangeLog | 21 +++++++++++++++++++++ - ext/openssl/openssl_missing.c | 14 -------------- - ext/openssl/openssl_missing.h | 9 +++++++-- - ext/openssl/ossl.c | 15 +++++++++------ - ext/openssl/ossl.h | 3 ++- - ext/openssl/ossl_ssl.c | 2 +- - ext/openssl/ossl_x509store.c | 4 ++-- - 7 files changed, 42 insertions(+), 26 deletions(-) - -diff --git a/ChangeLog b/ChangeLog -index c163123..73ea253 100644 ---- a/ChangeLog -+++ b/ChangeLog -@@ -1,3 +1,24 @@ -+Thu May 19 13:22:44 2016 Kazuki Yamaguchi -+ -+ * ext/openssl/ossl.c (Init_openssl): register an ex_data index for -+ X509_STORE and X509_STORE_CTX respectively. Since they don't share -+ the ex_data index registry, we can't use the same index. -+ (ossl_verify_cb): use the the correct index. -+ -+ * ext/openssl/ossl_ssl.c (ossl_ssl_verify_callback): ditto. -+ -+ * ext/openssl/ossl_x509store.c (ossl_x509store_set_vfy_cb): ditto. -+ (ossl_x509stctx_verify): ditto. -+ -+ * ext/openssl/ossl.h (void ossl_clear_error): add extern declarations -+ of ossl_store_{ctx_,}ex_verify_cb_idx. -+ -+ * ext/openssl/openssl_missing.c: remove X509_STORE_set_ex_data and -+ X509_STORE_get_ex_data. -+ -+ * ext/openssl/openssl_missing.h: implement X509_STORE_get_ex_data, -+ X509_STORE_set_ex_data and X509_STORE_get_ex_new_index as macros. -+ - Tue Apr 26 02:58:51 2016 Marcus Stollsteimer - - * doc/extension.rdoc: Improvements to english grammers. -diff --git a/ext/openssl/openssl_missing.c b/ext/openssl/openssl_missing.c -index bd8eef5..31f2d0a 100644 ---- a/ext/openssl/openssl_missing.c -+++ b/ext/openssl/openssl_missing.c -@@ -34,20 +34,6 @@ HMAC_CTX_copy(HMAC_CTX *out, HMAC_CTX *in) - #endif /* HAVE_HMAC_CTX_COPY */ - #endif /* NO_HMAC */ - --#if !defined(HAVE_X509_STORE_SET_EX_DATA) --int X509_STORE_set_ex_data(X509_STORE *str, int idx, void *data) --{ -- return CRYPTO_set_ex_data(&str->ex_data, idx, data); --} --#endif -- --#if !defined(HAVE_X509_STORE_GET_EX_DATA) --void *X509_STORE_get_ex_data(X509_STORE *str, int idx) --{ -- return CRYPTO_get_ex_data(&str->ex_data, idx); --} --#endif -- - #if !defined(HAVE_EVP_MD_CTX_CREATE) - EVP_MD_CTX * - EVP_MD_CTX_create(void) -diff --git a/ext/openssl/openssl_missing.h b/ext/openssl/openssl_missing.h -index 2dc49d3..955579c 100644 ---- a/ext/openssl/openssl_missing.h -+++ b/ext/openssl/openssl_missing.h -@@ -133,11 +133,16 @@ int EVP_CIPHER_CTX_copy(EVP_CIPHER_CTX *out, EVP_CIPHER_CTX *in); - #endif - - #if !defined(HAVE_X509_STORE_GET_EX_DATA) --void *X509_STORE_get_ex_data(X509_STORE *str, int idx); -+# define X509_STORE_get_ex_data(x, idx) \ -+ CRYPTO_get_ex_data(&(x)->ex_data, (idx)) - #endif - - #if !defined(HAVE_X509_STORE_SET_EX_DATA) --int X509_STORE_set_ex_data(X509_STORE *str, int idx, void *data); -+# define X509_STORE_set_ex_data(x, idx, data) \ -+ CRYPTO_set_ex_data(&(x)->ex_data, (idx), (data)) -+# define X509_STORE_get_ex_new_index(l, p, newf, dupf, freef) \ -+ CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_X509_STORE, (l), (p), \ -+ (newf), (dupf), (freef)) - #endif - - #if !defined(HAVE_X509_CRL_SET_VERSION) -diff --git a/ext/openssl/ossl.c b/ext/openssl/ossl.c -index ac82815..2b5579e 100644 ---- a/ext/openssl/ossl.c -+++ b/ext/openssl/ossl.c -@@ -198,7 +198,8 @@ ossl_pem_passwd_cb(char *buf, int max_len, int flag, void *pwd) - /* - * Verify callback - */ --int ossl_verify_cb_idx; -+int ossl_store_ctx_ex_verify_cb_idx; -+int ossl_store_ex_verify_cb_idx; - - VALUE - ossl_call_verify_cb_proc(struct ossl_verify_cb_args *args) -@@ -214,10 +215,10 @@ ossl_verify_cb(int ok, X509_STORE_CTX *ctx) - struct ossl_verify_cb_args args; - int state = 0; - -- proc = (VALUE)X509_STORE_CTX_get_ex_data(ctx, ossl_verify_cb_idx); -- if ((void*)proc == 0) -- proc = (VALUE)X509_STORE_get_ex_data(ctx->ctx, ossl_verify_cb_idx); -- if ((void*)proc == 0) -+ proc = (VALUE)X509_STORE_CTX_get_ex_data(ctx, ossl_store_ctx_ex_verify_cb_idx); -+ if (!proc) -+ proc = (VALUE)X509_STORE_get_ex_data(ctx->ctx, ossl_store_ex_verify_cb_idx); -+ if (!proc) - return ok; - if (!NIL_P(proc)) { - ret = Qfalse; -@@ -1127,8 +1128,10 @@ Init_openssl(void) - /* - * Verify callback Proc index for ext-data - */ -- if ((ossl_verify_cb_idx = X509_STORE_CTX_get_ex_new_index(0, (void *)"ossl_verify_cb_idx", 0, 0, 0)) < 0) -+ if ((ossl_store_ctx_ex_verify_cb_idx = X509_STORE_CTX_get_ex_new_index(0, (void *)"ossl_store_ctx_ex_verify_cb_idx", 0, 0, 0)) < 0) - ossl_raise(eOSSLError, "X509_STORE_CTX_get_ex_new_index"); -+ if ((ossl_store_ex_verify_cb_idx = X509_STORE_get_ex_new_index(0, (void *)"ossl_store_ex_verify_cb_idx", 0, 0, 0)) < 0) -+ ossl_raise(eOSSLError, "X509_STORE_get_ex_new_index"); - - /* - * Init debug core -diff --git a/ext/openssl/ossl.h b/ext/openssl/ossl.h -index a31ca95..5b2f6e1 100644 ---- a/ext/openssl/ossl.h -+++ b/ext/openssl/ossl.h -@@ -167,7 +167,8 @@ void ossl_clear_error(void); - /* - * Verify callback - */ --extern int ossl_verify_cb_idx; -+extern int ossl_store_ctx_ex_verify_cb_idx; -+extern int ossl_store_ex_verify_cb_idx; - - struct ossl_verify_cb_args { - VALUE proc; -diff --git a/ext/openssl/ossl_ssl.c b/ext/openssl/ossl_ssl.c -index 938e36f..87df7f9 100644 ---- a/ext/openssl/ossl_ssl.c -+++ b/ext/openssl/ossl_ssl.c -@@ -307,7 +307,7 @@ ossl_ssl_verify_callback(int preverify_ok, X509_STORE_CTX *ctx) - - ssl = X509_STORE_CTX_get_ex_data(ctx, SSL_get_ex_data_X509_STORE_CTX_idx()); - cb = (VALUE)SSL_get_ex_data(ssl, ossl_ssl_ex_vcb_idx); -- X509_STORE_CTX_set_ex_data(ctx, ossl_verify_cb_idx, (void*)cb); -+ X509_STORE_CTX_set_ex_data(ctx, ossl_store_ctx_ex_verify_cb_idx, (void *)cb); - return ossl_verify_cb(preverify_ok, ctx); - } - -diff --git a/ext/openssl/ossl_x509store.c b/ext/openssl/ossl_x509store.c -index aca25b1..8d6f9de 100644 ---- a/ext/openssl/ossl_x509store.c -+++ b/ext/openssl/ossl_x509store.c -@@ -130,7 +130,7 @@ ossl_x509store_set_vfy_cb(VALUE self, VALUE cb) - X509_STORE *store; - - GetX509Store(self, store); -- X509_STORE_set_ex_data(store, ossl_verify_cb_idx, (void*)cb); -+ X509_STORE_set_ex_data(store, ossl_store_ex_verify_cb_idx, (void *)cb); - rb_iv_set(self, "@verify_callback", cb); - - return cb; -@@ -467,7 +467,7 @@ ossl_x509stctx_verify(VALUE self) - int result; - - GetX509StCtx(self, ctx); -- X509_STORE_CTX_set_ex_data(ctx, ossl_verify_cb_idx, -+ X509_STORE_CTX_set_ex_data(ctx, ossl_store_ctx_ex_verify_cb_idx, - (void*)rb_iv_get(self, "@verify_callback")); - result = X509_verify_cert(ctx); - --- -2.10.0 - diff --git a/ruby.spec b/ruby.spec index 2817201..5b8b02b 100644 --- a/ruby.spec +++ b/ruby.spec @@ -1,6 +1,6 @@ %global major_version 2 %global minor_version 3 -%global teeny_version 1 +%global teeny_version 2 %global major_minor_version %{major_version}.%{minor_version} %global ruby_version %{major_minor_version}.%{teeny_version} @@ -21,7 +21,7 @@ %endif -%global release 59 +%global release 60 %{!?release_string:%global release_string %{?development_release:0.}%{release}%{?development_release:.%{development_release}}%{?dist}} # The RubyGems library has to stay out of Ruby directory three, since the @@ -29,8 +29,8 @@ %global rubygems_dir %{_datadir}/rubygems # Bundled libraries versions -%global rubygems_version 2.5.1 -%global molinillo_version 0.4.0 +%global rubygems_version 2.5.2 +%global molinillo_version 0.4.1 # TODO: The IRB has strange versioning. Keep the Ruby's versioning ATM. # http://redmine.ruby-lang.org/issues/5313 @@ -40,9 +40,9 @@ %global did_you_mean_version 1.0.0 %global io_console_version 0.4.5 %global json_version 1.8.3 -%global minitest_version 5.8.3 +%global minitest_version 5.8.5 %global power_assert_version 0.2.6 -%global psych_version 2.0.17 +%global psych_version 2.1.0 %global rake_version 10.4.2 %global rdoc_version 4.2.1 %global net_telnet_version 0.1.1 @@ -122,16 +122,10 @@ Patch6: ruby-2.1.0-Allow-to-specify-additional-preludes-by-configuratio.patch # Use miniruby to regenerate prelude.c. # https://bugs.ruby-lang.org/issues/10554 Patch7: ruby-2.2.3-Generate-preludes-using-miniruby.patch -# Prevent test failures on ARM. -# https://bugs.ruby-lang.org/issues/12331 -Patch8: ruby-2.4.0-increase-timeout-for-ARMv7.patch # Workaround "an invalid stdio handle" error on PPC, due to recently introduced # hardening features of glibc (rhbz#1361037). # https://bugs.ruby-lang.org/issues/12666 Patch9: ruby-2.3.1-Rely-on-ldd-to-detect-glibc.patch -# Avoid conflict between OpenSSL 1.0.x and 1.1.x. -# https://bugs.ruby-lang.org/issues/12868 -Patch10: ruby-2.4.0-openssl-register-ex_data-index-for-X509_STORE-_CTX-r.patch Requires: %{name}-libs%{?_isa} = %{version}-%{release} Suggests: rubypick @@ -479,9 +473,7 @@ rm -rf ext/fiddle/libffi* %patch5 -p1 %patch6 -p1 %patch7 -p1 -%patch8 -p1 %patch9 -p1 -%patch10 -p1 # Provide an example of usage of the tapset: cp -a %{SOURCE3} . @@ -545,7 +537,8 @@ for cert in \ EntrustnetSecureServerCertificationAuthority.pem \ GeoTrustGlobalCA.pem \ AddTrustExternalCARoot.pem \ - AddTrustExternalCARoot-2048.pem + AddTrustExternalCARoot-2048.pem \ + GlobalSignRootCA.pem do rm %{buildroot}%{rubygems_dir}/rubygems/ssl_certs/$cert done @@ -971,6 +964,9 @@ make check TESTS="-v $DISABLE_TESTS" %{ruby_libdir}/tkextlib %changelog +* Fri Nov 18 2016 Vít Ondruch - 2.3.2-60 +- Update to Ruby 2.3.2. + * Fri Oct 21 2016 Vít Ondruch - 2.3.1-59 - Continue to use OpenSSL 1.0 for the moment. - Add gemspec_add_dep and gemspec_remove_dep macros. diff --git a/sources b/sources index 6eb7405..9f89eaf 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -01e9d172a5c33b385e92fc0cc2899766 ruby-2.3.1.tar.xz +37bae2bf9cf6deda3b7d8b0ad61fc0af ruby-2.3.2.tar.xz