Index: packages.ent
===================================================================
--- packages.ent	(revision 68df997aa809b982d02e82316110f01df536478a)
+++ packages.ent	(revision c94264543192314f7443c25daf72b1130d570dc8)
@@ -767,6 +767,8 @@
 <!ENTITY pango-version                "1.48.9">
 <!ENTITY pangomm-version              "2.46.1">
-<!ENTITY qt5-version                  "5.15.2">
-<!ENTITY qtwebengine-version          "5.15.6">
+<!ENTITY qt5-major                    "5.15">
+<!ENTITY qt5-version                  "&qt5-major;.2">
+<!ENTITY qt5-url "https://download.qt.io/archive/qt/&qt5-major;/&qt5-version;/submodules">
+<!ENTITY qtwebengine-version          "&qt5-major;.6">
 <!ENTITY qtwebkit-version             "5.9.0">
 <!ENTITY qscintilla-version           "2.10.4">
Index: x/lib/lib.xml
===================================================================
--- x/lib/lib.xml	(revision 68df997aa809b982d02e82316110f01df536478a)
+++ x/lib/lib.xml	(revision c94264543192314f7443c25daf72b1130d570dc8)
@@ -68,6 +68,6 @@
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="pangomm.xml"/>
 <!--  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="qscintilla.xml"/> -->
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="qtbase.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="qt5.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="qtwebengine.xml"/>
   <!--
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="qtwebkit5.xml"/> -->
Index: x/lib/qt5.xml
===================================================================
--- x/lib/qt5.xml	(revision 68df997aa809b982d02e82316110f01df536478a)
+++ x/lib/qt5.xml	(revision c94264543192314f7443c25daf72b1130d570dc8)
@@ -5,13 +5,11 @@
   %general-entities;
 
-  <!ENTITY qt5-major "5.15">
-  <!ENTITY qt5-url   "https://download.qt.io/archive/qt/&qt5-major;/&qt5-version;/single">
-
-  <!ENTITY qt5-download-http "&qt5-url;/qt-everywhere-src-&qt5-version;.tar.xz">
+
+  <!ENTITY qt5-download-http "&qt5-url;/">
   <!ENTITY qt5-download-ftp  " ">
-  <!ENTITY qt5-md5sum        "e1447db4f06c841d8947f0a6ce83a7b5">
-  <!ENTITY qt5-size          "560 MB">
-  <!ENTITY qt5-buildsize     "15 GB (257 MB installed)">
-  <!ENTITY qt5-time          "22 SBU (using parallelism=4)">
+  <!ENTITY qt5-md5sum        "See below">
+  <!ENTITY qt5-size          "11 MB for basic modules, 59 MB for qtwebengine,">
+  <!ENTITY qt5-buildsize     "930 MB (23 MB installed) for basic modules">
+  <!ENTITY qt5-time          "Using parallelism=4: 3.4 SBU for basic modules">
 ]>
 
@@ -23,58 +21,81 @@
   </sect1info>
 
-  <title>Qt-&qt5-version;</title>
+  <title>Qt-&qt5-version; Modules</title>
 
   <indexterm zone="qt5">
-    <primary sortas="a-Qt">Qt</primary>
+    <primary sortas="a-Qt">Qt Modules</primary>
   </indexterm>
 
-  <sect2 role="package">
-    <title>Introduction to Qt5</title>
-
-    <para>
-      <application>Qt5</application> is a cross-platform application framework
-      that is widely used for developing application software with a graphical
-      user interface (GUI) (in which cases <application>Qt5</application> is
-      classified as a widget toolkit), and also used for developing non-GUI
-      programs such as command-line tools and consoles for servers. One of the
-      major users of <application>Qt</application> is <application>KDE
-      Frameworks 5 (KF5)</application>.
-    </para>
+  <para>
+    After the <xref linkend="qtbase"/> has been installed, various modules
+    can be added to provide more functionalities. They are divided in several
+    groups, each of which depends on the precedent:
+  </para>
+
+  <itemizedlist spacing="compact">
+    <listitem>
+      <para>
+        <xref linkend="qt-basic"/> are used in almost all
+        <application>Qt5</application> based applications, and
+        must be built first.
+      </para>
+    </listitem>
+    <listitem>
+      <para>
+        <xref linkend="qt-kde"/> are needed for
+        <xref linkend="kf5-frameworks"/> and <xref linkend="plasma5-build"/>.
+      </para>
+    </listitem>
+    <listitem>
+      <para>
+        <xref linkend="qtwebengine"/> is a huge module that integrates
+        <application>chromium</application>'s web capabilities into
+        <application>Qt5</application>
+      </para>
+    </listitem>
+    <listitem>
+      <para>
+        <xref linkend="qt-miscellaneous"/> are not needed for building
+        packages in the book, but can be built for a complete installation
+        of <application>Qt5</application>
+      </para>
+    </listitem>
+  </itemizedlist>
 
     &lfs110a_checked;
 
-    <bridgehead renderas="sect3">Package Information</bridgehead>
-    <itemizedlist spacing="compact">
-      <listitem>
-        <para>
-          Download (HTTP): <ulink url="&qt5-download-http;"/>
-        </para>
-      </listitem>
-      <listitem>
-        <para>
-          Download (FTP): <ulink url="&qt5-download-ftp;"/>
-        </para>
-      </listitem>
-      <listitem>
-        <para>
-          Download MD5 sum: &qt5-md5sum;
-        </para>
-      </listitem>
-      <listitem>
-        <para>
-          Download size: &qt5-size;
-        </para>
-      </listitem>
-      <listitem>
-        <para>
-          Estimated disk space required: &qt5-buildsize;
-        </para>
-      </listitem>
-      <listitem>
-        <para>
-          Estimated build time: &qt5-time;
-        </para>
-      </listitem>
-    </itemizedlist>
+  <bridgehead renderas="sect3">Package Information</bridgehead>
+  <itemizedlist spacing="compact">
+    <listitem>
+      <para>
+        Download (HTTP): <ulink url="&qt5-download-http;"/>
+      </para>
+    </listitem>
+    <listitem>
+      <para>
+        Download (FTP): <ulink url="&qt5-download-ftp;"/>
+      </para>
+    </listitem>
+    <listitem>
+      <para>
+        Download MD5 sum: &qt5-md5sum;
+      </para>
+    </listitem>
+    <listitem>
+      <para>
+        Download size: &qt5-size;
+      </para>
+    </listitem>
+    <listitem>
+      <para>
+        Estimated disk space required: &qt5-buildsize;
+      </para>
+    </listitem>
+    <listitem>
+      <para>
+        Estimated build time: &qt5-time;
+      </para>
+    </listitem>
+  </itemizedlist>
 
     <bridgehead renderas="sect3">Additional Downloads</bridgehead>
@@ -88,118 +109,558 @@
     </itemizedlist>
 
