[Development] QtWebEngine unbundled of third-party libraries on Linux
Allan Sandfeld Jensen
kde at carewolf.com
Wed Aug 12 12:14:12 CEST 2015
On Wednesday 12 August 2015, Robert Knight wrote:
> > QtWebEngine and Chromium in the Qt 5.6 branch have been patched to
> > allow linking with system libraries on Linux instead of bundled
> > libraries.
>
> What upstream changes have the Chromium team made to the bundled libraries
> compared to the system ones and are Chromium upstream supportive of taking
> patches to facilitate using system libraries?
>
> I'm concerned that unbundling the libraries will break things - either via
> bugs, features that stop working or security fixes that are missing from
> system libs.
>
Most of the libraries we have unbundled are semi-officially supported as
unbundled upstream. Chromium provides scripts that replaces and patches the
build scripts before building Chromium. These are used by some Linux distros
to unbundle libraries already. The scripts are however not well maintained,
and we do not want to change source-files as part of the build process, so
instead we have integrated the code-paths from the replacements into the
original build-script files, and fixed and updated them where necessary.
There are two libraries not unbundled: sqlite3 and leveldatabase, due to
Chromium having modified these adding new Chromium specific APIs. Chromium
also use internal/draft API of FFMPEG and ICU each in one place, which is why
these are not unbundled by default. For ICU it should not be a problem
however, they appear to be using draft API due to them misunderstanding how
the normal API works. For FFMPEG, it seems to be some specific patching of
synchronization, I haven't encountered any issues from just disabling that
code though.
As for security fixes, the idea is to get faster security updates, as the
system libraries are fixed much faster than both Chromium and QtWebEngine.
Best regards
`Allan
More information about the Development
mailing list