Skip to content

Commit 3025579

Browse files
committed
Merge branch 'master' into dist/2.7/buster
2 parents e57f90d + 56d8f35 commit 3025579

File tree

248 files changed

+23625
-20177
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

248 files changed

+23625
-20177
lines changed

ChangeLog

Lines changed: 13800 additions & 12267 deletions
Large diffs are not rendered by default.

appveyor.yml

Lines changed: 0 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,10 @@ version: '{build}'
33
shallow_clone: true
44
platform:
55
- x64
6-
branches:
7-
except:
8-
- trunk # mirrored from trunk. avoid doubly building on it
96
environment:
107
ruby_version: "24-%Platform%"
118
zlib_version: "1.2.11"
129
matrix:
13-
# to reduce time for finishing all jobs, run the slowest msys2 build first.
14-
- build: msys2
15-
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
16-
GEMS_FOR_TEST: "timezone tzinfo"
1710
- build: vs
1811
vs: 120
1912
ssl: OpenSSL
@@ -78,52 +71,6 @@ for:
7871
# separately execute tests without -j which may crash worker with -j.
7972
- nmake -l "TESTOPTS=-v --timeout-scale=3.0 --excludes=../test/excludes/_appveyor" test-all TESTS="../test/win32ole ../test/ruby/test_bignum.rb ../test/ruby/test_syntax.rb ../test/open-uri/test_open-uri.rb ../test/rubygems/test_bundled_ca.rb"
8073
- nmake -l test-spec MSPECOPT=-fs # not using `-j` because sometimes `mspec -j` silently dies on Windows
81-
-
82-
matrix:
83-
only:
84-
- build: msys2
85-
install:
86-
- ver
87-
- chcp
88-
- set /a JOBS=%NUMBER_OF_PROCESSORS%
89-
- set MSYS_NO_PATHCONV=1
90-
- SET MSYSTEM=%Platform:x86=32%
91-
- SET MSYSTEM=%MSYSTEM:x=MINGW%
92-
- SET MSYS2_ARCH=%Platform:x86=i686%
93-
- SET MSYS2_ARCH=%MSYS2_ARCH:x64=x86_64%
94-
- set MSYSTEM_PREFIX=/mingw64
95-
- set MINGW_CHOST=%MSYS2_ARCH%-w64-mingw32
96-
- SET ruby_path=C:\Ruby%ruby_version:-x86=%
97-
- cd ..
98-
- mkdir build
99-
- mkdir install
100-
- SET PATH=%ruby_path%\bin;C:\msys64\%MSYSTEM%\bin;C:\msys64\usr\bin;%PATH%
101-
- ruby --version
102-
build_script:
103-
- pacman -Syd --noconfirm --noprogressbar --needed mingw-w64-x86_64-binutils mingw-w64-x86_64-isl mingw-w64-x86_64-libiconv mingw-w64-x86_64-mpc mingw-w64-x86_64-gcc-libs mingw-w64-x86_64-windows-default-manifest mingw-w64-x86_64-winpthreads mingw-w64-x86_64-gcc
104-
# when fixed in MSYS2 / Mingw-w64, remove above and use normal code below
105-
#- pacman -Sy --noconfirm --noprogressbar --needed mingw-w64-x86_64-toolchain
106-
- pacman -S --noconfirm --noprogressbar --needed mingw-w64-x86_64-gdbm mingw-w64-x86_64-gmp mingw-w64-x86_64-libffi mingw-w64-x86_64-libyaml mingw-w64-x86_64-openssl mingw-w64-x86_64-ragel mingw-w64-x86_64-readline mingw-w64-x86_64-zlib
107-
- cd %APPVEYOR_BUILD_FOLDER%
108-
- set CFLAGS=-march=%MSYS2_ARCH:_=-% -mtune=generic -O3 -pipe
109-
- set CXXFLAGS=%CFLAGS%
110-
- set CPPFLAGS=-D_FORTIFY_SOURCE=2 -D__USE_MINGW_ANSI_STDIO=1 -DFD_SETSIZE=2048
111-
- set LDFLAGS=-pipe
112-
- sh -c "autoreconf -fi"
113-
- cd ..\build
114-
- sh ../ruby/configure --disable-install-doc --prefix=/. --build=%MINGW_CHOST% --host=%MINGW_CHOST% --target=%MINGW_CHOST%
115-
- mingw32-make %mflags% touch-unicode-files
116-
- mingw32-make -j%JOBS% %UPDATE_UNICODE% up incs
117-
- mingw32-make -j%JOBS% V=1
118-
- mingw32-make DESTDIR=../install install-nodoc
119-
- if not "%GEMS_FOR_TEST%" == "" ..\install\bin\gem install --no-document %GEMS_FOR_TEST%
120-
- ..\install\bin\ruby.exe -v -ropenssl -e "puts 'Build ' + OpenSSL::OPENSSL_VERSION, 'Runtime ' + OpenSSL::OPENSSL_LIBRARY_VERSION"
121-
test_script:
122-
- mingw32-make test
123-
- mingw32-make test-all TESTOPTS="--retry --job-status=normal --show-skip --timeout-scale=1.5 --excludes=../ruby/test/excludes/_appveyor -j %JOBS% --exclude win32ole --exclude test_open-uri"
124-
# separately execute tests without -j which may crash worker with -j.
125-
- mingw32-make test-all TESTOPTS="--retry --job-status=normal --show-skip --timeout-scale=1.5 --excludes=../ruby/test/excludes/_appveyor" TESTS="../ruby/test/win32ole ../ruby/test/open-uri/test_open-uri.rb"
126-
- mingw32-make test-spec MSPECOPT=-fs # not using `-j` because sometimes `mspec -j` silently dies on Windows
12774
notifications:
12875
# Using "Webhook" with templated body to skip notification on Pull Request
12976
- provider: Webhook