-    <bridgehead renderas="sect3">Qt5 Dependencies</bridgehead>
-
-    <bridgehead renderas="sect4">Required</bridgehead>
+<!--
+  <bridgehead renderas="sect3">Qt5 Dependencies</bridgehead>
+
+  <bridgehead renderas="sect4">Required</bridgehead>
+  <para role="required">
+    <xref linkend="xorg7-lib"/>
+  </para>
+
+  <bridgehead renderas="sect4">Recommended</bridgehead>
+  <para role="recommended">
+    <xref linkend="alsa-lib"/>,
+    <xref linkend="make-ca"/>,
+    <xref linkend="cups"/>,
+    <xref linkend="glib2"/>,
+    <xref linkend="gst10-plugins-base"/> (QtMultimedia backend),
+    <xref linkend="harfbuzz"/>,
+    <xref linkend="icu"/>,
+    <xref linkend="jasper"/>,
+    <xref linkend="libjpeg"/>,
+    <xref linkend="libmng"/>,
+    <xref linkend="libpng"/>,
+    <xref linkend="libtiff"/>,
+    <xref linkend="libwebp"/>,
+    <xref linkend="libxkbcommon"/>,
+    <xref linkend="mesa"/>,
+    <xref linkend="mitkrb"/>,
+    <xref linkend="mtdev"/>,
+    <xref linkend="pcre2"/>,
+    <xref linkend="sqlite"/>,
+    <xref linkend="wayland"/> (<application>Mesa</application>
+    must be built with <application>Wayland</application> EGL
+    backend),
+    <xref linkend="xcb-util-image"/>,
+    <xref linkend="xcb-util-keysyms"/>,
+    <xref linkend="xcb-util-renderutil"/>, and
+    <xref linkend="xcb-util-wm"/>
+  </para>
+
+  <bridgehead renderas="sect4">Optional</bridgehead>
+  <para role="optional">
+    <xref role="runtime" linkend="bluez"/> (for sdpscanner, and at runtime for
+    QtConnectivity module),
+    <xref linkend="ibus"/>,
+    <xref linkend="libinput"/>, <!- - needs -libinput switch - ->
+    <xref linkend="mariadb"/>
+      or <ulink url="http://www.mysql.com/">MySQL</ulink>,
+    <xref linkend="pciutils"/> (required for QtWebEngine),
+    <xref linkend="postgresql"/>,
+    <xref linkend="python2"/> (required for QtWebEngine),
+    <xref linkend="pulseaudio"/>,
+    <xref linkend="sdl2"/>,
+    <xref linkend="unixodbc"/>,
+    <ulink url="https://www.assimp.org/">assimp</ulink>,
+    <ulink url="http://www.festvox.org/flite/">Flite</ulink>,
+    <ulink url="http://www.firebirdsql.org/">Firebird</ulink>, 
+    <ulink url="http://www.freetds.org/">FreeTDS</ulink>,
+    <ulink url="https://libproxy.github.io/libproxy/">libproxy</ulink>,
+    <ulink url="https://openal.org/">OpenAL</ulink>,
+    <ulink url="https://freebsoft.org/speechd/">speech-dispatcher</ulink>,
+    <ulink url="http:///www.tslib.org/">tslib</ulink>, and
+    <ulink url="https://vulkan.lunarg.com/sdk/home/">Vulkan</ulink>
+  </para>
+
+  <!- - Many of the dependencies in the qmake/configure output do not apply
+       to Linux-based platforms. I've selected the ones that do and put
+       them in as optional dependencies. -renodr - ->
+  <para condition="html" role="usernotes">
+     User Notes: <ulink url="&blfs-wiki;/qt5"/>
+  </para>
+-->
+  <sect2>
+    <title>Creating the module list and utility functions</title>
+
+    <para>
+      Create the list of modules in the proper order as follows:
+    </para>
+
+<screen><userinput>cat &gt; qt5-submodules-&qt5-version;.md5 &lt;&lt; "EOF"
+<literal># Begin basic group
+739403634e1326a3d52902a835015a4b  qttools-everywhere-src-5.15.2.tar.xz
+c0f5c1c2cc1b66e56ce4ef13a2b7093a  qtsvg-everywhere-src-5.15.2.tar.xz
+92cf72015788bb4dcab14494f2835b32  qtx11extras-everywhere-src-5.15.2.tar.xz
+26577fbbe0d011b7034bca3c64bc38ae  qtwayland-everywhere-src-5.15.2.tar.xz
+# End basic group
+# Begin KDE group
+db3c185d6f13fc60828f8f9f20e092c4  qtdeclarative-everywhere-src-5.15.2.tar.xz
+2abc5e7b8e6b4a80d7533daad37749e9  qtquickcontrols2-everywhere-src-5.15.2.tar.xz
+2ae1ef858425aa71d62b15467a84b022  qtgraphicaleffects-everywhere-src-5.15.2.tar.xz
+ef96631d72399cfa495f223ef21bb039  qtxmlpatterns-everywhere-src-5.15.2.tar.xz
+# TODO
+# End KDE group
+# Begin qtwebengine
+c88cbe3158feb20c4feb3d54262feb23  qtwebengine-everywhere-src-5.15.2.tar.xz
+# End qtwebengine
+# Begin optional group
+# TODO
+# End optional group</literal>
+EOF</userinput></screen>
+
+    <para>
+      Next create two utility functions, one for switching to user
+      <systemitem class="username">root</systemitem>, the other for
+      module building:
+    </para>
+
+<screen><userinput>as_root() {
+  if   [ "$EUID" = 0 ];      then $*
+  elif [ -x /usr/bin/sudo ]; then sudo -E $*
+  else                            su -c \\"$*\\"
+  fi
+}
+
+export -f as_root
+
+module_build() {
+  # MD5_ENTRY contains the md5sum entry from the .md5 file for this module
+  echo $MD5_ENTRY | {
+    read md5 tarball
+
+    # download
+    wget &qt5-download-http;$tarball
+    md5sum -c - &lt;&lt;&lt; "$MD5_ENTRY" || exit 1
+
+    packagedir=${tarball%.tar*} 
+
+    tar -xf $tarball
+    pushd $packagedir
+    # OPTIONS contains the qmake options
+      if [ -n "$OPTIONS" ]; then
+        qmake -- $OPTIONS
+      else
+        qmake
+      fi
+      make
+      as_root make install
+      if type -p post_install; then post_install; fi
+    popd
+
+    rm -rf $packagedir
+  }
+  as_root /sbin/ldconfig
+
+  #   Remove references to the build directory from installed library
+  #   dependency (prl) files:
+  as_root find $QT5DIR/ -name \*.prl \
+             -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
+}
+
+export -f module_build</userinput></screen>
+  </sect2>
+
+  <sect2 id="qt-basic" xreflabel="Basic Qt5 Modules">
+    <title>Basic Qt5 Modules</title>
+
     <para role="required">
