[webkit-dev] Proposal to update WebKitGTK dependency policy
Michael Catanzaro
mcatanzaro at gnome.org
Tue Feb 8 08:57:11 PST 2022
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
More information about the webkit-dev
mailing list