[Webkit-unassigned] [Bug 246743] New: webkitgtk 2.38.0 fails to build with upcoming ruby 3.2 due to removed File.exists?

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Oct 19 07:13:39 PDT 2022


https://bugs.webkit.org/show_bug.cgi?id=246743

            Bug ID: 246743
           Summary: webkitgtk 2.38.0 fails to build with upcoming ruby 3.2
                    due to removed File.exists?
           Product: WebKit
           Version: Other
          Hardware: Unspecified
                OS: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: JavaScriptCore
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: mtasaka at fedoraproject.org

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

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20221019/f543e522/attachment-0001.htm>


More information about the webkit-unassigned mailing list