source: x/lib/qtwebengine.xml@ 441801a

12.0 12.1 ken/TL2024 ken/tuningfonts lazarus plabs/newcss python3.11 rahul/power-profiles-daemon renodr/vulkan-addition trunk xry111/llvm18
Last change on this file since 441801a was b3867c5, checked in by Bruce Dubbs <bdubbs@…>, 11 months ago

Add qt5-components page.

Also create an ENTITY for qt5 or qt5-alternate and use that
to specify the qt5 dependenies.

The complete KF5/plasma packages should use the full qt5 build, but
the lxqt kf5/plasma components only need qt5-alternate.

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