source: x/lib/qtwebengine.xml@ 86e62cc

11.1 11.2 11.3 12.0 12.1 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 86e62cc was 86e62cc, checked in by Ken Moffat <ken@…>, 2 years ago

Patch qtwebengine up to 5.15.7.

  • Property mode set to 100644
File size: 26.5 KB
RevLine 
[ceb3dc7]1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
[21552cf]7 <!ENTITY qtwebengine-major "5.15">
[4eb513e]8<!-- URL if there is a public release
[57e07f4]9 <!ENTITY qtwebengine-download-http "https://download.qt.io/archive/qt/&qtwebengine-major;/&qtwebengine-version;/submodules/qtwebengine-everywhere-src-&qtwebengine-version;.tar.xz">
[4eb513e]10 URL for a prepared git version -->
11 <!ENTITY qtwebengine-download-http "&sources-anduin-http;/qtwebengine/qtwebengine-&qtwebengine-version;.tar.xz">
[ceb3dc7]12 <!ENTITY qtwebengine-download-ftp " ">
[d885388]13 <!ENTITY qtwebengine-md5sum "af799617842cca0b765102c312fbdd46">
[4eb513e]14 <!ENTITY qtwebengine-size "306 MB">
[86e62cc]15 <!ENTITY qtwebengine-buildsize "5.0 GB (154 MB installed)">
16 <!ENTITY qtwebengine-time "107 SBU (typical, Using parallelism=4)">
[ceb3dc7]17]>
18
19<sect1 id="qtwebengine" xreflabel="qtwebengine-&qtwebengine-version;">
20 <?dbhtml filename="qtwebengine.html"?>
21
22 <sect1info>
23 <date>$Date$</date>
24 </sect1info>
25
26 <title>QtWebEngine-&qtwebengine-version;</title>
27
28 <indexterm zone="qtwebengine">
29 <primary sortas="a-qtwebengine">qtwebengine</primary>
30 </indexterm>
31
32 <sect2 role="package">
33 <title>Introduction to QtWebEngine</title>
34
35 <para>
36 <application>QtWebEngine</application> integrates
[55a55f1]37 <application>chromium</application>'s web capabilities into Qt. It
[a9c0e8d]38 ships with its own copy of ninja which it uses for the build if it cannot
39 find a system copy, and various copies of libraries from ffmpeg, icu,
40 libvpx, and zlib (including libminizip) which have been forked by the
[ceb3dc7]41 <application>chromium</application> developers.
42 </para>
43
[455eec0]44 <para>
45 This package and browsers using it may be useful if you need to use a
46 website designed for google chrome, or chromium, browsers.
47 </para>
48
[4eb513e]49 <!-- Note for editors re switching between git versions and releases:
50 If a public release of Qt 5.15.3 (or later) appears in a meaningful
51 time frame, please keep the notes re the git build, as comments, so
52 that updating for later fixes will be easier: in the past, updates
53 of 'stable' versions (i.e. 5.12 when 5.14, 5.15 were the newest)
54 happened much later than updates to the newest version (now Qt6)
55 and it seems likely we might again need to use a git version to fix
56 future chromium vulnerabilities. -->
57
58 <warning>
[fc0828f]59 <para>
60 QtWebEngine uses a forked copy of chromium, and is therefore vulnerable
61 to many issues found there. The Qt developers have always preferred to
62 make releases at the same time as the rest of Qt (rather than adding
[4eb513e]63 emergency fixes), but with stable versions getting released after the
64 current development version. Now that they are keen to move to Qt6, the
65 5.15.3 and later Qt-5.15 releases are initially only available to paying
66 customers. QtWebEngine is something of an exception because of its LGPL
67 licence, but getting the git sources (with the forked chromium submodule)
68 to a position where they will successfully build on a current BLFS system
69 can take a lot of effort and therefore updates to the book may be delayed.
70 </para>
71
72 <para>
73 It seems likely that future 5.15-series versions will also be released
[fb6d1550]74 long after the chromium vulnerabilities are known, but fixes for
75 QtWebEngine can be found in git and the editors take the view that
76 known vulnerabilities in browsers should be fixed.
[fc0828f]77 </para>
[4eb513e]78
79 <para> <!-- for git versions -->
[d885388]80 The tarball linked to below was created from the 5.15.6 git branch
[fb6d1550]81 and the 87-branch of the chromium submodule (which is forked from
[685b8672]82 chromium). See the GIT-VERSIONS file in the tarball (after applying
83 any patches) for details of the latest commits.
[4eb513e]84 </para>
85 </warning>
86
87 <!-- note for editors on obtaining webengine from git.
88 First (if you do not already have a past version)
89 git clone git://code.qt.io/qt/qtwebengine.git
90 git submodule init -
91 that will report qtwebengine-chromium.git registered for src/3rdparty
92 now find the main branch names:
93 git fetch origin
94 git branch -r
95 after a release is prepared (even if the rest is not public), the 5.15
[d885388]96 branch now seems to get updated and might be what you want. But in the
97 approach to 5.15.6 the backported CVE and other security fixes were only
98 applied to 5.15.6. So, assuming that a 5.15.7 branch now exists,
99 git checkout origin/5.15.7
[4eb513e]100 Confirm that HEAD is where you expected.
101 Now go to src/3rdparty
102 git fetch origin
103 git branch -r
104 The required branch is likely to be 87-branch unless there is a newer one
[fb6d1550]105 mentioned in the 5.15 cgit web page (below).
[4eb513e]106 git checkout origin/87-branch (or whatever)
107 Use git log or git tk to look at its HEAD and check it seems appropriate.
108
[fb6d1550]109 To decide when it might be worth creating a new tarball, periodically keep
[d885388]110 an eye on https://code.qt.io/cgit/qt/qtwebengine.git/ (currently, the 5.15.6
111 branch, 5.15.7 might get used later). The interesting items are CVE fixes
[fb6d1550]112 for known chromium vulnerabilities, as well as numbered Security bugs -
113 again, these relate to chromium.
114
115 When I noticed some updates in late March I was searching for one of the
116 CVEs mentioned, and google found a link to a review page for Michael Brüning
117 at https://codereview.qt.nokia.com/q/owner:michael.bruning%2540qt.io. At that
118 time I could see various unmerged items, so I waited. The items for the
[d885388]119 90-based chromium module are not relevant to 5.15-series (possibly they will
120 be for qtwebengine-6+). Review queues for other Qt employees might be found
[fb6d1550]121 in a similar way, but remember that everythng EXCEPT qtwebengine and chromium
122 is private to Qt until they choose to release it.
123
[685b8672]124 NOTE: the 3rdparty/chromium tree may contain more patches than have been
125 merged into the current 5.15.x branch. Any patches after what was in the
[d885388]126 last 'update chromium' merge in qtwebengine occasionally break the build.
[685b8672]127
[fb6d1550]128 After merging the contents of the qtwebengine and src/3rdparty git extracts,
129 in the top level please create a GIT-VERSIONS file summarising the HEAD
[d885388]130 commits of both parts, as a reminder of where we are up to. I've nove added
131 a CVE-fixes to keep track of what has been fixed (comits before 5.15.2 did not
132 mention the CVEs until they were detailed in a release).
[fb6d1550]133
[4eb513e]134 Now create tarballs - 'git archive' does not work across submodule boundaries,
135 so you need to create one archive from the top of qtwebengine/ and another
136 from the top of src/3rdparty (chromium, gn, ninja are apparently all part of
137 the qtwebengine-chromium module). Then in a work area untar the qtwebengine
138 tarball, go down to src/3rdparty and untar the submodule tarball.
139 Decide on what to call the result and create a full xz tarball using tar -cJf.
[685b8672]140
141 UPDATE: Since we have to host the tarball, and it is over 300MB, it makes
142 sense to create a patch for subsequent fixes (for the first version, 314KB
143 including the updates to the GIT-VERSIONS file). For future updates, view
144 the current updates patch to see the previous commits. When the new commits
145 have been applied, rename the updated version to 'b', but untar the
146 unpatched tarball as 'a' and then diff a to b in the usual manner to get
147 all updates since the tarball was created.
148
149 For our own releases, probably best to create a fresh tarball.
150
[fb6d1550]151 end of note for editors -->
[fc0828f]152
[00032e41]153 &lfs110a_checked;
[088e7e06]154
[00032e41]155 <warning>
[55a55f1]156 <para>
157 By default, ninja will use all online CPUs +2 (if at least 4 exist),
158 even if they are not available to the current task because the build
[8558044]159 terminal has been restricted with 'taskset'. In BLFS, this package
[00032e41]160 takes more time to build than than any other. In one example,
[8558044]161 the build of this package crashed at about the 90 percent point
162 due to an out of memory problem on a system with 24 cores and 32 GB
[00032e41]163 of memory.
[55a55f1]164 </para>
165
[00032e41]166 <para>
167 To work around this, see the Command Explanations below.
168 </para>
169 </warning>
170
171 <note>
[55a55f1]172 <para>
173 Unusually, the shipped GN build system (used to create the Ninja files)
174 requires a static <filename class="libraryfile">libstdc++.a</filename>
175 although the installed libraries correctly use the shared version. If
176 that static library is not present, the build will fail quite quickly.
[5510d3e]177 Please note that if you try to build webengine as part of
178 <application>Qt</application> and the static library is not available,
[baac59c]179 that build will either complete without installing webengine, or else
[d885388]180 fail during the install (both variants were observed in 5.12.0).
[55a55f1]181 </para>
182 </note>
[ceb3dc7]183
184 <bridgehead renderas="sect3">Package Information</bridgehead>
185 <itemizedlist spacing="compact">
186 <listitem>
187 <para>
188 Download (HTTP): <ulink url="&qtwebengine-download-http;"/>
189 </para>
190 </listitem>
191 <listitem>
192 <para>
193 Download (FTP): <ulink url="&qtwebengine-download-ftp;"/>
194 </para>
195 </listitem>
196 <listitem>
197 <para>
198 Download MD5 sum: &qtwebengine-md5sum;
199 </para>
200 </listitem>
201 <listitem>
202 <para>
203 Download size: &qtwebengine-size;
204 </para>
205 </listitem>
206 <listitem>
207 <para>
208 Estimated disk space required: &qtwebengine-buildsize;
209 </para>
210 </listitem>
211 <listitem>
212 <para>
213 Estimated build time: &qtwebengine-time;
214 </para>
215 </listitem>
216 </itemizedlist>
[72119155]217
[1d776f0b]218 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
219 <itemizedlist spacing="compact">
220 <listitem>
221 <para>
[52249aa]222 Required patch:
[4eb513e]223 <!-- keep links for releases and git versions as a reminder
[94f5f13d]224 that the tarball names names differ
225 <ulink url="&patch-root;/qtwebengine-everywhere-src-&qtwebengine-version;-ICU68-2.patch"/> -->
[86e62cc]226
227 <ulink url="&patch-root;/qtwebengine-&qtwebengine-version;-5.15.7-1.patch"/>
[685b8672]228 </para>
229 </listitem>
230 <listitem>
231 <para>
[d885388]232 Required patch:-->
[86e62cc]233 <!-- <ulink url="&patch-root;/qtwebengine-&qtwebengine-version;-build_fixes-1.patch"/> -->
234 <ulink url="&patch-root;/qtwebengine-5.15.7-build_fixes-1.patch"/>
[927e12e]235 </para>
236 </listitem>
[1d776f0b]237 </itemizedlist>
[72119155]238
[ceb3dc7]239 <bridgehead renderas="sect3">qtwebengine Dependencies</bridgehead>
240
241 <bridgehead renderas="sect4">Required</bridgehead>
242 <!-- the qmake output tends to be misleading. 'khr' is from Mesa -->
243 <para role="required">
[639a5b9]244 <xref linkend="nodejs"/>,
[ceb3dc7]245 <xref linkend="nss"/>,
[55a55f1]246 <xref linkend="python2"/>, and
[ceb3dc7]247 <xref linkend='qt5'/>
248 </para>
249
250 <bridgehead renderas="sect4">Recommended</bridgehead>
251 <note>
252 <para>
253 If these packages are not installed, the build process will compile and
254 install its own (perhaps older) version, with the side effect of
255 increasing build and installed disk space and build time.
256 </para>
257 </note>
258
259 <para role="recommended">
[55a55f1]260 either <xref linkend="alsa-lib"/> or
261 <xref linkend="pulseaudio"/> (or both),
262 <xref linkend="ffmpeg"/>,
[d885388]263 <!-- awkward wording - libxslt needs libxml2, if libxml2 is built
264 before icu then the *shipped* icu will be used -->
265 <xref linkend="icu"/> (built before <xref linkend="libxml2"/>) ,
[ceb3dc7]266 <xref linkend="libwebp"/>,
[55a55f1]267 <xref linkend="libxslt"/>, and
[f5932da]268 <xref linkend="opus"/>
[ceb3dc7]269 </para>
270
271 <bridgehead renderas="sect4">Optional</bridgehead>
272 <para role="optional">
273 <xref linkend="libevent"/>,
[d885388]274 <xref linkend="pipewire"/>,
[e847737]275 <xref linkend="poppler"/>,
[ceb3dc7]276 <ulink url="https://github.com/open-source-parsers/jsoncpp/releases">jsoncpp</ulink>,
277 <ulink url="https://github.com/cisco/libsrtp/releases">libsrtp</ulink>,
278 <ulink url="http://google.github.io/snappy/">snappy</ulink>
279 </para>
280
281 <para condition="html" role="usernotes">
282 User Notes: <ulink url="&blfs-wiki;/qtwebengine"/>
283 </para>
284 </sect2>
285
286 <sect2 role="installation">
287 <title>Installation of qtwebengine</title>
288
[4eb513e]289 <note>
290 <para>
291 Unlike version 5.15.2, the chromium-derived build system now needs
292 <command>python</command> to be available and to be python2. In
293 BLFS-10.1 the creation of the python symlink was removed as a step
294 towards eventually getting rid of python2 (other old packages which
295 need python2 usually work by invoking python2). If you are still
296 using an earlier version of BLFS where
297 <filename>/usr/bin/python</filename> exists, you can skip the
298 commands to create the symlink, and to later remove it.
299 </para>
300 </note>
301
[55a55f1]302 <para>
[4eb513e]303 First, as the <systemitem class="username">root</systemitem>
304 user, create the python symlink:
[55a55f1]305 </para>
306
[4eb513e]307<screen role="root"><userinput>ln -svf /usr/bin/python{2,}</userinput></screen>
[72119155]308
[685b8672]309
310 <para>
[86e62cc]311 Now apply a patch to update from 5.15.6 to the security and other fixes
312 contained in the 5.15.7 source:
[685b8672]313 </para>
314
[86e62cc]315<screen><userinput remap="pre">patch -Np1 -i ../qtwebengine-&qtwebengine-version;-5.15.7-1.patch</userinput></screen>
[72119155]316
[927e12e]317 <para>
[86e62cc]318 Apply apply a patch to fix several issues that can prevent the build working:
[927e12e]319 </para>
320
[86e62cc]321<screen><userinput remap="pre">patch -Np1 -i ../qtwebengine-5.15.7-build_fixes-1.patch</userinput></screen>
[927e12e]322
[4eb513e]323<!-- start of commands for git versions only -->
[8ed3ef2a]324 <para>
[86e62cc]325 Although the build_fixes patch has ensured that git is not invoked during the build,
[4eb513e]326 the build system has labyrinthine rules of byzantine complexity, and in
327 particular trying to build without two <filename>.git</filename> directories
328 will lead to it eventually falling into unexpected and unbuildable code
329 which references a private header that has not been created. Avoid this
330 by creating the required directories:
[8ed3ef2a]331 </para>
332
[4eb513e]333<screen><userinput>mkdir -pv .git src/3rdparty/chromium/.git</userinput></screen>
334
335 <para>
336 Because this version of qtwebengine is aimed at a later release than the
337 current public releases, change it to build for qt-&qt5-version; using a
338 sed:
339 </para>
340
341<screen><userinput>sed -e '/^MODULE_VERSION/s/5.*/&qt5-version;/' -i .qmake.conf</userinput></screen>
342<!-- end of commands for git versions only -->
343
344 <para>
345 Now, ensure that the local headers are available when not building as
346 part of the complete <xref linkend="qt5"/>:
347 </para>
348
349<screen><userinput>find -type f -name "*.pr[io]" |
350 xargs sed -i -e 's|INCLUDEPATH += |&amp;$$QTWEBENGINE_ROOT/include |'</userinput></screen>
[8ed3ef2a]351
[ae39488]352 <para>
353 Next, allow the pulseaudio library to be linked at build time, instead
354 of run time. This also prevents an issue with newer pulseaudio:
355 </para>
356
357<screen><userinput>sed -e '/link_pulseaudio/s/false/true/' \
358 -i src/3rdparty/chromium/media/media_options.gni</userinput></screen>
359
[e90b81d]360 <para>
361 Finally, fix a change in the build system which allows its developers to
362 pass e.g. -j20 to make (for quick tests of some areas) but breaks the
363 build with LFS's use of the NINJAJOBS environment variable:
364 </para>
365
366<!-- editors: See thread at
367http://lists.linuxfromscratch.org/pipermail/blfs-dev/2019-December/036996.html
368et.seq, particularly 037002.html which shows the commit near the end. -->
369
370<screen><userinput>sed -i 's/NINJAJOBS/NINJA_JOBS/' src/core/gn_run.pro</userinput></screen>
371
[d885388]372<!-- now that we always install this as 5.15.2, this seems to be redundant
[55a55f1]373 <para>
374 If an older version of the package's main library has been installed,
375 when the package is built separately it will link to that in preference
376 to its own not-yet-installed version, and fail because of missing symbols.
377 Prevent that by, as the <systemitem class="username">root</systemitem>
[fa4e429]378 user, moving the symlink out of the way:
[55a55f1]379 </para>
380
[8eb0021]381<screen role="root"><userinput>if [ -e ${QT5DIR}/lib/libQt5WebEngineCore.so ]; then
382 mv -v ${QT5DIR}/lib/libQt5WebEngineCore.so{,.old}
[d885388]383fi</userinput></screen>-->
[55a55f1]384
[d4bafcc7]385 <para>
386 Install <application>qtwebengine</application> by running the following
387 commands:
388 </para>
[1d776f0b]389
[2f3c55c5]390<screen><userinput>mkdir build &amp;&amp;
391cd build &amp;&amp;
[9535df7e]392qmake .. -- -system-ffmpeg -webengine-icu &amp;&amp;
[2f3c55c5]393make</userinput></screen>
[ceb3dc7]394
[640f4c21]395<!--
[ceb3dc7]396 <para>
397 if you wish to build the HTML documentation, issue:
398 </para>
399
400<screen><userinput>make docs</userinput></screen>
[640f4c21]401-->
[ceb3dc7]402 <para>
403 This package does not come with a test suite.
404 </para>
405
406 <para>
407 Now, as the <systemitem class="username">root</systemitem> user:
408 </para>
409
[640f4c21]410<screen role="root"><userinput>make install</userinput></screen>
[4eb513e]411
[e847737]412 <!-- EDITORS NOTE: If you are updating this package, use INSTALL_ROOT=
413 instead of DESTDIR= -->
[640f4c21]414<!--
[ceb3dc7]415 <para>
416 If you built the HTML documentation, install it with:
417 </para>
418
419<screen role="root"><userinput>make install_docs</userinput></screen>
[640f4c21]420-->
[ceb3dc7]421 <para>
422 Remove references to the build directory from installed library
423 dependency (prl) files by running the following
424 commands as the <systemitem class="username">root</systemitem> user:
425 </para>
426
[dff94d4]427<screen role="root"><userinput>find $QT5DIR/ -name \*.prl \
[ceb3dc7]428 -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;</userinput></screen>
[4eb513e]429
430 <para>
431 Finally, as the <systemitem class="username">root</systemitem>
432 user, remove the python symlink:
433 </para>
434
435<screen role="root"><userinput>rm -v /usr/bin/python</userinput></screen>
[ceb3dc7]436 </sect2>
437
438 <sect2 role="commands">
439 <title>Command Explanations</title>
440
441 <para>
[640f4c21]442 <command>qmake</command>: This will build the included copy of
443 <application>ninja</application> if it is not already installed
[088e7e06]444 and use it to configure the build.
445 </para>
446
[55a55f1]447 <para>
[9535df7e]448 <command>-- -system-ffmpeg -webengine-icu</command>: If any options are
449 passed to qmake they must come after '--' which must follow '..' that points
[55a55f1]450 to the main directory. The options here cause it to use system ffmpeg and
451 system icu. If built as part of full Qt5, the system icu is automatically
452 used (only) by Qt5Core if it is available, but unless this option is used
453 webengine will always use its shipped copy of icu, adding time and space
[9535df7e]454 to the build.
[55a55f1]455 </para>
456
[d885388]457 <para>
458 <option>-webengine-jumbo-build 0</option>: If this is added to the qmake
459 command it will cause the 'Jumbo Build Merge Limit' to be reported as 'no'
460 instead of 8. That turns off the jumbo build. Some distros do that to get
461 a smaller build on some architectures such as MIPS. On x86_64 it might save
462 a little space in the build, but the build time will increase by a very
463 large amount.
464 </para>
465
[c716497]466 <!--
[8558044]467 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
[52249aa]468 href="../../xincludes/SIOCGSTAMP.xml"/>
[c716497]469 -->
[52249aa]470
[088e7e06]471 <para>
472 <option>NINJAJOBS=4 make</option>: If you patched system ninja in LFS to
473 recognize the NINJAJOBS environment variable, this command will run system
[8558044]474 ninja with the specified number of jobs (i.e. 4).
[d885388]475 There are several reasons why you might want to use options like this this:
[4eb513e]476 </para>
[d885388]477
[5c7f2497]478 <itemizedlist>
479 <listitem>
[baac59c]480 <para>
481 Building on a subset of CPUs allows measuring the build time
[d885388]482 for a smaller number of processors, and/or running other
483 CPU-intensive tasks at the same time. For an editor on a machine
484 with a lot of CPUs, trying to measure the build time for a 4-CPU
485 machine, <option>NINJAJOBS=4 make</option> will give a reasonable
486 approximation (there is a short period where N+2 python2 and node
487 jobs run).
[baac59c]488 </para>
[5c7f2497]489 </listitem>
490 <listitem>
[baac59c]491 <para>
[d885388]492 On a machine with only 4 CPUs online, the default of scheduling
[c7ce2b46]493 N+2 jobs for qtwebengine is slower by between 3% and 7%, probably
[d885388]494 because of the size of the C++ files and their many includes and
495 templates. Therefore, if in doubt set NINJAJOBS to the number of CPUs.
[baac59c]496 </para>
[5c7f2497]497 </listitem>
498 <listitem>
[baac59c]499 <para>
500 Reducing the number of cores being used on long running, CPU
501 intensive packages may alleviate heat problems.
502 </para>
[5c7f2497]503 </listitem>
[00032e41]504 <listitem>
505 <para>
506 Reducing the number of cores will prevent potential out-of-memory
507 problems on systems that do not have enough memory (or swap)
[8558044]508 when all cores are active. A suggested approach is to limit
509 the number of cores to about one core for each 1.5 GB of
[00032e41]510 combined RAM and swap space.
511 </para>
512 </listitem>
[5c7f2497]513 </itemizedlist>
[ceb3dc7]514
515 </sect2>
516
[55a55f1]517 <sect2 role="configuration">
518 <title>Configuring QtWebEngine</title>
519
520 <sect3 id="qtwebengine-config">
521 <title>Configuration Information</title>
522
523 <para>
524 If you are upgrading from an older minor version of this
525 application, for some webpages to load you may need to
526 clear the <emphasis>browser</emphasis> caches, e.g. for
527 <application>falkon</application> they will be found in
528 <filename class="directory">~/.cache/falkon/</filename>.
529 You will need to do this if the browser starts to render
530 the page and then changes to a blank tab with a message
531 that something went wrong, and a button to Retry. Even
532 after removing the old caches, you may need to retry a
533 few times for each affected tab.
534 </para>
535
[4eb513e]536 <para>
537 If a browser using this package fails to run and when run
538 from a term it reports 'Trace/breakpoint trap' that is
539 probably a kernel configuration issue - there is no need
540 to rebuild QtWebEngine, see the next section, recompile
541 the kernel and reboot to the new kernel.
542 </para>
543
[55a55f1]544 </sect3>
545
546 </sect2>
547
[4eb513e]548 <sect2 role="kernel" id="qtwebengine-kernel">
549 <title>Kernel Configuration</title>
550
551 <para>
[866d8e15]552 This package does not require any of the optional kernel namespace items,
553 but if User namespace is enabled <phrase revision="systemd">(as happens
554 in some unit files, for hardening)</phrase> PID namespace must also be
555 enabled. In that case enable the following options in the kernel
556 configuration and recompile the kernel if necessary:
[4eb513e]557 </para>
558
559<!-- Spaces are significant in <screen> sections -->
560<screen><literal>General setup ---&gt;
561 -*- Namespaces support ---&gt;
[866d8e15]562 [ ] User namespace [CONFIG_USER_NS]
563 [*] PID namespace [CONFIG_PID_NS]</literal></screen>
[4eb513e]564
565 <indexterm zone="qtwebengine qtwebengine-kernel">
566 <primary sortas="d-qtwebengine">qtwebengine</primary>
567 </indexterm>
568 </sect2>
[55a55f1]569
[ceb3dc7]570 <sect2 role="content">
571 <title>Contents</title>
572
573 <segmentedlist>
574 <segtitle>Installed Programs</segtitle>
575 <segtitle>Installed Libraries</segtitle>
576 <segtitle>Installed Directories</segtitle>
577
578 <seglistitem>
579 <seg>
[8558044]580 qtwebengine_convert_dict and
[e10e1a8e]581 QtWebEngineProcess (in $QT5DIR/libexec)
[ceb3dc7]582 </seg>
583 <seg>
[21552cf]584 libQt5Pdf.so,
585 libQt5PdfWidgets.so,
[8558044]586 libQt5WebEngineCore.so,
587 libQt5WebEngine.so, and
[640f4c21]588 libQt5WebEngineWidgets.so
[ceb3dc7]589 </seg>
590 <seg>
[21552cf]591 $QT5DIR/include/QtPdf,
592 $QT5DIR/include/QtPdfWidgets,
[e10e1a8e]593 $QT5DIR/include/QtWebEngine,
594 $QT5DIR/include/QtWebEngineCore,
595 $QT5DIR/include/QtWebEngineWidgets,
596 $QT5DIR/qml/QtWebEngine, and
597 $QT5DIR/translations/qtwebengine_locales
[ceb3dc7]598 </seg>
599 </seglistitem>
600 </segmentedlist>
601
602 <variablelist>
603 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
604 <?dbfo list-presentation="list"?>
605 <?dbhtml list-presentation="table"?>
606
607 <varlistentry id="qtwebengine_convert_dict">
608 <term><command>qtwebengine_convert_dict</command></term>
609 <listitem>
610 <para>
611 converts hunspell dictionaries (<literal>.dic</literal>) to chromium
612 format (<literal>.bdic</literal>)
613 </para>
614 <indexterm zone="qtwebengine qtwebengine_convert_dict">
615 <primary sortas="b-qtwebengine_convert_dict">qtwebengine_convert_dict</primary>
616 </indexterm>
617 </listitem>
618 </varlistentry>
619
620 <varlistentry id="QtWebEngineProcess">
621 <term><command>QtWebEngineProcess</command></term>
622 <listitem>
623 <para>
624 is a libexec program which runs a zygote process (one that listens
625 for spawn requests from a master process and will fork itself in
[4c24eb0a]626 response)
[ceb3dc7]627 </para>
628 <indexterm zone="qtwebengine QtWebEngineProcess">
629 <primary sortas="b-QtWebEngineProcess">QtWebEngineProcess</primary>
630 </indexterm>
631 </listitem>
632 </varlistentry>
633
634 <varlistentry id="libQtWebEngine-lib">
635 <term><filename class="libraryfile">libQtWebEngine.so</filename></term>
636 <listitem>
637 <para>
[4c24eb0a]638 provides QML types for rendering web content within a QML application
[ceb3dc7]639 </para>
640 <indexterm zone="qtwebengine libQtWebEngine-lib">
641 <primary sortas="c-libQtWebEngine">libQtWebEngine.so</primary>
642 </indexterm>
643 </listitem>
644 </varlistentry>
645
646 <varlistentry id="libQtWebEngineCore">
647 <term><filename class="libraryfile">libQtWebEngineCore.so</filename></term>
648 <listitem>
649 <para>
[4c24eb0a]650 provides public API shared by both QtWebEngine and QtWebEngineWidgets
[ceb3dc7]651 </para>
652 <indexterm zone="qtwebengine libQtWebEngineCore">
653 <primary sortas="c-libQtWebEngineCore">libQtWebEngineCore.so</primary>
654 </indexterm>
655 </listitem>
656 </varlistentry>
657
658 <varlistentry id="libQtWebEngineWidgets">
659 <term><filename class="libraryfile">libQtWebEngineWidgets.so</filename></term>
660 <listitem>
661 <para>
662 provides a web browser engine as well as C++ classes to render and
[4c24eb0a]663 interact with web content
[ceb3dc7]664 </para>
665 <indexterm zone="qtwebengine libQtWebEngineWidgets">
666 <primary sortas="c-libQtWebEngineWidgets">libQtWebEngineWidgets.so</primary>
667 </indexterm>
668 </listitem>
669 </varlistentry>
670
671 </variablelist>
672 </sect2>
[4c24eb0a]673
[ceb3dc7]674</sect1>
Note: See TracBrowser for help on using the repository browser.