-      <xref linkend="xorg7-lib"/>
-    </para>
-
-    <bridgehead renderas="sect4">Recommended</bridgehead>
-    <para role="recommended">
-      <xref linkend="alsa-lib"/>,
-      <xref linkend="make-ca"/>,
-      <xref linkend="cups"/>,
-      <xref linkend="glib2"/>,
-      <xref linkend="gst10-plugins-base"/> (QtMultimedia backend),
-      <xref linkend="harfbuzz"/>,
-      <xref linkend="icu"/>,
-      <xref linkend="jasper"/>,
-      <xref linkend="libjpeg"/>,
-      <xref linkend="libmng"/>,
-      <xref linkend="libpng"/>,
-      <xref linkend="libtiff"/>,
-      <xref linkend="libwebp"/>,
-      <xref linkend="libxkbcommon"/>,
-      <xref linkend="mesa"/>,
-      <xref linkend="mitkrb"/>,
-      <xref linkend="mtdev"/>,
-      <xref linkend="pcre2"/>,
-      <xref linkend="sqlite"/>,
-      <xref linkend="wayland"/> (<application>Mesa</application>
-      must be built with <application>Wayland</application> EGL
-      backend),
-      <xref linkend="xcb-util-image"/>,
-      <xref linkend="xcb-util-keysyms"/>,
-      <xref linkend="xcb-util-renderutil"/>, and
-      <xref linkend="xcb-util-wm"/>
-    </para>
-
-    <bridgehead renderas="sect4">Optional</bridgehead>
-    <para role="optional">
-      <xref role="runtime" linkend="bluez"/> (for sdpscanner, and at runtime for
-      QtConnectivity module),
-      <xref linkend="ibus"/>,
-      <xref linkend="libinput"/>, <!-- needs -libinput switch -->
-      <xref linkend="mariadb"/>
-        or <ulink url="http://www.mysql.com/">MySQL</ulink>,
-      <xref linkend="pciutils"/> (required for QtWebEngine),
-      <xref linkend="postgresql"/>,
-      <xref linkend="python2"/> (required for QtWebEngine),
-      <xref linkend="pulseaudio"/>,
-      <xref linkend="sdl2"/>,
-      <xref linkend="unixodbc"/>,
-      <ulink url="https://www.assimp.org/">assimp</ulink>,
-      <ulink url="http://www.festvox.org/flite/">Flite</ulink>,
-      <ulink url="http://www.firebirdsql.org/">Firebird</ulink>, 
-      <ulink url="http://www.freetds.org/">FreeTDS</ulink>,
-      <ulink url="https://libproxy.github.io/libproxy/">libproxy</ulink>,
-      <ulink url="https://openal.org/">OpenAL</ulink>,
-      <ulink url="https://freebsoft.org/speechd/">speech-dispatcher</ulink>,
-      <ulink url="http:///www.tslib.org/">tslib</ulink>, and
-      <ulink url="https://vulkan.lunarg.com/sdk/home/">Vulkan</ulink>
-    </para>
-
-    <!-- Many of the dependencies in the qmake/configure output do not apply
-         to Linux-based platforms. I've selected the ones that do and put
-         them in as optional dependencies. -renodr -->
-    <para condition="html" role="usernotes">
-       User Notes: <ulink url="&blfs-wiki;/qt5"/>
-    </para>
+      The modules in this group only depend on <xref linkend="qtbase"/>
+      and a properly set <envar>QT5DIR</envar> environment variable.
+    </para>
+
+    <para>
+      Install the basic modules with the following instructions:
+    </para>
+
+<screen><userinput>( # start a subshell
+set -e # exit the subshell in case of error
+
+unset OPTIONS
+sed -n "/Begin basic/,/End basic/p" qt5-submodules-&qt5-version;.md5 | \
+                while read MD5_ENTRY; do
+  if [ -z "${MD5_ENTRY%\#*}" ]; then continue; fi
+  case "$MD5_ENTRY" in
+    *qttools*)
+      post_install(){
+        QT5BINDIR=$QT5DIR/bin
+
+        as_root sh &lt;&lt; ROOT_EOF
+        install -v -dm755 /usr/share/pixmaps/
+
+        install -v -Dm644 src/assistant/assistant/images/assistant-128.png \
+                  /usr/share/pixmaps/assistant-qt5.png
+
+        install -v -Dm644 src/designer/src/designer/images/designer.png \
+                  /usr/share/pixmaps/designer-qt5.png
+
+        install -v -Dm644 src/linguist/linguist/images/icons/linguist-128-32.png \
+                  /usr/share/pixmaps/linguist-qt5.png
+
+        install -v -Dm644 src/qdbus/qdbusviewer/images/qdbusviewer-128.png \
+                  /usr/share/pixmaps/qdbusviewer-qt5.png
+
+        install -dm755 /usr/share/applications
+
+        cat &gt; /usr/share/applications/assistant-qt5.desktop &lt;&lt; EOF
+[Desktop Entry]
+Name=Qt5 Assistant
+Comment=Shows Qt5 documentation and examples
+Exec=$QT5BINDIR/assistant
+Icon=assistant-qt5.png
+Terminal=false
+Encoding=UTF-8
+Type=Application
+Categories=Qt;Development;Documentation;
+EOF
+
+        cat &gt; /usr/share/applications/designer-qt5.desktop &lt;&lt; EOF
+[Desktop Entry]
+Name=Qt5 Designer
+GenericName=Interface Designer
+Comment=Design GUIs for Qt5 applications
+Exec=$QT5BINDIR/designer
+Icon=designer-qt5.png
+MimeType=application/x-designer;
+Terminal=false
+Encoding=UTF-8
+Type=Application
+Categories=Qt;Development;
+EOF
+
+        cat &gt; /usr/share/applications/linguist-qt5.desktop &lt;&lt; EOF
+[Desktop Entry]
+Name=Qt5 Linguist
+Comment=Add translations to Qt5 applications
+Exec=$QT5BINDIR/linguist
+Icon=linguist-qt5.png
+MimeType=text/vnd.trolltech.linguist;application/x-linguist;
+Terminal=false
+Encoding=UTF-8
+Type=Application
+Categories=Qt;Development;
+EOF
+
+        cat &gt; /usr/share/applications/qdbusviewer-qt5.desktop &lt;&lt; EOF
+[Desktop Entry]
+Name=Qt5 QDbusViewer
+GenericName=D-Bus Debugger
+Comment=Debug D-Bus applications
+Exec=$QT5BINDIR/qdbusviewer
+Icon=qdbusviewer-qt5.png
+Terminal=false
+Encoding=UTF-8
+Type=Application
+Categories=Qt;Development;Debugger;
+EOF
+ROOT_EOF
+      }
+      export -f post_install ;;
+
+    *) unset -f post_install ;;
+  esac
+
+  module_build
+
+done
+#     Some packages such as vlc look for certain
+#     executables with a -qt5 suffix:
+for file in lconvert lrelease lupdate; do
+  as_root ln -sfrvn $QT5DIR/bin/$file /usr/bin/$file-qt5
+done
+
+)</userinput></screen>
+
+    <sect3 role="content">
+      <title>Contents of basic modules</title>
+
+      <segmentedlist>
+        <segtitle>Installed Programs</segtitle>
+        <segtitle>Installed Libraries</segtitle>
+        <segtitle>Installed Directories</segtitle>
+
+        <seglistitem>
+          <seg>
+            assistant,
+            designer,
+            lconvert,
+            linguist,
+            lprodump,
+            lrelease,
+            lrelease-pro,
+            lupdate,
+            lupdate-pro,
+            pixeltool,
+            qcollectiongenerator,
+            qdbus,
+            qdbusviewer,
+            qdoc,
+            qhelpgenerator,
+            qtattributionsscanner,
+            qtdiag,
+            qtpaths,
+            qtplugininfo, and
+            qtwaylandscanner
+          </seg>
+          <seg>
+            libQt5DesignerComponents.so,
+            libQt5Designer.so,
+            libQt5Help.so,
+            libQt5Svg.so,
+            libQt5WaylandClient.so,
+            libQt5WaylandCompositor.so, and
+            libQt5X11Extras.so
+          </seg>
+          <seg>
+            $QT5DIR/phrasebooks,
+            $QT5DIR/include/{QtUiTools,QtHelp,QtDesigner,QtX11Extras,QtSvg},
+            $QT5DIR/include/{QtWaylandCompositor,QtWaylandClient},
+            $QT5DIR/include/{QtDesignerComponents,QtUiPlugin},
+            $QT5DIR/lib/cmake/{Qt5AttributionsScannerTools,Qt5Help,Qt5Designer},
+            $QT5DIR/lib/cmake/{Qt5X11Extras,Qt5Svg,Qt5UiTools,Qt5DocTools},
+            $QT5DIR/lib/cmake/{Qt5WaylandCompositor,Qt5WaylandClient},
+            $QT5DIR/lib/cmake/{Qt5DesignerComponents,Qt5UiPlugin},
+            $QT5DIR/lib/cmake/Qt5LinguistTools,
+            $QT5DIR/plugins/wayland-graphics-integration-client,
+            $QT5DIR/plugins/wayland-graphics-integration-server,
+            $QT5DIR/plugins/wayland-decoration-client, and
+            $QT5DIR/plugins/iconengines
+          </seg>
+        </seglistitem>
+      </segmentedlist>
+
+      <variablelist>
+        <bridgehead renderas="sect4">Short Descriptions</bridgehead>
+        <?dbfo list-presentation="list"?>
+        <?dbhtml list-presentation="table"?>
+
+        <varlistentry id="lconvert-qt5">
+          <term><command>lconvert</command></term>
+          <listitem>
+            <para>
+              is part of Qt5's Linguist tool chain. It can be used as a
+              standalone tool to convert and filter translation data files.
+            </para>
+            <indexterm zone="qt5 lconvert-qt5">
+              <primary sortas="b-lconvert-qt5">lconvert</primary>
+            </indexterm>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="linguist-qt5">
+          <term><command>linguist</command></term>
+          <listitem>
+            <para>
+              provides support for translating applications into
+              local languages.
+            </para>
+            <indexterm zone="qt5 linguist-qt5">
+              <primary sortas="b-linguist-qt5">linguist</primary>
+            </indexterm>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="lrelease-qt5">
+          <term><command>lrelease</command></term>
+          <listitem>
+            <para>
+              is a simple command line tool. It reads XML-based translation
+              file in TS format and produces message files used by the
+              application.
+            </para>
+            <indexterm zone="qt5 lrelease-qt5">
+              <primary sortas="b-lrelease-qt5">lrelease</primary>
+            </indexterm>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="lrelease-pro">
+          <term><command>lrelease-pro</command></term>
+          <listitem>
+            <para>
+              extracts project information from qmake projects and passes
+              it to lrelease.
+            </para>
+            <indexterm zone="qt5 lrelease-pro">
+              <primary sortas="b-lrelease-pro">lrelease-pro</primary>
+            </indexterm>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="lupdate-qt5">
+          <term><command>lupdate</command></term>
+          <listitem>
+            <para>
+              finds the translatable
+              strings in the specified source, header and Qt Designer
+              interface files, and stores the extracted messages in
+              translation files to be processed by lrelease.
+            </para>
+            <indexterm zone="qt5 lupdate-qt5">
+              <primary sortas="b-lupdate-qt5">lupdate</primary>
+            </indexterm>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="lupdate-pro">
+          <term><command>lupdate-pro</command></term>
+          <listitem>
+            <para>
+              reads a Qt project file, an passes the collected information
+              to lupdate.
+            </para>
+            <indexterm zone="qt5 lupdate-pro">
+              <primary sortas="b-lupdate-pro">lupdate-pro</primary>
+            </indexterm>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="pixeltool-qt5">
+          <term><command>pixeltool</command></term>
+          <listitem>
+            <para>
+              is a desktop magnifier and as you move your mouse around
+              the screen it will show the magnified contents in its window.
+            </para>
+            <indexterm zone="qt5 pixeltool-qt5">
+              <primary sortas="b-pixeltool-qt5">pixeltool</primary>
+            </indexterm>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="qcollectiongenerator-qt5">
+          <term><command>qcollectiongenerator</command></term>
+          <listitem>
+            <para>
+              processes and converts Qt help files.
+            </para>
+            <indexterm zone="qt5 qcollectiongenerator-qt5">
+              <primary sortas="b-qcollectiongenerator-qt5">qcollectiongenerator-qt5</primary>
+            </indexterm>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="qdbus-qt5">
+          <term><command>qdbus</command></term>
+          <listitem>
+            <para>
+              lists available services, object paths,  methods, signals, and
+              properties of objects on a bus.
+            </para>
+            <indexterm zone="qt5 qdbus-qt5">
+              <primary sortas="b-qdbus-qt5">qdbus</primary>
+            </indexterm>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="qdbusviewer-qt5">
+          <term><command>qdbusviewer</command></term>
+          <listitem>
+            <para>
+              is a graphical D-Bus browser.
+            </para>
+            <indexterm zone="qt5 qdbusviewer-qt5">
+              <primary sortas="b-qdbusviewer-qt5">qdbusviewer</primary>
+            </indexterm>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="qdoc-qt5">
+          <term><command>qdoc</command></term>
+          <listitem>
+            <para>
+              is a tool used by <application>Qt</application> Developers to
+              generate documentation for software projects.
+            </para>
+            <indexterm zone="qt5 qdoc-qt5">
+              <primary sortas="b-qdoc-qt5">qdoc</primary>
+            </indexterm>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="qhelpgenerator-qt5">
+          <term><command>qhelpgenerator</command></term>
+          <listitem>
+            <para>
+              is a tool used to generate a <application>Qt</application>
+              compressed help file.
+            </para>
+            <indexterm zone="qt5 qhelpgenerator-qt5">
+              <primary sortas="b-qhelpgenerator-qt5">qhelpgenerator</primary>
+            </indexterm>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="qtattributionsscanner-qt5">
+          <term><command>qtattributionsscanner</command></term>
+          <listitem>
+            <para>
+              processes qt_attribution.json files in Qt sources.
+            </para>
+            <indexterm zone="qt5 qtattributionsscanner-qt5">
+              <primary sortas="b-qtattributionsscanner-qt5">qtattributionsscanner</primary>
+            </indexterm>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="qtdiag-qt5">
+          <term><command>qtdiag</command></term>
+          <listitem>
+            <para>
+              is a tool for reporting diagnostic information about Qt and its
+              environment.
+            </para>
+            <indexterm zone="qt5 qtdiag-qt5">
+              <primary sortas="b-qtdiag-qt5">qtdiag</primary>
+            </indexterm>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="qtpaths-qt5">
+          <term><command>qtpaths</command></term>
+          <listitem>
+            <para>
+              is a tool to query Qt path information.
+            </para>
+            <indexterm zone="qt5 qtpaths-qt5">
+              <primary sortas="b-qtpaths-qt5">qtpaths</primary>
+            </indexterm>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="qtplugininfo">
+          <term><command>qtplugininfo</command></term>
+          <listitem>
+            <para>
+              dumps meta-data about Qt plugins in JSON format.
+            </para>
+            <indexterm zone="qt5 qtplugininfo">
+              <primary sortas="b-qtplugininfo">qtplugininfo</primary>
+            </indexterm>
+          </listitem>
+        </varlistentry>
+
+      </variablelist>
+
+    </sect3>
   </sect2>
 
