3271 Commits
Author SHA1 Message Date
Nobuyoshi Nakada ae497d0607 Use gperf 3.1 to generate ANSI-C code
(cherry picked from commit 1213623e5c)
2026-10-23 09:45:31 +09:00
Hiroshi SHIBATAandClaude Opus 4.8 8359d5291f Omit WEBrick test_directory_traversal on Windows
`/..%5c../` resolves the backslash as a path separator on Windows, so the
vendored FileHandler returns 404 instead of the expected 200 and logs a
nondisclosure warning, breaking the daily Windows snapshot CI. This vendored
test only remains on ruby_3_3; 3.4 and later removed it together with WEBrick.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 19:46:53 +09:00
KJ Tsanaktsidis 0f7f427870 Make sync script work correctly with Windows-style newlines
I'm almost certain nobody is actually running this script on Windows,
but the tests for it do run during `nmake check`, and they fail at least
on my git configuration.

The $ anchor doesn't match \r\n with git's -E regex matching, so we need
to add \r? to gobble the carriage-return up too if needed.
2026-05-19 18:40:27 +09:00
Hiroshi SHIBATA b7eb96eca7 Our test suite is broken with rb_sys-0.9.125 bacause we can't build json extension 2026-04-02 13:49:40 +09:00
Hiroshi SHIBATA 167e8d47be Sync the latest version of backport tools 2026-03-24 14:49:12 +09:00
Nobuyoshi Nakada 3563a0db80 Add predicates for platforms 2025-12-15 17:38:38 +09:00
nagachika bee70ff698 [ruby/rubygems] Bump up vendored uri to 0.13.3 2025-10-25 13:58:15 +09:00
Takashi Kokubun 4fb1eec1e3 post_push.yml: Backport commit-mail to ruby_3_3 (#14782) 2025-10-08 14:23:12 -07:00
Yuta Saito ab1535553b tool/downloader.rb: Stop caching already existing files
Previously, the script was caching any file already present in the
destination directory, regardless of its origin. This caused issues
when the directory contained files copied from external sources like
`autoreconf --install`.

For example:
1. `./autogen.sh --install` copies `config.guess` and `config.sub`
   from the system to `./tool`.
2. `ruby tool/downloader.rb -d tool -e gnu config.guess config.sub`
   treats those files as if they were downloaded and caches them.
3. Removing the files: `rm tool/config.guess tool/config.sub`.
4. Running the downloader again, it mistakenly restores the cached
   files instead of downloading fresh versions.
2025-05-01 16:10:59 +09:00
Hiroshi SHIBATA 5b226fdb8d Support git ls-files ....split style for file list of gemspec 2025-02-10 08:29:08 -08:00
Hiroshi SHIBATA 068fb26c08 Lock sinatra-4.0 2024-11-20 10:18:27 +09:00
Hiroshi SHIBATA 4608ef8d7b -l option of 7z is unknown switch with the ubuntu-latest.
https://github.com/ruby/actions/actions/runs/11095032727/job/30823174026#step:3:349
2024-09-30 09:16:44 -07:00
Hiroshi SHIBATA 77fb1bf434 Merge RubyGems-3.5.20 and Bundler-2.5.20 2024-09-25 10:56:17 -07:00
Hiroshi SHIBATA 3894841182 Merge RubyGems-3.5.19 and Bundler-2.5.19 2024-09-25 10:56:17 -07:00
Takashi Kokubun c69d59e9b2 Sync tool/lib/core_assertions.rb from master
It seems necessary to pass test-bundled-gems with REXML.
2024-09-02 03:25:23 -07:00
9ae91eb2aa Backport warning feature for bundled gems from master (#11420)
* Make sure to always use the right `warn`

* lib/bundled_gems.rb: more reliable caller detection

The `2` skipped frames went out of sync and now it should be `3`.

Rather than just update the offset, we can implement a way that
is adaptative as long as all require decorators are also called require.

Also we should compute the corresponding `uplevel` otherwise the
warning will still point decorators.

Co-authored-by: "Hiroshi SHIBATA" <hsbt@ruby-lang.org>

* Warn ostruct for Ruby 3.5

* Warn pstore for Ruby 3.5

* Mark rdoc as bundled gems at Ruby 3.5

* Warn to use win32ole without Gemfile for Ruby 3.5

* EXACT list is mostly same as SINCE list on bundled gems.

* Mark to warn fiddle as bundled gems for Ruby 3.5

* Mark to warn logger as bundled gems for Ruby 3.5

* We should use uplevel:2 in another case.

Like the following scenario with bootsnap, that frames are same or smaller than frame_to_skip(=3).

---
"/Users/hsbt/.local/share/rbenv/versions/3.3-dev/lib/ruby/3.3.0/bundled_gems.rb:69:in `block (2 levels) in replace_require'"
"/Users/hsbt/.local/share/gem/gems/bootsnap-1.18.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'"
"test_warn_bootsnap.rb:11:in `<main>'"
---

* Delete unnecessary rubocop disable comment

* Show correct script name with sub-feature case

* Skip to show script name with using ruby -r option

* Don't show script name when bundle exec and call ruby script directly.

* Pick word fix from 34adc07372

---------

Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net>
Co-authored-by: Jean Boussier <jean.boussier@gmail.com>
Co-authored-by: Kentaro Takeyama <75117116+obregonia1@users.noreply.github.com>
2024-08-21 09:40:11 -07:00
Nobuyoshi Nakada 6d744837ab [Bug #20088] Fix ARCH_FLAG for cross compiling 2024-07-28 19:55:48 -07:00
Hiroshi SHIBATA 01762837b7 [Bug #20581][3.3] Fix unintentional truncation for dependencies of bundled gems (#11006)
* Try to load original gemspec from `.bundle/gems/foo-x.y.z/foo.gemspec`.

`.bundle/specification/foo-x.y.z.gemspec` may be changed our toolchain

* Try to find gemspec from `.bundle/specifications

* Adjust indent
2024-06-20 10:57:19 -07:00
Takashi Kokubun d1869cfb85 redmine-backporter.rb: Prepend commit: to shorter revs
Some of the places in Redmine (e.g. Associated revisions) print
revisions using only 8 characters. Even when I copied a revision from
there, I want to prepend commit: in the message.
2024-06-11 11:29:27 -07:00
Hiroshi SHIBATAandNobuyoshi Nakada 06f470ce66 Merge RubyGems 3.5.11 and Bundler 2.5.11 for Ruby 3.3 (#10870)
Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
2024-06-04 21:36:46 -07:00
Takashi Kokubun 0a0338b06f merge revision(s) 9f708d48f6, 0301473fb5, 874e9fc34d, 7f0e26b7f9: [Backport #20516]
Clear runtime dependencies if default gems is specified.

	The current build system uses runtime dependencies from only
	`.bundle` directory. We shouldn't install runtime dependencies
	from rubygems.org when `make test-bundled-gems` is invoked.

	Fixed dependencies list format

	Don't need to remove ruby2_keywords dependency from drb

	Re-use strscan with ruby repo
2024-06-04 11:43:25 -07:00
Takashi Kokubun 12c806acc3 merger.rb: Put spaces in between revisions
so that they are linked correctly on GitHub
2024-06-04 11:32:28 -07:00
Takashi Kokubun 74ba1914dd merge revision(s) 22e4eeda6561693367fc7a00b92b90f46b09cabd,1ab7c412d2e3880a7ad233c32e93961888f8145c: [Backport #20515]
ci: Test whether GMP is working in compilers.yml (#10875)

	Avoid reoccurence of [Bug #20515]

	Requires https://github.com/ruby/ruby/pull/10876 since 18eaf0be90

	bug: https://bugs.ruby-lang.org/issues/20515

	RUBY_CHECK_HEADER didn't define HAVE_{header-file} (#10876)

	--with-gmp is not working at all because HAVE_GMP_H
	was missing since 18eaf0be90. [Bug #20515]

	bug: https://bugs.ruby-lang.org/issues/20515
	follow-up: https://bugs.ruby-lang.org/issues/20494
	follow-up: 18eaf0be90
	follow-up: https://github.com/ruby/ruby/pull/10805
2024-05-30 11:54:34 -07:00
Takashi Kokubun b3f2ccea5e merge revision(s) 18eaf0be90: [Backport #20494]
[Bug #20494] Search non-default directories for GMP

	Co-Authored-by: lish82 (Hiroki Katagiri)
2024-05-29 16:18:29 -07:00
Takashi Kokubun 2f4fe76eff Skip under_gc_compact_stress on s390x (#10073) 2024-05-29 11:13:02 -07:00
Takashi Kokubun bbb3075c46 Sort backport revisions by commit timestamps 2024-05-29 10:39:10 -07:00
Takashi Kokubun 015d6bae8b Skip a flaky test in RBS 2024-05-29 09:32:03 -07:00
Takashi Kokubun 0e96dd93c5 merger.rb: Don't ask "conflicts resolved?" if not needed 2024-05-28 17:46:44 -07:00
Takashi Kokubun 4d34fb54b0 redmine-backporter.rb: Prepend commit: to every revision 2024-05-28 17:17:04 -07:00
Takashi Kokubun d7ad603739 redmine-backporter.rb: Remove an unneeded space
from #backport_command_string

I don't want to leave unneeded spaces in the command history by
copy-pasting the entire line.
2024-05-28 17:01:13 -07:00
Takashi Kokubun 239a8cc7d7 merger.rb: Auto-detect tickets when --ticket is not given 2024-05-28 16:30:45 -07:00
Takashi Kokubun 90fda2da5f merger.rb: Drop an obsoleted command from help
It was needed only for SVN, and we dropped SVN support.
2024-05-28 15:54:54 -07:00
Takashi Kokubun f18ba2c6c6 merger.rb: Use commit: prefix in more places 2024-05-28 14:29:07 -07:00
Takashi Kokubun 62f450285b merger.rb: Improve the help message
It wasn't clear whether the backport command takes a commit hash or a
ticket number.
2024-05-28 14:10:26 -07:00
Takashi Kokubun c564c4a099 Sync merger.rb from master 2024-05-28 13:53:43 -07:00
Takashi Kokubun 82ff749451 Sync redmine-backporter.rb from master 2024-05-28 13:39:30 -07:00
Hiroshi SHIBATA 8dda932bcd Fix extension installer for out-of-place build
https://github.com/ruby/ruby/pull/9673#issuecomment-2019028293
2024-05-28 13:30:26 -07:00
Hiroshi SHIBATA cf460840b8 Guard makefile target at cross-build
http://rubyci.s3.amazonaws.com/crossruby/crossruby-master-aarch64/log/20240325T041917Z.fail.html.gz
2024-05-28 13:30:26 -07:00
Hiroshi SHIBATA 716473e348 Use load_gemspec instead of Gem::Specification.load.
We need to purge `git ls-files` from gemspec in default gems.
2024-05-28 13:30:26 -07:00
David Rodriguez 1849046d1f Consider extensions in gems outside of ext/ 2024-05-28 13:30:26 -07:00
David Rodriguez e60ad0b6f5 Extract root helper
It holds the root directory for each type of default gem (ext/ or lib/).
2024-05-28 13:30:26 -07:00
David Rodriguez 642cf3fc8a Consider target_prefix in extension Makefiles 2024-05-28 13:30:26 -07:00
David Rodríguez 57b56225ac Consistently put requirable features in default gemspecs file list 2024-05-28 13:30:26 -07:00
David Rodríguez 7ff330419f Fix gemspec file list for extension gems
So that it also includes requirable features provided by extensions.
2024-05-28 13:30:26 -07:00
David Rodriguez a63114323b Simplify FileCollector interface 2024-05-28 13:30:26 -07:00
David Rodriguez e43393ac0f Use $ext_build_dir consistently
Instead of hardcoded "ext".
2024-05-28 13:30:26 -07:00
Eugene Kenny 6edd65a080 [Bug #20450] Remove rubyarchdir from bootsnap paths 2024-05-28 13:29:22 -07:00
Hiroshi SHIBATA 718a78cdf5 Added test case for bundled gems warning with -r option.
This is for 76914d474d
2024-05-28 13:29:22 -07:00
Hiroshi SHIBATA a121e69840 Bootsnap and Zeitwerk are working correctly now 2024-05-28 13:29:22 -07:00
Hiroshi SHIBATA edebbade1b Add newline each test script 2024-05-28 13:29:22 -07:00