[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