-  <sect2 role="qt5-prefix">
-    <title>Setting the installation prefix</title>
-
-    <bridgehead renderas="sect3">Installing in /opt/qt5</bridgehead>
-
-    <para>
-      The BLFS editors recommend installing <application>Qt5</application> in a
-      directory other than <filename class="directory">/usr</filename>, ie
-      <filename class="directory">/opt/qt5</filename>.  To do this,  set the
-      following environment variable:
-    </para>
-
-<screen><userinput>export QT5PREFIX=/opt/qt5</userinput></screen>
-
-    <tip>
-      <para>
-        Sometimes, the installation paths are hardcoded into installed files.
-        This is the reason why <filename class="directory">/opt/qt5</filename>
-        is used as installation prefix instead of <filename
-        class="directory">/opt/qt-&qt5-version;</filename>. To create a
-        versioned <application>Qt5</application> directory after the 
-        installation is complete, you may rename the directory and create a symlink:
-      </para>
-
-<screen role="root"><userinput>mkdir /opt/qt-&qt5-version;
-ln -sfnv qt-&qt5-version; /opt/qt5</userinput></screen>
-
-      <para>
-        Later on, you may want to install other versions of
-        <application>Qt5</application>. To do that, just remove the symlink
-        and use <filename class="directory">/opt/qt5</filename> as the
-        prefix again. Which version of <application>Qt5</application> you
-        use depends only on where the symlink points.
-      </para>
-    </tip>
-
-    <note>
-      <para>
-        If <xref linkend="qca"/> has been installed and you are 
-        reinstalling or updating this package, then  
-        <application>qca</application> will need to be reinstalled.
-      </para>
-    </note>
-
+  <sect2 id="qt-kde" xreflabel="Modules Needed for KDE">
+    <title>Modules Needed for KDE</title>
+    <para>
+      Install the modules needed for KDE with the following instructions:
+    </para>
+  </sect2>
+
+  <sect2 id="qtwebengine" xreflabel="QtWebEngine">
+    <title>QTWebEngine</title>
+    <para>
+      Install QtWebEngine with the following instructions:
+    </para>
+  </sect2>
+
+  <sect2 id="qt-miscellaneous" xreflabel="Other Modules">
+    <title>Other Modules</title>
+    <para>
+      Install the remaining modules with the following instructions:
+    </para>
   </sect2>
 