common.mk

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3037,6 +3037,7 @@ transcode.$(OBJEXT): {$(VPATH)}assert.h
30373037
transcode.$(OBJEXT): {$(VPATH)}config.h
30383038
transcode.$(OBJEXT): {$(VPATH)}defines.h
30393039
transcode.$(OBJEXT): {$(VPATH)}encoding.h
3040+
transcode.$(OBJEXT): {$(VPATH)}id.h
30403041
transcode.$(OBJEXT): {$(VPATH)}intern.h
30413042
transcode.$(OBJEXT): {$(VPATH)}internal.h
30423043
transcode.$(OBJEXT): {$(VPATH)}missing.h

cont.c

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1096,6 +1096,15 @@ cont_save_thread(rb_context_t *cont, rb_thread_t *th)
10961096
sec->machine.stack_end = NULL;
10971097
}
10981098

1099+
static void
1100+
cont_init_mjit_cont(rb_context_t *cont)
1101+
{
1102+
VM_ASSERT(cont->mjit_cont == NULL);
1103+
if (mjit_enabled) {
1104+
cont->mjit_cont = mjit_cont_new(&(cont->saved_ec));
1105+
}
1106+
}
1107+
10991108
static void
11001109
cont_init(rb_context_t *cont, rb_thread_t *th)
11011110
{
@@ -1105,9 +1114,7 @@ cont_init(rb_context_t *cont, rb_thread_t *th)
11051114
cont->saved_ec.local_storage = NULL;
11061115
cont->saved_ec.local_storage_recursive_hash = Qnil;
11071116
cont->saved_ec.local_storage_recursive_hash_for_trace = Qnil;
1108-
if (mjit_enabled) {
1109-
cont->mjit_cont = mjit_cont_new(&cont->saved_ec);
1110-
}
1117+
cont_init_mjit_cont(cont);
11111118
}
11121119

11131120
static rb_context_t *
@@ -1124,6 +1131,14 @@ cont_new(VALUE klass)
11241131
return cont;
11251132
}
11261133

1134+
void
1135+
rb_fiber_init_mjit_cont(struct rb_fiber_struct *fiber)
1136+
{
1137+
// Currently this function is meant for root_fiber. Others go through cont_new.
1138+
// XXX: Is this mjit_cont `mjit_cont_free`d?
1139+
cont_init_mjit_cont(&fiber->cont);
1140+
}
1141+
11271142
#if 0
11281143
void
11291144
show_vm_stack(const rb_execution_context_t *ec)

debian/changelog

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
1+
ruby2.7 (2.7.1-0nkmi1~dist) unstable; urgency=medium
2+
3+
* bump
4+
* fix sysconfdir and etc...
5+
6+
-- Sorah Fukumori <[email protected]> Tue, 31 Mar 2020 16:44:13 +0000
7+
18
ruby2.7 (2.7.0-0nkmi1~dist) unstable; urgency=medium
29

310
* 2.7.0, happy holidays.

debian/patches/0003-Mark-Gemspec-reproducible-change-fixing-784225-too.patch

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ Signed-off-by: Christian Hofstaedtler <[email protected]>
1212
1 file changed, 3 insertions(+), 1 deletion(-)
1313

1414
diff --git a/lib/rubygems/specification.rb b/lib/rubygems/specification.rb
15-
index 4fd556f..55cffb1 100644
15+
index 5321edf..0ebd1f4 100644
1616
--- a/lib/rubygems/specification.rb
1717
+++ b/lib/rubygems/specification.rb
1818
@@ -1704,7 +1704,9 @@ class Gem::Specification < Gem::BasicSpecification

debian/patches/0004-Make-gemspecs-reproducible.patch

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ build unreproducible
1313
5 files changed, 5 insertions(+), 1 deletion(-)
1414

1515
diff --git a/ext/bigdecimal/bigdecimal.gemspec b/ext/bigdecimal/bigdecimal.gemspec
16-
index 53dbe91..78d23bb 100644
16+
index 7d767f5..26de3e0 100644
1717
--- a/ext/bigdecimal/bigdecimal.gemspec
1818
+++ b/ext/bigdecimal/bigdecimal.gemspec
1919
@@ -6,6 +6,7 @@ Gem::Specification.new do |s|
@@ -37,7 +37,7 @@ index b29f4ec..36ed213 100644
3737
3838

