Hi,

I'd like to selfishly propose updating our dependencies policy https://trac.webkit.org/wiki/WebKitGTK/DependenciesPolicy in order to accommodate RHEL in addition to Debian and Ubuntu. My goal is to provide WebKitGTK updates for the first five years (the "full support" period) of a RHEL major release, not just three years. However, we have some magic I don't understand allows use of newer toolchains, including newer libstdc++. We can actually somehow link newer libstdc++ into the same process as system libstdc++, so we can exempt the entire build toolchain (including CMake) from this policy, so this won't have any effect on discussions like "when can we use C++20 features" or "what version of CMake can we depend on."

The primary impact would be on dependencies like ICU, GStreamer, etc. ICU is particularly important because this library bumps its ABI with every major release, so updating ICU to newer major versions is not possible. This would lock us into supporting ICU 67 until spring 2027. If we decide to land https://bugs.webkit.org/show_bug.cgi?id=235367 -- which currently looks unlikely -- then it would additionally lock us into ICU 60 until spring 2024.

I think five years' support would benefit Ubuntu as well -- this matches the primary support lifetime of an Ubuntu LTS -- except Ubuntu doesn't seem to have the capability to build with newer toolchains, which means that, in practice, they will stop updating WebKit whenever we require a newer build toolchain. And although I think it would be a good idea to support Ubuntu for longer, I'm not brave enough to propose that we freeze our build toolchain dependencies for five years. So I will not suggest extending the support period for Ubuntu.

Specifically, I propose adding the following text to our policy:

* "We support the latest minor release of each major version of RHEL until two years after the release of the next major version."

(Note: we currently have a three-year time-based release cycle, so that's five years total. If that were to unexpectedly change in the future, then adjusting the text of the policy would be needed.)

And:

* "For RHEL, WebKit is not expected to remain buildable using the default system libstdc++. The requirement for WebKit to remain buildable may be satisfied using GCC and LLVM toolsets from Application Streams."

Michael


_______________________________________________
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev

Reply via email to