WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
280523
[Tools][GTK][WPE] generate-bundle: Improve the universal bundle with a C wrapper and support for GTK4
https://bugs.webkit.org/show_bug.cgi?id=280523
Summary
[Tools][GTK][WPE] generate-bundle: Improve the universal bundle with a C wrap...
Carlos Alberto Lopez Perez
Reported
2024-09-27 09:49:42 PDT
We want to stop providing distro-specific bundles at
https://webkitgtk.org/built-products/x86_64/release/nightly
because: - Supporting old distros becomes increasingly hard as time advances because the constant desire/need of WebKit developers to use new compiler and library versions - Supporting X distros with distro-specific bundles means X times the work to maintain the bundle We have a solution that generates a bundle that is distro-agnostic because it bundles WebKit and all the libraries needed to run it, including libc itself. So this bundle doesn't use anything from the system where it runs other than the kernel. So it is basically like a container but without using container technologies. That way anyone can run it unprivileged (just unpack and execute) The issue so far with this bundle was that the script wrapping the binaries was written in shell, so it was requiring a shell interpreter from the host so this lead to crashes when using webdriver because of: 1. WebDriver starts with its own custom environment (LD_LIBRAY_PATH, etc) 2. WebDriver calls to execute the MiniBrowser wrapper 3. The MiniBrowser wrapper is a shell script, so it calls the host shell and then it crashes because of the environment where it is executed The solution to that that I come with is to stop using a script in shell and provide a wrapper in C that can be built statically. And so far so good, I did extensive testing with this new wrapper, I created a battery of tests with WebDriver (that I will upload on another bug) and I ran this battery of tests on 15 very different distributions (from Alpine to Ubuntu 20 to Fedora-last or gentoo, arch, etc) and on all of them worked without issues. Another thing that I'm changing here is supporting GTK4 for the WebKitGTK bundle. GTK3 support is removed because we will always want to provide bundles with the last nightly and seems that is going to be GTK4 from now on.
Attachments
Add attachment
proposed patch, testcase, etc.
Carlos Alberto Lopez Perez
Comment 1
2024-09-27 09:52:31 PDT
BTW; I forgot to mention that another issue of providing distro-specific bundles is that we are always disabling features for old distros that require new libraries to keep WebKit building. So in the end you are not getting the real-bleeding-edge WebKit when you use a distro-specific bundle. This happened on the WPT CI where they still use Ubuntu-20.04 for the tests, see:
https://github.com/web-platform-tests/wpt/issues/47823
The idea from now on is to provide them (and anyone else) with a generic bundle with all the features enabled.
Carlos Alberto Lopez Perez
Comment 2
2024-09-27 10:22:36 PDT
Pull request:
https://github.com/WebKit/WebKit/pull/34366
Carlos Alberto Lopez Perez
Comment 3
2024-09-30 13:47:50 PDT
After giving this a second thought I think "universal bundle" is a better description than "generic bundle"
EWS
Comment 4
2024-10-11 04:02:43 PDT
Committed
285012@main
(dd6e6dfb40ef): <
https://commits.webkit.org/285012@main
> Reviewed commits have been landed. Closing PR #34366 and removing active labels.
Radar WebKit Bug Importer
Comment 5
2024-10-11 04:03:18 PDT
<
rdar://problem/137743534
>
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug