source: x/lib/qtwebengine.xml@ 18961b4

12.0 12.1 kea ken/TL2024 ken/tuningfonts lazarus lxqt plabs/newcss python3.11 rahul/power-profiles-daemon renodr/vulkan-addition trunk xry111/llvm18 xry111/xf86-video-removal
Last change on this file since 18961b4 was 2a89d308, checked in by Pierre Labastie <pierre.labastie@…>, 15 months ago

Patch qtwebengine for ICU-73

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