@@ -472,6 +933,6 @@
     <para>
       <parameter>-skip qtwebengine</parameter>: This switch disables building
-      the QtWebEngine. The BLFS editors have chosen to build <xref
-      linkend="qtwebengine"/> separately.
+      the QtWebEngine. <!--The BLFS editors have chosen to build <xref
+      linkend="qtwebengine"/> separately.-->
     </para>
 
@@ -637,5 +1098,5 @@
       </seglistitem>
     </segmentedlist>
-
+<!--
     <variablelist>
       <bridgehead renderas="sect3">Short Descriptions</bridgehead>
@@ -643,71 +1104,4 @@
       <?dbhtml list-presentation="table"?>
 
-      <varlistentry id="assistant-qt5">
-        <term><command>assistant</command></term>
-        <listitem>
-          <para>
-            is a tool for presenting on-line documentation
-          </para>
-          <indexterm zone="qt5 assistant-qt5">
-            <primary sortas="b-assistant-qt5">assistant</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry id="balsam">
-        <term><command>balsam</command></term>
-        <listitem>
-          <para>
-            is a tool to convert 3D scenes from various creation tools
-            to QML format, for use by the new QtQuick 3D library
-          </para>
-          <indexterm zone="qt5 balsam">
-            <primary sortas="b-balsam">balsam</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry id="canbusutil">
-        <term><command>canbustil</command></term>
-        <listitem>
-          <para>
-            is a tool to deal with arbitrary CAN bus frames.
-            A Controller Area Network (CAN) is a vehicle bus standard designed
-            to allow microcontrollers and devices to communicate with each other
-            in applications without a host computer
-          </para>
-          <indexterm zone="qt5 canbusutil">
-            <primary sortas="b-canbusutil">canbusutil</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry id="designer-qt5">
-        <term><command>designer</command></term>
-        <listitem>
-          <para>
-            is a full-fledged GUI builder. It includes
-            powerful features such as preview mode, automatic widget
-            layout, support for custom widgets, and an advanced
-            property editor
-          </para>
-          <indexterm zone="qt5 designer-qt5">
-            <primary sortas="b-designer-qt5">designer</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
-     <varlistentry id="fixqt4headers.pl">
-        <term><command>fixqt4headers.pl</command></term>
-        <listitem>
-          <para>
-            is a script to replace all Qt 4 style includes with Qt 5 includes
-          </para>
-          <indexterm zone="qt5 fixqt4headers.pl">
-            <primary sortas="b-fixqt4headers.pl">fixqt4headers.pl</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
       <varlistentry id="lconvert-qt5">
         <term><command>lconvert</command></term>
@@ -803,16 +1197,4 @@
       </varlistentry>
 
-      <varlistentry id="moc-qt5">
-        <term><command>moc</command></term>
-        <listitem>
-          <para>
-            generates Qt meta object support code
-          </para>
-          <indexterm zone="qt5 moc-qt5">
-            <primary sortas="b-moc-qt5">moc</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
       <varlistentry id="pixeltool-qt5">
         <term><command>pixeltool</command></term>
@@ -840,17 +1222,4 @@
       </varlistentry>
 
-      <varlistentry id="qdbuscpp2xml-qt5">
-        <term><command>qdbuscpp2xml</command></term>
-        <listitem>
-          <para>
-            takes a C++ source file and generates a D-Bus XML definition
-            of the interface
-          </para>
-          <indexterm zone="qt5 qdbuscpp2xml-qt5">
-            <primary sortas="b-qdbuscpp2xml-qt5">qdbuscpp2xml</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
       <varlistentry id="qdbus-qt5">
         <term><command>qdbus</command></term>
@@ -874,17 +1243,4 @@
           <indexterm zone="qt5 qdbusviewer-qt5">
             <primary sortas="b-qdbusviewer-qt5">qdbusviewer</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry id="qdbusxml2cpp-qt5">
-        <term><command>qdbusxml2cpp</command></term>
-        <listitem>
-          <para>
-            is a tool that can be used to parse interface descriptions
-            and produce static code representing those interfaces,
-          </para>
-          <indexterm zone="qt5 qdbusxml2cpp-qt5">
-            <primary sortas="b-qdbusxml2cpp-qt5">qdbusxml2cpp</primary>
           </indexterm>
         </listitem>
@@ -945,30 +1301,4 @@
       </varlistentry>
 
-      <varlistentry id="qlalr-qt5">
-        <term><command>qlalr</command></term>
-        <listitem>
-          <para>
-            is a tool used to generate code from grammar specifications
-          </para>
-          <indexterm zone="qt5 qlalr-qt5">
-            <primary sortas="b-qlalr-qt5">qlalr</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry id="qmake-qt5">
-        <term><command>qmake</command></term>
-        <listitem>
-          <para>
-            uses information stored in project files to
-            determine what should go in the makefiles it
-            generates
-          </para>
-          <indexterm zone="qt5 qmake-qt5">
-            <primary sortas="b-qmake-qt5">qmake</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
      <varlistentry id="qml">
         <term><command>qml</command></term>
@@ -1179,41 +1509,4 @@
       </varlistentry>
 
