Bug 246743
| Summary: | webkitgtk 2.38.0 fails to build with upcoming ruby 3.2 due to removed File.exists? | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Mamoru TASAKA <mtasaka> |
| Component: | JavaScriptCore | Assignee: | Fujii Hironori <fujii.hironori> |
| Status: | RESOLVED FIXED | ||
| Severity: | Normal | CC: | webkit-bug-importer |
| Priority: | P2 | Keywords: | InRadar |
| Version: | Other | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
Mamoru TASAKA
Fedora 38 is now preparing for upcoming ruby3.2 (which is expected to be released on Chistmas of 2022),
and WebKitGTK 2.38.0 fails to build with ruby3.2 dev like:
--------------------------------------------------
FAILED: JavaScriptCore/DerivedSources/LLIntDesiredSettings.h /builddir/build/BUILD/webkitgtk-2.38.0/redhat-linux-build/webkit2gtk-5.0/JavaScriptCore/DerivedSources/LLIntDesiredSettings.h
cd /builddir/build/BUILD/webkitgtk-2.38.0/redhat-linux-build/webkit2gtk-5.0/Source/JavaScriptCore && /usr/bin/ruby /builddir/build/BUILD/webkitgtk-2.38.0/Source/JavaScriptCore/offlineasm/generate_settings_extractor.rb -I/builddir/build/BUILD/webkitgtk-2.38.0/redhat-linux-build/webkit2gtk-5.0/JavaScriptCore/DerivedSources/ /builddir/build/BUILD/webkitgtk-2.38.0/Source/JavaScriptCore/llint/LowLevelInterpreter.asm /builddir/build/BUILD/webkitgtk-2.38.0/redhat-linux-build/webkit2gtk-5.0/JavaScriptCore/DerivedSources/LLIntDesiredSettings.h X86_64
/builddir/build/BUILD/webkitgtk-2.38.0/Source/JavaScriptCore/offlineasm/parser.rb:879:in `block in parseIncludes': undefined method `exists?' for File:Class (NoMethodError)
if not File.exists?(fileName)
^^^^^^^^
Did you mean? exist?
from /builddir/build/BUILD/webkitgtk-2.38.0/Source/JavaScriptCore/offlineasm/parser.rb:860:in `loop'
from /builddir/build/BUILD/webkitgtk-2.38.0/Source/JavaScriptCore/offlineasm/parser.rb:860:in `parseIncludes'
from /builddir/build/BUILD/webkitgtk-2.38.0/Source/JavaScriptCore/offlineasm/parser.rb:920:in `parseHash'
from /builddir/build/BUILD/webkitgtk-2.38.0/Source/JavaScriptCore/offlineasm/generate_settings_extractor.rb:58:in `<main>'
--------------------------------------------------
File.exists? is deprecated since ruby 2.1 and is removed with ruby 3.2. People is expected
to simply replace this with File.exist?
The targets need fixing are:
--------------------------------------------------
./Source/JavaScriptCore/offlineasm/config.rb:26:if buildProductsDirectory and File.exists?(buildProductsDirectory)
./Source/JavaScriptCore/offlineasm/config.rb:30:if sdkRootDirectory and File.exists?(sdkRootDirectory)
./Source/JavaScriptCore/offlineasm/parser.rb:843: if not File.exists?(fileName)
./Source/JavaScriptCore/offlineasm/parser.rb:846: fileExists = File.exists?(fileName)
./Source/JavaScriptCore/offlineasm/parser.rb:879: if not File.exists?(fileName)
./Source/JavaScriptCore/offlineasm/parser.rb:882: fileExists = File.exists?(fileName)
./Source/WebInspectorUI/Scripts/update-LegacyInspectorBackendCommands.rb:39: if !File.exists?(generated_path)
--------------------------------------------------
References:
https://github.com/ruby/ruby/blob/6378825df5c7abc7ef45f257057ffd21dc9e63b5/NEWS.md?plain=1#L245-L248
https://bugs.ruby-lang.org/issues/17391
https://docs.ruby-lang.org/ja/latest/method/File/s/exists=3f.html
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Fujii Hironori
Pull request: https://github.com/WebKit/WebKit/pull/7531
EWS
Committed 257775@main (b7ac5d0ccc7c): <https://commits.webkit.org/257775@main>
Reviewed commits have been landed. Closing PR #7531 and removing active labels.
Radar WebKit Bug Importer
<rdar://problem/103283634>