3939
diff --git a/ext/io/console/io-console.gemspec b/ext/io/console/io-console.gemspec
40-
index eab5517..14bfcc1 100644
40+
index fac9bff..c495cfe 100644
4141
--- a/ext/io/console/io-console.gemspec
4242
+++ b/ext/io/console/io-console.gemspec
4343
@@ -5,7 +5,7 @@ date = %w$Date:: $[1]
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
From: =?utf-8?q?C=C3=A9dric_Boutillier?= <[email protected]>
2+
Date: Tue, 4 Feb 2020 18:55:42 +0100
3+
Subject: Fix priority order of paths in -I option
4+
5+
Origin: https://github.com/rubygems/rubygems/pull/3124
6+
Author: deivid <[email protected]>
7+
---
8+
lib/rubygems/core_ext/kernel_require.rb | 20 ++++++++++----------
9+
1 file changed, 10 insertions(+), 10 deletions(-)
10+
11+
diff --git a/lib/rubygems/core_ext/kernel_require.rb b/lib/rubygems/core_ext/kernel_require.rb
12+
index 60f4d18..3828338 100644
13+
--- a/lib/rubygems/core_ext/kernel_require.rb
14+
+++ b/lib/rubygems/core_ext/kernel_require.rb
15+
@@ -43,18 +43,18 @@ module Kernel
16+
# https://github.com/rubygems/rubygems/pull/1868
17+
resolved_path = begin
18+
rp = nil
19+
- $LOAD_PATH[0...Gem.load_path_insert_index || -1].each do |lp|
20+
- safe_lp = lp.dup.tap(&Gem::UNTAINT)
21+
- begin
22+
- if File.symlink? safe_lp # for backward compatibility
23+
- next
24+
+ Gem.suffixes.each do |s|
25+
+ $LOAD_PATH[0...Gem.load_path_insert_index || -1].each do |lp|
26+
+ safe_lp = lp.dup.tap(&Gem::UNTAINT)
27+
+ begin
28+
+ if File.symlink? safe_lp # for backward compatibility
29+
+ next
30+
+ end
31+
+ rescue SecurityError
32+
+ RUBYGEMS_ACTIVATION_MONITOR.exit
33+
+ raise
34+
end
35+
- rescue SecurityError
36+
- RUBYGEMS_ACTIVATION_MONITOR.exit
37+
- raise
38+
- end
39+
40+
- Gem.suffixes.each do |s|
41+
full_path = File.expand_path(File.join(safe_lp, "#{path}#{s}"))
42+
if File.file?(full_path)
43+
rp = full_path

debian/patches/series

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,4 @@
33
0003-Mark-Gemspec-reproducible-change-fixing-784225-too.patch
44
0004-Make-gemspecs-reproducible.patch
55
0005-exclude-several-tests-unstable-in-Docker.patch
6+
0006-Fix-priority-order-of-paths-in-I-option.patch

debian/rules

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,9 @@ configure_options += --enable-install-static-library
3030
configure_options += --disable-rpath
3131
configure_options += --with-sitedir='/usr/local/lib/site_ruby'
3232
configure_options += --with-sitearchdir="/usr/local/lib/$(DEB_HOST_MULTIARCH)/site_ruby"
33+
configure_options += --runstatedir=/var/run
34+
configure_options += --localstatedir=/var
35+
configure_options += --sysconfdir=/etc
3336

3437
ifneq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE))
3538
# Cross-building. This is the same logic that debhelper's
@@ -72,11 +75,14 @@ override_dh_auto_configure:
7275
./configure $(configure_options)
7376

7477
override_dh_auto_clean:
75-
dh_auto_clean
78+
$(MAKE) clean || true
79+
$(MAKE) distclean-ext || true
7680
rm -f tool/config.guess tool/config.sub
7781
$(RM) test/excludes/$(DEB_HOST_ARCH)
7882
$(RM) -r .ext
7983
$(RM) -r doc/capi
84+
$(RM) .installed.list GNUmakefile Makefile builtin_binary.inc \
85+
config.status enc.mk uncommon.mk verconf.h
8086

8187
override_dh_auto_build-arch:
8288
dh_auto_build -- main V=1
@@ -87,6 +93,9 @@ TEST_TARGETS := test test-tool test-all # missing test-spec
8793
excludes =
8894
excludes += --excludes-dir=debian/tests/excludes/any/
8995
excludes += --excludes-dir=debian/tests/excludes/$(DEB_HOST_ARCH)/
96+
ifneq (,$(DEBIAN_RUBY_EXTRA_TEST_EXCLUDES))
97+
excludes += --excludes-dir=debian/tests/excludes/$(DEBIAN_RUBY_EXTRA_TEST_EXCLUDES)/
98+
endif
9099
override_dh_auto_test-arch:
91100
ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
92101
$(MAKE) $(TEST_TARGETS) V=1 RUBY_TESTOPTS="-v -j4" TESTS="$(excludes)" OPENSSL_CONF=/dev/null

0 commit comments

Comments
 (0)