-      <varlistentry id="qtwaylandscanner">
-        <term><command>qtwaylandscanner</command></term>
-        <listitem>
-          <para>
-            converts Wayland specfiles to C++ headers and code needed for
-            QtWayland
-          </para>
-          <indexterm zone="qt5 qtwaylandscanner">
-            <primary sortas="b-qtwaylandscanner">qtwaylandscanner</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry id="qvkgen">
-        <term><command>qvkgen</command></term>
-        <listitem>
-          <para>
-            converts Vulkan specfiles to C++ headers and code
-          </para>
-          <indexterm zone="qt5 qvkgen">
-            <primary sortas="b-qvkgen">qvkgen</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry id="rcc-qt5">
-        <term><command>rcc</command></term>
-        <listitem>
-          <para>
-            is a resource compiler used in conjunction with designer
-          </para>
-          <indexterm zone="qt5 rcc-qt5">
-            <primary sortas="b-rcc-qt5">rcc</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
       <varlistentry id="repc">
         <term><command>repc</command></term>
@@ -1242,41 +1535,4 @@
       </varlistentry>
 
-     <varlistentry id="syncqt.pl-qt5">
-        <term><command>syncqt.pl</command></term>
-        <listitem>
-          <para>
-            is a script to create the forwarding headers in the include
-            directories. It is an internal development tool
-          </para>
-          <indexterm zone="qt5 syncqt.pl-qt5">
-            <primary sortas="b-syncqt.pl-qt5">syncqt.pl</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry id="tracegen">
-        <term><command>tracegen</command></term>
-        <listitem>
-          <para>
-            is a trace generator for LTTng or ETW
-          </para>
-          <indexterm zone="qt5 tracegen">
-            <primary sortas="b-tracegen">tracegen</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry id="uic-qt5">
-        <term><command>uic</command></term>
-        <listitem>
-          <para>
-            is a Qt user interface compiler
-          </para>
-          <indexterm zone="qt5 uic-qt5">
-            <primary sortas="b-uic-qt5">uic</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
       <varlistentry id="xmlpatterns-qt5">
         <term><command>xmlpatterns</command></term>
@@ -1305,5 +1561,5 @@
 
     </variablelist>
-
+-->
   </sect2>
 
