Skip to content

Commit 27e94e7

Browse files
committed
Merge branch 'master-3.1' into dist/3.1/jammy
2 parents 1975a84 + f1bad64 commit 27e94e7

20 files changed

+418
-60
lines changed

ChangeLog

Lines changed: 303 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,308 @@
11
-*- coding: utf-8 -*-
22

3+
commit a777087be612b7675fe012560bf0d8fddff20f55
4+
Author: Hiroshi SHIBATA <[email protected]>
5+
AuthorDate: 2024-05-29 12:54:36 +0900
6+
Commit: Hiroshi SHIBATA <[email protected]>
7+
CommitDate: 2024-05-29 12:54:36 +0900
8+
9+
Bump up 3.1.6
10+
11+
commit 7da01370d51e3a2e5c2c6092b2cc0da793176843
12+
Author: Hiroshi SHIBATA <[email protected]>
13+
AuthorDate: 2024-05-24 16:23:02 +0900
14+
Commit: Hiroshi SHIBATA <[email protected]>
15+
CommitDate: 2024-05-24 16:59:42 +0900
16+
17+
Revert "[ruby/openssl] Use EVP_Digest{Sign,Verify} when available"
18+
19+
This reverts commit 63f40a5be59ac898e87528630568b7890ffcf5fb.
20+
21+
commit dc969b3a9c8bc1c860ecfd9306b3a5872e36579a
22+
Author: Hiroshi SHIBATA <[email protected]>
23+
AuthorDate: 2024-05-24 16:22:55 +0900
24+
Commit: Hiroshi SHIBATA <[email protected]>
25+
CommitDate: 2024-05-24 16:59:42 +0900
26+
27+
Revert "[ruby/openssl] Enable HKDF support for LibreSSL 3.6 and later"
28+
29+
This reverts commit b6da54c7219197eacdbfdca53739686f0bb2d06a.
30+
31+
commit b6da54c7219197eacdbfdca53739686f0bb2d06a
32+
Author: Theo Buehler <[email protected]>
33+
AuthorDate: 2022-11-24 01:09:50 +0900
34+
Commit: Hiroshi SHIBATA <[email protected]>
35+
CommitDate: 2024-05-24 13:02:00 +0900
36+
37+
[ruby/openssl] Enable HKDF support for LibreSSL 3.6 and later
38+
39+
LibreSSL 3.6 added support for HKDF in EVP. Enable this in ossl_kdf.c.
40+
41+
https://github.com/ruby/openssl/commit/9bdd39a7e2
42+
43+
commit 63f40a5be59ac898e87528630568b7890ffcf5fb
44+
Author: Theo Buehler <[email protected]>
45+
AuthorDate: 2022-11-10 22:50:22 +0900
46+
Commit: Hiroshi SHIBATA <[email protected]>
47+
CommitDate: 2024-05-24 13:02:00 +0900
48+
49+
[ruby/openssl] Use EVP_Digest{Sign,Verify} when available
50+
51+
LibreSSL 3.4 added EVP_DigestSign() and EVP_DigestVerify(). Use them
52+
when available to prepare for the addition of Ed25519 support in
53+
LibreSSL 3.7.
54+
55+
https://github.com/ruby/openssl/commit/475b2bf766
56+
57+
commit 5f641517689719fb9cf1aa76d2834644ad639010
58+
Author: Hiroshi SHIBATA <[email protected]>
59+
AuthorDate: 2024-05-24 12:05:24 +0900
60+
Commit: Hiroshi SHIBATA <[email protected]>
61+
CommitDate: 2024-05-24 13:02:00 +0900
62+
63+
LibreSSL 3.5 and later provide and need to use PEM_write_bio_PrivateKey_traditional()
64+
65+
Co-authored-by: "Jeremy Evans" <[email protected]>
66+
67+
commit 0a671907355d806f1701ab5f677e1582f834a925
68+
Author: Hiroshi SHIBATA <[email protected]>
69+
AuthorDate: 2024-05-23 13:26:29 +0900
70+
Commit: Hiroshi SHIBATA <[email protected]>
71+
CommitDate: 2024-05-23 14:12:53 +0900
72+
73+
merge revision(s) ae8990aef098410ecc2b5f48fea9d7d171a3c5f6:
74+
75+
Alias init functions
76+
77+
The extension library has each initialization function named "Init_" +
78+
basename. If multiple extensions have the same base name (such as
79+
cgi/escape and erb/escape), the same function will be registered for
80+
both names.
81+
82+
To fix this conflict, rename the initialization functions under sub
83+
directories using using parent names, when statically linking.
84+
---
85+
ext/extmk.rb | 16 +++++++++++++++-
86+
template/extinit.c.tmpl | 2 +-
87+
2 files changed, 16 insertions(+), 2 deletions(-)
88+
89+
commit 60fb6d485944ea9dc07900a566cd5bd6ba5e083f
90+
Author: Hiroshi SHIBATA <[email protected]>
91+
AuthorDate: 2024-05-23 12:49:30 +0900
92+
Commit: Hiroshi SHIBATA <[email protected]>
93+
CommitDate: 2024-05-23 13:24:36 +0900
94+
95+
merge revision(s) 7f87ad9fc4bc45faf8cd33602a025f27c094b2fd:
96+
97+
Refer autoconfigured endian macro (#10572)
98+
99+
Remove the case `RB_IO_BUFFER_HOST_ENDIAN` is not defined.
100+
---
101+
include/ruby/io/buffer.h | 8 ++------
102+
1 file changed, 2 insertions(+), 6 deletions(-)
103+
104+
commit c54f52fb4da10aae50a74badf85994e9264e1cc4
105+
Author: Hiroshi SHIBATA <[email protected]>
106+
AuthorDate: 2024-05-23 12:49:24 +0900
107+
Commit: Hiroshi SHIBATA <[email protected]>
108+
CommitDate: 2024-05-23 13:24:36 +0900
109+
110+
merge revision(s) 1faeb44dfcf777ace28321e80d0ebf942161a0a7:
111+
112+
Check if macros are defined before using
113+
114+
Assume macros with the same prefix would be defined together.
115+
---
116+
include/ruby/io/buffer.h | 8 ++++----
117+
1 file changed, 4 insertions(+), 4 deletions(-)
118+
119+
commit 7256dfd4a127abfd22c6ed0b6196666ec273e08f
120+
Author: Nobuyoshi Nakada <[email protected]>
121+
AuthorDate: 2023-07-25 16:07:33 +0900
122+
Commit: Hiroshi SHIBATA <[email protected]>
123+
CommitDate: 2024-05-23 12:45:59 +0900
124+
125+
[Bug #19751] Remove linemarkers in middle
126+
127+
commit c884de63c8c9833ee6a054b6363e23cfc2cbd74e
128+
Author: Hiroshi SHIBATA <[email protected]>
129+
AuthorDate: 2024-05-23 11:19:52 +0900
130+
Commit: Hiroshi SHIBATA <[email protected]>
131+
CommitDate: 2024-05-23 11:58:26 +0900
132+
133+
merge revision(s) 48644e71096c70132be9dfdcbfb414ec2e68d18b:
134+
135+
tool/runruby.rb: remove LD_PRELOAD-like env-var options from
136+
runruby.rb
137+
138+
LD_PRELOAD sometimes forces loading libraries into unrelated
139+
executables. For example, macOS on recent Apple Silicon can execute
140+
arm64 and arm64e binaries by default, and /usr/bin/clang is built as
141+
arm64e. If Ruby is built as arm64, and mkmf launched through runruby.rb
142+
spawns /usr/bin/clang, dynamic loader tries to load libruby (arm64e)
143+
into clang (arm64). This force-load causes library load failure.
144+
In theory, we don't need both LD_PRELOAD and LD_LIBRARY_PATH at the same
145+
time, because executables requiring libruby already have libruby
146+
dependency, so LD_LIBRARY_PATH is enough for this case.
147+
---
148+
tool/runruby.rb | 9 ---------
149+
1 file changed, 9 deletions(-)
150+
151+
commit 5979e4118dfae7f68f12d25429183bdeccf889df
152+
Author: Hiroshi SHIBATA <[email protected]>
153+
AuthorDate: 2024-05-23 10:20:09 +0900
154+
Commit: Hiroshi SHIBATA <[email protected]>
155+
CommitDate: 2024-05-23 10:57:56 +0900
156+
157+
macos-11 will be retired at Jun, 2024
158+
159+
commit 80b11b216d5ca9338b2384c0215bc652e826412d
160+
Author: Sutou Kouhei <[email protected]>
161+
AuthorDate: 2022-09-15 07:08:20 +0900
162+
Commit: Hiroshi SHIBATA <[email protected]>
163+
CommitDate: 2024-05-23 10:57:56 +0900
164+
165+
merge revision(s) a4ad6bd9aac564e93219284c912b26a72f9e82fc:
166+
167+
[ruby/fiddle] closure: free resources when an exception is raised in
168+
Closure.new
169+
170+
GitHub: GH-102
171+
172+
https://github.com/ruby/fiddle/commit/81a8a56239
173+
---
174+
ext/fiddle/closure.c | 56 ++++++++++++++++++++++++++++++++++++++++------------
175+
1 file changed, 43 insertions(+), 13 deletions(-)
176+
177+
commit 07c11226a058c61296ad75a9c266b5a0f159b600
178+
Author: Hiroshi SHIBATA <[email protected]>
179+
AuthorDate: 2024-05-21 13:29:34 +0900
180+
Commit: Hiroshi SHIBATA <[email protected]>
181+
CommitDate: 2024-05-21 14:06:43 +0900
182+
183+
merge revision(s) cfc564ac40496a392f463658ea33954ea76d6b11:
184+
185+
Include headers for `ruby_qsort` only if needed
186+
187+
If GNU `qsort_r` is available, we use the function and these headers
188+
are not used.
189+
---
190+
util.c | 4 ++--
191+
1 file changed, 2 insertions(+), 2 deletions(-)
192+
193+
commit 24d7a1c6e73fa2d8e9f8996c16dcf2a31ce5c751
194+
Author: Hiroshi SHIBATA <[email protected]>
195+
AuthorDate: 2024-05-21 13:29:08 +0900
196+
Commit: Hiroshi SHIBATA <[email protected]>
197+
CommitDate: 2024-05-21 14:06:43 +0900
198+
199+
merge revision(s) ed3d8f74ec2eee43d50f9826e2f11ceea279823e:
200+
201+
Delete a macro that has never been used, probably added by mistake
202+
203+
---
204+
util.c | 7 -------
205+
1 file changed, 7 deletions(-)
206+
207+
commit 122b510b94f815473cc5cc1d47701a06a0bc44a0
208+
Author: Hiroshi SHIBATA <[email protected]>
209+
AuthorDate: 2024-05-21 13:25:08 +0900
210+
Commit: Hiroshi SHIBATA <[email protected]>
211+
CommitDate: 2024-05-21 14:06:43 +0900
212+
213+
merge revision(s) 7400628cb054a9a9651d69411a100fc9d518099f:
214+
215+
[Bug #18997] Don't define ruby_qsort when POSIX qsort_r is available
216+
217+
The current code would define ruby_qsort as a wrapper of qsort_s
218+
when it is available. When both qsort_s and POSIX (GNU) qsort_r
219+
are available, we should call qsort_r directly instead, and
220+
the qsort_s wrapper is redundant.
221+
---
222+
util.c | 6 ++++--
223+
1 file changed, 4 insertions(+), 2 deletions(-)
224+
225+
commit a131d2391f5a46d7cf7838e79ddfe4cf8018b365
226+
Author: Hiroshi SHIBATA <[email protected]>
227+
AuthorDate: 2024-05-17 11:52:12 +0900
228+
Commit: Hiroshi SHIBATA <[email protected]>
229+
CommitDate: 2024-05-17 17:25:59 +0900
230+
231+
AppVeyor is retired at 2024
232+
233+
commit 5db59cd50f7164f462289952d59bf8eac3a018f6
234+
Author: Jun Aruga <[email protected]>
235+
AuthorDate: 2024-03-12 22:39:05 +0900
236+
Commit: Hiroshi SHIBATA <[email protected]>
237+
CommitDate: 2024-05-17 17:25:59 +0900
238+
239+
[ruby/openssl] test_asn1.rb: Remove the assertions of the time string format without second.
240+
241+
This commit fixes the following errors in the tests.
242+
Because the OpenSSL project changed the code to make the time string format
243+
without second invalid. So, we drop the assertions.
244+
245+
```
246+
1) Error: test_generalizedtime(OpenSSL::TestASN1): OpenSSL::ASN1::ASN1Error: generalizedtime is too short
247+
/home/runner/work/ruby-openssl/ruby-openssl/test/openssl/test_asn1.rb:698:in `decode'
248+
/home/runner/work/ruby-openssl/ruby-openssl/test/openssl/test_asn1.rb:698:in `decode_test'
249+
/home/runner/work/ruby-openssl/ruby-openssl/test/openssl/test_asn1.rb:433:in `test_generalizedtime'
250+
430: OpenSSL::ASN1::GeneralizedTime.new(Time.utc(9999, 9, 8, 23, 43, 39))
251+
431: # LibreSSL 3.6.0 requires the seconds element
252+
432: return if libressl?
253+
=> 433: decode_test B(%w{ 18 0D }) + "201612081934Z".b,
254+
434: OpenSSL::ASN1::GeneralizedTime.new(Time.utc(2016, 12, 8, 19, 34, 0))
255+
435: # not implemented
256+
436: # decode_test B(%w{ 18 13 }) + "https://github.com/ruby/openssl/commit/201612081934+0930".b,
257+
258+
2) Error: test_utctime(OpenSSL::TestASN1): OpenSSL::ASN1::ASN1Error: utctime is too short
259+
/home/runner/work/ruby-openssl/ruby-openssl/test/openssl/test_asn1.rb:698:in `decode'
260+
/home/runner/work/ruby-openssl/ruby-openssl/test/openssl/test_asn1.rb:698:in `decode_test'
261+
/home/runner/work/ruby-openssl/ruby-openssl/test/openssl/test_asn1.rb:411:in `test_utctime'
262+
408: end
263+
409: # Seconds is omitted. LibreSSL 3.6.0 requires it
264+
410: return if libressl?
265+
=> 411: decode_test B(%w{ 17 0B }) + "1609082343Z".b,
266+
412: OpenSSL::ASN1::UTCTime.new(Time.utc(2016, 9, 8, 23, 43, 0))
267+
413: # not implemented
268+
414: # decode_test B(%w{ 17 11 }) + "https://github.com/ruby/openssl/commit/500908234339+0930".b,
269+
```
270+
271+
https://github.com/ruby/openssl/commit/2e826d5715
272+
273+
commit 89574f02e1abc58e4459d734424b430bcd4c6f17
274+
Author: Kazuki Yamaguchi <[email protected]>
275+
AuthorDate: 2022-10-17 16:50:01 +0900
276+
Commit: Hiroshi SHIBATA <[email protected]>
277+
CommitDate: 2024-05-17 17:25:59 +0900
278+
279+
[ruby/openssl] test/openssl/test_asn1.rb: skip failing tests on LibreSSL 3.6.0
280+
281+
LibreSSL 3.6.0 expects the seconds part in UTCTime and GeneralizedTime
282+
to be always present. LibreSSL 3.6.0 release note [1] says:
283+
284+
> - The ASN.1 time parser has been refactored and rewritten using CBS.
285+
> It has been made stricter in that it now enforces the rules from
286+
> RFC 5280.
287+
288+
[1] https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-3.6.0-relnotes.txt
289+
290+
https://github.com/ruby/openssl/commit/bbc540fe83
291+
292+
commit 10f4e4d936ece813ff3bc061a0ecff85804447cc
293+
Author: Xi Ruoyao <[email protected]>
294+
AuthorDate: 2024-04-24 14:42:09 +0900
295+
Commit: Hiroshi SHIBATA <[email protected]>
296+
CommitDate: 2024-05-17 17:25:59 +0900
297+
298+
[ruby/net-http] Skip test_session_reuse_but_expire with OpenSSL 3.3
299+
300+
OpenSSL 3.3.0 9 Apr 2024 is also broken.
301+
302+
Signed-off-by: Xi Ruoyao <[email protected]>
303+
304+
https://github.com/ruby/net-http/commit/ab525c956d
305+
3306
commit 1945f8dc0ea71f536931364fa3605b7507807bb5
4307
Author: Hiroshi SHIBATA <[email protected]>
5308
AuthorDate: 2024-04-23 19:20:59 +0900

debian/changelog

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
ruby3.1 (3.1.6-0nkmi1~dist) unstable; urgency=medium
2+
3+
* Ruby 3.1.6
4+
5+
-- Sorah Fukumori <[email protected]> Thu, 15 Aug 2024 14:25:04 +0900
6+
17
ruby3.1 (3.1.5-0nkmi1~dist) unstable; urgency=medium
28

39
* Ruby 3.1.5
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
From: Sorah Fukumori <[email protected]>
2+
Date: Fri, 31 May 2024 03:15:36 +0900
3+
Subject: Ensure Integer::GMP_VERSION exists
4+
5+
Do the same in https://github.com/ruby/ruby/pull/10875 for debian
6+
packaging
7+
---
8+
test/ruby/test_bignum.rb | 4 ++++
9+
1 file changed, 4 insertions(+)
10+
11+
diff --git a/test/ruby/test_bignum.rb b/test/ruby/test_bignum.rb
12+
index 3ffe711..32791d8 100644
13+
--- a/test/ruby/test_bignum.rb
14+
+++ b/test/ruby/test_bignum.rb
15+
@@ -625,6 +625,10 @@ class TestBignum < Test::Unit::TestCase
16+
assert_equal(true, BIGNUM_MIN.even?)
17+
end
18+
19+
+ def test_gmp_deb
20+
+ assert_kind_of(String, Integer::GMP_VERSION) # https://github.com/ruby/ruby/pull/10875
21+
+ end
22+
+
23+
def test_interrupt_during_to_s
24+
if defined?(Integer::GMP_VERSION)
25+
return # GMP doesn't support interrupt during an operation.

debian/patches/Fix-FTBFS-on-x32-misdetected-as-i386-or-amd64.patch

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@ Updated by John Paul Adrian Glaubitz <[email protected]> on
1212
1 file changed, 3 insertions(+)
1313

1414
diff --git a/configure.ac b/configure.ac
15-
index 0bc6a7a..d1bbd17 100644
15+
index 0eb94f6..a051708 100644
1616
--- a/configure.ac
1717
+++ b/configure.ac
18-
@@ -2557,6 +2557,9 @@ AS_CASE([$coroutine_type], [yes|''], [
18+
@@ -2564,6 +2564,9 @@ AS_CASE([$coroutine_type], [yes|''], [
1919
[arm64-darwin*], [
2020
coroutine_type=arm64
2121
],

debian/patches/Honor-the-tool-prefix-against-pkg-config.patch

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@ Subject: Honor the tool prefix against pkg-config
77
1 file changed, 8 insertions(+), 5 deletions(-)
88

99
diff --git a/configure.ac b/configure.ac
10-
index d1bbd17..b414cf3 100644
10+
index a051708..6d0fff4 100644
1111
--- a/configure.ac
1212
+++ b/configure.ac
13-
@@ -496,11 +496,14 @@ AS_IF([test "$cross_compiling:$ac_cv_prog_DTRACE" = no: -a -n "$ac_tool_prefix"]
13+
@@ -502,11 +502,14 @@ AS_IF([test "$cross_compiling:$ac_cv_prog_DTRACE" = no: -a -n "$ac_tool_prefix"]
1414
AC_CHECK_PROGS(DOT, dot)
1515
AC_CHECK_PROGS(DOXYGEN, doxygen)
1616

debian/patches/TestProcess-disable-gems-to-disable-rubygems_integration.patch

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ lets such test fail.
1111
1 file changed, 3 insertions(+), 3 deletions(-)
1212

1313
diff --git a/test/ruby/test_process.rb b/test/ruby/test_process.rb
14-
index 91d554e..6f59730 100644
14+
index a6de1c8..ac658ad 100644
1515
--- a/test/ruby/test_process.rb
1616
+++ b/test/ruby/test_process.rb
1717
@@ -290,7 +290,7 @@ class TestProcess < Test::Unit::TestCase

debian/patches/extract-gems-sequential-Keep-using-RUNRUBY.patch

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ Partially reverts https://github.com/ruby/ruby/pull/6203
1111
1 file changed, 1 insertion(+), 1 deletion(-)
1212

1313
diff --git a/common.mk b/common.mk
14-
index a3990a5..67aaebe 100644
14+
index 722c41f..e587832 100644
1515
--- a/common.mk
1616
+++ b/common.mk
1717
@@ -1367,7 +1367,7 @@ update-gems$(gnumake:yes=-sequential): PHONY

debian/patches/series

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,3 +10,4 @@ test_readline-test_without_tty-Use-EnvUtil.rubybin.patch
1010
Fix-filenames-for-glibc-SO-files-on-alpha-and-ia64.patch
1111
Honor-the-tool-prefix-against-pkg-config.patch
1212
extract-gems-sequential-Keep-using-RUNRUBY.patch
13+
Ensure-Integer-GMP_VERSION-exists.patch

0 commit comments

Comments
 (0)