Index: x/lib/qtbase.xml
===================================================================
--- x/lib/qtbase.xml	(revision c94264543192314f7443c25daf72b1130d570dc8)
+++ x/lib/qtbase.xml	(revision c94264543192314f7443c25daf72b1130d570dc8)
@@ -0,0 +1,603 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+   "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../../general.ent">
+  %general-entities;
+
+  <!ENTITY qtbase-download-http "&qt5-url;/qtbase-everywhere-src-&qt5-version;.tar.xz">
+  <!ENTITY qtbase-download-ftp  " ">
+  <!ENTITY qtbase-md5sum        "0eb522ff6c2194f9690cbdcd5b33e803">
+  <!ENTITY qtbase-size          "48 MB">
+  <!ENTITY qtbase-buildsize     "2.4 GB (96 MB installed)">
+  <!ENTITY qtbase-time          "4.7 SBU (Using parallelism=4)">
+]>
+
+<sect1 id="qtbase" xreflabel="qtbase-&qt5-version;">
+  <?dbhtml filename="qtbase.html"?>
+
+  <sect1info>
+    <othername>$LastChangedBy$</othername>
+    <date>$Date$</date>
+  </sect1info>
+
+  <title>Qt-&qt5-version; Base</title>
+
+  <indexterm zone="qtbase">
+    <primary sortas="a-qtbase">qtbase</primary>
+  </indexterm>
+
+  <sect2 role="package">
+    <title>Introduction to Qt Library</title>
+
+    <para>
+      <application>Qt5</application> is a cross-platform application framework
+      that is widely used for developing application software with a graphical
+      user interface (GUI) (in which cases <application>Qt5</application> is
+      classified as a widget toolkit), and also used for developing non-GUI
+      programs such as command-line tools and consoles for servers. One of the
+      major users of <application>Qt</application> is <application>KDE
+      Frameworks 5 (KF5)</application>.
+    </para>
+
+    <para>
+      <application>Qt5</application> is made of several modules, which are not
+      all necessary for a given application. It has its own building tool
+      (<command>qmake</command>), and provides a complete development
+      environment. The instructions on this page allow to set up that
+      environment and to build basic modules.
+    </para>
+
+    &lfs10_checked;
+
+    <bridgehead renderas="sect3">Package Information</bridgehead>
+    <itemizedlist spacing="compact">
+      <listitem>
+        <para>
+          Download (HTTP): <ulink url="&qtbase-download-http;"/>
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          Download (FTP): <ulink url="&qtbase-download-ftp;"/>
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          Download MD5 sum: &qtbase-md5sum;
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          Download size: &qtbase-size;
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          Estimated disk space required: &qtbase-buildsize;
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          Estimated build time: &qtbase-time;
+        </para>
+      </listitem>
+    </itemizedlist>
+
+    <bridgehead renderas="sect3">Qtbase Dependencies</bridgehead>
+
+    <bridgehead renderas="sect4">Required</bridgehead>
+    <para role="required">
+      <xref linkend='xorg7-lib'/>
+    </para>
+
+    <bridgehead renderas="sect4">Recommended</bridgehead>
+
+    <para role="recommended">
+      <xref linkend="cups"/>,
+      <xref linkend="double-conversion"/>,
+      <xref linkend="glib2"/>,
+      <xref linkend="harfbuzz"/>,
+      <xref linkend="icu"/>,
+      <xref linkend="libinput"/>,
+      <xref linkend="libjpeg"/>,
+      <xref linkend="libpng"/>,
+      <xref linkend="libxkbcommon"/>,
+      <xref linkend="mesa"/>,
+      <xref linkend="mitkrb"/>,
+      <xref linkend="mtdev"/>,
+      <xref linkend="pcre2"/>,
+      <xref linkend="sqlite"/>,
+      <xref linkend="xcb-util-image"/>,
+      <xref linkend="xcb-util-keysyms"/>,
+      <xref linkend="xcb-util-renderutil"/>, and
+      <xref linkend="xcb-util-wm"/>
+    </para>
+
+    <bridgehead renderas="sect4">Optional</bridgehead>
+    <para role="optional">
+      <xref linkend="at-spi2-core"/>,
+      <xref linkend="gtk3"/>,
+      <xref linkend="ibus"/>,
+      <xref linkend="libinput"/>,
+      <xref linkend="mariadb"/>
+        or <ulink url="http://www.mysql.com/">MySQL</ulink>,
+      <xref linkend="postgresql"/>,
+      <xref linkend="unixodbc"/>,
+      <ulink url="http://www.firebirdsql.org/">Firebird</ulink>, 
+      <ulink url="http://www.freetds.org/">FreeTDS</ulink>,
+      <ulink url="https://github.com/mity/md4c/">libmd4c</ulink>,
+      <ulink url="https://openal.org/">OpenAL</ulink>,
+      <ulink url="https://www.khronos.org/openvg/">openvg</ulink>,
+      <ulink url="http:///www.tslib.org/">tslib</ulink>, and
+      <ulink url="https://vulkan.lunarg.com/sdk/home/">Vulkan</ulink>
+    </para>
+
+    <para condition="html" role="usernotes">
+      User Notes: <ulink url="&blfs-wiki;/qtbase"/>
+    </para>
+  </sect2>
+
+  <sect2 role="qt5-prefix">
+    <title>Setting the installation prefix</title>
+
+    <bridgehead renderas="sect3">Installing in /opt/qt5</bridgehead>
+
+    <para>
+      The BLFS editors recommend installing <application>Qt5</application> in a
+      directory other than <filename class="directory">/usr</filename>, ie
+      <filename class="directory">/opt/qt5</filename>.  To do this,  set the
+      following environment variable:
+    </para>
+
+<screen><userinput>export QT5PREFIX=/opt/qt5</userinput></screen>
+
+    <tip>
+      <para>
+        Sometimes, the installation paths are hardcoded into installed files.
+        This is the reason why <filename class="directory">/opt/qt5</filename>
+        is used as installation prefix instead of <filename
+        class="directory">/opt/qt-&qt5-version;</filename>. To create a
+        versioned <application>Qt5</application> directory after the 
+        installation is complete, you may rename the directory and create a
+        symlink:
+      </para>
+
+<screen role="root"><userinput>mkdir /opt/qt-&qt5-version;
+ln -sfnv qt-&qt5-version; /opt/qt5</userinput></screen>
+
+      <para>
+        Later on, you may want to install other versions of
+        <application>Qt5</application>. To do that, just remove the symlink
+        and use <filename class="directory">/opt/qt5</filename> as the
+        prefix again. Which version of <application>Qt5</application> you
+        use depends only on where the symlink points.
+      </para>
+    </tip>
+
+  </sect2>
+
+  <sect2 role="installation">
+    <title>Installation of qtbase</title>
+
+    <warning>
+      <para>
+        If <application>Qt5</application> is being reinstalled into the
+        same directory as an existing instance, run the commands done by
+        <systemitem class="username">root</systemitem>, such as
+        <command>make install</command>, from a console or non-Qt5 based
+        window manager. It overwrites <application>Qt5</application>
+        libraries that should not be in use during the install process.
+      </para>
+    </warning>
+
+    <caution>
+      <para>
+        If you did not install some of the recommended dependencies, examine
+        <command>./configure --help</command> output to check how to disable
+        them or use internal versions bundled in the source tarball.
+      </para>
+    </caution>
+
+   <note>
+      <para>
+        The BLFS editors do not recommend installing <application>Qt5</application>
+        into the /usr hierarchy because it becomes difficult to find
+        components and to update to a new version.  If you do want to install
+        <application>Qt5</application> in /usr, the directories need to
+        be specified explicitly.  In this case, set QT5PREFIX=/usr and add
+        the following to the configure arguments below:
+      </para>
+
+<screen role="nodump"><userinput>            -archdatadir    /usr/lib/qt5                \
+            -bindir         /usr/bin                    \
+            -plugindir      /usr/lib/qt5/plugins        \
+            -importdir      /usr/lib/qt5/imports        \
+            -headerdir      /usr/include/qt5            \
+            -datadir        /usr/share/qt5              \
+            -docdir         /usr/share/doc/qt5          \
+            -translationdir /usr/share/qt5/translations \
+            -examplesdir    /usr/share/doc/qt5/examples</userinput></screen>
+    </note>
+
+    <para>
+      Install <application>qtbase</application> by running the following
+      commands:
+    </para>
+
+<screen><userinput>./configure -prefix $QT5PREFIX                        \
+            -sysconfdir /etc/xdg                      \
+            -confirm-license                          \
+            -opensource                               \
+            -dbus-linked                              \
+            -openssl-linked                           \
+            -system-sqlite                            \
+            -nomake examples                          \
+            -no-rpath                                 &amp;&amp;
+make</userinput></screen>
+
+    <para>
+      This package does not come with a test suite.
+    </para>
+
+    <para>
+      Now, as the <systemitem class="username">root</systemitem> user:
+    </para>
+
+<screen role="root"><userinput>make install</userinput></screen>
+    <!-- EDITORS NOTE: If you are updating this package, use INSTALL_ROOT=
+         instead of DESTDIR= -->
+
+    <para>
+      Remove references to the build directory from installed library
+      dependency (prl) files by running the following
+      commands as the <systemitem class="username">root</systemitem> user:
+    </para>
+
+<screen role="root"><userinput>find $QT5PREFIX/ -name \*.prl \
+   -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;</userinput></screen>
+
+<!-- dubious, looks like VLC can cope with non suffixed programs.
+     Furthermore, qmlcachegen is needed by VLC, and not installed
+     by qtbase. Means this should be done after qttools install. -->
+    <para>
+      Some packages such as <xref linkend='vlc'/> look for certain
+      executables with a -qt5 suffix.  Run the following command as the
+      <systemitem class="username">root</systemitem> user
+      to create the necessary symlinks:
+    </para>
+
+<screen role="root"><userinput>for file in moc qmake rcc uic; do
+  ln -sfrvn $QT5PREFIX/bin/$file /usr/bin/$file-qt5
+done</userinput></screen>
+
+  </sect2>
+
+  <sect2 role="commands">
+    <title>Command Explanations</title>
+
+    <para>
+      <parameter>-confirm-license</parameter>: Accept license
+      without prompting user during configuration.
+    </para>
+
+    <para>
+      <parameter>-opensource</parameter>: Install the opensource
+      version of <application>Qt</application>.
+    </para>
+
+    <para>
+      <parameter>-nomake examples</parameter>: This switch
+      disables building of the example programs included
+      in the source tarball. Remove it if you want to build
+      them.
+    </para>
+
+    <para>
+      <parameter>-system-sqlite</parameter>: This switch enables use
+      of the system version of <application>SQLite</application>.
+    </para>
+
+   <para>
+      <parameter>-system-sqlite</parameter>: This switch enables use
+      of the system version of <application>SQLite</application>.
+    </para>
+
+    <para>
+      <parameter>-dbus-linked -openssl-linked</parameter>: These
+      switches enable explicit linking of the
+      <application>D-Bus</application> and
+      <application>OpenSSL</application> libraries into
+      <application>Qt5</application> libraries instead of
+      <command>dlopen()</command>-ing them.
+    </para>
+
+  </sect2>
+
+  <sect2 role="configuration">
+    <title>Configuring qtbase</title>
+
+    <sect3 id="qtbase-config">
+      <title>Configuration Information</title>
+
+      <para>
+        If you installed <application>qtbase</application> in
+        <filename class="directory">/usr</filename>, create an
+        environment variable needed by certain packages.
+        As the <systemitem class="username">root</systemitem> user:
+      </para>
+
+<screen role="nodump"><userinput>cat &gt; /etc/profile.d/qt5.sh &lt;&lt; "EOF"
+<literal># Begin /etc/profile.d/qt5.sh
+
+QT5DIR=/usr
+export QT5DIR
+
+# End /etc/profile.d/qt5.sh</literal>
+EOF</userinput></screen>
+
+      <para>
+        If <xref linkend="sudo"/> is installed, QT5DIR should be available to
+        the super user as well. Execute the following commands as the
+        <systemitem class="username">root</systemitem> user:
+      </para>
+
+<screen role="root"><userinput>cat &gt; /etc/sudoers.d/qt &lt;&lt; "EOF"
+<literal>Defaults env_keep += QT5DIR</literal>
+EOF</userinput></screen>
+
+      <para>
+        If you installed <application>qtbase</application> in a location other
+        than <filename class="directory">/usr</filename>, you need to update the
+        following configuration files so that <application>qtbase</application>
+        is correctly found by other packages and system processes.
+      </para>
+
+      <para>
+        As the <systemitem class="username">root</systemitem> user, update
+        the <filename>/etc/ld.so.conf</filename> file and the dynamic linker's
+        run-time cache file:
+      </para>
+
+<screen role="root"><userinput>cat &gt;&gt; /etc/ld.so.conf &lt;&lt; EOF
+<literal># Begin Qt addition
+
+/opt/qt5/lib
+
+# End Qt addition</literal>
+EOF
+
+ldconfig</userinput></screen>
+
+      <indexterm zone="qtbase qtbase-config">
+        <primary sortas="e-etc-ld.so.conf">/etc/ld.so.conf</primary>
+      </indexterm>
+
+      <para>
+        As the <systemitem class="username">root</systemitem> user, create
+        the <filename>/etc/profile.d/qt5.sh</filename> file:
+      </para>
+
+<screen role="root"><userinput>cat &gt; /etc/profile.d/qt5.sh &lt;&lt; "EOF"
+<literal># Begin /etc/profile.d/qt5.sh
+
+QT5DIR=/opt/qt5
+
+pathappend $QT5DIR/bin           PATH
+pathappend $QT5DIR/lib/pkgconfig PKG_CONFIG_PATH
+
+export QT5DIR
+
+# End /etc/profile.d/qt5.sh</literal>
+EOF</userinput></screen>
+
+    </sect3>
+
+  </sect2>
+
+
+  <sect2 role="content">
+    <title>Contents</title>
+
+    <segmentedlist>
+      <segtitle>Installed Programs</segtitle>
+      <segtitle>Installed Libraries</segtitle>
+      <segtitle>Installed Directories</segtitle>
+
+      <seglistitem>
+        <seg>
+          fixqt4headers.pl,
+          moc,
+          qdbuscpp2xml,
+          qdbusxml2cpp,
+          qlalr,
+          qmake,
+          qvkgen,
+          rcc,
+          syncqt.pl,
+          tracegen, and
+          uic
+        </seg>
+        <seg>
+          libQt5AccessibilitySupport.a,
+          libQt5Bootstrap.a,
+          libQt5Concurrent.so,
+          libQt5Core.so,
+          libQt5DBus.so,
+          libQt5DeviceDiscoverySupport.a,
+          libQt5EdidSupport.a,
+          libQt5EglFSDeviceIntegration.so,
+          libQt5EglFsKmsSupport.so,
+          libQt5EglSupport.a,
+          libQt5EventDispatcherSupport.a,
+          libQt5FbSupport.a,
+          libQt5FontDatabaseSupport.a,
+          libQt5GlxSupport.a,
+          libQt5Gui.so,
+          libQt5InputSupport.a,
+          libQt5KmsSupport.a,
+          libQt5Network.so,
+          libQt5OpenGLExtensions.a,
+          libQt5OpenGL.so,
+          libQt5PlatformCompositorSupport.a,
+          libQt5PrintSupport.so,
+          libQt5ServiceSupport.a,
+          libQt5Sql.so,
+          libQt5Test.so,
+          libQt5themeSupport.a,
+          libQt5Widgets.so,
+          libQt5XcbQpa.so,
+          libQt5XkbCommonSupport.a, and
+          libQt5Xml.so
+        </seg>
+        <seg>
+          /opt/qt5 and /opt/qt-&qt5-version;, or, if installing
+          in /usr: /usr/include/qt5, /usr/lib/qt5, /usr/share/{,doc}/qt5
+        </seg>
+      </seglistitem>
+    </segmentedlist>
+
+    <variablelist>
+      <bridgehead renderas="sect3">Short Descriptions</bridgehead>
+      <?dbfo list-presentation="list"?>
+      <?dbhtml list-presentation="table"?>
+
+     <varlistentry id="fixqt4headers.pl">
+        <term><command>fixqt4headers.pl</command></term>
+        <listitem>
+          <para>
+            is a script to replace all Qt 4 style includes with Qt 5 includes.
+          </para>
+          <indexterm zone="qtbase fixqt4headers.pl">
+            <primary sortas="b-fixqt4headers.pl">fixqt4headers.pl</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="moc-qt5">
+        <term><command>moc</command></term>
+        <listitem>
+          <para>
+            generates Qt meta object support code.
+          </para>
+          <indexterm zone="qtbase moc-qt5">
+            <primary sortas="b-moc-qt5">moc</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="qdbuscpp2xml-qt5">
+        <term><command>qdbuscpp2xml</command></term>
+        <listitem>
+          <para>
+            takes a C++ source file and generates a D-Bus XML definition
+            of the interface.
+          </para>
+          <indexterm zone="qtbase qdbuscpp2xml-qt5">
+            <primary sortas="b-qdbuscpp2xml-qt5">qdbuscpp2xml</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="qdbusxml2cpp-qt5">
+        <term><command>qdbusxml2cpp</command></term>
+        <listitem>
+          <para>
+            is a tool that can be used to parse interface descriptions
+            and produce static code representing those interfaces,
+          </para>
+          <indexterm zone="qtbase qdbusxml2cpp-qt5">
+            <primary sortas="b-qdbusxml2cpp-qt5">qdbusxml2cpp</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="qlalr-qt5">
+        <term><command>qlalr</command></term>
+        <listitem>
+          <para>
+            is a tool used to generate code from grammar specifications.
+          </para>
+          <indexterm zone="qtbase qlalr-qt5">
+            <primary sortas="b-qlalr-qt5">qlalr</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="qmake-qt5">
+        <term><command>qmake</command></term>
+        <listitem>
+          <para>
+            uses information stored in project files to
+            determine what should go in the makefiles it
+            generates.
+          </para>
+          <indexterm zone="qtbase qmake-qt5">
+            <primary sortas="b-qmake-qt5">qmake</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="qvkgen">
+        <term><command>qvkgen</command></term>
+        <listitem>
+          <para>
+            converts Vulkan specfiles to C++ headers and code.
+          </para>
+          <indexterm zone="qtbase qvkgen">
+            <primary sortas="b-qvkgen">qvkgen</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="rcc-qt5">
+        <term><command>rcc</command></term>
+        <listitem>
+          <para>
+            is a resource compiler used in conjunction with designer.
+          </para>
+          <indexterm zone="qtbase rcc-qt5">
+            <primary sortas="b-rcc-qt5">rcc</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+     <varlistentry id="syncqt.pl-qt5">
+        <term><command>syncqt.pl</command></term>
+        <listitem>
+          <para>
+            is a script to create the forwarding headers in the include
+            directories. It is an internal development tool.
+          </para>
+          <indexterm zone="qtbase syncqt.pl-qt5">
+            <primary sortas="b-syncqt.pl-qt5">syncqt.pl</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="tracegen">
+        <term><command>tracegen</command></term>
+        <listitem>
+          <para>
+            is a trace generator for LTTng or ETW.
+          </para>
+          <indexterm zone="qtbase tracegen">
+            <primary sortas="b-tracegen">tracegen</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="uic-qt5">
+        <term><command>uic</command></term>
+        <listitem>
+          <para>
+            is a Qt user interface compiler.
+          </para>
+          <indexterm zone="qtbase uic-qt5">
+            <primary sortas="b-uic-qt5">uic</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+    </variablelist>
+  </sect2>
+</sect1>
Index: xsoft/graphweb/falkon.xml
===================================================================
--- xsoft/graphweb/falkon.xml	(revision 68df997aa809b982d02e82316110f01df536478a)
+++ xsoft/graphweb/falkon.xml	(revision c94264543192314f7443c25daf72b1130d570dc8)
@@ -97,6 +97,6 @@
     <bridgehead renderas="sect4">Required</bridgehead>
     <para role="required">
-      <xref linkend="extra-cmake-modules"/> and
-      <xref linkend="qtwebengine"/>
+      <xref linkend="extra-cmake-modules"/> <!-- and
+      <xref linkend="qtwebengine"/>-->
     </para>
 
