Index: archive/py2cairo.xml
===================================================================
--- archive/py2cairo.xml	(revision 5a8c6008bfb36c19551ab8b475981c3fb29e7926)
+++ archive/py2cairo.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -77,4 +77,5 @@
       <bridgehead renderas="sect5">Optional</bridgehead>
       <para role="optional">
+        <!--TODO built for python2? -->
         <ulink url="http://pytest.org">pytest</ulink>
       </para>
Index: general/genlib/gsl.xml
===================================================================
--- general/genlib/gsl.xml	(revision 5a8c6008bfb36c19551ab8b475981c3fb29e7926)
+++ general/genlib/gsl.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -72,6 +72,5 @@
     <bridgehead renderas="sect4">Optional</bridgehead>
     <para role="optional">
-      <ulink url="https://www.sphinx-doc.org/en/stable/man/sphinx-build.html">Sphinx</ulink>
-      with <ulink url="https://pypi.python.org/pypi/sphinx_rtd_theme">sphinx_rtd_theme</ulink>
+      <xref linkend="sphinx_rtd_theme"/>
     </para>
 
@@ -93,5 +92,5 @@
 
     <para>
-      If you have the optional <application>Sphinx</application> package
+      If you have <xref linkend="sphinx_rtd_theme"/> 
       installed, build the documentation with:
     </para>
Index: general/genlib/libwacom.xml
===================================================================
--- general/genlib/libwacom.xml	(revision 5a8c6008bfb36c19551ab8b475981c3fb29e7926)
+++ general/genlib/libwacom.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -85,5 +85,5 @@
       <xref linkend="librsvg"/>,
       <xref linkend="valgrind"/> (optional for some tests), and
-      <ulink url="https://docs.pytest.org/en/stable/">pytest</ulink> with
+      <xref linkend="pytest"/> with
       <ulink url="https://pypi.org/project/libevdev/">python-libevdev</ulink> and
       <ulink url="https://pypi.org/project/pyudev/">pyudev</ulink>
@@ -120,5 +120,5 @@
       To test the results, issue: <command>ninja test</command>.
       To run additional tests, install
-      <ulink url="https://docs.pytest.org/en/stable/">pytest</ulink> and remove
+      <xref linkend="pytest"/> and remove
       the "-Dtests=disabled" option from the meson line above.
     </para>
@@ -140,7 +140,6 @@
     <para>
       <parameter>-Dtests=disabled</parameter>: This parameter disables some of
-      the more advanced tests because they require
-      <ulink url="https://docs.pytest.org/en/stable/">pytest</ulink> to work
-      properly.
+      the more advanced tests because they require <xref linkend="pytest"/> to
+      work properly.
     </para>
 
Index: general/graphlib/qpdf.xml
===================================================================
--- general/graphlib/qpdf.xml	(revision 5a8c6008bfb36c19551ab8b475981c3fb29e7926)
+++ general/graphlib/qpdf.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -79,5 +79,5 @@
       <xref linkend="fop"/>,
       <xref linkend="gnutls"/>, and
-      <ulink url="https://www.sphinx-doc.org/en/master/index.html">sphinx</ulink>
+      <xref linkend="sphinx"/>
     </para>
 
Index: neral/prog/asciidoc.xml
===================================================================
--- general/prog/asciidoc.xml	(revision 5a8c6008bfb36c19551ab8b475981c3fb29e7926)
+++ 	(revision )
@@ -1,169 +1,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect2 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 asciidoc-download-http "https://files.pythonhosted.org/packages/source/a/asciidoc/asciidoc-&asciidoc-version;.tar.gz">
-  <!ENTITY asciidoc-download-ftp  " ">
-  <!ENTITY asciidoc-md5sum        "ecac3af818f7a65596efc6e243b520a0">
-  <!ENTITY asciidoc-size          "212 KB">
-  <!ENTITY asciidoc-buildsize     "2.6 MB">
-  <!ENTITY asciidoc-time          "less than 0.1 SBU">
-]>
-
-<!-- Begin Py3c -->
-  <sect2 id="asciidoc" xreflabel="asciidoc-&asciidoc-version;">
-
-    <title>Asciidoc-&asciidoc-version;</title>
-
-    <indexterm zone="asciidoc">
-      <primary sortas="a-asciidoc">asciidoc</primary>
-    </indexterm>
-
-    <sect3 role="package">
-      <title>Introduction to Asciidoc Module</title>
-
-      <para>
-        The <application>Asciidoc</application> package is a text document
-        format for writing notes, documentation, articles, books, ebooks,
-        slideshows, web pages, man pages and blogs. AsciiDoc files can be
-        translated to many formats including HTML, PDF, EPUB, and man page.
-      </para>
-
-      &lfs112_checked;
-
-      <bridgehead renderas="sect4">Package Information</bridgehead>
-      <itemizedlist spacing="compact">
-        <listitem>
-          <para>
-            Download (HTTP): <ulink url="&asciidoc-download-http;"/>
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Download (FTP): <ulink url="&asciidoc-download-ftp;"/>
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Download MD5 sum: &asciidoc-md5sum;
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Download size: &asciidoc-size;
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Estimated disk space required: &asciidoc-buildsize;
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Estimated build time: &asciidoc-time;
-          </para>
-        </listitem>
-      </itemizedlist>
-
-      <bridgehead renderas="sect4">Asciidoc Dependencies</bridgehead>
-
-      <bridgehead renderas="sect5">Optional (runtime)</bridgehead>
-      <para role="optional">
-        <xref linkend="docbook-xsl"/>,
-        <xref linkend="fop"/>,
-        <xref linkend="libxslt"/>,
-        <xref linkend="lynx"/>,
-        <ulink url="https://sourceforge.net/projects/dblatex/">dblatex</ulink>, and
-        <ulink url="&w3m-url;">W3m</ulink>
-      </para>
-
-    </sect3>
-
-    <sect3 role="installation">
-      <title>Installation of Asciidoc</title>
-<!-- version 9.x is from blfs 11.0. We are now at 11.1
-      <para>
-        If you are upgrading from version 9.x, remove the previously installed
-        executables, as the <systemitem class="username">root</systemitem>
-        user:
-      </para>
-
-<screen role="root"><userinput>rm -rf /usr/bin/{asciidoc*,a2x*}</userinput></screen>
--->
-    <para> Build the module: </para>
-
-<screen><userinput>pip3 wheel -w dist --no-build-isolation --no-deps $PWD</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>pip3 install --no-index --find-links dist --no-cache-dir --no-user asciidoc</userinput></screen>
-
-    </sect3>
-
-    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
-      href="../../xincludes/pip3-cmd-explain.xml"/>
-
-    <sect3 role="content">
-      <title>Contents</title>
-
-      <segmentedlist>
-        <segtitle>Installed Programs</segtitle>
-        <segtitle>Installed Libraries</segtitle>
-        <segtitle>Installed Directories</segtitle>
-
-        <seglistitem>
-          <seg>
-            a2x and
-            asciidoc
-          </seg>
-          <seg>None</seg>
-          <seg>
-            /usr/lib/python&python3-majorver;/site-packages/asciidoc and
-            /usr/lib/python&python3-majorver;/site-packages/asciidoc-&asciidoc-version;.dist-info
-          </seg>
-        </seglistitem>
-      </segmentedlist>
-
-      <variablelist>
-        <bridgehead renderas="sect5">Short Descriptions</bridgehead>
-        <?dbfo list-presentation="list"?>
-        <?dbhtml list-presentation="table"?>
-
-        <varlistentry id="a2x">
-          <term><command>a2x</command></term>
-          <listitem>
-            <para>
-              is a toolchain manager for AsciiDoc
-              (converts Asciidoc text files to other file formats)
-            </para>
-            <indexterm zone="asciidoc a2x">
-              <primary sortas="b-a2x">a2x</primary>
-            </indexterm>
-          </listitem>
-        </varlistentry>
-
-        <varlistentry id="asciidoc-prog">
-          <term><command>asciidoc</command></term>
-          <listitem>
-            <para>
-              converts an AsciiDoc text file to HTML or DocBook
-            </para>
-            <indexterm zone="asciidoc asciidoc-prog">
-              <primary sortas="b-asciidoc-prog">asciidoc</primary>
-            </indexterm>
-          </listitem>
-        </varlistentry>
-
-      </variablelist>
-
-    </sect3>
-
-  </sect2>
Index: neral/prog/cython.xml
===================================================================
--- general/prog/cython.xml	(revision 5a8c6008bfb36c19551ab8b475981c3fb29e7926)
+++ 	(revision )
@@ -1,112 +1,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect2 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 cython-download-http "https://github.com/cython/cython/releases/download/&cython-version;/Cython-&cython-version;.tar.gz">
-  <!ENTITY cython-download-ftp  " ">
-  <!ENTITY cython-md5sum        "91c36ea86c00adcc5c1c11cf48b733c0">
-  <!ENTITY cython-size          "2.0 MB">
-  <!ENTITY cython-buildsize     "61 MB">
-  <!ENTITY cython-time          "0.5 SBU">
-]>
-
-<!-- Begin Py3c -->
-  <sect2 id="cython" xreflabel="cython-&cython-version;">
-
-    <title>Cython-&cython-version;</title>
-
-    <indexterm zone="cython">
-      <primary sortas="a-cython">cython</primary>
-    </indexterm>
-
-    <sect3 role="package">
-      <title>Introduction to Cython Module</title>
-
-      <para>
-        The <application>Cython</application> package provides a
-         compiler for writing C extensions for the Python language.
-      </para>
-
-      &lfs112_checked;
-
-      <bridgehead renderas="sect4">Package Information</bridgehead>
-      <itemizedlist spacing="compact">
-        <listitem>
-          <para>
-            Download (HTTP): <ulink url="&cython-download-http;"/>
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Download (FTP): <ulink url="&cython-download-ftp;"/>
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Download MD5 sum: &cython-md5sum;
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Download size: &cython-size;
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Estimated disk space required: &cython-buildsize;
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Estimated build time: &cython-time;
-          </para>
-        </listitem>
-      </itemizedlist>
-
-    </sect3>
-
-    <sect3 role="installation">
-      <title>Installation of Cython</title>
-
-    <para> Build the module: </para>
-
-<screen><userinput>pip3 wheel -w dist --no-build-isolation --no-deps $PWD</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>pip3 install --no-index --find-links dist --no-cache-dir --no-user Cython</userinput></screen>
-
-    </sect3>
-
-    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
-      href="../../xincludes/pip3-cmd-explain.xml"/>
-
-    <sect3 role="content">
-      <title>Contents</title>
-
-      <segmentedlist>
-        <segtitle>Installed Programs</segtitle>
-        <segtitle>Installed Libraries</segtitle>
-        <segtitle>Installed Directories</segtitle>
-
-        <seglistitem>
-          <seg>None</seg>
-          <seg>None</seg>
-          <seg>
-            /usr/lib/python&python3-majorver;/site-packages/Cython and
-            /usr/lib/python&python3-majorver;/site-packages/Cython-&cython-version;.dist-info
-          </seg>
-        </seglistitem>
-      </segmentedlist>
-
-    </sect3>
-
-  </sect2>
Index: neral/prog/dbus-python.xml
===================================================================
--- general/prog/dbus-python.xml	(revision 5a8c6008bfb36c19551ab8b475981c3fb29e7926)
+++ 	(revision )
@@ -1,161 +1,0 @@
-<?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 dbus-python-download-http "https://dbus.freedesktop.org/releases/dbus-python/dbus-python-&dbus-python-version;.tar.gz">
-  <!ENTITY dbus-python-download-ftp  " ">
-  <!ENTITY dbus-python-md5sum        "33be8a4a766e1c7c9a377b8f934ce21a">
-  <!ENTITY dbus-python-size          "592 KB">
-  <!ENTITY dbus-python-buildsize     "4.7 MB (with tests)" >
-  <!ENTITY dbus-python-time          "less than 0.1 SBU (with tests)">
-  <!ENTITY dbus-python-egg-info      "&python3-site;/dbus_python-&dbus-python-version;.egg-info">
-]>
-
-  <!-- Begin D-Bus Python -->
-  <sect2 id="dbus-python" xreflabel="D-Bus Python-&dbus-python-version;">
-    <title>D-Bus Python-&dbus-python-version;</title>
-
-    <indexterm zone="dbus-python">
-      <primary sortas="a-dbus-python">dbus-python</primary>
-    </indexterm>
-
-    <sect3 role="package">
-      <title>Introduction to D-Bus Python Module</title>
-
-      <para>
-        <application>D-Bus Python</application> provides
-        <application>Python</application> bindings to the
-        <application>D-Bus</application> API interface.
-      </para>
-
-      &lfs112_checked;
-
-      <bridgehead renderas="sect4">Package Information</bridgehead>
-      <itemizedlist spacing="compact">
-        <listitem>
-          <para>
-            Download (HTTP): <ulink url="&dbus-python-download-http;"/>
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Download (FTP): <ulink url="&dbus-python-download-ftp;"/>
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Download MD5 sum: &dbus-python-md5sum;
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Download size: &dbus-python-size;
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Estimated disk space required: &dbus-python-buildsize;
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Estimated build time: &dbus-python-time;
-          </para>
-        </listitem>
-      </itemizedlist>
-
-      <bridgehead renderas="sect4">D-Bus Python Dependencies</bridgehead>
-
-      <bridgehead renderas="sect5">Required</bridgehead>
-      <para role="required">
-        <xref linkend="dbus"/> and
-        <xref linkend="glib2"/>
-      </para>
-
-      <bridgehead renderas="sect5">Optional</bridgehead>
-      <para role="optional">
-        <xref linkend="pygobject3"/> and
-        <ulink url="https://pypi.python.org/pypi/tap.py/">tap.py</ulink>
-        (required for some tests)
-      </para>
-
-      <bridgehead renderas="sect5">
-       Optional (Required to build the API and HTML Documentation)</bridgehead>
-      <para role="optional">
-        <xref linkend="docutils"/> and
-        <ulink url="https://www.sphinx-doc.org/en/master/">Sphinx</ulink> with
-        <ulink url="https://github.com/rtfd/sphinx_rtd_theme">sphinx_rtd_theme</ulink>
-      </para>
-
-      <para condition="html" role="usernotes">User Notes:
-        <ulink url="&blfs-wiki;/dbus-python"/>
-      </para>
-    </sect3>
-
-    <sect3 role="installation">
-      <title>Installation of D-Bus Python</title>
-
-      <para>
-        Build the D-Bus Python module by running the following  commands:
-      </para>
-
-<screen><userinput>mkdir build &amp;&amp;
-cd    build &amp;&amp;
-
-meson --prefix=/usr --buildtype=release .. &amp;&amp;
-ninja</userinput></screen>
-
-      <para>
-        To test the results, issue: <command>ninja test</command>.
-      </para>
-
-      <para>
-        Now install the module as the &root; user:
-      </para>
-
-<screen role="root"><userinput>ninja install &amp;&amp;
-cp -rv ../dbus_python.egg-info \
-   -T  &dbus-python-egg-info;</userinput></screen>
-
-    </sect3>
-
-    <sect3 role="commands">
-
-      <title>Command Explanations</title>
-
-      <para>
-        <command>cp -rv ... -T ...</command>: Install the metadata of this
-        Python module so <command>pip3</command> will be able to find this
-        module and use it as a dependency building and installing other
-        modules.  <parameter>-T</parameter> is used to make this command
-        behave properly in case that this module is reinstalled.
-      </para>
-
-    </sect3>
-
-    <sect3 role="content">
-      <title>Contents</title>
-
-      <segmentedlist>
-        <segtitle>Installed Programs</segtitle>
-        <segtitle>Installed Libraries</segtitle>
-        <segtitle>Installed Directories</segtitle>
-
-        <seglistitem>
-          <seg>
-            None
-          </seg>
-          <seg>
-            None
-          </seg>
-          <seg>
-            &python3-site;/dbus and &dbus-python-egg-info;
-          </seg>
-        </seglistitem>
-      </segmentedlist>
-
-    </sect3>
-
-  </sect2>
Index: neral/prog/docutils.xml
===================================================================
--- general/prog/docutils.xml	(revision 5a8c6008bfb36c19551ab8b475981c3fb29e7926)
+++ 	(revision )
@@ -1,156 +1,0 @@
-<?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 docutils-download-http "https://downloads.sourceforge.net/docutils/docutils-&docutils-version;.tar.gz">
-  <!ENTITY docutils-download-ftp  " ">
-  <!ENTITY docutils-md5sum        "0afa992a6e93db892107c3f087d0d9df">
-  <!ENTITY docutils-size          "2.0 MB">
-  <!ENTITY docutils-buildsize     "12 MB">
-  <!ENTITY docutils-time          "less than 0.1 SBU">
-]>
-
-  <!-- Begin docutils -->
-  <sect2 id="docutils" xreflabel="docutils-&docutils-version;">
-
-    <title>docutils-&docutils-version;</title>
-
-    <indexterm zone="docutils">
-      <primary sortas="a-docutils">docutils</primary>
-    </indexterm>
-
-    <sect3 role="package">
-      <title>Introduction to docutils</title>
-
-      <para>
-        <application>docutils</application> is a set of
-        <application>Python</application> modules and programs
-        for processing plaintext docs into formats such as HTML, XML, or LaTeX.
-      </para>
-
-      &lfs112_checked;
-
-      <bridgehead renderas="sect4">Package Information</bridgehead>
-      <itemizedlist spacing="compact">
-        <listitem>
-          <para>
-            Download (HTTP): <ulink url="&docutils-download-http;"/>
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Download (FTP): <ulink url="&docutils-download-ftp;"/>
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Download MD5 sum: &docutils-md5sum;
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Download size: &docutils-size;
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Estimated disk space required: &docutils-buildsize;
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Estimated build time: &docutils-time;
-          </para>
-        </listitem>
-      </itemizedlist>
-
-<!--
-      <bridgehead renderas="sect4">Docutils Dependencies</bridgehead>
-
-      <bridgehead renderas="sect5">Optional</bridgehead>
-      <para role="optional">
-        <xref linkend="python2"/>
-      </para>
--->
-
-      <para condition="html" role="usernotes">
-        User Notes: <ulink url="&blfs-wiki;/docutils"/>
-      </para>
-    </sect3>
-
-    <sect3 role="installation">
-      <title>Installation of docutils</title>
-
-<!-- Editors note: Use - -root= instead of DESTDIR= when updating. -->
-
-      <para>
-        To build the <application>Python 3</application> applications,
-        run the following command:
-      </para>
-
-<screen><userinput>pip3 wheel -w dist --no-build-isolation --no-deps $PWD</userinput></screen>
-
-      <para>
-        To install the <application>Python</application> applications
-        run the following as the &root; user:
-      </para>
-
-<screen role="root"><userinput>pip3 install --no-index --find-links dist --no-cache-dir --no-user docutils &amp;&amp;
-
-for f in /usr/bin/rst*.py; do
-  ln -svf $(basename $f) /usr/bin/$(basename $f .py)
-done</userinput></screen>
-
-      <!-- FHS 3.0 section 4.4.2:
-           "There must be no subdirectories in /usr/bin."
-           But pip maintainers closed this as WONTFIX:
-           https://github.com/pypa/pip/issues/6906 -->
-      <para>
-        To reduce the time needed for loading Python scripts,
-        <command>pip3 install</command> will compile the scripts with
-        extension <filename class='extension'>.py</filename> into byte code
-        and save the result into
-        <filename class='extension'>.pyc</filename> files in the directory
-        <filename class='directory'>__pycache__</filename>.
-        But this package installs <filename class='extension'>.py</filename>
-        scripts into <filename class='directory'>/usr/bin</filename>.
-        So the byte code files for them will be installed into
-        <filename class='directory'>/usr/bin/__pycache__</filename>, which
-        is not allowed by FHS.  Still as the &root; user, remove this
-        directory:
-      </para>
-
-<screen role="root"><userinput>rm -rfv /usr/bin/__pycache__</userinput></screen>
-    </sect3>
-
-    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
-      href="../../xincludes/pip3-cmd-explain.xml"/>
-
-    <sect3 role="content">
-      <title>Contents</title>
-
-      <segmentedlist>
-        <segtitle>Installed Programs</segtitle>
-        <segtitle>Installed Libraries</segtitle>
-        <segtitle>Installed Directories</segtitle>
-
-        <seglistitem>
-          <seg>
-            rst2html4, rst2html5, rst2html, rst2latex, rst2man,
-            rst2odt_prepstyles, rst2odt, rst2pseudoxml, rst2s5,
-            rst2xetex, rst2xml, and rstpep2html
-          </seg>
-          <seg>
-            None
-          </seg>
-          <seg>
-            /usr/lib/python&python3-majorver;/site-packages/docutils{,-&docutils-version;.dist-info}
-          </seg>
-        </seglistitem>
-      </segmentedlist>
-
-    </sect3>
-
-  </sect2>
Index: neral/prog/jinja2.xml
===================================================================
--- general/prog/jinja2.xml	(revision 5a8c6008bfb36c19551ab8b475981c3fb29e7926)
+++ 	(revision )
@@ -1,130 +1,0 @@
-<?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 Jinja2-download-http "&pymodules-dl;/J/Jinja2/Jinja2-&Jinja2-version;.tar.gz">
-  <!ENTITY Jinja2-download-ftp  " ">
-  <!ENTITY Jinja2-md5sum        "d31148abd89c1df1cdb077a55db27d02">
-  <!ENTITY Jinja2-size          "264 KB">
-  <!ENTITY Jinja2-buildsize     "1.9 MB">
-  <!ENTITY Jinja2-time          "less than 0.1 SBU">
-]>
-
-  <!-- Begin Jinja2 -->
-  <sect2 id="Jinja2" xreflabel="Jinja2-&Jinja2-version;" revision="sysv">
-
-    <title>Jinja2-&Jinja2-version;</title>
-
-    <indexterm zone="Jinja2">
-      <primary sortas="a-Jinja2">Jinja2</primary>
-    </indexterm>
-
-    <sect3 role="package">
-      <title>Introduction to Jinja2 Module</title>
-
-      <para>
-        <application>Jinja2</application> is a <application>Python</application>
-        module that implements a simple pythonic template language.
-      </para>
-
-      <note revision="systemd">
-        <para>
-          <application>Jinja2</application> was installed in LFS.
-          The instruction is only kept here for SysV revision.
-        </para>
-      </note>
-
-      &lfs112_checked;
-
-      <bridgehead renderas="sect4">Package Information</bridgehead>
-      <itemizedlist spacing="compact">
-        <listitem>
-          <para>
-            Download (HTTP): <ulink url="&Jinja2-download-http;"/>
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Download (FTP): <ulink url="&Jinja2-download-ftp;"/>
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Download MD5 sum: &Jinja2-md5sum;
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Download size: &Jinja2-size;
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Estimated disk space required: &Jinja2-buildsize;
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Estimated build time: &Jinja2-time;
-          </para>
-        </listitem>
-      </itemizedlist>
-
-      <bridgehead renderas="sect4">Jinja2 Dependencies</bridgehead>
-
-      <bridgehead renderas="sect5">Required</bridgehead>
-      <para role="required">
-        <xref linkend="MarkupSafe"/>
-      </para>
-
-      <para condition="html" role="usernotes">
-        User Notes: <ulink url="&blfs-wiki;/Jinja2"/>
-      </para>
-    </sect3>
-
-    <sect3 role="installation">
-      <title>Installation of Jinja2</title>
-      <para>
-        Build the module:
-      </para>
-
-<screen><userinput>pip3 wheel -w dist --no-build-isolation --no-deps $PWD</userinput></screen>
-
-      <para>
-        Install the module as the &root; user:
-      </para>
-
-<screen role="root"><userinput>pip3 install --no-index --find-links dist --no-cache-dir --no-user Jinja2</userinput></screen>
-
-    </sect3>
-
-    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
-      href="../../xincludes/pip3-cmd-explain.xml"/>
-
-    <sect3 role="content">
-      <title>Contents</title>
-
-      <segmentedlist>
-        <segtitle>Installed Programs</segtitle>
-        <segtitle>Installed Libraries</segtitle>
-        <segtitle>Installed Directories</segtitle>
-
-        <seglistitem>
-          <seg>
-            None
-          </seg>
-          <seg>
-            None
-          </seg>
-          <seg>
-            /usr/lib/python&python3-majorver;/site-packages/Jinja2 and
-            /usr/lib/python&python3-majorver;/site-packages/Jinja2-&Jinja2-version;.dist-info
-          </seg>
-        </seglistitem>
-      </segmentedlist>
-
-    </sect3>
-
-  </sect2>
Index: neral/prog/libxml2py2.xml
===================================================================
--- general/prog/libxml2py2.xml	(revision 5a8c6008bfb36c19551ab8b475981c3fb29e7926)
+++ 	(revision )
@@ -1,181 +1,0 @@
-<?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;
-
-  <!-- The download, md5sum, size entities need to match those used in libxml2.xml -->
-  <!ENTITY libxml2py2-download-http "https://download.gnome.org/sources/libxml2/2.10/libxml2-&libxml2-version;.tar.xz">
-  <!ENTITY libxml2py2-download-ftp  " ">
-  <!ENTITY libxml2py2-md5sum        "f9edac7fac232b3657a003fd9a5bbe42">
-  <!ENTITY libxml2py2-size          "2.5 MB">
-  <!ENTITY libxml2py2-buildsize     "49 MB (2.3 MB installed)">
-  <!ENTITY libxml2py2-time          "less than 0.1 SBU">
-]>
-
-  <!-- Begin libxml2py2 -->
-  <sect2 id="libxml2py2" xreflabel="Python2 libxml2-&libxml2-version; module">
-
-    <title>libxml2-&libxml2-version; (for its Python2 module)</title>
-
-    <indexterm zone="libxml2py2">
-      <primary sortas="a-libxml2py2">libxml2</primary>
-    </indexterm>
-
-    <sect3 role="package">
-      <title>Introduction to the libxml2 Python2 module</title>
-
-      <para>
-        These instructions provide the <application>Python2</application>
-        bindings for <application>libxml2</application>: the
-        <application>Python3</application> bindings are built as part of <xref
-        linkend="libxml2"/> and most packages in the book do not use these
-        bindings for the older <application>Python2</application>.
-      </para>
-
-      <para>
-        By building these bindings after <xref linkend="libxml2"/> has
-        been installed, there is no need to rebuild the time-consuming (if all
-        dependencies are used) main part of that package.
-      </para>
-
-      &lfs112_checked;
-
-      <bridgehead renderas="sect4">Package Information</bridgehead>
-      <itemizedlist spacing="compact">
-        <listitem>
-          <para>
-            Download (HTTP): <ulink url="&libxml2py2-download-http;"/>
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Download (FTP): <ulink url="&libxml2py2-download-ftp;"/>
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Download MD5 sum: &libxml2py2-md5sum;
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Download size: &libxml2py2-size;
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Estimated disk space required: &libxml2py2-buildsize;
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Estimated build time: &libxml2py2-time;
-          </para>
-        </listitem>
-      </itemizedlist>
-
-      <bridgehead renderas="sect4">libxml2 (Python2) Dependencies</bridgehead>
-
-      <bridgehead renderas="sect5">Required</bridgehead>
-      <para role="required">
-        <xref linkend="libxml2"/> and
-        <xref linkend="python2"/>
-      </para>
-
-      <para condition="html" role="usernotes">
-        User Notes: <ulink url="&blfs-wiki;/libxml2"/>
-      </para>
-    </sect3>
-
-    <sect3 role="installation">
-      <title>Installation of libxml2 Python2 module</title>
-
-<!-- Editors note: Use \-\-root= instead of DESTDIR= when updating. -->
-
-      <para>
-        To build the <application>Python 2</application> module, run:
-      </para>
-
-<screen><userinput>./configure PYTHON=python2 &amp;&amp;
-cd python                  &amp;&amp;
-python2 setup.py build</userinput></screen>
-
-      <para>
-        To install the <application>Python 2</application> module,
-        as the
-        <systemitem class="username">root</systemitem> user run:
-      </para>
-
-<screen role="root"><userinput>python2 setup.py install --optimize=1</userinput></screen>
-
-    </sect3>
-
-    <sect3 role="content">
-      <title>Contents</title>
-
-      <segmentedlist>
-        <segtitle>Installed Modules</segtitle>
-        <segtitle>Installed Libraries</segtitle>
-        <segtitle>Installed Directories</segtitle>
-
-        <seglistitem>
-          <seg>
-            drv_libxml2.py, libxml2.py
-          </seg>
-          <seg>
-            libxml2mod.so
-          </seg>
-          <seg>
-            None
-          </seg>
-        </seglistitem>
-      </segmentedlist>
-
-    <variablelist>
-      <bridgehead renderas="sect3">Short Descriptions</bridgehead>
-      <?dbfo list-presentation="list"?>
-      <?dbhtml list-presentation="table"?>
-
-      <varlistentry id="drv_libxml2.py2">
-        <term><command>drv_libxml2.py</command></term>
-        <listitem>
-          <para>
-            is a SAX <application>Python2</application> driver for libxml2
-          </para>
-          <indexterm zone="libxml2py2 drv_libxml2.py2">
-            <primary sortas="b-drv_libxml2.py2">drv_libxml2.py for Python2</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry id="libxml2.py2">
-        <term><command>libxml2.py</command></term>
-        <listitem>
-          <para>
-            is the <application>Python2</application> binding for libxml2
-          </para>
-          <indexterm zone="libxml2py2 libxml2.py2">
-            <primary sortas="b-libxml2.py2">libxml2.py for Python2</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry id="libxml2mod2">
-        <term><filename class="libraryfile">libxml2mod.so</filename></term>
-        <listitem>
-          <para>
-            is the interface for <application>Python2</application>
-            to use <filename class="libraryfile">libxml2.so</filename>
-          </para>
-          <indexterm zone="libxml2py2 libxml2mod2">
-            <primary sortas="c-libxml2mod">libxml2mod.so</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
-    </variablelist>
-
-    </sect3>
-
-  </sect2>
Index: general/prog/llvm.xml
===================================================================
--- general/prog/llvm.xml	(revision 5a8c6008bfb36c19551ab8b475981c3fb29e7926)
+++ general/prog/llvm.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -190,4 +190,5 @@
       <xref linkend="pygments"/>,
       <xref linkend="rsync"/> (for tests),
+      <xref linkend="recommonmark"/> (for building documentation),
       <xref linkend="texlive"/> (or <xref linkend="tl-installer"/>),
       <xref linkend="valgrind"/>,
@@ -196,8 +197,5 @@
       <ulink url="https://ocaml.org/">OCaml</ulink>,
       <ulink url="https://pypi.org/project/psutil/">psutil</ulink> (for tests),
-      <ulink url="https://pypi.python.org/pypi/recommonmark">recommonmark</ulink>
-      and <ulink url="https://pypi.python.org/pypi/Sphinx">Sphinx</ulink>
-      (for building the documentation), and
-      <ulink url="https://github.com/Z3Prover/z3">Z3</ulink>
+      and <ulink url="https://github.com/Z3Prover/z3">Z3</ulink>
     </para>
 
@@ -282,8 +280,7 @@
 
     <para>
-      If you have installed <application>Sphinx</application> and
-      <application>recommonmark</application> and wish
-      to generate the html documentation and manual pages, issue the following
-      commands:
+      If you have installed <xref linkend="recommonmark"/> and its
+      dependencies, you can generate the html documentation and manual
+      pages with the following commands:
     </para>
 
@@ -331,6 +328,7 @@
 <!-- as of version 13.0.0, the install process seems to install the html
      documentation and the manual pages. The llvm html documentation
-     is installed into /usr/share/doc/llvm, while the clang html documentation
-     is installed into /usr/doc/clang. So we have just to move it. -->
+     is installed into /usr/share/doc/LLVM/llvm, while the clang html
+     documentation is installed into /usr/share/doc/LLVM/clang. So we have
+     just to move it. -->
     <para>
       If you have built the llvm documentation, it has been installed
Index: neral/prog/lxml.xml
===================================================================
--- general/prog/lxml.xml	(revision 5a8c6008bfb36c19551ab8b475981c3fb29e7926)
+++ 	(revision )
@@ -1,125 +1,0 @@
-<?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 lxml-download-http "&pymodules-dl;/l/lxml/lxml-&lxml-version;.tar.gz">
-  <!ENTITY lxml-download-ftp  " ">
-  <!ENTITY lxml-md5sum        "e27240a7319d80d0c1e5390ca31eb1d8">
-  <!ENTITY lxml-size          "3.2 MB">
-  <!ENTITY lxml-buildsize     "99 MB">
-  <!ENTITY lxml-time          "0.9 SBU">
-]>
-
-  <!-- Begin lxml -->
-  <sect2 id="lxml" xreflabel="lxml-&lxml-version;">
-
-    <title>lxml-&lxml-version;</title>
-
-    <indexterm zone="lxml">
-      <primary sortas="a-lxml">lxml</primary>
-    </indexterm>
-
-    <sect3 role="package">
-      <title>Introduction to lxml Module</title>
-
-      <para>
-        <application>lxml</application> provides
-        <application>Python</application> bindings for
-        <xref linkend="libxslt"/> and <xref linkend="libxml2"/>.
-      </para>
-
-      &lfs112_checked;
-
-      <bridgehead renderas="sect4">Package Information</bridgehead>
-      <itemizedlist spacing="compact">
-        <listitem>
-          <para>
-            Download (HTTP): <ulink url="&lxml-download-http;"/>
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Download (FTP): <ulink url="&lxml-download-ftp;"/>
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Download MD5 sum: &lxml-md5sum;
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Download size: &lxml-size;
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Estimated disk space required: &lxml-buildsize;
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Estimated build time: &lxml-time;
-          </para>
-        </listitem>
-      </itemizedlist>
-
-      <bridgehead renderas="sect4">lxml Dependencies</bridgehead>
-
-      <bridgehead renderas="sect5">Required</bridgehead>
-      <para role="required">
-        <xref linkend="libxslt"/>
-      </para>
-
-      <para condition="html" role="usernotes">
-        User Notes: <ulink url="&blfs-wiki;/lxml"/>
-      </para>
-    </sect3>
-
-    <sect3 role="installation">
-      <title>Installation of lxml</title>
-
-      <para>
-        To build the <application>Python 3</application> module, run:
-      </para>
-
-<screen><userinput>pip3 wheel -w dist --no-build-isolation --no-deps $PWD</userinput></screen>
-
-      <para>
-        To install the module, issue the following command as the &root; user:
-      </para>
-
-<screen role="root"><userinput>pip3 install --no-index --find-links dist --no-cache-dir --no-user lxml</userinput></screen>
-
-    </sect3>
-
-    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
-      href="../../xincludes/pip3-cmd-explain.xml"/>
-
-    <sect3 role="content">
-      <title>Contents</title>
-
-      <segmentedlist>
-        <segtitle>Installed Programs</segtitle>
-        <segtitle>Installed Libraries</segtitle>
-        <segtitle>Installed Directories</segtitle>
-
-        <seglistitem>
-          <seg>
-            None
-          </seg>
-          <seg>
-            None
-          </seg>
-          <seg>
-            /usr/lib/python&python3-majorver;/site-packages/lxml and
-            /usr/lib/python&python3-majorver;/site-packages/lxml-&lxml-version;.dist-info
-          </seg>
-        </seglistitem>
-      </segmentedlist>
-
-    </sect3>
-
-  </sect2>
Index: neral/prog/mako.xml
===================================================================
--- general/prog/mako.xml	(revision 5a8c6008bfb36c19551ab8b475981c3fb29e7926)
+++ 	(revision )
@@ -1,134 +1,0 @@
-<?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 Mako-download-http "&pymodules-dl;/M/Mako/Mako-&mako-version;.tar.gz">
-  <!ENTITY Mako-download-ftp  " ">
-  <!ENTITY Mako-md5sum        "651f365616611fcd4f2702a9002e2195">
-  <!ENTITY Mako-size          "485 KB">
-  <!ENTITY Mako-buildsize     "3.9 MB (add 1.2 MB for tests)">
-  <!ENTITY Mako-time          "less than 0.1 SBU (with tests)">
-]>
-
-  <!-- Begin Mako -->
-  <sect2 id="Mako" xreflabel="Mako-&mako-version;">
-
-    <title>Mako-&mako-version;</title>
-
-    <indexterm zone="Mako">
-      <primary sortas="a-Mako">Mako</primary>
-    </indexterm>
-
-    <sect3 role="package">
-      <title>Introduction to Mako Module</title>
-
-      <para>
-        <application>Mako</application> is a <application>Python</application>
-        module that implements hyperfast and lightweight templating for the
-        <application>Python</application> platform.
-      </para>
-
-      &lfs112_checked;
-
-      <bridgehead renderas="sect4">Package Information</bridgehead>
-      <itemizedlist spacing="compact">
-        <listitem>
-          <para>
-            Download (HTTP): <ulink url="&Mako-download-http;"/>
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Download (FTP): <ulink url="&Mako-download-ftp;"/>
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Download MD5 sum: &Mako-md5sum;
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Download size: &Mako-size;
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Estimated disk space required: &Mako-buildsize;
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Estimated build time: &Mako-time;
-          </para>
-        </listitem>
-      </itemizedlist>
-
-      <bridgehead renderas="sect4">Mako Dependencies</bridgehead>
-
-      <bridgehead renderas="sect5" revision="sysv">Required</bridgehead>
-      <para role="required" revision="sysv">
-        <xref linkend="MarkupSafe"/>
-      </para>
-
-      <bridgehead renderas="sect5">Optional (for Testing)</bridgehead>
-      <para role="optional">
-        <ulink url="https://pypi.org/project/pytest/">pytest</ulink>
-      </para>
-
-      <para condition="html" role="usernotes">
-        User Notes: <ulink url="&blfs-wiki;/Mako"/>
-      </para>
-    </sect3>
-
-    <sect3 role="installation">
-      <title>Installation of Mako</title>
-
-      <para>
-        Build the module:
-      </para>
-
-<screen><userinput>pip3 wheel -w dist --no-build-isolation --no-deps $PWD</userinput></screen>
-
-      <para>
-        Install the module as the &root; user:
-      </para>
-
-<screen role="root"><userinput>pip3 install --no-index --find-links dist --no-cache-dir --no-user Mako</userinput></screen>
-
-    <para>
-      To test the installation, issue <command>pytest</command>.
-    </para>
-
-    </sect3>
-
-    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
-      href="../../xincludes/pip3-cmd-explain.xml"/>
-
-    <sect3 role="content">
-      <title>Contents</title>
-
-      <segmentedlist>
-        <segtitle>Installed Programs</segtitle>
-        <segtitle>Installed Libraries</segtitle>
-        <segtitle>Installed Directories</segtitle>
-
-        <seglistitem>
-          <seg>
-            mako-render
-          </seg>
-          <seg>
-            None
-          </seg>
-          <seg>
-            /usr/lib/python&python3-majorver;/site-packages/mako and
-            /usr/lib/python&python3-majorver;/site-packages/Mako-&mako-version;.dist-info
-          </seg>
-        </seglistitem>
-      </segmentedlist>
-
-    </sect3>
-
-  </sect2>
Index: neral/prog/markupsafe.xml
===================================================================
--- general/prog/markupsafe.xml	(revision 5a8c6008bfb36c19551ab8b475981c3fb29e7926)
+++ 	(revision )
@@ -1,126 +1,0 @@
-<?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 MarkupSafe-download-http "&pymodules-dl;/M/MarkupSafe/MarkupSafe-&MarkupSafe-version;.tar.gz">
-  <!ENTITY MarkupSafe-download-ftp  " ">
-  <!ENTITY MarkupSafe-md5sum        "9809f9fdd98bc835b0c21aa8f79cbf30">
-  <!ENTITY MarkupSafe-size          "20 KB">
-  <!ENTITY MarkupSafe-buildsize     "360 KB">
-  <!ENTITY MarkupSafe-time          "less than 0.1 SBU">
-]>
-
-  <!-- Begin MarkupSafe -->
-  <sect2 id="MarkupSafe" xreflabel="MarkupSafe-&MarkupSafe-version;" revision="sysv">
-
-    <title>MarkupSafe-&MarkupSafe-version;</title>
-
-    <indexterm zone="MarkupSafe">
-      <primary sortas="a-MarkupSafe">MarkupSafe</primary>
-    </indexterm>
-
-    <sect3 role="package">
-      <title>Introduction to MarkupSafe Module</title>
-
-      <para>
-        <application>MarkupSafe</application> is a <application>Python</application>
-        module that implements a XML/HTML/XHTML Markup safe string.
-      </para>
-
-      <note revision="systemd">
-        <para>
-          <application>MarkupSafe</application> was installed in LFS.
-          The instruction is only kept here for SysV revision.
-        </para>
-      </note>
-
-      &lfs112_checked;
-
-      <bridgehead renderas="sect4">Package Information</bridgehead>
-      <itemizedlist spacing="compact">
-        <listitem>
-          <para>
-            Download (HTTP): <ulink url="&MarkupSafe-download-http;"/>
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Download (FTP): <ulink url="&MarkupSafe-download-ftp;"/>
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Download MD5 sum: &MarkupSafe-md5sum;
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Download size: &MarkupSafe-size;
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Estimated disk space required: &MarkupSafe-buildsize;
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Estimated build time: &MarkupSafe-time;
-          </para>
-        </listitem>
-      </itemizedlist>
-
-      <para condition="html" role="usernotes">
-        User Notes: <ulink url="&blfs-wiki;/MarkupSafe"/>
-      </para>
-    </sect3>
-
-    <sect3 role="installation">
-      <title>Installation of MarkupSafe</title>
-
-      <para>
-        Install <application>MarkupSafe</application> with the following
-        commands:
-      </para>
-
-<screen><userinput>pip3 wheel -w dist --no-build-isolation --no-deps $PWD</userinput></screen>
-
-      <para>
-        Then, as the &root; user:
-      </para>
-
-<screen role="root"><userinput>pip3 install --no-index --find-links dist --no-cache-dir --no-user markupsafe</userinput></screen>
-
-    </sect3>
-
-    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
-      href="../../xincludes/pip3-cmd-explain.xml"/>
-
-    <sect3 role="content">
-      <title>Contents</title>
-
-      <segmentedlist>
-        <segtitle>Installed Programs</segtitle>
-        <segtitle>Installed Libraries</segtitle>
-        <segtitle>Installed Directories</segtitle>
-
-        <seglistitem>
-          <seg>
-            None
-          </seg>
-          <seg>
-            None
-          </seg>
-          <seg>
-
-            /usr/lib/python&python3-majorver;/site-packages/markupSafe and
-            /usr/lib/python&python3-majorver;/site-packages/MarkupSafe-&MarkupSafe-version;.dist-info
-          </seg>
-        </seglistitem>
-      </segmentedlist>
-
-    </sect3>
-
-  </sect2>
Index: general/prog/prog.xml
===================================================================
--- general/prog/prog.xml	(revision 5a8c6008bfb36c19551ab8b475981c3fb29e7926)
+++ general/prog/prog.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -47,4 +47,5 @@
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="python3.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="python-modules.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="python-dependencies.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="ruby.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="rust.xml"/>
Index: neral/prog/py3c.xml
===================================================================
--- general/prog/py3c.xml	(revision 5a8c6008bfb36c19551ab8b475981c3fb29e7926)
+++ 	(revision )
@@ -1,135 +1,0 @@
-<?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 py3c-download-http
-           "https://github.com/encukou/py3c/archive/v&py3c-version;/py3c-&py3c-version;.tar.gz">
-  <!ENTITY py3c-md5sum        "53029afde7e0cf8672a2d69d378a0cfc">
-  <!ENTITY py3c-size          "47 KB">
-  <!ENTITY py3c-buildsize     "608 KB">
-  <!ENTITY py3c-time          "less than 0.1 SBU">
-]>
-
-   <!-- Begin Py3c -->
-  <sect2 id="py3c" xreflabel="Py3c-&py3c-version;">
-
-    <title>Py3c-&py3c-version;</title>
-
-    <indexterm zone="py3c">
-      <primary sortas="a-Py3c">Py3c</primary>
-   </indexterm>
-
-    <sect3 role="package">
-      <title>Introduction to Py3c</title>
-
-      <para>
-        <application>Py3c</application> helps you port C extensions to
-        Python 3. It provides a detailed guide, and a set of macros to
-        make porting easy and reduce boilerplate.
-      </para>
-
-      &lfs112_checked;
-
-      <bridgehead renderas="sect4">Package Information</bridgehead>
-      <itemizedlist spacing="compact">
-        <listitem>
-          <para>
-            Download (HTTP): <ulink url="&py3c-download-http;"/>
-          </para>
-        </listitem>
-<!--
-        <listitem>
-          <para>
-            Download (FTP): <ulink url="&py3c-download-ftp;"/>
-          </para>
-        </listitem>
--->
-        <listitem>
-          <para>
-            Download MD5 sum: &py3c-md5sum;
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Download size: &py3c-size;
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Estimated disk space required: &py3c-buildsize;
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Estimated build time: &py3c-time;
-          </para>
-        </listitem>
-      </itemizedlist>
-<!--
-      <bridgehead renderas="sect4">Py3c Dependencies</bridgehead>
-
-      <bridgehead renderas="sect5">Required</bridgehead>
-      <para role="required">
--->
-      <para condition="html" role="usernotes">
-        User Notes: <ulink url="&blfs-wiki;/py3c"/>
-      </para>
-
-    </sect3>
-
-    <sect3 role="installation">
-      <title>Installation of Py3c</title>
-
-      <para>
-        The <application>Py3c</application> package is a headers-only package
-        and because of that, no configuration and compilation is
-        required.
-      </para>
-
-      <para>
-        To test the package, issue:
-      </para>
-
-<screen remap="test"><userinput>make test-python3 &amp;&amp;
-make test-python3-cpp</userinput></screen>
-
-      <para>
-        To install the <application>Python 3</application> module,
-        run the following command as the
-        <systemitem class="username">root</systemitem> user:
-      </para>
-
-<!-- Note:
-  Now, doing a DESTDIR install is just
-    "make prefix=/usr DESTDIR=<dest> install"
--->
-<screen role="root"><userinput>make prefix=/usr install</userinput></screen>
-
-    </sect3>
-
-    <sect3 role="content">
-      <title>Contents</title>
-
-      <segmentedlist>
-        <segtitle>Installed Programs</segtitle>
-        <segtitle>Installed Libraries</segtitle>
-        <segtitle>Installed Directories</segtitle>
-
-        <seglistitem>
-          <seg>
-            None
-          </seg>
-          <seg>
-            None
-          </seg>
-          <seg>
-            /usr/include/py3c
-          </seg>
-        </seglistitem>
-      </segmentedlist>
-
-    </sect3>
-
-  </sect2>
Index: neral/prog/pyatspi2.xml
===================================================================
--- general/prog/pyatspi2.xml	(revision 5a8c6008bfb36c19551ab8b475981c3fb29e7926)
+++ 	(revision )
@@ -1,138 +1,0 @@
-<?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 pyatspi2-download-http
-           "&gnome-download-http;/pyatspi/2.38/pyatspi-&pyatspi2-version;.tar.xz">
-  <!ENTITY pyatspi2-download-ftp
-           "&gnome-download-ftp;/pyatspi/2.38/pyatspi-&pyatspi2-version;.tar.xz">
-  <!ENTITY pyatspi2-md5sum        "016c8bdcd950e11ad717043f4e91dedc">
-  <!ENTITY pyatspi2-size          "312 KB">
-  <!ENTITY pyatspi2-buildsize     "3.0 MB">
-  <!ENTITY pyatspi2-time          "less than 0.1 SBU">
-]>
-
-   <!-- Begin PyAtSpi2 -->
-  <sect2 id="pyatspi2" xreflabel="PyAtSpi2-&pyatspi2-version;">
-
-    <title>PyAtSpi2-&pyatspi2-version;</title>
-
-    <indexterm zone="pyatspi2">
-      <primary sortas="a-PyAtSpi2">PyAtSpi2</primary>
-   </indexterm>
-
-    <sect3 role="package">
-      <title>Introduction to PyAtSpi2</title>
-
-      <para>
-        The <application>PyAtSpi2</application> package contains
-        <application>Python</application> bindings for the core
-        components of the <application>GNOME</application>
-        Accessibility.
-      </para>
-
-      &lfs112_checked;
-
-      <bridgehead renderas="sect4">Package Information</bridgehead>
-      <itemizedlist spacing="compact">
-        <listitem>
-          <para>
-            Download (HTTP): <ulink url="&pyatspi2-download-http;"/>
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Download (FTP): <ulink url="&pyatspi2-download-ftp;"/>
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Download MD5 sum: &pyatspi2-md5sum;
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Download size: &pyatspi2-size;
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Estimated disk space required: &pyatspi2-buildsize;
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Estimated build time: &pyatspi2-time;
-          </para>
-        </listitem>
-      </itemizedlist>
-
-      <bridgehead renderas="sect4">PyAtSpi2 Dependencies</bridgehead>
-
-      <bridgehead renderas="sect5">Required</bridgehead>
-      <para role="required">
-        <xref linkend="pygobject3"/>
-      </para>
-
-      <bridgehead renderas="sect5">Recommended</bridgehead>
-      <para role="recommended">
-        <xref linkend="at-spi2-core"/>
-      </para>
-
-      <para condition="html" role="usernotes">
-        User Notes: <ulink url="&blfs-wiki;/pyatspi2"/>
-      </para>
-
-    </sect3>
-
-    <sect3 role="installation">
-      <title>Installation of PyAtSpi2</title>
-
-      <para>
-        To build <application>PyAtSpi2</application> as a
-        <application>Python 3</application> module, run the
-        following commands:
-      </para>
-
-<screen><userinput>./configure --prefix=/usr --with-python=/usr/bin/python3</userinput></screen>
-
-      <para>
-        This package does not come with a testsuite.
-      </para>
-
-      <para>
-        To install the <application>Python 3</application> module,
-        run the following command as the
-        <systemitem class="username">root</systemitem> user:
-      </para>
-
-<screen role="root"><userinput>make install</userinput></screen>
-
-    </sect3>
-
-    <sect3 role="content">
-      <title>Contents</title>
-
-      <segmentedlist>
-        <segtitle>Installed Programs</segtitle>
-        <segtitle>Installed Libraries</segtitle>
-        <segtitle>Installed Directories</segtitle>
-
-        <seglistitem>
-          <seg>
-            None
-          </seg>
-          <seg>
-            None
-          </seg>
-          <seg>
-            /usr/lib/python&python3-majorver;/site-packages/pyatspi
-          </seg>
-        </seglistitem>
-      </segmentedlist>
-
-    </sect3>
-
-  </sect2>
Index: neral/prog/pycairo.xml
===================================================================
--- general/prog/pycairo.xml	(revision 5a8c6008bfb36c19551ab8b475981c3fb29e7926)
+++ 	(revision )
@@ -1,165 +1,0 @@
-<?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 pycairo-download-http "https://github.com/pygobject/pycairo/releases/download/v&pycairo-version;/pycairo-&pycairo-version;.tar.gz">
-  <!ENTITY pycairo-download-ftp  " ">
-  <!ENTITY pycairo-md5sum        "7a3729d21659098e1b9a411b62e88966">
-  <!ENTITY pycairo-size          "340 KB">
-  <!ENTITY pycairo-buildsize     "3.0 MB">
-  <!ENTITY pycairo-time          "less than 0.1 SBU">
-]>
-
-  <!-- Begin PyCairo -->
-  <sect2 id="pycairo" xreflabel="PyCairo-&pycairo-version;">
-
-    <title>PyCairo-&pycairo-version;</title>
-
-    <indexterm zone="pycairo">
-      <primary sortas="a-PyCairo">PyCairo</primary>
-    </indexterm>
-
-    <sect3 role="package">
-      <title>Introduction to PyCairo Module</title>
-
-      <para>
-        PyCairo provides <application>Python</application> bindings to
-        <application>Cairo</application>.
-      </para>
-
-      &lfs112_checked;
-      <!-- Does not use gcc -->
-
-      <bridgehead renderas="sect4">Package Information</bridgehead>
-      <itemizedlist spacing="compact">
-        <listitem>
-          <para>
-            Download (HTTP): <ulink url="&pycairo-download-http;"/>
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Download (FTP): <ulink url="&pycairo-download-ftp;"/>
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Download MD5 sum: &pycairo-md5sum;
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Download size: &pycairo-size;
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Estimated disk space required: &pycairo-buildsize;
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Estimated build time: &pycairo-time;
-          </para>
-        </listitem>
-      </itemizedlist>
-
-      <bridgehead renderas="sect4">PyCairo Dependencies</bridgehead>
-
-      <bridgehead renderas="sect5">Required</bridgehead>
-      <para role="required">
-        <xref linkend="cairo"/>
-      </para>
-
-      <bridgehead renderas="sect5">Optional</bridgehead>
-      <para role="optional">
-        <ulink url="https://hypothesis.readthedocs.io">Hypothesis</ulink> and
-        <ulink url="https://pypi.org/project/pytest/">pytest</ulink>
-        (for tests)
-      </para>
-
-      <para condition="html" role="usernotes">
-        User Notes: <ulink url="&blfs-wiki;/pycairo"/>
-      </para>
-    </sect3>
-
-    <sect3 role="installation">
-      <title>Installation of PyCairo</title>
-
-      <note>
-        <para>
-           The current version of pycairo no longer builds the Python2 module.
-           If you need that module for packages such as <xref linkend="gimp"/>, use
-           <xref linkend="pycairo2"/>
-        </para>
-      </note>
-
-      <para>
-        Install <application>PyCairo</application> for Python3 by
-        running the following commands:
-      </para>
-
-<screen><userinput>mkdir build &amp;&amp;
-cd    build &amp;&amp;
-
-meson --prefix=/usr --buildtype=release .. &amp;&amp;
-ninja</userinput></screen>
-
-
-<!--python3 setup.py build</userinput></screen>-->
-
-      <para>
-        To run the tests, this package requires the optional pytest module. If
-        it is installed, run the tests by running <command>ninja test</command>.
-      </para>
-
-      <para>
-        Now, as the <systemitem class="username">root</systemitem> user:
-      </para>
-
-<screen role="root"><userinput>ninja install</userinput></screen>
-
-
-<!--python3 setup.py install - -optimize=1   &amp;&amp;
-python3 setup.py install_pycairo_header &amp;&amp;
-python3 setup.py install_pkgconfig</userinput></screen>-->
-<!-- Seems that install does the following too
-python2 setup.py install_pycairo_header &amp;&amp;
-python2 setup.py install_pkgconfig</userinput></screen>-->
-
-<!-- Python2 is no longer supported
-python2 setup.py install - -optimize=1   &amp;&amp;
-python2 setup.py install_pycairo_header &amp;&amp;
-python2 setup.py install_pkgconfig      &amp;&amp;-->
-    </sect3>
-
-    <sect3 role="content">
-      <title>Contents</title>
-
-      <segmentedlist>
-        <segtitle>Installed Program</segtitle>
-        <segtitle>Installed Library</segtitle>
-        <segtitle>Installed Directories</segtitle>
-
-        <seglistitem>
-          <seg>
-            None
-          </seg>
-          <seg>
-            <!--_cairo.so (python2) and -->
-            _cairo.&python3-lib-suffix;.so
-          </seg>
-          <seg>
-            /usr/include/pycairo,
-<!--            /usr/lib/python&python2-majorver;/site-packages/cairo,
-            /usr/lib/python&python2-majorver;/site-packages/pycairo-&pycairo-version;-py&python2-majorver;.egg,
-            /usr/lib/python&python3-majorver;/site-packages/cairo--> and
-            /usr/lib/python&python3-majorver;/site-packages/pycairo-&pycairo-version;-py&python3-majorver;.egg
-          </seg>
-        </seglistitem>
-      </segmentedlist>
-    </sect3>
-
-  </sect2>
Index: neral/prog/pycairo2.xml
===================================================================
--- general/prog/pycairo2.xml	(revision 5a8c6008bfb36c19551ab8b475981c3fb29e7926)
+++ 	(revision )
@@ -1,144 +1,0 @@
-<?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 pycairo2-download-http "https://github.com/pygobject/pycairo/releases/download/v&pycairo2-version;/pycairo-&pycairo2-version;.tar.gz">
-  <!ENTITY pycairo2-download-ftp  " ">
-  <!ENTITY pycairo2-md5sum        "be2ba51f234270dec340f28f1695a95e">
-  <!ENTITY pycairo2-size          "196 KB">
-  <!ENTITY pycairo2-buildsize     "2.3 MB">
-  <!ENTITY pycairo2-time          "less than 0.1 SBU">
-]>
-
-  <!-- Begin PyCairo -->
-  <sect2 id="pycairo2" xreflabel="PyCairo-&pycairo2-version;">
-
-    <title>PyCairo-&pycairo2-version;</title>
-
-    <indexterm zone="pycairo2">
-      <primary sortas="a-PyCairo2">PyCairo2</primary>
-    </indexterm>
-
-    <sect3 role="package">
-      <title>Introduction to PyCairo for Python2 Module</title>
-
-      <para>
-        This version of
-        PyCairo provides <application>Python2</application> bindings to
-        <application>Cairo</application>.
-      </para>
-
-      &lfs112_checked;
-      <!-- Does not use gcc -->
-
-      <bridgehead renderas="sect4">Package Information</bridgehead>
-      <itemizedlist spacing="compact">
-        <listitem>
-          <para>
-            Download (HTTP): <ulink url="&pycairo2-download-http;"/>
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Download (FTP): <ulink url="&pycairo2-download-ftp;"/>
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Download MD5 sum: &pycairo2-md5sum;
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Download size: &pycairo2-size;
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Estimated disk space required: &pycairo2-buildsize;
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Estimated build time: &pycairo2-time;
-          </para>
-        </listitem>
-      </itemizedlist>
-
-      <bridgehead renderas="sect4">PyCairo Dependencies</bridgehead>
-
-      <bridgehead renderas="sect5">Required</bridgehead>
-      <para role="required">
-        <xref linkend="cairo"/> and
-        <xref linkend="python2"/>
-      </para>
-
-      <bridgehead renderas="sect5">Optional</bridgehead>
-      <para role="optional">
-        <ulink url="https://hypothesis.readthedocs.io">Hypothesis</ulink>
-          (for tests)
-      </para>
-
-      <para condition="html" role="usernotes">
-        User Notes: <ulink url="&blfs-wiki;/pycairo"/>
-      </para>
-    </sect3>
-
-    <sect3 role="installation">
-      <title>Installation of PyCairo</title>
-
-      <note>
-        <para>
-           This version of PyCairo is only retained for packages such as <xref
-           linkend="gimp"/> which is stuck on Python2 until Gimp-3 is released.
-        </para>
-      </note>
-
-      <para>
-        Install <application>PyCairo</application> for Python2 by
-        running the following commands:
-      </para>
-
-<screen><userinput>python2 setup.py build</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>python2 setup.py install --optimize=1   &amp;&amp;
-python2 setup.py install_pycairo_header &amp;&amp;
-python2 setup.py install_pkgconfig</userinput></screen>
-    </sect3>
-
-    <sect3 role="content">
-      <title>Contents</title>
-
-      <segmentedlist>
-        <segtitle>Installed Program</segtitle>
-        <segtitle>Installed Library</segtitle>
-        <segtitle>Installed Directories</segtitle>
-
-        <seglistitem>
-          <seg>
-            None
-          </seg>
-          <seg>
-            <!--_cairo.so (python2) and -->
-            _cairo.so
-          </seg>
-          <seg>
-            /usr/include/pycairo,
-            /usr/lib/python&python2-majorver;/site-packages/cairo,
-            /usr/lib/python&python2-majorver;/site-packages/pycairo-&pycairo2-version;-py&python2-majorver;.egg,
-          </seg>
-        </seglistitem>
-      </segmentedlist>
-    </sect3>
-
-  </sect2>
Index: neral/prog/pycryptodome.xml
===================================================================
--- general/prog/pycryptodome.xml	(revision 5a8c6008bfb36c19551ab8b475981c3fb29e7926)
+++ 	(revision )
@@ -1,119 +1,0 @@
-<?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 pycryptodome-download-http "https://github.com/Legrandin/pycryptodome/archive/v&pycryptodome-version;/pycryptodome-&pycryptodome-version;.tar.gz">
-  <!ENTITY pycryptodome-download-ftp  " ">
-  <!ENTITY pycryptodome-md5sum        "de6d9a6625e05067a12f5ac746aed7c3">
-  <!ENTITY pycryptodome-size          "16 MB">
-  <!ENTITY pycryptodome-buildsize     "53 MB">
-  <!ENTITY pycryptodome-time          "0.1 SBU">
-]>
-
-  <!-- Begin pycryptodome -->
-  <sect2 id="pycryptodome" xreflabel="PyCryptodome-&pycryptodome-version;">
-
-    <title>PyCryptodome-&pycryptodome-version;</title>
-
-    <indexterm zone="pycryptodome">
-      <primary sortas="a-pycryptodome">pycryptodome</primary>
-    </indexterm>
-
-    <sect3 role="package">
-      <title>Introduction to the PyCryptodome Module</title>
-
-      <para>
-        <application>PyCryptodome</application> is a collection of both secure
-        hash functions (such as SHA256 and RIPEMD160), and various encryption
-        algorithms (AES, DES, RSA, ElGamal, etc.), and is a drop-in replacement
-        for PyCrypto.
-      </para>
-
-      &lfs112_checked;
-
-      <bridgehead renderas="sect4">Package Information</bridgehead>
-      <itemizedlist spacing="compact">
-        <listitem>
-          <para>
-            Download (HTTP): <ulink url="&pycryptodome-download-http;"/>
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Download (FTP): <ulink url="&pycryptodome-download-ftp;"/>
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Download MD5 sum: &pycryptodome-md5sum;
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Download size: &pycryptodome-size;
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Estimated disk space required: &pycryptodome-buildsize;
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Estimated build time: &pycryptodome-time;
-          </para>
-        </listitem>
-      </itemizedlist>
-
-      <para condition="html" role="usernotes">
-        User Notes: <ulink url="&blfs-wiki;/pycryptodome"/>
-      </para>
-    </sect3>
-
-    <sect3 role="installation">
-      <title>Installation of PyCryptodome</title>
-
-      <para>
-        To build <application>PyCryptodome</application> as a Python 3
-        module, run the following command:
-      </para>
-
-<screen><userinput>pip3 wheel -w dist --no-build-isolation --no-deps $PWD</userinput></screen>
-
-      <para>
-        To install the module, run the following command as the &root; user:
-      </para>
-
-<screen role="root"><userinput>pip3 install --no-index --find-links dist --no-cache-dir --no-user pycryptodome</userinput></screen>
-
-    </sect3>
-
-    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
-      href="../../xincludes/pip3-cmd-explain.xml"/>
-
-    <sect3 role="content">
-      <title>Contents</title>
-
-      <segmentedlist>
-        <segtitle>Installed Programs</segtitle>
-        <segtitle>Installed Libraries</segtitle>
-        <segtitle>Installed Directories</segtitle>
-
-        <seglistitem>
-          <seg>
-            None
-          </seg>
-          <seg>
-            None
-          </seg>
-          <seg>
-            /usr/lib/python&python3-majorver;/site-packages/pycryptodome-&pycryptodome-version;.dist-info
-          </seg>
-        </seglistitem>
-      </segmentedlist>
-
-    </sect3>
-
-  </sect2>
Index: neral/prog/pygments.xml
===================================================================
--- general/prog/pygments.xml	(revision 5a8c6008bfb36c19551ab8b475981c3fb29e7926)
+++ 	(revision )
@@ -1,119 +1,0 @@
-<?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 pygments-download-http
-           "https://files.pythonhosted.org/packages/source/P/Pygments/Pygments-&pygments-version;.tar.gz">
-  <!ENTITY pygments-download-ftp " ">
-  <!ENTITY pygments-md5sum        "6ccae578d28d18968b30a4711652fd9a">
-  <!ENTITY pygments-size          "4.1 MB">
-  <!ENTITY pygments-buildsize     "49 MB">
-  <!ENTITY pygments-time          "less than 0.1 SBU">
-]>
-
- <!-- Begin Pygments -->
-  <sect2 id="pygments" xreflabel="Pygments-&pygments-version;">
-
-    <title>Pygments-&pygments-version;</title>
-
-    <indexterm zone="pygments">
-      <primary sortas="a-Pygments">Pygments</primary>
-    </indexterm>
-
-    <sect3 role="package">
-      <title>Introduction to Pygments Module</title>
-
-      <para>
-        <application>Pygments</application> is a general syntax highlighter
-        written in <application>Python</application>, for more than 300
-        languages.
-      </para>
-
-      &lfs112_checked;
-
-      <bridgehead renderas="sect4">Package Information</bridgehead>
-      <itemizedlist spacing="compact">
-        <listitem>
-          <para>
-            Download (HTTP): <ulink url="&pygments-download-http;"/>
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Download (FTP): <ulink url="&pygments-download-ftp;"/>
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Download MD5 sum: &pygments-md5sum;
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Download size: &pygments-size;
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Estimated disk space required: &pygments-buildsize;
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Estimated build time: &pygments-time;
-          </para>
-        </listitem>
-      </itemizedlist>
-
-      <para condition="html" role="usernotes">
-        User Notes: <ulink url="&blfs-wiki;/pygments"/>
-      </para>
-    </sect3>
-
-    <sect3 role="installation">
-      <title>Installation of Pygments</title>
-
-      <para>
-        Build the <application>Python 3</application> module:
-      </para>
-
-<screen><userinput>pip3 wheel -w dist --no-build-isolation --no-deps $PWD</userinput></screen>
-
-      <para>
-        To install the package run the following as the &root; user:
-      </para>
-
-<screen role="root"><userinput>pip3 install --no-index --find-links dist --no-cache-dir --no-user Pygments</userinput></screen>
-
-    </sect3>
-
-    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
-      href="../../xincludes/pip3-cmd-explain.xml"/>
-
-    <sect3 role="content">
-      <title>Contents</title>
-
-      <segmentedlist>
-        <segtitle>Installed Programs</segtitle>
-        <segtitle>Installed Library</segtitle>
-        <segtitle>Installed Directories</segtitle>
-
-        <seglistitem>
-          <seg>
-            pygmentize
-           </seg>
-          <seg>
-            None
-           </seg>
-          <seg>
-            /usr/lib/python&python3-majorver;/site-packages/pygments amd
-            /usr/lib/python&python3-majorver;/site-packages/Pygments-&pygments-version;.dist-info
-          </seg>
-        </seglistitem>
-      </segmentedlist>
-
-    </sect3>
-
-  </sect2>
Index: neral/prog/pygobject2.xml
===================================================================
--- general/prog/pygobject2.xml	(revision 5a8c6008bfb36c19551ab8b475981c3fb29e7926)
+++ 	(revision )
@@ -1,166 +1,0 @@
-<?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 pygobject2-download-http
-           "&gnome-download-http;/pygobject/2.28/pygobject-&pygobject2-version;.tar.xz">
-  <!ENTITY pygobject2-download-ftp
-           "&gnome-download-ftp;/pygobject/2.28/pygobject-&pygobject2-version;.tar.xz">
-  <!ENTITY pygobject2-md5sum        "ae48b60c690c4aa894e69e0c97802745">
-  <!ENTITY pygobject2-size          "728 KB">
-  <!ENTITY pygobject2-buildsize     "17 MB">
-  <!ENTITY pygobject2-time          "0.1 SBU">
-]>
-
-   <!-- Begin PyGObject2 -->
-  <sect2 id="pygobject2" xreflabel="PyGObject-&pygobject2-version;">
-
-    <title>PyGObject-&pygobject2-version;</title>
-
-    <indexterm zone="pygobject2">
-      <primary sortas="a-PyGObject">PyGObject</primary>
-    </indexterm>
-
-    <sect3 role="package">
-      <title>Introduction to PyGObject Module</title>
-
-      <para>
-        PyGObject-&pygobject2-version; provides
-        <application>Python 2</application> bindings to the GObject class from
-        <application>GLib</application>.
-      </para>
-
-      &lfs112_checked;
-
-      <bridgehead renderas="sect4">Package Information</bridgehead>
-      <itemizedlist spacing="compact">
-        <listitem>
-          <para>
-            Download (HTTP): <ulink url="&pygobject2-download-http;"/>
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Download (FTP): <ulink url="&pygobject2-download-ftp;"/>
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Download MD5 sum: &pygobject2-md5sum;
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Download size: &pygobject2-size;
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Estimated disk space required: &pygobject2-buildsize;
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Estimated build time: &pygobject2-time;
-          </para>
-        </listitem>
-      </itemizedlist>
-<!--
-    <bridgehead renderas="sect4">Additional Downloads</bridgehead>
-    <itemizedlist spacing="compact">
-      <listitem>
-        <para>
-          Required patch:
-          <ulink url="&patch-root;/pygobject-&pygobject2-version;-fixes-1.patch"/>
-        </para>
-      </listitem>
-    </itemizedlist>
--->
-      <bridgehead renderas="sect4">PyGObject Dependencies</bridgehead>
-
-      <bridgehead renderas="sect5">Required</bridgehead>
-      <para role="required">
-        <xref linkend="glib2"/>,
-        <xref linkend="pycairo2"/> and
-        <xref linkend="python2"/>
-      </para>
-
-      <bridgehead renderas="sect5">Optional</bridgehead>
-      <para role="optional">
-        <xref linkend="gobject-introspection"/> and
-        <xref linkend="libxslt"/> (to Build Documentation)
-      </para>
-
-      <para condition="html" role="usernotes">
-        User Notes: <ulink url="&blfs-wiki;/pygobject2"/>
-      </para>
-    </sect3>
-
-    <sect3 role="installation">
-      <title>Installation of PyGObject</title>
-
-      <para>
-        Install <application>PyGObject</application> by running the following
-        commands:
-      </para>
-
-<screen><userinput>./configure --prefix=/usr --disable-introspection &amp;&amp;
-make</userinput></screen>
-
-      <para>
-        This package does not have a working testsuite.
-      </para>
-
-      <para>
-        Now, as the <systemitem class="username">root</systemitem> user:
-      </para>
-
-<screen role="root"><userinput>make install</userinput></screen>
-    </sect3>
-
-    <sect3 role="commands">
-      <title>Command Explanations</title>
-
-      <para>
-        <option>--disable-introspection</option>: Omit this switch if you have
-        installed <xref linkend="gobject-introspection"/>. Note that it
-        conflicts with <xref linkend="pygobject3"/>.
-      </para>
-
-      <para>
-        <option>--disable-docs</option>: This option disables the rebuilding of
-        the html documentation if <xref linkend="libxslt"/> is installed.
-      </para>
-
-    </sect3>
-
-    <sect3 role="content">
-      <title>Contents</title>
-
-      <segmentedlist>
-        <segtitle>Installed Programs</segtitle>
-        <segtitle>Installed Libraries</segtitle>
-        <segtitle>Installed Directories</segtitle>
-
-        <seglistitem>
-          <seg>pygobject-codegen-2.0</seg>
-          <seg>
-            libpyglib-2.0-python.so,
-            _gio.so,
-            unix.so,
-            _glib.so and
-            _gobject.so.
-          </seg>
-          <seg>
-            /usr/include/pygtk-2.0,
-            /usr/lib/python&python2-majorver;/site-packages/gtk-2.0/{gio,glib,gobject},
-            /usr/share/gtk-doc/html/pygobject and
-            /usr/share/pygobject/2.0
-          </seg>
-        </seglistitem>
-      </segmentedlist>
-    </sect3>
-
-  </sect2>
Index: neral/prog/pygobject3.xml
===================================================================
--- general/prog/pygobject3.xml	(revision 5a8c6008bfb36c19551ab8b475981c3fb29e7926)
+++ 	(revision )
@@ -1,163 +1,0 @@
-<?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 pygobject3-download-http
-           "&gnome-download-http;/pygobject/&gnome-minor-42;/pygobject-&pygobject3-version;.tar.xz">
-  <!ENTITY pygobject3-download-ftp
-           "&gnome-download-ftp;/pygobject/&gnome-minor-42;/pygobject-&pygobject3-version;.tar.xz">
-  <!ENTITY pygobject3-md5sum        "c5b31bb58156661c0954f1dbfc950fc9">
-  <!ENTITY pygobject3-size          "548 KB">
-  <!ENTITY pygobject3-buildsize     "14 MB">
-  <!ENTITY pygobject3-time          "0.1 SBU">
-]>
-
- <!-- Begin PyGObject3 -->
-  <sect2 id="pygobject3" xreflabel="PyGObject-&pygobject3-version;">
-
-    <title>PyGObject-&pygobject3-version;</title>
-
-    <indexterm zone="pygobject3">
-      <primary sortas="a-PyGObject3">PyGObject3</primary>
-    </indexterm>
-
-    <sect3 role="package">
-      <title>Introduction to PyGObject3 Module</title>
-
-      <para>
-        <application>PyGObject3</application> provides
-        <application>Python</application> bindings to the GObject
-        class from <application>GLib</application>.
-      </para>
-
-      &lfs112_checked;
-
-      <bridgehead renderas="sect4">Package Information</bridgehead>
-      <itemizedlist spacing="compact">
-        <listitem>
-          <para>
-            Download (HTTP): <ulink url="&pygobject3-download-http;"/>
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Download (FTP): <ulink url="&pygobject3-download-ftp;"/>
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Download MD5 sum: &pygobject3-md5sum;
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Download size: &pygobject3-size;
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Estimated disk space required: &pygobject3-buildsize;
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Estimated build time: &pygobject3-time;
-          </para>
-        </listitem>
-      </itemizedlist>
-
-      <bridgehead renderas="sect4">PyGObject3 Dependencies</bridgehead>
-
-      <bridgehead renderas="sect5">Required</bridgehead>
-      <para role="required">
-        <xref linkend="gobject-introspection"/> and
-        <xref linkend="pycairo"/>
-          (<application>Python 3</application> module)
-      </para>
-
-      <bridgehead renderas="sect5">Optional (for the tests)</bridgehead>
-      <para role="optional">
-        <xref linkend="gtk4"/>,
-        <ulink url="https://pypi.python.org/pypi/pep8">pep8</ulink>,
-        <ulink url="https://pypi.python.org/pypi/pyflakes">pyflakes</ulink>, and
-        <ulink url="https://pypi.python.org/pypi/pytest">pytest</ulink>
-        <!-- pytest brings in a lot of dependencies - upwards of 10 -->
-      </para>
-
-      <para condition="html" role="usernotes">
-        User Notes: <ulink url="&blfs-wiki;/pygobject3"/>
-      </para>
-    </sect3>
-
-    <sect3 role="installation">
-      <title>Installation of PyGObject3</title>
-
-    <para>
-      First, remove a faulty test:
-    </para>
-
-<screen><userinput remap="pre">mv -v tests/test_gdbus.py{,.nouse}</userinput></screen>
-
-    <para>
-      Install <application>pygobject3</application> by running the following
-      commands:
-    </para>
-
-<screen><userinput>mkdir build &amp;&amp;
-cd    build &amp;&amp;
-
-meson --prefix=/usr --buildtype=release .. &amp;&amp;
-ninja</userinput></screen>
-
-    <para>
-      To test the results, issue: <command>ninja test</command>.
-      An already active graphical session with a bus address is necessary
-      to run the tests. <!--One test, <filename>tests/test_gdbus.py</filename>,
-      is known to fail.--> Another round of tests may report ERROR if
-      <xref linkend="gtk4" role="nodep"/> is not installed.
-    </para>
-
-    <para>
-      Now, as the <systemitem class="username">root</systemitem> user:
-    </para>
-
-<screen role="root"><userinput>ninja install</userinput></screen>
-
-    </sect3>
-
-    <sect3 role="commands">
-      <title>Command Explanations</title>
-
-      <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
-        href="../../xincludes/meson-buildtype-release.xml"/>
-    </sect3>
-
-    <sect3 role="content">
-      <title>Contents</title>
-
-      <segmentedlist>
-        <segtitle>Installed Programs</segtitle>
-        <segtitle>Installed Library</segtitle>
-        <segtitle>Installed Directories</segtitle>
-
-        <seglistitem>
-          <seg>
-            None
-           </seg>
-          <seg>
-            <!--/usr/lib/python&python2-majorver;/site-packages/gi/_gi{,_cairo}.so and/or-->
-            /usr/lib/python&python3-majorver;/site-packages/gi/_gi{,_cairo}.&python3-lib-suffix;.so
-           </seg>
-          <seg>
-            /usr/include/pygobject-3.0 and
-             <!--/usr/lib/python&python2-majorver;/site-packages/{gi,pygtkcompat} and/or-->
-            /usr/lib/python&python3-majorver;/site-packages/{gi,pygtkcompat}
-          </seg>
-        </seglistitem>
-      </segmentedlist>
-
-    </sect3>
-
-  </sect2>
Index: neral/prog/pygtk.xml
===================================================================
--- general/prog/pygtk.xml	(revision 5a8c6008bfb36c19551ab8b475981c3fb29e7926)
+++ 	(revision )
@@ -1,221 +1,0 @@
-<?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 pygtk-download-http
-           "&gnome-download-http;/pygtk/2.24/pygtk-&pygtk-version;.tar.bz2">
-  <!ENTITY pygtk-download-ftp
-           "&gnome-download-ftp;/pygtk/2.24/pygtk-&pygtk-version;.tar.bz2">
-  <!ENTITY pygtk-md5sum        "a1051d5794fd7696d3c1af6422d17a49">
-  <!ENTITY pygtk-size          "2.2 MB">
-  <!ENTITY pygtk-buildsize     "83 MB">
-  <!ENTITY pygtk-time          "0.7 SBU">
-]>
-
-   <!-- Begin PyGTK -->
-  <sect2 id="pygtk" xreflabel="PyGTK-&pygtk-version;">
-
-    <title>PyGTK-&pygtk-version;</title>
-
-    <indexterm zone="pygtk">
-      <primary sortas="a-PyGTK">PyGTK</primary>
-    </indexterm>
-
-    <sect3 role="package">
-      <title>Introduction to PyGTK Module</title>
-
-      <para>
-        PyGTK lets you to easily create programs with a graphical user interface
-        using the <application>Python</application> programming language.
-      </para>
-
-      &lfs112_checked;
-
-      <bridgehead renderas="sect4">Package Information</bridgehead>
-      <itemizedlist spacing="compact">
-        <listitem>
-          <para>
-            Download (HTTP): <ulink url="&pygtk-download-http;"/>
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Download (FTP): <ulink url="&pygtk-download-ftp;"/>
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Download MD5 sum: &pygtk-md5sum;
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Download size: &pygtk-size;
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Estimated disk space required: &pygtk-buildsize;
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Estimated build time: &pygtk-time;
-          </para>
-        </listitem>
-      </itemizedlist>
-
-      <bridgehead renderas="sect4">PyGTK Dependencies</bridgehead>
-
-      <bridgehead renderas="sect5">Required</bridgehead>
-      <para role="required">
-        <xref linkend="pygobject2"/> and
-        <xref linkend="python2"/>
-      </para>
-
-      <bridgehead renderas="sect5">Required (atk module)</bridgehead>
-      <para role="required">
-        <xref linkend="atk"/>
-      </para>
-
-      <bridgehead renderas="sect5">Required (pango module)</bridgehead>
-      <para role="required">
-        <xref linkend="pango"/>
-      </para>
-
-      <bridgehead renderas="sect5">Required (pangocairo module)</bridgehead>
-      <para role="required">
-        <xref linkend="pycairo2"/> and
-        <xref linkend="pango"/>
-      </para>
-
-      <bridgehead renderas="sect5">Required (gtk and gtk.unixprint modules)</bridgehead>
-      <para role="required">
-        <xref linkend="pycairo2"/> and
-        <xref linkend="gtk2"/>.
-      </para>
-
-      <bridgehead renderas="sect5">Required (gtk.glade module)</bridgehead>
-      <para role="required">
-        <xref linkend="pycairo2"/> and
-        <xref linkend="libglade"/>.
-      </para>
-
-      <bridgehead renderas="sect5">Optional</bridgehead>
-      <para role="optional">
-        <ulink url="https://www.numpy.org/">NumPy</ulink>
-      </para>
-
-      <bridgehead renderas="sect5">Optional (to Build Documentation)</bridgehead>
-      <para role="optional">
-        <xref linkend="libxslt"/>
-      </para>
-
-      <para condition="html" role="usernotes">
-        User Notes: <ulink url="&blfs-wiki;/pygtk"/>
-      </para>
-    </sect3>
-
-    <sect3 role="installation">
-      <title>Installation of PyGTK</title>
-
-      <para>
-         First, adapt PyGTK to changes in Pango by removing undefined
-         APIs:
-      </para>
-
-<screen><userinput remap="pre">sed -i '1394,1402 d' pango.defs</userinput></screen>
-
-      <para>
-        Install <application>PyGTK</application> by running the following
-        commands:
-      </para>
-
-<screen><userinput>./configure --prefix=/usr &amp;&amp;
-make</userinput></screen>
-
-      <para>
-        The tests must be run from an active X display. If this is so, issue:
-        <command>make check</command>.
-      </para>
-
-      <para>
-        Now, as the <systemitem class="username">root</systemitem> user:
-      </para>
-
-<screen role="root"><userinput>make install</userinput></screen>
-    </sect3>
-
-    <sect3 role="commands">
-      <title>Command Explanations</title>
-
-      <para>
-        <parameter>--enable-docs</parameter>: This option enables rebuilding the
-        html documentation if <xref linkend="libxslt"/> is installed.
-      </para>
-    </sect3>
-
-    <sect3 role="content">
-      <title>Contents</title>
-
-      <segmentedlist>
-        <segtitle>Installed Programs</segtitle>
-        <segtitle>Installed Libraries</segtitle>
-        <segtitle>Installed Directories</segtitle>
-
-        <seglistitem>
-          <seg>pygtk-codegen-2.0 and pygtk-demo.</seg>
-          <seg>
-            atk.so,
-            _gtk.so,
-            glade.so,
-            gtkunixprint.so,
-            pango.so and
-            pangocairo.so.
-          </seg>
-          <seg>
-            /usr/include/pygtk-2.0,
-            /usr/lib/pygtk,
-            /usr/lib/python&python2-majorver;/site-packages/gtk-2.0,
-            /usr/share/gtk-doc/html/pygtk and
-            /usr/share/pygtk.
-          </seg>
-        </seglistitem>
-      </segmentedlist>
-
-      <variablelist>
-        <bridgehead renderas="sect4">Short Descriptions</bridgehead>
-        <?dbfo list-presentation="list"?>
-        <?dbhtml list-presentation="table"?>
-
-        <varlistentry id="pygtk-codegen-2.0">
-          <term><command>pygtk-codegen-2.0</command></term>
-          <listitem>
-            <para>
-              is a wrapper script to run the <application>PyGTK</application>
-              codegen module
-            </para>
-            <indexterm zone="pygtk pygtk-codegen-2.0">
-              <primary sortas="b-pygtk-codegen-2.0">pygtk-codegen-2.0</primary>
-            </indexterm>
-          </listitem>
-        </varlistentry>
-
-        <varlistentry id="pygtk-demo">
-          <term><command>pygtk-demo</command></term>
-          <listitem>
-            <para>
-              is a Python wrapper to run the <application>PyGTK</application>
-              demo program
-            </para>
-            <indexterm zone="pygtk pygtk-demo">
-              <primary sortas="b-pygtk-demo">pygtk-demo</primary>
-            </indexterm>
-          </listitem>
-        </varlistentry>
-      </variablelist>
-    </sect3>
-
-  </sect2>
Index: neral/prog/python-dbusmock.xml
===================================================================
--- general/prog/python-dbusmock.xml	(revision 5a8c6008bfb36c19551ab8b475981c3fb29e7926)
+++ 	(revision )
@@ -1,124 +1,0 @@
-<?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 dbusmock-download-http "https://github.com/martinpitt/python-dbusmock/releases/download/&dbusmock-version;/python-dbusmock-&dbusmock-version;.tar.gz">
-  <!ENTITY dbusmock-download-ftp  " ">
-  <!ENTITY dbusmock-md5sum        "d2788de6da5891309158e19bf6db1bf9">
-  <!ENTITY dbusmock-size          "92 KB">
-  <!ENTITY dbusmock-buildsize     "1.0 MB">
-  <!ENTITY dbusmock-time          "less than 0.1 SBU">
-]>
-
-  <!-- Begin dbusmock -->
-  <sect2 id="python-dbusmock" xreflabel="dbusmock-&dbusmock-version;">
-
-    <title>dbusmock-&dbusmock-version;</title>
-
-    <indexterm zone="python-dbusmock">
-      <primary sortas="a-dbusmock">dbusmock</primary>
-    </indexterm>
-
-    <sect3 role="package">
-      <title>Introduction to dbusmock</title>
-
-      <para>
-        <application>dbusmock</application> is a Python library
-        useful for writing tests for software which talks to D-Bus services.
-      </para>
-
-      &lfs112_checked;
-
-      <bridgehead renderas="sect4">Package Information</bridgehead>
-      <itemizedlist spacing="compact">
-        <listitem>
-          <para>
-            Download (HTTP): <ulink url="&dbusmock-download-http;"/>
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Download (FTP): <ulink url="&dbusmock-download-ftp;"/>
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Download MD5 sum: &dbusmock-md5sum;
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Download size: &dbusmock-size;
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Estimated disk space required: &dbusmock-buildsize;
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Estimated build time: &dbusmock-time;
-          </para>
-        </listitem>
-      </itemizedlist>
-
-      <bridgehead renderas="sect4">dbusmock Dependencies</bridgehead>
-
-      <bridgehead renderas="sect5">Required</bridgehead>
-      <para role="required">
-        <xref linkend="dbus-python"/>
-      </para>
-
-      <para condition="html" role="usernotes">
-        User Notes: <ulink url="&blfs-wiki;/dbusmock"/>
-      </para>
-    </sect3>
-
-    <sect3 role="installation">
-      <title>Installation of dbusmock</title>
-
-      <para>
-        Build the package with:
-      </para>
-
-<screen><userinput>pip3 wheel -w dist --no-build-isolation --no-deps $PWD</userinput></screen>
-
-      <para>
-        To install the package run the following as the &root; user:
-      </para>
-
-<screen role="root"><userinput>pip3 install --no-index --find-links dist --no-cache-dir --no-user python-dbusmock</userinput></screen>
-
-    </sect3>
-
-    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
-      href="../../xincludes/pip3-cmd-explain.xml"/>
-
-    <sect3 role="content">
-      <title>Contents</title>
-
-      <segmentedlist>
-        <segtitle>Installed Programs</segtitle>
-        <segtitle>Installed Libraries</segtitle>
-        <segtitle>Installed Directories</segtitle>
-
-        <seglistitem>
-          <seg>
-            None
-          </seg>
-          <seg>
-            None
-          </seg>
-          <seg>
-            /usr/lib/python&python3-majorver;/site-packages/dbusmock and
-            /usr/lib/python&python3-majorver;/site-packages/python_dbusmock-&dbusmock-version;.dist-info
-          </seg>
-        </seglistitem>
-      </segmentedlist>
-
-    </sect3>
-
-  </sect2>
Index: general/prog/python-dependencies.xml
===================================================================
--- general/prog/python-dependencies.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
+++ general/prog/python-dependencies.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -0,0 +1,289 @@
+<?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;
+]>
+
+<sect1 id="python-dependencies" xreflabel="Python Dependencies">
+  <?dbhtml filename="python-dependencies.html" ?>
+
+  <sect1info>
+    <date>$Date$</date>
+  </sect1info>
+
+  <title>Python Dependencies</title>
+
+  <indexterm zone="python-dependencies">
+    <primary sortas="a-Python-Dependencies">Python Dependencies</primary>
+  </indexterm>
+
+  <sect2 role="package">
+    <title>Introduction to Python Dependencies</title>
+
+    <para>
+      Python modules listed in <xref linkend="python-modules"/> have
+      dependencies that are not referenced by other packages in BLFS.
+      These dependencies are listed here. They will not get updated on
+      regular basis, unless a more recent version is needed.
+    </para>
+
+    <important>
+      <para>
+        In BLFS, we normally build and install Python 3 modules with
+        <command>pip3</command>.  Please take care that the
+        <command>pip3 install</command> commands in the book should be
+        run as &root; unless it's for a Python virtual environment.  Running
+        <command>pip3 install</command> as a non-&root; user may seem to
+        work fine, but it will cause the installed module to be inaccessible by
+        other users.
+      </para>
+      <para>
+        <command>pip3 install</command> will not reinstall an already
+        installed module by default.  For using the
+        <command>pip3 install</command> command to upgrade a module (for
+        example, from meson-0.61.3 to meson-0.62.0), insert
+        <parameter>--upgrade</parameter> into the command line.  If it's really
+        necessary to downgrade a module or reinstall the same version for
+        some reason, insert <parameter>--force-reinstall</parameter> into
+        the command line.
+      </para>
+    </important>
+
+    <itemizedlist spacing="compact">
+      <listitem>
+        <para>
+          <xref linkend="pythonhosted"/>
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <xref linkend="alabaster"/>
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <xref linkend="attrs"/>
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <xref linkend="babel"/>
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <xref linkend="certifi"/>
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <xref linkend="charset-normalizer"/>
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <xref linkend="commonmark"/>
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <xref linkend="flit_core"/>
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <xref linkend="idna"/>
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <xref linkend="imagesize"/>
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <xref linkend="iniconfig"/>
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <xref linkend="markdown"/>
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <xref linkend="pluggy"/>
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <xref linkend="py"/>
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <xref linkend="pytz"/>
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <xref linkend="setuptools_scm"/>
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <xref linkend="smartypants"/>
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <xref linkend="snowballstemmer"/>
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <xref linkend="sc-applehelp"/>
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <xref linkend="sc-devhelp"/>
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <xref linkend="sc-htmlhelp"/>
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <xref linkend="sc-jsmath"/>
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <xref linkend="sc-qthelp"/>
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <xref linkend="sc-serializinghtml"/>
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <xref linkend="toml"/>
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <xref linkend="tomli"/>
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <xref linkend="typing_extensions"/>
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <xref linkend="typogrify"/>
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <xref linkend="urllib3"/>
+        </para>
+      </listitem>
+    </itemizedlist>
+  </sect2>
+
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="python-dependencies/pythonhosted.xml"/>
+
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="python-dependencies/alabaster.xml"/>
+
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="python-dependencies/attrs.xml"/>
+
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="python-dependencies/Babel.xml"/>
+
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="python-dependencies/certifi.xml"/>
+
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="python-dependencies/charset-normalizer.xml"/>
+
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="python-dependencies/commonmark.xml"/>
+
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="python-dependencies/flit_core.xml"/>
+
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="python-dependencies/idna.xml"/>
+
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="python-dependencies/imagesize.xml"/>
+
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="python-dependencies/iniconfig.xml"/>
+
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="python-dependencies/markdown.xml"/>
+
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="python-dependencies/pluggy.xml"/>
+
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="python-dependencies/py.xml"/>
+
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="python-dependencies/pytz.xml"/>
+
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="python-dependencies/setuptools_scm.xml"/>
+
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="python-dependencies/smartypants.xml"/>
+
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="python-dependencies/snowballstemmer.xml"/>
+
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="python-dependencies/sphinxcontrib-applehelp.xml"/>
+
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="python-dependencies/sphinxcontrib-devhelp.xml"/>
+
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="python-dependencies/sphinxcontrib-htmlhelp.xml"/>
+
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="python-dependencies/sphinxcontrib-jsmath.xml"/>
+
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="python-dependencies/sphinxcontrib-qthelp.xml"/>
+
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="python-dependencies/sphinxcontrib-serializinghtml.xml"/>
+
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="python-dependencies/toml.xml"/>
+
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="python-dependencies/tomli.xml"/>
+
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="python-dependencies/typing_extensions.xml"/>
+
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="python-dependencies/typogrify.xml"/>
+
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="python-dependencies/urllib3.xml"/>
+
+</sect1>
Index: general/prog/python-dependencies/Babel.xml
===================================================================
--- general/prog/python-dependencies/Babel.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
+++ general/prog/python-dependencies/Babel.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -0,0 +1,159 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect2 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 babel-download-http "https://files.pythonhosted.org/packages/source/B/Babel/Babel-&babel-version;.tar.gz">
+  <!ENTITY babel-download-ftp  " ">
+  <!ENTITY babel-md5sum        "809ed21b4f643167d0f6f5e936bbfbdc">
+  <!ENTITY babel-size          "8.9 MB">
+  <!ENTITY babel-buildsize     "103 MB (add 29 MB for tests)">
+  <!ENTITY babel-time          "less than 0.1 SBU (0.1 SBU for tests)">
+]>
+
+  <sect2 id="babel" xreflabel="Babel-&babel-version;">
+
+    <title>Babel-&babel-version;</title>
+
+    <indexterm zone="babel">
+      <primary sortas="a-Babel">Babel</primary>
+    </indexterm>
+
+    <sect3 role="package">
+      <title>Introduction to Babel Module</title>
+
+      <para>
+        The <application>Babel</application> package is an integrated
+        collection of utilities that assist in internationalizing and
+        localizing Python applications, with an emphasis on web-based
+        applications.
+      </para>
+
+      &lfs112_checked;
+
+      <bridgehead renderas="sect4">Package Information</bridgehead>
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>
+            Download (HTTP): <ulink url="&babel-download-http;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download (FTP): <ulink url="&babel-download-ftp;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download MD5 sum: &babel-md5sum;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download size: &babel-size;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated disk space required: &babel-buildsize;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated build time: &babel-time;
+          </para>
+        </listitem>
+      </itemizedlist>
+
+      <bridgehead renderas="sect4">Babel Dependencies</bridgehead>
+
+      <bridgehead renderas="sect5">Required</bridgehead>
+      <para role="required">
+        <xref linkend="pytz"/>
+      </para>
+
+      <bridgehead renderas="sect5">Optional (for testing)</bridgehead>
+      <para role="optional">
+        <xref linkend="pytest"/>,
+        <ulink url="https://pypi.org/project/freezegun/">freezegun</ulink>==0.3.12, and
+        <ulink url="https://pypi.org/project/pytest-cov/">pytest-cov</ulink>
+      </para>
+
+    </sect3>
+
+    <sect3 role="installation">
+      <title>Installation of Babel</title>
+    <para> Build the module: </para>
+
+<screen><userinput>pip3 wheel -w dist --no-build-isolation --no-deps $PWD</userinput></screen>
+
+    <para>
+      Now, as the <systemitem class="username">root</systemitem> user:
+    </para>
+
+<screen role="root"><userinput>pip3 install --no-index --find-links dist --no-cache-dir --no-user Babel</userinput></screen>
+
+    <para>
+      Assuming <xref linkend="pytest"/> is installed, but the other optional
+      dependencies are not, the installation can be tested with the following
+      commands:
+    </para>
+
+<screen remap="test"><userinput>python3 -m venv --system-site-packages testenv &amp;&amp;
+source testenv/bin/activate                    &amp;&amp;
+pip3 install pytest-cov freezegun==0.3.12      &amp;&amp;
+python3 /usr/bin/pytest<!-- no && because of the error -->
+deactivate</userinput></screen>
+
+    <para>
+      One test involving zh_TW locale is known to fail.
+    </para>
+
+    </sect3>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+      href="../../../xincludes/pip3-cmd-explain.xml"/>
+
+    <sect3 role="content">
+      <title>Contents</title>
+
+      <segmentedlist>
+        <segtitle>Installed Programs</segtitle>
+        <segtitle>Installed Libraries</segtitle>
+        <segtitle>Installed Directories</segtitle>
+
+        <seglistitem>
+          <seg>
+            pybabel
+          </seg>
+          <seg>None</seg>
+          <seg>
+            /usr/lib/python&python3-majorver;/site-packages/babel and
+            /usr/lib/python&python3-majorver;/site-packages/Babel-&babel-version;.dist-info
+          </seg>
+        </seglistitem>
+      </segmentedlist>
+
+      <variablelist>
+        <bridgehead renderas="sect5">Short Descriptions</bridgehead>
+        <?dbfo list-presentation="list"?>
+        <?dbhtml list-presentation="table"?>
+
+        <varlistentry id="pybabel">
+          <term><command>pybabel</command></term>
+          <listitem>
+            <para>
+              is a command-line interface for working with message
+              catalogs
+            </para>
+            <indexterm zone="babel pybabel">
+              <primary sortas="b-pybabel">pybabel</primary>
+            </indexterm>
+          </listitem>
+        </varlistentry>
+      </variablelist>
+
+    </sect3>
+
+  </sect2>
Index: general/prog/python-dependencies/alabaster.xml
===================================================================
--- general/prog/python-dependencies/alabaster.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
+++ general/prog/python-dependencies/alabaster.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -0,0 +1,112 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect2 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 alabaster-download-http "https://files.pythonhosted.org/packages/source/a/alabaster/alabaster-&alabaster-version;.tar.gz">
+  <!ENTITY alabaster-download-ftp  " ">
+  <!ENTITY alabaster-md5sum        "3591827fde96d1dd23970fb05410ed04">
+  <!ENTITY alabaster-size          "11 KB">
+  <!ENTITY alabaster-buildsize     "364 KB">
+  <!ENTITY alabaster-time          "less than 0.1 SBU">
+]>
+
+  <sect2 id="alabaster" xreflabel="alabaster-&alabaster-version;">
+
+    <title>Alabaster-&alabaster-version;</title>
+
+    <indexterm zone="alabaster">
+      <primary sortas="a-alabaster">alabaster</primary>
+    </indexterm>
+
+    <sect3 role="package">
+      <title>Introduction to Alabaster Module</title>
+
+      <para>
+        The <application>Alabaster</application> package is a theme for
+        the <application>sphinx</application> documentation system. Although
+        developed separately, it is the default theme for sphinx.
+      </para>
+
+      &lfs112_checked;
+
+      <bridgehead renderas="sect4">Package Information</bridgehead>
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>
+            Download (HTTP): <ulink url="&alabaster-download-http;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download (FTP): <ulink url="&alabaster-download-ftp;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download MD5 sum: &alabaster-md5sum;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download size: &alabaster-size;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated disk space required: &alabaster-buildsize;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated build time: &alabaster-time;
+          </para>
+        </listitem>
+      </itemizedlist>
+
+    </sect3>
+
+    <sect3 role="installation">
+      <title>Installation of Alabaster</title>
+
+    <para>Build the module: </para>
+
+<screen><userinput>pip3 wheel -w dist --no-build-isolation --no-deps $PWD</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>pip3 install --no-index --find-links dist --no-cache-dir --no-user alabaster</userinput></screen>
+
+    </sect3>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+      href="../../../xincludes/pip3-cmd-explain.xml"/>
+
+    <sect3 role="content">
+      <title>Contents</title>
+
+      <segmentedlist>
+        <segtitle>Installed Programs</segtitle>
+        <segtitle>Installed Libraries</segtitle>
+        <segtitle>Installed Directories</segtitle>
+
+        <seglistitem>
+          <seg>None</seg>
+          <seg>None</seg>
+          <seg>
+            /usr/lib/python&python3-majorver;/site-packages/alabaster and
+            /usr/lib/python&python3-majorver;/site-packages/alabaster-&alabaster-version;.dist-info
+          </seg>
+        </seglistitem>
+      </segmentedlist>
+
+    </sect3>
+
+  </sect2>
Index: general/prog/python-dependencies/attrs.xml
===================================================================
--- general/prog/python-dependencies/attrs.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
+++ general/prog/python-dependencies/attrs.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -0,0 +1,131 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect2 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 attrs-download-http "https://files.pythonhosted.org/packages/source/a/attrs/attrs-&attrs-version;.tar.gz">
+  <!ENTITY attrs-download-ftp  " ">
+  <!ENTITY attrs-md5sum        "0487081b7ead8753fc46cf7c6d1e28e3">
+  <!ENTITY attrs-size          "197 KB">
+  <!ENTITY attrs-buildsize     "1.9 MB (add 63 MB for tests)">
+  <!ENTITY attrs-time          "less than 0.1 SBU (0.7 SBU for tests)">
+]>
+
+  <sect2 id="attrs" xreflabel="attrs-&attrs-version;">
+
+    <title>Attrs-&attrs-version;</title>
+
+    <indexterm zone="attrs">
+      <primary sortas="a-attrs">attrs</primary>
+    </indexterm>
+
+    <sect3 role="package">
+      <title>Introduction to Attrs Module</title>
+
+      <para>
+        The <application>Attrs</application> package is a theme for
+        the <application>sphinx</application> documentation system. Although
+        developed separately, it is the default theme for sphinx.
+      </para>
+
+      &lfs112_checked;
+
+      <bridgehead renderas="sect4">Package Information</bridgehead>
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>
+            Download (HTTP): <ulink url="&attrs-download-http;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download (FTP): <ulink url="&attrs-download-ftp;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download MD5 sum: &attrs-md5sum;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download size: &attrs-size;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated disk space required: &attrs-buildsize;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated build time: &attrs-time;
+          </para>
+        </listitem>
+      </itemizedlist>
+
+      <bridgehead renderas="sect5">Optional (for testing)</bridgehead>
+      <para role="optional">
+        <xref linkend="pytest"/>,
+        <ulink url="https://pypi.org/project/coverage/">coverage[toml]</ulink>,
+        <ulink url="https://pypi.org/project/hypothesis/">hypothesis</ulink>,
+        <ulink url="https://pypi.org/project/Pympler/">Pympler</ulink>,
+        <ulink url="https://pypi.org/project/mypy/">mypy</ulink>,
+        <ulink url="https://pypi.org/project/pytest-mypy-plugins/">pytest-mypy-plugins</ulink>,
+        <ulink url="https://pypi.org/project/zope.interface/">zope.interface</ulink>, and
+        <ulink url="https://pypi.org/project/cloudpickle/">cloudpickle</ulink>
+      </para>
+
+    </sect3>
+
+    <sect3 role="installation">
+      <title>Installation of Attrs</title>
+
+    <para>Build the module: </para>
+
+<screen><userinput>pip3 wheel -w dist --no-build-isolation --no-deps $PWD</userinput></screen>
+
+    <para>
+      Now, as the <systemitem class="username">root</systemitem> user:
+    </para>
+
+<screen role="root"><userinput>pip3 install --no-index --find-links dist --no-cache-dir --no-user attrs</userinput></screen>
+
+    <para>
+      To test the installation, run:
+    </para>
+
+<screen remap="test"><userinput>python3 -m venv --system-site-packages testenv &amp;&amp;
+source testenv/bin/activate                    &amp;&amp;
+pip3 install attrs[tests]                      &amp;&amp;
+python3 /usr/bin/pytest tests                  &amp;&amp;
+deactivate</userinput></screen>
+
+    </sect3>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+      href="../../../xincludes/pip3-cmd-explain.xml"/>
+
+    <sect3 role="content">
+      <title>Contents</title>
+
+      <segmentedlist>
+        <segtitle>Installed Programs</segtitle>
+        <segtitle>Installed Libraries</segtitle>
+        <segtitle>Installed Directories</segtitle>
+
+        <seglistitem>
+          <seg>None</seg>
+          <seg>None</seg>
+          <seg>
+            /usr/lib/python&python3-majorver;/site-packages/attr,
+            /usr/lib/python&python3-majorver;/site-packages/attrs, and
+            /usr/lib/python&python3-majorver;/site-packages/attrs-&attrs-version;.dist-info
+          </seg>
+        </seglistitem>
+      </segmentedlist>
+
+    </sect3>
+
+  </sect2>
Index: general/prog/python-dependencies/certifi.xml
===================================================================
--- general/prog/python-dependencies/certifi.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
+++ general/prog/python-dependencies/certifi.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect2 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 certifi-download-http "https://files.pythonhosted.org/packages/source/c/certifi/certifi-&certifi-version;.tar.gz">
+  <!ENTITY certifi-download-ftp  " ">
+  <!ENTITY certifi-md5sum        "ff9c8d5c7e7fb083de6b874609c5ca68">
+  <!ENTITY certifi-size          "159 KB">
+  <!ENTITY certifi-buildsize     "1.2 MB">
+  <!ENTITY certifi-time          "less than 0.1 SBU">
+]>
+
+  <sect2 id="certifi" xreflabel="Certifi-&certifi-version;">
+
+    <title>Certifi-&certifi-version;</title>
+
+    <indexterm zone="certifi">
+      <primary sortas="a-certifi">certifi</primary>
+    </indexterm>
+
+    <sect3 role="package">
+      <title>Introduction to Certifi Module</title>
+
+      <para>
+        The <application>Certifi</application> module provides Mozilla's
+        carefully curated collection of Root Certificates for validating
+        the trustworthiness of SSL certificates while verifying the identity
+        of TLS hosts.
+      </para>
+
+      &lfs112_checked;
+
+      <bridgehead renderas="sect4">Package Information</bridgehead>
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>
+            Download (HTTP): <ulink url="&certifi-download-http;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download (FTP): <ulink url="&certifi-download-ftp;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download MD5 sum: &certifi-md5sum;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download size: &certifi-size;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated disk space required: &certifi-buildsize;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated build time: &certifi-time;
+          </para>
+        </listitem>
+      </itemizedlist>
+
+    </sect3>
+
+    <sect3 role="installation">
+      <title>Installation of Certifi</title>
+
+    <para> Build the module: </para>
+
+<screen><userinput>pip3 wheel -w dist --no-build-isolation --no-deps $PWD</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>pip3 install --no-index --find-links dist --no-cache-dir --no-user certifi</userinput></screen>
+
+    </sect3>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+      href="../../../xincludes/pip3-cmd-explain.xml"/>
+
+    <sect3 role="content">
+      <title>Contents</title>
+
+      <segmentedlist>
+        <segtitle>Installed Programs</segtitle>
+        <segtitle>Installed Libraries</segtitle>
+        <segtitle>Installed Directories</segtitle>
+
+        <seglistitem>
+          <seg>None</seg>
+          <seg>None</seg>
+          <seg>
+            /usr/lib/python&python3-majorver;/site-packages/certifi and
+            /usr/lib/python&python3-majorver;/site-packages/certifi-&certifi-version;.dist-info
+          </seg>
+        </seglistitem>
+      </segmentedlist>
+
+    </sect3>
+
+  </sect2>
Index: general/prog/python-dependencies/charset-normalizer.xml
===================================================================
--- general/prog/python-dependencies/charset-normalizer.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
+++ general/prog/python-dependencies/charset-normalizer.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -0,0 +1,146 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect2 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 charset-normalizer-download-http "https://files.pythonhosted.org/packages/source/c/charset-normalizer/charset-normalizer-&charset-normalizer-version;.tar.gz">
+  <!ENTITY charset-normalizer-download-ftp  " ">
+  <!ENTITY charset-normalizer-md5sum        "a70f9fc85b6b8265c982eca6fe51381f">
+  <!ENTITY charset-normalizer-size          "80 KB">
+  <!ENTITY charset-normalizer-buildsize     "1.1 MB (add 27 MB for tests)">
+  <!ENTITY charset-normalizer-time          "less than 0.1 SBU (with tests)">
+]>
+
+  <sect2 id="charset-normalizer" xreflabel="charset-normalizer-&charset-normalizer-version;">
+
+    <title>Charset-normalizer-&charset-normalizer-version;</title>
+
+    <indexterm zone="charset-normalizer">
+      <primary sortas="a-charset-normalizer">charset-normalizer</primary>
+    </indexterm>
+
+    <sect3 role="package">
+      <title>Introduction to charset-normalizer Module</title>
+
+      <para>
+        The <application>charset-normalizer</application> library helps
+        reading text from an unknown character encoding.
+      </para>
+
+      &lfs112_checked;
+
+      <bridgehead renderas="sect4">Package Information</bridgehead>
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>
+            Download (HTTP): <ulink url="&charset-normalizer-download-http;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download (FTP): <ulink url="&charset-normalizer-download-ftp;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download MD5 sum: &charset-normalizer-md5sum;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download size: &charset-normalizer-size;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated disk space required: &charset-normalizer-buildsize;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated build time: &charset-normalizer-time;
+          </para>
+        </listitem>
+      </itemizedlist>
+
+      <bridgehead renderas="sect4">Charset-normalizer Dependencies</bridgehead>
+
+      <bridgehead renderas="sect5">Optional (for testing)</bridgehead>
+      <para role="optional">
+        <xref linkend="pytest"/> and
+        <ulink url="https://pypi.org/project/pytest-cov/">pytest-cov</ulink>
+      </para>
+
+    </sect3>
+
+    <sect3 role="installation">
+      <title>Installation of Charset-normalizer</title>
+
+    <para> Build the module: </para>
+
+<screen><userinput>pip3 wheel -w dist --no-build-isolation --no-deps $PWD</userinput></screen>
+
+    <para>
+      Now, as the <systemitem class="username">root</systemitem> user:
+    </para>
+
+<screen role="root"><userinput>pip3 install --no-index --find-links dist --no-cache-dir --no-user charset-normalizer</userinput></screen>
+
+    <para>
+      Assuming <xref linkend="pytest"/> is installed, but the other optional
+      dependencies are not, the installation can be tested with the following
+      commands:
+    </para>
+
+<screen remap="test"><userinput>python3 -m venv --system-site-packages testenv &amp;&amp;
+source testenv/bin/activate                    &amp;&amp;
+pip3 install pytest-cov                        &amp;&amp;
+python3 /usr/bin/pytest<!-- no && because of a possible error -->
+deactivate</userinput></screen>
+
+    </sect3>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+      href="../../../xincludes/pip3-cmd-explain.xml"/>
+
+    <sect3 role="content">
+      <title>Contents</title>
+
+      <segmentedlist>
+        <segtitle>Installed Programs</segtitle>
+        <segtitle>Installed Libraries</segtitle>
+        <segtitle>Installed Directories</segtitle>
+
+        <seglistitem>
+          <seg>normalizer</seg>
+          <seg>None</seg>
+          <seg>
+            /usr/lib/python&python3-majorver;/site-packages/charset_normalizer and
+            /usr/lib/python&python3-majorver;/site-packages/charset_normalizer-&charset-normalizer-version;.dist-info
+          </seg>
+        </seglistitem>
+      </segmentedlist>
+
+      <variablelist>
+        <bridgehead renderas="sect5">Short Descriptions</bridgehead>
+        <?dbfo list-presentation="list"?>
+        <?dbhtml list-presentation="table"?>
+
+        <varlistentry id="normalizer">
+          <term><command>normalizer</command></term>
+          <listitem>
+            <para>
+              is a Universal Charset Detector (discovers originating encoding
+              and normalizes text to unicode)
+            </para>
+            <indexterm zone="charset-normalizer normalizer">
+              <primary sortas="b-normalizer">normalizer</primary>
+            </indexterm>
+          </listitem>
+        </varlistentry>
+
+      </variablelist>
+    </sect3>
+
+  </sect2>
Index: general/prog/python-dependencies/commonmark.xml
===================================================================
--- general/prog/python-dependencies/commonmark.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
+++ general/prog/python-dependencies/commonmark.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -0,0 +1,148 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect2 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 commonmark-download-http "https://files.pythonhosted.org/packages/source/c/commonmark/commonmark-&commonmark-version;.tar.gz">
+  <!ENTITY commonmark-download-ftp  " ">
+  <!ENTITY commonmark-md5sum        "cd1dc70c4714d9ed4117a40490c25e00">
+  <!ENTITY commonmark-size          "94 KB">
+  <!ENTITY commonmark-buildsize     "1.3 MB (add 30 MB for tests)">
+  <!ENTITY commonmark-time          "less than 0.1 SBU (0.1 SBU for tests)">
+]>
+
+  <sect2 id="commonmark" xreflabel="commonmark-&commonmark-version;">
+
+    <title>Commonmark-&commonmark-version;</title>
+
+    <indexterm zone="commonmark">
+      <primary sortas="a-commonmark">commonmark</primary>
+    </indexterm>
+
+    <sect3 role="package">
+      <title>Introduction to Commonmark Module</title>
+
+      <para>
+        <application>Commonmark</application> Python parser for the CommonMark
+        Markdown specification.
+      </para>
+
+      &lfs112_checked;
+
+      <bridgehead renderas="sect4">Package Information</bridgehead>
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>
+            Download (HTTP): <ulink url="&commonmark-download-http;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download (FTP): <ulink url="&commonmark-download-ftp;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download MD5 sum: &commonmark-md5sum;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download size: &commonmark-size;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated disk space required: &commonmark-buildsize;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated build time: &commonmark-time;
+          </para>
+        </listitem>
+      </itemizedlist>
+
+      <bridgehead renderas="sect4">Commonmark Dependencies</bridgehead>
+
+      <bridgehead renderas="sect5">Optional (for testing)</bridgehead>
+      <para role="optional">
+        <xref linkend="pytest"/>,
+        <ulink url="https://pypi.org/project/flake8/">flake8</ulink>, and
+        <ulink url="https://pypi.org/project/hypothesis/">hypothesis</ulink>
+      </para>
+
+
+    </sect3>
+
+    <sect3 role="installation">
+      <title>Installation of Commonmark</title>
+
+    <para> Build the module: </para>
+
+<screen><userinput>pip3 wheel -w dist --no-build-isolation --no-deps $PWD</userinput></screen>
+
+    <para>
+      Now, as the <systemitem class="username">root</systemitem> user:
+    </para>
+
+<screen role="root"><userinput>pip3 install --no-index --find-links dist --no-cache-dir --no-user commonmark</userinput></screen>
+
+    <para>
+      Assuming <xref linkend="pytest"/> is installed and the other optional
+      dependency is not, the installation can be tested with:
+    </para>
+
+<screen remap="test"><userinput>python3 -m venv --system-site-packages testenv &amp;&amp;
+source testenv/bin/activate                    &amp;&amp;
+pip3 install hypothesis                        &amp;&amp;
+python3 /usr/bin/pytest commonmark/tests/unit_tests.py<!-- no && because of a possible error -->
+python3 commonmark/tests/run_spec_tests.py
+deactivate</userinput></screen>
+
+    </sect3>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+      href="../../../xincludes/pip3-cmd-explain.xml"/>
+
+    <sect3 role="content">
+      <title>Contents</title>
+
+      <segmentedlist>
+        <segtitle>Installed Programs</segtitle>
+        <segtitle>Installed Libraries</segtitle>
+        <segtitle>Installed Directories</segtitle>
+
+        <seglistitem>
+          <seg>cmark</seg>
+          <seg>None</seg>
+          <seg>
+            /usr/lib/python&python3-majorver;/site-packages/commonmark and
+            /usr/lib/python&python3-majorver;/site-packages/commonmark-&commonmark-version;.dist-info
+          </seg>
+        </seglistitem>
+      </segmentedlist>
+
+      <variablelist>
+        <bridgehead renderas="sect3">Short Descriptions</bridgehead>
+        <?dbfo list-presentation="list"?>
+        <?dbhtml list-presentation="table"?>
+
+        <varlistentry id="cmark">
+          <term><command>cmark</command></term>
+          <listitem>
+            <para>
+              processes Markdown according to the CommonMark specification
+            </para>
+            <indexterm zone="commonmark cmark">
+              <primary sortas="b-cmark">cmark</primary>
+            </indexterm>
+          </listitem>
+        </varlistentry>
+
+      </variablelist>
+
+    </sect3>
+
+  </sect2>
Index: general/prog/python-dependencies/flit_core.xml
===================================================================
--- general/prog/python-dependencies/flit_core.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
+++ general/prog/python-dependencies/flit_core.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -0,0 +1,130 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect2 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 flit_core-download-http "https://files.pythonhosted.org/packages/source/f/flit_core/flit_core-&flit_core-version;.tar.gz">
+  <!ENTITY flit_core-download-ftp  " ">
+  <!ENTITY flit_core-md5sum        "4a4791e97f3a8c9a1645064a35636ee6">
+  <!ENTITY flit_core-size          "39 KB">
+  <!ENTITY flit_core-buildsize     "1.7 MB (add 25 MB for tests)">
+  <!ENTITY flit_core-time          "less than 0.1 SBU (with tests)">
+]>
+
+  <sect2 id="flit_core" xreflabel="flit_core-&flit_core-version;">
+
+    <title>Flit_core-&flit_core-version;</title>
+
+    <indexterm zone="flit_core">
+      <primary sortas="a-flit_core">flit_core</primary>
+    </indexterm>
+
+    <sect3 role="package">
+      <title>Introduction to Flit_core Module</title>
+
+      <para>
+        The <application>Flit_core</application> module is the key component
+        of the <application>Flit</application> system, which provides a
+        simple way to put Python packages and modules on PyPi.
+      </para>
+
+      &lfs112_checked;
+
+      <bridgehead renderas="sect4">Package Information</bridgehead>
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>
+            Download (HTTP): <ulink url="&flit_core-download-http;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download (FTP): <ulink url="&flit_core-download-ftp;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download MD5 sum: &flit_core-md5sum;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download size: &flit_core-size;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated disk space required: &flit_core-buildsize;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated build time: &flit_core-time;
+          </para>
+        </listitem>
+      </itemizedlist>
+
+      <bridgehead renderas="sect4">Flit_core Dependencies</bridgehead>
+
+      <bridgehead renderas="sect5">Optional (for testing)</bridgehead>
+      <para role="optional">
+        <xref linkend="pytest"/> and
+        <ulink url="https://pypi.org/project/testpath/">testpath</ulink>
+      </para>
+
+    </sect3>
+
+    <sect3 role="installation">
+      <title>Installation of Flit_core</title>
+
+      <para>
+        Build the module:
+      </para>
+
+<screen><userinput>pip3 wheel -w dist --no-build-isolation --no-deps $PWD</userinput></screen>
+
+    <para>
+      Now, as the <systemitem class="username">root</systemitem> user:
+    </para>
+
+<screen role="root"><userinput>pip3 install --no-index --find-links dist --no-cache-dir --no-user flit_core</userinput></screen>
+
+    <para>
+      Assuming <xref linkend="pytest"/> is installed, but the other optional
+      dependency is not, the installation can be tested with the following
+      commands:
+    </para>
+
+<screen remap="test"><userinput>python3 -m venv --system-site-packages testenv &amp;&amp;
+source testenv/bin/activate                    &amp;&amp;
+pip3 install testpath                          &amp;&amp;
+python3 /usr/bin/pytest<!-- no && in case there is an error -->
+deactivate</userinput></screen>
+
+    </sect3>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+      href="../../../xincludes/pip3-cmd-explain.xml"/>
+
+    <sect3 role="content">
+      <title>Contents</title>
+
+      <segmentedlist>
+        <segtitle>Installed Programs</segtitle>
+        <segtitle>Installed Libraries</segtitle>
+        <segtitle>Installed Directories</segtitle>
+
+        <seglistitem>
+          <seg>None</seg>
+          <seg>None</seg>
+          <seg>
+            /usr/lib/python&python3-majorver;/site-packages/flit_core and
+            /usr/lib/python&python3-majorver;/site-packages/flit_core-&flit_core-version;.dist-info
+          </seg>
+        </seglistitem>
+      </segmentedlist>
+
+    </sect3>
+
+  </sect2>
Index: general/prog/python-dependencies/idna.xml
===================================================================
--- general/prog/python-dependencies/idna.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
+++ general/prog/python-dependencies/idna.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -0,0 +1,124 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect2 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 idna-download-http "https://files.pythonhosted.org/packages/source/i/idna/idna-&idna-version;.tar.gz">
+  <!ENTITY idna-download-ftp  " ">
+  <!ENTITY idna-md5sum        "13ea24e076212b6baae1135a116d1e0e">
+  <!ENTITY idna-size          "179 KB">
+  <!ENTITY idna-buildsize     "2.1 MB (with test)">
+  <!ENTITY idna-time          "less than 0.1 SBU (with tests)">
+]>
+
+  <sect2 id="idna" xreflabel="idna-&idna-version;">
+
+    <title>Idna-&idna-version;</title>
+
+    <indexterm zone="idna">
+      <primary sortas="a-idna">idna</primary>
+    </indexterm>
+
+    <sect3 role="package">
+      <title>Introduction to Idna Module</title>
+
+      <para>
+        The <application>Idna</application> module provides support
+        for the Internationalized Domain Names in Applications (IDNA) protocol
+        as specified in RFC 5891.
+      </para>
+
+      &lfs112_checked;
+
+      <bridgehead renderas="sect4">Package Information</bridgehead>
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>
+            Download (HTTP): <ulink url="&idna-download-http;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download (FTP): <ulink url="&idna-download-ftp;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download MD5 sum: &idna-md5sum;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download size: &idna-size;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated disk space required: &idna-buildsize;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated build time: &idna-time;
+          </para>
+        </listitem>
+      </itemizedlist>
+
+      <bridgehead renderas="sect4">Idna Dependencies</bridgehead>
+
+      <bridgehead renderas="sect5">Required</bridgehead>
+      <para role="required">
+        <xref linkend="flit_core"/>
+      </para>
+
+      <bridgehead renderas="sect5">Optional (for testing)</bridgehead>
+      <para role="optional">
+        <xref linkend="pytest"/>
+      </para>
+
+    </sect3>
+
+    <sect3 role="installation">
+      <title>Installation of Idna</title>
+
+    <para> Build the module: </para>
+
+<screen><userinput>pip3 wheel -w dist --no-build-isolation --no-deps $PWD</userinput></screen>
+
+    <para>
+      Now, as the <systemitem class="username">root</systemitem> user:
+    </para>
+
+<screen role="root"><userinput>pip3 install --no-index --find-links dist --no-cache-dir --no-user idna</userinput></screen>
+
+    <para>
+      To test the installation, run <command>pytest</command>.
+    </para>
+
+    </sect3>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+      href="../../../xincludes/pip3-cmd-explain.xml"/>
+
+    <sect3 role="content">
+      <title>Contents</title>
+
+      <segmentedlist>
+        <segtitle>Installed Programs</segtitle>
+        <segtitle>Installed Libraries</segtitle>
+        <segtitle>Installed Directories</segtitle>
+
+        <seglistitem>
+          <seg>None</seg>
+          <seg>None</seg>
+          <seg>
+            /usr/lib/python&python3-majorver;/site-packages/idna and
+            /usr/lib/python&python3-majorver;/site-packages/idna-&idna-version;.dist-info
+          </seg>
+        </seglistitem>
+      </segmentedlist>
+
+    </sect3>
+
+  </sect2>
Index: general/prog/python-dependencies/imagesize.xml
===================================================================
--- general/prog/python-dependencies/imagesize.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
+++ general/prog/python-dependencies/imagesize.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -0,0 +1,119 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect2 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 imagesize-download-http "https://files.pythonhosted.org/packages/source/i/imagesize/imagesize-&imagesize-version;.tar.gz">
+  <!ENTITY imagesize-download-ftp  " ">
+  <!ENTITY imagesize-md5sum        "5a40586a25c07e1a8f16f6267252c321">
+  <!ENTITY imagesize-size          "1.2 MB">
+  <!ENTITY imagesize-buildsize     "1.8 MB (with tests)">
+  <!ENTITY imagesize-time          "less than 0.1 SBU (with tests)">
+]>
+
+  <sect2 id="imagesize" xreflabel="imagesize-&imagesize-version;">
+
+    <title>Imagesize-&imagesize-version;</title>
+
+    <indexterm zone="imagesize">
+      <primary sortas="a-imagesize">imagesize</primary>
+    </indexterm>
+
+    <sect3 role="package">
+      <title>Introduction to Imagesize Module</title>
+
+      <para>
+        The <application>imagesize</application> package analyzes image file
+        headers and returns the image size and DPI. It works with
+        JPEG/JPEG 2000/PNG/GIF/TIFF/SVG/Netpbm/WebP formats.
+      </para>
+
+      &lfs112_checked;
+
+      <bridgehead renderas="sect4">Package Information</bridgehead>
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>
+            Download (HTTP): <ulink url="&imagesize-download-http;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download (FTP): <ulink url="&imagesize-download-ftp;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download MD5 sum: &imagesize-md5sum;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download size: &imagesize-size;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated disk space required: &imagesize-buildsize;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated build time: &imagesize-time;
+          </para>
+        </listitem>
+      </itemizedlist>
+
+      <bridgehead renderas="sect4">Imagesize Dependencies</bridgehead>
+
+      <bridgehead renderas="sect5">Optional (for testing)</bridgehead>
+      <para role="optional">
+        <xref linkend="pytest"/>
+      </para>
+
+    </sect3>
+
+    <sect3 role="installation">
+      <title>Installation of Imagesize</title>
+
+    <para> Build the module: </para>
+
+<screen><userinput>pip3 wheel -w dist --no-build-isolation --no-deps $PWD</userinput></screen>
+
+    <para>
+      Now, as the <systemitem class="username">root</systemitem> user:
+    </para>
+
+<screen role="root"><userinput>pip3 install --no-index --find-links dist --no-cache-dir --no-user imagesize</userinput></screen>
+
+    <para>
+      To test the installation, run <command>pytest</command>.
+    </para>
+
+    </sect3>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+      href="../../../xincludes/pip3-cmd-explain.xml"/>
+
+    <sect3 role="content">
+      <title>Contents</title>
+
+      <segmentedlist>
+        <segtitle>Installed Programs</segtitle>
+        <segtitle>Installed Libraries</segtitle>
+        <segtitle>Installed Directories</segtitle>
+
+        <seglistitem>
+          <seg>None</seg>
+          <seg>None</seg>
+          <seg>
+            /usr/lib/python&python3-majorver;/site-packages/imagesize and
+            /usr/lib/python&python3-majorver;/site-packages/imagesize-&imagesize-version;.dist-info
+          </seg>
+        </seglistitem>
+      </segmentedlist>
+
+    </sect3>
+
+  </sect2>
Index: general/prog/python-dependencies/iniconfig.xml
===================================================================
--- general/prog/python-dependencies/iniconfig.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
+++ general/prog/python-dependencies/iniconfig.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect2 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 iniconfig-download-http "https://files.pythonhosted.org/packages/source/i/iniconfig/iniconfig-&iniconfig-version;.tar.gz">
+  <!ENTITY iniconfig-download-ftp  " ">
+  <!ENTITY iniconfig-md5sum        "0b7f3be87481211c183eae095bcea6f1">
+  <!ENTITY iniconfig-size          "7.9 KB">
+  <!ENTITY iniconfig-buildsize     "340 KB (with tests)">
+  <!ENTITY iniconfig-time          "less than 0.1 SBU (with tests)">
+]>
+
+  <sect2 id="iniconfig" xreflabel="iniconfig-&iniconfig-version;">
+
+    <title>Iniconfig-&iniconfig-version;</title>
+
+    <indexterm zone="iniconfig">
+      <primary sortas="a-iniconfig">iniconfig</primary>
+    </indexterm>
+
+    <sect3 role="package">
+      <title>Introduction to Iniconfig Module</title>
+
+      <para>
+        <application>Iniconfig</application> is a small and simple
+        INI-file parser module.
+      </para>
+
+      &lfs112_checked;
+
+      <bridgehead renderas="sect4">Package Information</bridgehead>
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>
+            Download (HTTP): <ulink url="&iniconfig-download-http;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download (FTP): <ulink url="&iniconfig-download-ftp;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download MD5 sum: &iniconfig-md5sum;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download size: &iniconfig-size;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated disk space required: &iniconfig-buildsize;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated build time: &iniconfig-time;
+          </para>
+        </listitem>
+      </itemizedlist>
+
+      <bridgehead renderas="sect4">Iniconfig Dependencies</bridgehead>
+
+      <bridgehead renderas="sect5">Recommended</bridgehead>
+      <para role="recommended">
+        <xref linkend="setuptools_scm"/>
+      </para>
+
+      <bridgehead renderas="sect5">Optional (for testing)</bridgehead>
+      <para role="optional">
+        <xref linkend="pytest"/>
+      </para>
+
+    </sect3>
+
+    <sect3 role="installation">
+      <title>Installation of Iniconfig</title>
+
+    <para>Build the module: </para>
+
+<screen><userinput>pip3 wheel -w dist --no-build-isolation --no-deps $PWD</userinput></screen>
+
+    <para>
+      Now, as the <systemitem class="username">root</systemitem> user:
+    </para>
+
+<screen role="root"><userinput>pip3 install --no-index --find-links dist --no-cache-dir --no-user iniconfig</userinput></screen>
+
+    <para>
+      To test the installation, run <command>pytest</command>.
+    </para>
+
+    </sect3>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+      href="../../../xincludes/pip3-cmd-explain.xml"/>
+
+    <sect3 role="content">
+      <title>Contents</title>
+
+      <segmentedlist>
+        <segtitle>Installed Programs</segtitle>
+        <segtitle>Installed Libraries</segtitle>
+        <segtitle>Installed Directories</segtitle>
+
+        <seglistitem>
+          <seg>None</seg>
+          <seg>None</seg>
+          <seg>
+            /usr/lib/python&python3-majorver;/site-packages/iniconfig and
+            /usr/lib/python&python3-majorver;/site-packages/iniconfig-&iniconfig-version;.dist-info
+          </seg>
+        </seglistitem>
+      </segmentedlist>
+
+    </sect3>
+
+  </sect2>
Index: general/prog/python-dependencies/markdown.xml
===================================================================
--- general/prog/python-dependencies/markdown.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
+++ general/prog/python-dependencies/markdown.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -0,0 +1,148 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect2 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 markdown-download-http "https://files.pythonhosted.org/packages/source/M/Markdown/Markdown-&markdown-version;.tar.gz">
+  <!ENTITY markdown-download-ftp  " ">
+  <!ENTITY markdown-md5sum        "597656cf4feadf1998b0511201620202">
+  <!ENTITY markdown-size          "315 KB">
+  <!ENTITY markdown-buildsize     "4.1 MB (add 27 MB for tests)">
+  <!ENTITY markdown-time          "less than 0.1 SBU (with tests)">
+]>
+
+  <sect2 id="markdown" xreflabel="Markdown-&markdown-version;">
+
+    <title>Markdown-&markdown-version;</title>
+
+    <indexterm zone="markdown">
+      <primary sortas="a-Markdown">Markdown</primary>
+    </indexterm>
+
+    <sect3 role="package">
+      <title>Introduction to Markdown Module</title>
+
+      <para>
+        <application>Markdown</application> is a Python parser for
+        John Gruber's Markdown specification.
+      </para>
+
+      &lfs112_checked;
+
+      <bridgehead renderas="sect4">Package Information</bridgehead>
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>
+            Download (HTTP): <ulink url="&markdown-download-http;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download (FTP): <ulink url="&markdown-download-ftp;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download MD5 sum: &markdown-md5sum;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download size: &markdown-size;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated disk space required: &markdown-buildsize;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated build time: &markdown-time;
+          </para>
+        </listitem>
+      </itemizedlist>
+
+      <bridgehead renderas="sect4">Markdown Dependencies</bridgehead>
+
+      <bridgehead renderas="sect5">Optional (for testing)</bridgehead>
+      <para role="optional">
+        <xref linkend="pytest"/>,
+        <xref linkend="PyYAML"/>, and
+        <ulink url="https://pypi.org/project/coverage/">coverage</ulink>
+      </para>
+
+
+    </sect3>
+
+    <sect3 role="installation">
+      <title>Installation of Markdown</title>
+
+    <para> Build the module: </para>
+
+<screen><userinput>pip3 wheel -w dist --no-build-isolation --no-deps $PWD</userinput></screen>
+
+    <para>
+      Now, as the <systemitem class="username">root</systemitem> user:
+    </para>
+
+<screen role="root"><userinput>pip3 install --no-index --find-links dist --no-cache-dir --no-user Markdown</userinput></screen>
+
+    <para>
+      Assuming <xref linkend="pytest"/> and <xref linkend="PyYAML"/> are
+      installed and the other optional dependency is not, the installation
+      can be tested with:
+    </para>
+
+<screen remap="test"><userinput>python3 -m venv --system-site-packages testenv &amp;&amp;
+source testenv/bin/activate                    &amp;&amp;
+pip3 install coverage                          &amp;&amp;
+python3 /usr/bin/pytest --ignore=tests/test_syntax/extensions/test_md_in_html.py<!-- no && because of a possible error -->
+deactivate</userinput></screen>
+
+    </sect3>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+      href="../../../xincludes/pip3-cmd-explain.xml"/>
+
+    <sect3 role="content">
+      <title>Contents</title>
+
+      <segmentedlist>
+        <segtitle>Installed Programs</segtitle>
+        <segtitle>Installed Libraries</segtitle>
+        <segtitle>Installed Directories</segtitle>
+
+        <seglistitem>
+          <seg>markdown_py</seg>
+          <seg>None</seg>
+          <seg>
+            /usr/lib/python&python3-majorver;/site-packages/markdown and
+            /usr/lib/python&python3-majorver;/site-packages/Markdown-&markdown-version;.dist-info
+          </seg>
+        </seglistitem>
+      </segmentedlist>
+
+      <variablelist>
+        <bridgehead renderas="sect3">Short Descriptions</bridgehead>
+        <?dbfo list-presentation="list"?>
+        <?dbhtml list-presentation="table"?>
+
+        <varlistentry id="markdown_py">
+          <term><command>markdown_py</command></term>
+          <listitem>
+            <para>
+              converts markdown files to (x)html
+            </para>
+            <indexterm zone="markdown markdown_py">
+              <primary sortas="b-markdown_py">markdown_py</primary>
+            </indexterm>
+          </listitem>
+        </varlistentry>
+
+      </variablelist>
+
+    </sect3>
+
+  </sect2>
Index: general/prog/python-dependencies/pluggy.xml
===================================================================
--- general/prog/python-dependencies/pluggy.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
+++ general/prog/python-dependencies/pluggy.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -0,0 +1,136 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect2 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 pluggy-download-http "https://files.pythonhosted.org/packages/source/p/pluggy/pluggy-&pluggy-version;.tar.gz">
+  <!ENTITY pluggy-download-ftp  " ">
+  <!ENTITY pluggy-md5sum        "daa6fddfb6cd364f3c82e52098911e4b">
+  <!ENTITY pluggy-size          "50 KB">
+  <!ENTITY pluggy-buildsize     "636 KB (add 26 MB for tests)">
+  <!ENTITY pluggy-time          "less than 0.1 SBU (with tests)">
+]>
+
+  <sect2 id="pluggy" xreflabel="pluggy-&pluggy-version;">
+
+    <title>Pluggy-&pluggy-version;</title>
+
+    <indexterm zone="pluggy">
+      <primary sortas="a-pluggy">pluggy</primary>
+    </indexterm>
+
+    <sect3 role="package">
+      <title>Introduction to Pluggy Module</title>
+
+      <para>
+        The <application>Pluggy</application> package gives users the ability
+        to extend or modify the behaviour of a host program by installing a
+        plugin for that program. The plugin code will run as part of normal
+        program execution, changing or enhancing certain aspects of it. In
+        essence, <application>pluggy</application> enables function hooking
+        so a user can build <quote>pluggable</quote> systems.
+      </para>
+
+      &lfs112_checked;
+
+      <bridgehead renderas="sect4">Package Information</bridgehead>
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>
+            Download (HTTP): <ulink url="&pluggy-download-http;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download (FTP): <ulink url="&pluggy-download-ftp;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download MD5 sum: &pluggy-md5sum;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download size: &pluggy-size;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated disk space required: &pluggy-buildsize;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated build time: &pluggy-time;
+          </para>
+        </listitem>
+      </itemizedlist>
+
+      <bridgehead renderas="sect4">Pluggy Dependencies</bridgehead>
+
+      <bridgehead renderas="sect5">Recommended</bridgehead>
+      <para role="recommended">
+        <xref linkend="setuptools_scm"/>
+      </para>
+
+      <bridgehead renderas="sect5">Optional (for testing)</bridgehead>
+      <para role="optional">
+        <xref linkend="pytest"/> and
+        <ulink url="https://pypi.org/project/pytest-benchmark/">pytest-benchmark</ulink>
+      </para>
+
+    </sect3>
+
+    <sect3 role="installation">
+      <title>Installation of Pluggy</title>
+
+    <para>Build the module: </para>
+
+<screen><userinput>pip3 wheel -w dist --no-build-isolation --no-deps $PWD</userinput></screen>
+
+    <para>
+      Now, as the <systemitem class="username">root</systemitem> user:
+    </para>
+
+<screen role="root"><userinput>pip3 install --no-index --find-links dist --no-cache-dir --no-user pluggy</userinput></screen>
+
+    <para>
+      Assuming <xref linkend="pytest"/> is installed, but the other optional
+      dependencies are not, the installation can be tested with the following
+      commands:
+    </para>
+
+<screen remap="test"><userinput>python3 -m venv --system-site-packages testenv &amp;&amp;
+source testenv/bin/activate                    &amp;&amp;
+pip3 install pytest-benchmark                  &amp;&amp;
+python3 /usr/bin/pytest<!-- no && in case there is an error -->
+deactivate</userinput></screen>
+
+    </sect3>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+      href="../../../xincludes/pip3-cmd-explain.xml"/>
+
+    <sect3 role="content">
+      <title>Contents</title>
+
+      <segmentedlist>
+        <segtitle>Installed Programs</segtitle>
+        <segtitle>Installed Libraries</segtitle>
+        <segtitle>Installed Directories</segtitle>
+
+        <seglistitem>
+          <seg>None</seg>
+          <seg>None</seg>
+          <seg>
+            /usr/lib/python&python3-majorver;/site-packages/pluggy and
+            /usr/lib/python&python3-majorver;/site-packages/pluggy-&pluggy-version;.dist-info
+          </seg>
+        </seglistitem>
+      </segmentedlist>
+
+    </sect3>
+
+  </sect2>
Index: general/prog/python-dependencies/py.xml
===================================================================
--- general/prog/python-dependencies/py.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
+++ general/prog/python-dependencies/py.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -0,0 +1,122 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect2 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 py-download-http "https://files.pythonhosted.org/packages/source/p/py/py-&py-version;.tar.gz">
+  <!ENTITY py-download-ftp  " ">
+  <!ENTITY py-md5sum        "bde7dcc1cb452a1e10206ef2f811ba88">
+  <!ENTITY py-size          "203 KB">
+  <!ENTITY py-buildsize     "2.8 MB">
+  <!ENTITY py-time          "less than 0.1 SBU">
+]>
+
+  <sect2 id="py" xreflabel="py-&py-version;">
+
+    <title>Py-&py-version;</title>
+
+    <indexterm zone="py">
+      <primary sortas="a-py">py</primary>
+    </indexterm>
+
+    <sect3 role="package">
+      <title>Introduction to Py Module</title>
+
+      <para>
+        The <application>Py</application> library is a Python development
+        support library used in <application>Pytest</application>. It is
+        deprecated and should be removed at some point in time, but part of
+        it is still used in <application>Pytest</application>.
+      </para>
+
+      &lfs112_checked;
+
+      <bridgehead renderas="sect4">Package Information</bridgehead>
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>
+            Download (HTTP): <ulink url="&py-download-http;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download (FTP): <ulink url="&py-download-ftp;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download MD5 sum: &py-md5sum;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download size: &py-size;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated disk space required: &py-buildsize;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated build time: &py-time;
+          </para>
+        </listitem>
+      </itemizedlist>
+
+      <bridgehead renderas="sect4">Py Dependencies</bridgehead>
+
+      <bridgehead renderas="sect5">Recommended</bridgehead>
+      <para role="recommended">
+        <xref linkend="setuptools_scm"/>
+      </para>
+
+
+    </sect3>
+
+    <sect3 role="installation">
+      <title>Installation of Py</title>
+
+    <para>Build the module: </para>
+
+<screen><userinput>pip3 wheel -w dist --no-build-isolation --no-deps $PWD</userinput></screen>
+
+    <para>
+      Now, as the <systemitem class="username">root</systemitem> user:
+    </para>
+
+    <para>
+      Due to the deprecation of this package, the test suite is not maintained
+      and cannot be run.
+    </para>
+
+<screen role="root"><userinput>pip3 install --no-index --find-links dist --no-cache-dir --no-user py</userinput></screen>
+
+    </sect3>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+      href="../../../xincludes/pip3-cmd-explain.xml"/>
+
+    <sect3 role="content">
+      <title>Contents</title>
+
+      <segmentedlist>
+        <segtitle>Installed Programs</segtitle>
+        <segtitle>Installed Libraries</segtitle>
+        <segtitle>Installed Directories</segtitle>
+
+        <seglistitem>
+          <seg>None</seg>
+          <seg>None</seg>
+          <seg>
+            /usr/lib/python&python3-majorver;/site-packages/py and
+            /usr/lib/python&python3-majorver;/site-packages/py-&py-version;.dist-info
+          </seg>
+        </seglistitem>
+      </segmentedlist>
+
+    </sect3>
+
+  </sect2>
Index: general/prog/python-dependencies/pythonhosted.xml
===================================================================
--- general/prog/python-dependencies/pythonhosted.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
+++ general/prog/python-dependencies/pythonhosted.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -0,0 +1,238 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE chapter 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 pythonhosted-download-http "See Below">
+  <!ENTITY pythonhosted-download-ftp  " ">
+  <!ENTITY pythonhosted-md5sum        "See Below">
+  <!ENTITY pythonhosted-size          "14 MB">
+  <!ENTITY pythonhosted-buildsize     "2.2 MB">
+  <!ENTITY pythonhosted-time          "TBD SBU)">
+]>
+
+<sect2 id="pythonhosted" xreflabel="pythonhosted files">
+   <!--<?dbhtml filename="pythonhosted.html"?>-->
+
+  <title>Building pythonhosted.org Files</title>
+
+  <indexterm zone="pythonhosted">
+     <primary sortas="a-pythonhosted">pythonhosted</primary>
+  </indexterm>
+
+  <sect3 role="package">
+   <title>Introduction to pythonhosted.org Files</title>
+
+  <para>
+     This section is for user convenience and is optional. 
+     It can be used to fetch and install all the pythonhosted.org module 
+     packages below in two convenient scripts.
+  </para>
+
+  &lfs112_checked;
+
+  <bridgehead renderas="sect4">Package Information</bridgehead>
+  <itemizedlist spacing="compact">
+    <listitem>
+      <para>
+        Download (HTTP): &pythonhosted-download-http;
+      </para>
+    </listitem>
+    <listitem>
+      <para>
+        Download (FTP): <ulink url="&pythonhosted-download-ftp;"/>
+      </para>
+    </listitem>
+    <listitem>
+      <para>
+        Download MD5 sum: &pythonhosted-md5sum;
+      </para>
+    </listitem>
+    <listitem>
+      <para>
+        Download size: &pythonhosted-size;
+      </para>
+    </listitem>
+    <listitem>
+      <para>
+        Estimated disk space required: &pythonhosted-buildsize;
+      </para>
+    </listitem>
+    <listitem>
+      <para>
+        Estimated build time: &pythonhosted-time;
+      </para>
+    </listitem>
+  </itemizedlist>
+
+  <bridgehead renderas="sect4">Pythonhosted.org Dependencies</bridgehead>
+
+  <bridgehead renderas="sect5">Required</bridgehead>
+  <para role="required">
+    TBD
+    <!--<xref linkend="fontforge"/>,-->
+    <!-- does not seem to be needed as of 5.22.4 <xref linkend="GConf"/>, -->
+  </para>
+
+  <bridgehead renderas="sect5">Recommended</bridgehead>
+  <para role="recommended">
+     TBD
+     <!--<xref linkend="fftw"/>,-->
+  </para>
+
+  <bridgehead renderas="sect5">Optional</bridgehead>
+  <para role="optional">
+     TBD
+     <!--
+    <xref linkend="glu"/>,
+    <ulink url="http://www.dest-unreach.org/socat/">socat</ulink> (for pam_kwallet)-->
+  </para>
+  <!--
+  <para condition="html" role="usernotes">User Notes:
+  <ulink url="&blfs-wiki;/pythonhosted"/></para>
+  -->
+  </sect3>
+
+   <sect3>
+    <title>Downloading All Pythonhosted Module Files</title>
+
+    <para>
+      The easiest way to install the modules from the files.pythonhosted.org site
+      is to run a script to install them all at once. 
+    </para>
+
+    <para>
+      The order of building files is important due to internal dependencies.
+      First, create the list of files in the proper order as follows:
+    </para>
+
+    <screen><userinput>cat &gt; pythonhosted-files.md5 &lt;&lt; "EOF"
+<literal>3591827fde96d1dd23970fb05410ed04  alabaster-0.7.12.tar.gz
+ff9c8d5c7e7fb083de6b874609c5ca68  certifi-2022.9.24.tar.gz
+4332ddc7bbee0f344a03915b2ad59a54  snowballstemmer-2.2.0.tar.gz
+b1d2ed6592bbdf6002ef52b4ab8e2efe  pytz-2022.4.tar.gz
+809ed21b4f643167d0f6f5e936bbfbdc  Babel-2.10.3.tar.gz
+0487081b7ead8753fc46cf7c6d1e28e3  attrs-22.1.0.tar.gz
+a70f9fc85b6b8265c982eca6fe51381f  charset-normalizer-2.1.1.tar.gz
+4a4791e97f3a8c9a1645064a35636ee6  flit_core-3.7.1.tar.gz
+13ea24e076212b6baae1135a116d1e0e  idna-3.4.tar.gz
+5a40586a25c07e1a8f16f6267252c321  imagesize-1.4.1.tar.gz
+fadc2f3bf5872bf6310576a86c3566e0  pyparsing-3.0.9.tar.gz
+e713c1939f294fd729af4a7be40dd141  packaging-21.3.tar.gz
+d4341621d423a7ca6822e23d6d52bb9a  tomli-2.0.1.tar.gz
+5cfcb56ea6fc4972c3600c0030f4d136  typing_extensions-4.4.0.tar.gz
+0df4e7fd923e4983cd65786efaa0e0d0  setuptools_scm-7.0.5.tar.gz
+0b7f3be87481211c183eae095bcea6f1  iniconfig-1.1.1.tar.gz
+daa6fddfb6cd364f3c82e52098911e4b  pluggy-1.0.0.tar.gz
+#c4de3e192e5bb4b39deada36cc2f393a  pytest-7.1.3.tar.gz
+bde7dcc1cb452a1e10206ef2f811ba88  py-1.11.0.tar.gz
+ba308b52b9092184cf4905bc59a88fc0  urllib3-1.26.12.tar.gz
+#796ea875cdae283529c03b9203d9c454  requests-2.28.1.tar.gz
+3f2de7681e12dde031acee0497c3cc2b  sphinxcontrib-applehelp-1.0.2.tar.gz
+94069c5cdb5079c445f5477fa6107016  sphinxcontrib-devhelp-1.0.2.tar.gz
+70765b55395a3c20233631802902c840  sphinxcontrib-htmlhelp-2.0.0.tar.gz
+e45179f0a3608b6766862e0f34c23b62  sphinxcontrib-jsmath-1.0.1.tar.gz
+93216721f3e154cce12d1e9c3307b415  sphinxcontrib-qthelp-1.0.3.tar.gz
+d99d2edc7b26988dc5fa92163857bfbf  sphinxcontrib-serializinghtml-1.1.5.tar.gz
+#a8444ced81cd594d60d4af002a0e0025  sphinx-5.2.2.tar.gz
+#fdfc7d2e102cb96eca0f6155dde7403e  sphinx_rtd_theme-1.0.0.tar.gz</literal>
+EOF</userinput></screen>
+
+    <para>
+      Next, create a script to fetch the files:
+    </para>
+
+    <screen><userinput>cat &gt; get-pythonhosted-files.sh &lt;&lt; "EOF"
+<literal>#! /bin/bash 
+
+PYTHONHOSTED=https://files.pythonhosted.org/packages/source
+
+mkdir -p pythonhosted
+cd pythonhosted
+
+for package in $(grep -v '^#' ../pythonhosted-files.md5 | awk '{print $2}')
+do
+  # Don't try to get a package that is already present
+  [ -e $package ] &amp;&amp; continue
+  basename=$(echo $package|sed 's/-[[:digit:]].*$//')
+  basechar=$(echo $basename|cut -c 1)
+  url=$PYTHONHOSTED/$basechar/$basename/$package
+  wget $url
+done
+EOF</literal></userinput></screen>
+
+    <para>
+      Run the script and check the files:
+    </para>
+
+   <screen><userinput>bash get-pythonhosted-files.sh &amp;&amp;
+   md5sum -c ../pythonhosted-files.md5</userinput></screen>
+
+   </sect3>
+
+  <sect3 role="installation">
+    <title>Installation of Pythonhosted Modules</title>
+
+    <para>
+      Set up a script to install all of the packages:
+    </para>
+
+    <screen><userinput>cat &gt; install-pythonhosted-files.sh &lt;&lt; "EOF"
+<literal>#! /bin/bash
+
+cd pythonhosted
+
+for package in $(grep -v '^#' ../pythonhosted-files.md5 | awk '{print $2}')
+do
+  name=$(echo $package|sed 's/-[[:digit:]].*$//')
+
+  # Don't try to install the package if it already installed  
+  installed=$(pip3 show $name 2&gt; /dev/null | grep Version:)
+    
+  unset version
+  if [ -n $installed ]; then   
+    version=$(echo $installed | awk '{print $2}') 
+  fi
+
+  if [ -n "$version" ]; then
+    if [ ! $(echo $package | grep -q $version) ]; then
+      echo $package is already installed
+      continue
+    fi
+  fi
+
+  # Now install the package
+  packagedir=${package%.tar.?z*}
+  rm -rf $packagedir
+  tar -xf $package
+  pushd $packagedir
+    pip3 wheel -w dist --no-build-isolation --no-deps $PWD
+    sudo pip3 install --no-index --find-links dist --no-cache-dir \
+                      --no-user --upgrade $name
+  popd
+done</literal></userinput></screen> 
+
+    <para>
+       Now run the script to install the files.  If the script is run 
+       multiple times, it will not try to reinstall the modules unless
+       the version in the .md5 file has been changed.
+    </para>
+
+   <screen><userinput>bash install-pythonhosted-files.sh</userinput></screen>
+
+   <para>Some of the packages have test procedures. See the individual 
+   package sections below to run any desired tests.</para>
+
+  </sect3>
+
+  <sect3 role="content">
+    <title>Contents</title>
+
+    <para>
+       See the contents of the individual package sections below.
+    </para>
+
+  </sect3>
+
+</sect2>
Index: general/prog/python-dependencies/pytz.xml
===================================================================
--- general/prog/python-dependencies/pytz.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
+++ general/prog/python-dependencies/pytz.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -0,0 +1,121 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect2 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 pytz-download-http "https://files.pythonhosted.org/packages/source/p/pytz/pytz-&pytz-version;.tar.gz">
+  <!ENTITY pytz-download-ftp  " ">
+  <!ENTITY pytz-md5sum        "b1d2ed6592bbdf6002ef52b4ab8e2efe">
+  <!ENTITY pytz-size          "309 KB">
+  <!ENTITY pytz-buildsize     "9.0 MB (with tests)">
+  <!ENTITY pytz-time          "less than 0.1 SBU (with tests)">
+]>
+
+  <sect2 id="pytz" xreflabel="pytz-&pytz-version;">
+
+    <title>Pytz-&pytz-version;</title>
+
+    <indexterm zone="pytz">
+      <primary sortas="a-pytz">pytz</primary>
+    </indexterm>
+
+    <sect3 role="package">
+      <title>Introduction to Pytz Module</title>
+
+      <para>
+        The <application>Pytz</application> library brings the IANA tz database
+        into Python. It allows acuurate and cross-platform timezone
+        calculations.
+      </para>
+
+      &lfs112_checked;
+
+      <bridgehead renderas="sect4">Package Information</bridgehead>
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>
+            Download (HTTP): <ulink url="&pytz-download-http;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download (FTP): <ulink url="&pytz-download-ftp;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download MD5 sum: &pytz-md5sum;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download size: &pytz-size;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated disk space required: &pytz-buildsize;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated build time: &pytz-time;
+          </para>
+        </listitem>
+      </itemizedlist>
+
+      <bridgehead renderas="sect4">Pytz dependencies</bridgehead>
+
+      <bridgehead renderas="sect5">Optional (for testing)</bridgehead>
+      <para role="optional">
+        <xref linkend="pytest"/>
+      </para>
+
+    </sect3>
+
+    <sect3 role="installation">
+      <title>Installation of Pytz</title>
+
+      <para>
+        Build the module:
+      </para>
+
+<screen><userinput>pip3 wheel -w dist --no-build-isolation --no-deps $PWD</userinput></screen>
+
+      <para>
+        Now, as the <systemitem class="username">root</systemitem> user:
+      </para>
+
+<screen role="root"><userinput>pip3 install --no-index --find-links dist --no-cache-dir --no-user pytz</userinput></screen>
+
+      <para>
+        To test the installation, run <command>pytest</command>.
+      </para>
+
+    </sect3>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+      href="../../../xincludes/pip3-cmd-explain.xml"/>
+
+    <sect3 role="content">
+      <title>Contents</title>
+
+      <segmentedlist>
+        <segtitle>Installed Programs</segtitle>
+        <segtitle>Installed Libraries</segtitle>
+        <segtitle>Installed Directories</segtitle>
+
+        <seglistitem>
+          <seg>None</seg>
+          <seg>None</seg>
+          <seg>
+            /usr/lib/python&python3-majorver;/site-packages/pytz and
+            /usr/lib/python&python3-majorver;/site-packages/pytz-&pytz-version;.dist-info
+          </seg>
+        </seglistitem>
+      </segmentedlist>
+
+    </sect3>
+
+  </sect2>
Index: general/prog/python-dependencies/setuptools_scm.xml
===================================================================
--- general/prog/python-dependencies/setuptools_scm.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
+++ general/prog/python-dependencies/setuptools_scm.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -0,0 +1,130 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect2 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 setuptools_scm-download-http "https://files.pythonhosted.org/packages/source/s/setuptools_scm/setuptools_scm-&setuptools_scm-version;.tar.gz">
+  <!ENTITY setuptools_scm-download-ftp  " ">
+  <!ENTITY setuptools_scm-md5sum        "0df4e7fd923e4983cd65786efaa0e0d0">
+  <!ENTITY setuptools_scm-size          "69 KB">
+  <!ENTITY setuptools_scm-buildsize     "2.6 MB">
+  <!ENTITY setuptools_scm-time          "less than 0.1 SBU">
+]>
+
+  <sect2 id="setuptools_scm" xreflabel="setuptools_scm-&setuptools_scm-version;">
+
+    <title>Setuptools_scm-&setuptools_scm-version;</title>
+
+    <indexterm zone="setuptools_scm">
+      <primary sortas="a-setuptools_scm">setuptools_scm</primary>
+    </indexterm>
+
+    <sect3 role="package">
+      <title>Introduction to Setuptools_scm Module</title>
+
+      <para>
+        The <application>Setuptools_scm</application> package is used to
+        extract Python package versions from git or hg metadata instead
+        of declaring them.
+      </para>
+
+      &lfs112_checked;
+
+      <bridgehead renderas="sect4">Package Information</bridgehead>
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>
+            Download (HTTP): <ulink url="&setuptools_scm-download-http;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download (FTP): <ulink url="&setuptools_scm-download-ftp;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download MD5 sum: &setuptools_scm-md5sum;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download size: &setuptools_scm-size;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated disk space required: &setuptools_scm-buildsize;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated build time: &setuptools_scm-time;
+          </para>
+        </listitem>
+      </itemizedlist>
+
+      <bridgehead renderas="sect4">Setuptools_scm Dependencies</bridgehead>
+
+      <bridgehead renderas="sect5">Required</bridgehead>
+      <para role="required">
+        <xref linkend="packaging"/>,
+        <xref linkend="tomli"/>, and
+        <xref linkend="typing_extensions"/>
+      </para>
+
+      <bridgehead renderas="sect5">Optional (for testing)</bridgehead>
+      <para role="optional">
+        <xref linkend="git"/>,
+        <xref linkend="mercurial"/>, and
+        <xref linkend="pytest"/>
+      </para>
+
+    </sect3>
+
+    <sect3 role="installation">
+      <title>Installation of Setuptools_scm</title>
+
+    <para>Build the module: </para>
+
+<screen><userinput>pip3 wheel -w dist --no-build-isolation --no-deps $PWD</userinput></screen>
+
+    <para>
+      Now, as the <systemitem class="username">root</systemitem> user:
+    </para>
+
+<screen role="root"><userinput>pip3 install --no-index --find-links dist --no-cache-dir --no-user setuptools_scm</userinput></screen>
+
+    <para>
+      The installtion can be tested with <command>pytest</command>. A few
+      tests may fail is your <application>git</application> configuration
+      is not the one expected by the test suite.
+    </para>
+
+    </sect3>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+      href="../../../xincludes/pip3-cmd-explain.xml"/>
+
+    <sect3 role="content">
+      <title>Contents</title>
+
+      <segmentedlist>
+        <segtitle>Installed Programs</segtitle>
+        <segtitle>Installed Libraries</segtitle>
+        <segtitle>Installed Directories</segtitle>
+
+        <seglistitem>
+          <seg>None</seg>
+          <seg>None</seg>
+          <seg>
+            /usr/lib/python&python3-majorver;/site-packages/setuptools_scm and
+            /usr/lib/python&python3-majorver;/site-packages/setuptools_scm-&setuptools_scm-version;.dist-info
+          </seg>
+        </seglistitem>
+      </segmentedlist>
+
+    </sect3>
+
+  </sect2>
Index: general/prog/python-dependencies/smartypants.xml
===================================================================
--- general/prog/python-dependencies/smartypants.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
+++ general/prog/python-dependencies/smartypants.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -0,0 +1,138 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect2 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 smartypants-download-http "https://github.com/leohemsted/smartypants.py/archive/v&smartypants-version;/smartypants-&smartypants-version;.tar.gz">
+  <!ENTITY smartypants-download-ftp  " ">
+  <!ENTITY smartypants-md5sum        "27957540f4718e892039b2ed208c78f3">
+  <!ENTITY smartypants-size          "24 KB">
+  <!ENTITY smartypants-buildsize     "344 KB">
+  <!ENTITY smartypants-time          "less than 0.1 SBU">
+]>
+
+  <sect2 id="smartypants" xreflabel="smartypants-&smartypants-version;">
+
+    <title>Smartypants-&smartypants-version;</title>
+
+    <indexterm zone="smartypants">
+      <primary sortas="a-smartypants">smartypants</primary>
+    </indexterm>
+
+    <sect3 role="package">
+      <title>Introduction to Smartypants Module</title>
+
+      <para>
+        <application>Smartypants</application> translates plain ASCII
+        punctuation characters into <quote>smart</quote> typographic
+        punctuation HTML entities. 
+      </para>
+
+      &lfs112_checked;
+
+      <bridgehead renderas="sect4">Package Information</bridgehead>
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>
+            Download (HTTP): <ulink url="&smartypants-download-http;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download (FTP): <ulink url="&smartypants-download-ftp;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download MD5 sum: &smartypants-md5sum;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download size: &smartypants-size;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated disk space required: &smartypants-buildsize;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated build time: &smartypants-time;
+          </para>
+        </listitem>
+      </itemizedlist>
+      <!-- The test suite seems to be broken
+      <bridgehead renderas="sect4">Smartypants Dependencies</bridgehead>
+
+      <bridgehead renderas="sect5">Optional (for testing)</bridgehead>
+      <para role="optional">
+        <xref linkend="pytest"/>
+      </para>
+      -->
+
+    </sect3>
+
+    <sect3 role="installation">
+      <title>Installation of Smartypants</title>
+
+    <para> Build the module: </para>
+
+<screen><userinput>pip3 wheel -w dist --no-build-isolation --no-deps $PWD</userinput></screen>
+
+    <para>
+      This package does not come with a working test suite.
+    </para>
+
+    <para>
+      Now, as the <systemitem class="username">root</systemitem> user:
+    </para>
+
+<screen role="root"><userinput>pip3 install --no-index --find-links dist --no-cache-dir --no-user smartypants</userinput></screen>
+
+    </sect3>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+      href="../../../xincludes/pip3-cmd-explain.xml"/>
+
+    <sect3 role="content">
+      <title>Contents</title>
+
+      <segmentedlist>
+        <segtitle>Installed Programs</segtitle>
+        <segtitle>Installed Libraries</segtitle>
+        <segtitle>Installed Directories</segtitle>
+
+        <seglistitem>
+          <seg>smartypants</seg>
+          <seg>None</seg>
+          <seg>
+            /usr/lib/python&python3-majorver;/site-packages/smartypants-&smartypants-version;.dist-info
+          </seg>
+        </seglistitem>
+      </segmentedlist>
+
+      <variablelist>
+        <bridgehead renderas="sect3">Short Descriptions</bridgehead>
+        <?dbfo list-presentation="list"?>
+        <?dbhtml list-presentation="table"?>
+
+        <varlistentry id="smartypants-prog">
+          <term><command>smartypants</command></term>
+          <listitem>
+            <para>
+              translates ASCII punctuation to HMTL punctuation.
+            </para>
+            <indexterm zone="smartypants smartypants-prog">
+              <primary sortas="b-smartypants-prog">smartypants</primary>
+            </indexterm>
+          </listitem>
+        </varlistentry>
+
+      </variablelist>
+
+    </sect3>
+
+  </sect2>
Index: general/prog/python-dependencies/snowballstemmer.xml
===================================================================
--- general/prog/python-dependencies/snowballstemmer.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
+++ general/prog/python-dependencies/snowballstemmer.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect2 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 snowballstemmer-download-http "https://files.pythonhosted.org/packages/source/s/snowballstemmer/snowballstemmer-&snowballstemmer-version;.tar.gz">
+  <!ENTITY snowballstemmer-download-ftp  " ">
+  <!ENTITY snowballstemmer-md5sum        "4332ddc7bbee0f344a03915b2ad59a54">
+  <!ENTITY snowballstemmer-size          "85 KB">
+  <!ENTITY snowballstemmer-buildsize     "3.8 MB">
+  <!ENTITY snowballstemmer-time          "less than 0.1 SBU">
+]>
+
+  <sect2 id="snowballstemmer" xreflabel="snowballstemmer-&snowballstemmer-version;">
+
+    <title>Snowballstemmer-&snowballstemmer-version;</title>
+
+    <indexterm zone="snowballstemmer">
+      <primary sortas="a-snowballstemmer">snowballstemmer</primary>
+    </indexterm>
+
+    <sect3 role="package">
+      <title>Introduction to Snowballstemmer Module</title>
+
+      <para>
+        The <application>Snowballstemmer</application> package is a small
+        string processing language for creating stemming algorithms for use
+        in Information Retrieval, plus a collection of stemming algorithms
+        implemented using it. Stemming maps different forms of the same word
+        to a common <quote>stem</quote> &mdash; for example, the English
+        stemmer maps <emphasis>connection</emphasis>,
+        <emphasis>connections</emphasis>, <emphasis>connective</emphasis>,
+        <emphasis>connected</emphasis>, and <emphasis>connecting</emphasis>
+        to <emphasis>connect</emphasis>. So a searching for
+        <emphasis>connected</emphasis> would also find documents which only
+        have the other forms.
+      </para>
+
+      &lfs112_checked;
+
+      <bridgehead renderas="sect4">Package Information</bridgehead>
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>
+            Download (HTTP): <ulink url="&snowballstemmer-download-http;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download (FTP): <ulink url="&snowballstemmer-download-ftp;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download MD5 sum: &snowballstemmer-md5sum;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download size: &snowballstemmer-size;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated disk space required: &snowballstemmer-buildsize;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated build time: &snowballstemmer-time;
+          </para>
+        </listitem>
+      </itemizedlist>
+
+    </sect3>
+
+    <sect3 role="installation">
+      <title>Installation of Snowballstemmer</title>
+
+    <para> Build the module: </para>
+
+<screen><userinput>pip3 wheel -w dist --no-build-isolation --no-deps $PWD</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>pip3 install --no-index --find-links dist --no-cache-dir --no-user snowballstemmer</userinput></screen>
+
+    </sect3>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+      href="../../../xincludes/pip3-cmd-explain.xml"/>
+
+    <sect3 role="content">
+      <title>Contents</title>
+
+      <segmentedlist>
+        <segtitle>Installed Programs</segtitle>
+        <segtitle>Installed Libraries</segtitle>
+        <segtitle>Installed Directories</segtitle>
+
+        <seglistitem>
+          <seg>None</seg>
+          <seg>None</seg>
+          <seg>
+            /usr/lib/python&python3-majorver;/site-packages/snowballstemmer and
+            /usr/lib/python&python3-majorver;/site-packages/snowballstemmer-&snowballstemmer-version;.dist-info
+          </seg>
+        </seglistitem>
+      </segmentedlist>
+
+    </sect3>
+
+  </sect2>
Index: general/prog/python-dependencies/sphinxcontrib-applehelp.xml
===================================================================
--- general/prog/python-dependencies/sphinxcontrib-applehelp.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
+++ general/prog/python-dependencies/sphinxcontrib-applehelp.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect2 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 sc-applehelp-download-http "https://files.pythonhosted.org/packages/source/s/sphinxcontrib-applehelp/sphinxcontrib-applehelp-&sc-applehelp-version;.tar.gz">
+  <!ENTITY sc-applehelp-download-ftp  " ">
+  <!ENTITY sc-applehelp-md5sum        "3f2de7681e12dde031acee0497c3cc2b">
+  <!ENTITY sc-applehelp-size          "24 KB">
+  <!ENTITY sc-applehelp-buildsize     "2.8 MB (with tests)">
+  <!ENTITY sc-applehelp-time          "less than 0.1 SBU (with tests)">
+]>
+
+  <sect2 id="sc-applehelp" xreflabel="sphinxcontrib-applehelp-&sc-applehelp-version;">
+
+    <title>Sphinxcontrib-applehelp-&sc-applehelp-version;</title>
+
+    <indexterm zone="sc-applehelp">
+      <primary sortas="a-sphinxcontrib-applehelp">sphinxcontrib-applehelp</primary>
+    </indexterm>
+
+    <sect3 role="package">
+      <title>Introduction to Sphinxcontrib-applehelp Module</title>
+
+      <para>
+        The <application>Sphinxcontrib-applehelp</application> package is a
+        <application>Sphinx</application> extension which outputs Apple
+        help books.
+      </para>
+
+      &lfs112_checked;
+
+      <bridgehead renderas="sect4">Package Information</bridgehead>
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>
+            Download (HTTP): <ulink url="&sc-applehelp-download-http;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download (FTP): <ulink url="&sc-applehelp-download-ftp;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download MD5 sum: &sc-applehelp-md5sum;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download size: &sc-applehelp-size;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated disk space required: &sc-applehelp-buildsize;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated build time: &sc-applehelp-time;
+          </para>
+        </listitem>
+      </itemizedlist>
+
+      <bridgehead renderas="sect4">Sphinxcontrib-applehelp Dependencies</bridgehead>
+
+      <bridgehead renderas="sect5">Optional (for testing)</bridgehead>
+      <para role="optional">
+        <xref linkend="pytest"/> and
+        <xref linkend="sphinx"/> (circular dependency)
+      </para>
+
+    </sect3>
+
+    <sect3 role="installation">
+      <title>Installation of Sphinxcontrib-applehelp</title>
+
+    <para> Build the module: </para>
+
+<screen><userinput>pip3 wheel -w dist --no-build-isolation --no-deps $PWD</userinput></screen>
+
+    <para>
+      Now, as the <systemitem class="username">root</systemitem> user:
+    </para>
+
+<screen role="root"><userinput>pip3 install --no-index --find-links dist --no-cache-dir --no-user sphinxcontrib-applehelp</userinput></screen>
+
+      <para>
+        To test the installation, run <command>pytest</command>.
+      </para>
+
+    </sect3>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+      href="../../../xincludes/pip3-cmd-explain.xml"/>
+
+    <sect3 role="content">
+      <title>Contents</title>
+
+      <segmentedlist>
+        <segtitle>Installed Programs</segtitle>
+        <segtitle>Installed Libraries</segtitle>
+        <segtitle>Installed Directories</segtitle>
+
+        <seglistitem>
+          <seg>None</seg>
+          <seg>None</seg>
+          <seg>
+            /usr/lib/python&python3-majorver;/site-packages/sphinxcontrib and
+            /usr/lib/python&python3-majorver;/site-packages/sphinxcontrib_applehelp-&sc-applehelp-version;.dist-info
+          </seg>
+        </seglistitem>
+      </segmentedlist>
+
+    </sect3>
+
+  </sect2>
Index: general/prog/python-dependencies/sphinxcontrib-devhelp.xml
===================================================================
--- general/prog/python-dependencies/sphinxcontrib-devhelp.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
+++ general/prog/python-dependencies/sphinxcontrib-devhelp.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -0,0 +1,121 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect2 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 sc-devhelp-download-http "https://files.pythonhosted.org/packages/source/s/sphinxcontrib-devhelp/sphinxcontrib-devhelp-&sc-devhelp-version;.tar.gz">
+  <!ENTITY sc-devhelp-download-ftp  " ">
+  <!ENTITY sc-devhelp-md5sum        "94069c5cdb5079c445f5477fa6107016">
+  <!ENTITY sc-devhelp-size          "17 KB">
+  <!ENTITY sc-devhelp-buildsize     "2.7 MB (with tests)">
+  <!ENTITY sc-devhelp-time          "less than 0.1 SBU (with tests)">
+]>
+
+  <sect2 id="sc-devhelp" xreflabel="sphinxcontrib-devhelp-&sc-devhelp-version;">
+
+    <title>Sphinxcontrib-devhelp-&sc-devhelp-version;</title>
+
+    <indexterm zone="sc-devhelp">
+      <primary sortas="a-sphinxcontrib-devhelp">sphinxcontrib-devhelp</primary>
+    </indexterm>
+
+    <sect3 role="package">
+      <title>Introduction to Sphinxcontrib-devhelp Module</title>
+
+      <para>
+        The <application>Sphinxcontrib-devhelp</application> package is a
+        <application>Sphinx</application> extension which outputs
+        <ulink url="https://wiki.gnome.org/Apps/Devhelp">Devhelp</ulink>
+        documents.
+      </para>
+
+      &lfs112_checked;
+
+      <bridgehead renderas="sect4">Package Information</bridgehead>
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>
+            Download (HTTP): <ulink url="&sc-devhelp-download-http;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download (FTP): <ulink url="&sc-devhelp-download-ftp;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download MD5 sum: &sc-devhelp-md5sum;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download size: &sc-devhelp-size;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated disk space required: &sc-devhelp-buildsize;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated build time: &sc-devhelp-time;
+          </para>
+        </listitem>
+      </itemizedlist>
+
+      <bridgehead renderas="sect4">Sphinxcontrib-devhelp Dependencies</bridgehead>
+
+      <bridgehead renderas="sect5">Optional (for testing)</bridgehead>
+      <para role="optional">
+        <xref linkend="pytest"/> and
+        <xref linkend="sphinx"/> (circular dependency)
+      </para>
+
+    </sect3>
+
+    <sect3 role="installation">
+      <title>Installation of Sphinxcontrib-devhelp</title>
+
+    <para> Build the module: </para>
+
+<screen><userinput>pip3 wheel -w dist --no-build-isolation --no-deps $PWD</userinput></screen>
+
+    <para>
+      Now, as the <systemitem class="username">root</systemitem> user:
+    </para>
+
+<screen role="root"><userinput>pip3 install --no-index --find-links dist --no-cache-dir --no-user sphinxcontrib-devhelp</userinput></screen>
+
+      <para>
+        To test the installation, run <command>pytest</command>.
+      </para>
+
+    </sect3>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+      href="../../../xincludes/pip3-cmd-explain.xml"/>
+
+    <sect3 role="content">
+      <title>Contents</title>
+
+      <segmentedlist>
+        <segtitle>Installed Programs</segtitle>
+        <segtitle>Installed Libraries</segtitle>
+        <segtitle>Installed Directories</segtitle>
+
+        <seglistitem>
+          <seg>None</seg>
+          <seg>None</seg>
+          <seg>
+            /usr/lib/python&python3-majorver;/site-packages/sphinxcontrib and
+            /usr/lib/python&python3-majorver;/site-packages/sphinxcontrib_devhelp-&sc-devhelp-version;.dist-info
+          </seg>
+        </seglistitem>
+      </segmentedlist>
+
+    </sect3>
+
+  </sect2>
Index: general/prog/python-dependencies/sphinxcontrib-htmlhelp.xml
===================================================================
--- general/prog/python-dependencies/sphinxcontrib-htmlhelp.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
+++ general/prog/python-dependencies/sphinxcontrib-htmlhelp.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -0,0 +1,136 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect2 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 sc-htmlhelp-download-http "https://files.pythonhosted.org/packages/source/s/sphinxcontrib-htmlhelp/sphinxcontrib-htmlhelp-&sc-htmlhelp-version;.tar.gz">
+  <!ENTITY sc-htmlhelp-download-ftp  " ">
+  <!ENTITY sc-htmlhelp-md5sum        "70765b55395a3c20233631802902c840">
+  <!ENTITY sc-htmlhelp-size          "27 KB">
+  <!ENTITY sc-htmlhelp-buildsize     "3.1 MB (add 26 MB for tests)">
+  <!ENTITY sc-htmlhelp-time          "less than 0.1 SBU (with tests)">
+]>
+
+  <sect2 id="sc-htmlhelp" xreflabel="sphinxcontrib-htmlhelp-&sc-htmlhelp-version;">
+
+    <title>Sphinxcontrib-htmlhelp-&sc-htmlhelp-version;</title>
+
+    <indexterm zone="sc-htmlhelp">
+      <primary sortas="a-sphinxcontrib-htmlhelp">sphinxcontrib-htmlhelp</primary>
+    </indexterm>
+
+    <sect3 role="package">
+      <title>Introduction to Sphinxcontrib-htmlhelp Module</title>
+
+      <para>
+        The <application>Sphinxcontrib-htmlhelp</application> package is a
+        <application>Sphinx</application> extension which renders HTML
+        help files.
+      </para>
+
+      &lfs112_checked;
+
+      <bridgehead renderas="sect4">Package Information</bridgehead>
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>
+            Download (HTTP): <ulink url="&sc-htmlhelp-download-http;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download (FTP): <ulink url="&sc-htmlhelp-download-ftp;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download MD5 sum: &sc-htmlhelp-md5sum;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download size: &sc-htmlhelp-size;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated disk space required: &sc-htmlhelp-buildsize;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated build time: &sc-htmlhelp-time;
+          </para>
+        </listitem>
+      </itemizedlist>
+
+      <bridgehead renderas="sect4">Sphinxcontrib-htmlhelp Dependencies</bridgehead>
+
+      <bridgehead renderas="sect5">Optional (for testing)</bridgehead>
+      <para role="optional">
+        <xref linkend="pytest"/>,
+        <xref linkend="sphinx"/> (circular dependency), and
+        <ulink url="https://pypi.org/project/html5lib/">html5lib</ulink>
+      </para>
+
+    </sect3>
+
+    <sect3 role="installation">
+      <title>Installation of Sphinxcontrib-htmlhelp</title>
+
+    <para> Build the module: </para>
+
+<screen><userinput>pip3 wheel -w dist --no-build-isolation --no-deps $PWD</userinput></screen>
+
+    <para>
+      Now, as the <systemitem class="username">root</systemitem> user:
+    </para>
+
+<screen role="root"><userinput>pip3 install --no-index --find-links dist --no-cache-dir --no-user sphinxcontrib-htmlhelp</userinput></screen>
+
+    <para>
+      Assuming <xref linkend="pytest"/> is installed, but the other optional
+      dependency is not, the installation can be tested with the following
+      commands:
+    </para>
+
+<screen remap="test"><userinput>python3 -m venv --system-site-packages testenv   &amp;&amp;
+source testenv/bin/activate                      &amp;&amp;
+pip3 install html5lib                            &amp;&amp;
+sed -i 's/text()/read_&amp;/' tests/test_htmlhelp.py &amp;&amp;
+python3 /usr/bin/pytest<!-- no && because of a possible error -->
+deactivate</userinput></screen>
+
+    <para>
+      the <command>sed ...</command> command is needed because of a change
+      in <application>Sphinx</application> API for versions greater than
+      5.0.
+    </para>
+
+    </sect3>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+      href="../../../xincludes/pip3-cmd-explain.xml"/>
+
+    <sect3 role="content">
+      <title>Contents</title>
+
+      <segmentedlist>
+        <segtitle>Installed Programs</segtitle>
+        <segtitle>Installed Libraries</segtitle>
+        <segtitle>Installed Directories</segtitle>
+
+        <seglistitem>
+          <seg>None</seg>
+          <seg>None</seg>
+          <seg>
+            /usr/lib/python&python3-majorver;/site-packages/sphinxcontrib and
+            /usr/lib/python&python3-majorver;/site-packages/sphinxcontrib_htmlhelp-&sc-htmlhelp-version;.dist-info
+          </seg>
+        </seglistitem>
+      </segmentedlist>
+
+    </sect3>
+
+  </sect2>
Index: general/prog/python-dependencies/sphinxcontrib-jsmath.xml
===================================================================
--- general/prog/python-dependencies/sphinxcontrib-jsmath.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
+++ general/prog/python-dependencies/sphinxcontrib-jsmath.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -0,0 +1,129 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect2 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 sc-jsmath-download-http "https://files.pythonhosted.org/packages/source/s/sphinxcontrib-jsmath/sphinxcontrib-jsmath-&sc-jsmath-version;.tar.gz">
+  <!ENTITY sc-jsmath-download-ftp  " ">
+  <!ENTITY sc-jsmath-md5sum        "e45179f0a3608b6766862e0f34c23b62">
+  <!ENTITY sc-jsmath-size          "5.7 KB">
+  <!ENTITY sc-jsmath-buildsize     "324 KB (with tests)">
+  <!ENTITY sc-jsmath-time          "less than 0.1 SBU (with tests)">
+]>
+
+  <sect2 id="sc-jsmath" xreflabel="sphinxcontrib-jsmath-&sc-jsmath-version;">
+
+    <title>Sphinxcontrib-jsmath-&sc-jsmath-version;</title>
+
+    <indexterm zone="sc-jsmath">
+      <primary sortas="a-sphinxcontrib-jsmath">sphinxcontrib-jsmath</primary>
+    </indexterm>
+
+    <sect3 role="package">
+      <title>Introduction to Sphinxcontrib-jsmath Module</title>
+
+      <para>
+        The <application>Sphinxcontrib-jsmath</application> package is a
+        <application>Sphinx</application> extension which renders display
+        math in HTML via JavaScript.
+      </para>
+
+      &lfs112_checked;
+
+      <bridgehead renderas="sect4">Package Information</bridgehead>
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>
+            Download (HTTP): <ulink url="&sc-jsmath-download-http;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download (FTP): <ulink url="&sc-jsmath-download-ftp;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download MD5 sum: &sc-jsmath-md5sum;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download size: &sc-jsmath-size;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated disk space required: &sc-jsmath-buildsize;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated build time: &sc-jsmath-time;
+          </para>
+        </listitem>
+      </itemizedlist>
+
+      <bridgehead renderas="sect4">Sphinxcontrib-jsmath Dependencies</bridgehead>
+
+      <bridgehead renderas="sect5">Optional (for testing)</bridgehead>
+      <para role="optional">
+        <xref linkend="pytest"/> and
+        <xref linkend="sphinx"/> (circular dependency)
+      </para>
+
+    </sect3>
+
+    <sect3 role="installation">
+      <title>Installation of Sphinxcontrib-jsmath</title>
+
+    <para> Build the module: </para>
+
+<screen><userinput>pip3 wheel -w dist --no-build-isolation --no-deps $PWD</userinput></screen>
+
+    <para>
+      Now, as the <systemitem class="username">root</systemitem> user:
+    </para>
+
+<screen role="root"><userinput>pip3 install --no-index --find-links dist --no-cache-dir --no-user sphinxcontrib-jsmath</userinput></screen>
+
+    <para>
+      The installation can be tested with the following commands:
+    </para>
+
+<screen remap="test"><userinput>sed -i 's/text()/read_&amp;/' tests/test_jsmath.py &amp;&amp;
+pytest</userinput></screen>
+
+    <para>
+      the <command>sed ...</command> command is needed because of a change
+      in <application>Sphinx</application> API for versions greater than
+      5.0.
+    </para>
+
+    </sect3>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+      href="../../../xincludes/pip3-cmd-explain.xml"/>
+
+    <sect3 role="content">
+      <title>Contents</title>
+
+      <segmentedlist>
+        <segtitle>Installed Programs</segtitle>
+        <segtitle>Installed Libraries</segtitle>
+        <segtitle>Installed Directories</segtitle>
+
+        <seglistitem>
+          <seg>None</seg>
+          <seg>None</seg>
+          <seg>
+            /usr/lib/python&python3-majorver;/site-packages/sphinxcontrib and
+            /usr/lib/python&python3-majorver;/site-packages/sphinxcontrib_jsmath-&sc-jsmath-version;.dist-info
+          </seg>
+        </seglistitem>
+      </segmentedlist>
+
+    </sect3>
+
+  </sect2>
Index: general/prog/python-dependencies/sphinxcontrib-qthelp.xml
===================================================================
--- general/prog/python-dependencies/sphinxcontrib-qthelp.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
+++ general/prog/python-dependencies/sphinxcontrib-qthelp.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -0,0 +1,129 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect2 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 sc-qthelp-download-http "https://files.pythonhosted.org/packages/source/s/sphinxcontrib-qthelp/sphinxcontrib-qthelp-&sc-qthelp-version;.tar.gz">
+  <!ENTITY sc-qthelp-download-ftp  " ">
+  <!ENTITY sc-qthelp-md5sum        "93216721f3e154cce12d1e9c3307b415">
+  <!ENTITY sc-qthelp-size          "21 KB">
+  <!ENTITY sc-qthelp-buildsize     "2.8 MB (with tests)">
+  <!ENTITY sc-qthelp-time          "less than 0.1 SBU (with tests)">
+]>
+
+  <sect2 id="sc-qthelp" xreflabel="sphinxcontrib-qthelp-&sc-qthelp-version;">
+
+    <title>Sphinxcontrib-qthelp-&sc-qthelp-version;</title>
+
+    <indexterm zone="sc-qthelp">
+      <primary sortas="a-sphinxcontrib-qthelp">sphinxcontrib-qthelp</primary>
+    </indexterm>
+
+    <sect3 role="package">
+      <title>Introduction to Sphinxcontrib-qthelp Module</title>
+
+      <para>
+        The <application>Sphinxcontrib-qthelp</application> package is a
+        <application>Sphinx</application> extension which outputs QtHelp
+        documents.
+      </para>
+
+      &lfs112_checked;
+
+      <bridgehead renderas="sect4">Package Information</bridgehead>
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>
+            Download (HTTP): <ulink url="&sc-qthelp-download-http;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download (FTP): <ulink url="&sc-qthelp-download-ftp;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download MD5 sum: &sc-qthelp-md5sum;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download size: &sc-qthelp-size;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated disk space required: &sc-qthelp-buildsize;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated build time: &sc-qthelp-time;
+          </para>
+        </listitem>
+      </itemizedlist>
+
+      <bridgehead renderas="sect4">Sphinxcontrib-qthelp Dependencies</bridgehead>
+      <bridgehead renderas="sect5">Optional (for testing)</bridgehead>
+      <para role="optional">
+        <xref linkend="pytest"/> and
+        <xref linkend="sphinx"/> (circular dependency)
+      </para>
+
+    </sect3>
+
+    <sect3 role="installation">
+      <title>Installation of Sphinxcontrib-qthelp</title>
+
+    <para> Build the module: </para>
+
+<screen><userinput>pip3 wheel -w dist --no-build-isolation --no-deps $PWD</userinput></screen>
+
+    <para>
+      Now, as the <systemitem class="username">root</systemitem> user:
+    </para>
+
+<screen role="root"><userinput>pip3 install --no-index --find-links dist --no-cache-dir --no-user sphinxcontrib-qthelp</userinput></screen>
+
+    <para>
+      The installation can be tested with the following commands:
+    </para>
+
+<screen remap="test"><userinput>sed -i 's/text()/read_&amp;/' tests/test_qthelp.py &amp;&amp;
+pytest</userinput></screen>
+
+    <para>
+      The <command>sed ...</command> command is needed because of a change
+      in <application>Sphinx</application> API for versions greater than
+      5.0.
+    </para>
+
+
+    </sect3>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+      href="../../../xincludes/pip3-cmd-explain.xml"/>
+
+    <sect3 role="content">
+      <title>Contents</title>
+
+      <segmentedlist>
+        <segtitle>Installed Programs</segtitle>
+        <segtitle>Installed Libraries</segtitle>
+        <segtitle>Installed Directories</segtitle>
+
+        <seglistitem>
+          <seg>None</seg>
+          <seg>None</seg>
+          <seg>
+            /usr/lib/python&python3-majorver;/site-packages/sphinxcontrib and
+            /usr/lib/python&python3-majorver;/site-packages/sphinxcontrib_qthelp-&sc-qthelp-version;.dist-info
+          </seg>
+        </seglistitem>
+      </segmentedlist>
+
+    </sect3>
+
+  </sect2>
Index: general/prog/python-dependencies/sphinxcontrib-serializinghtml.xml
===================================================================
--- general/prog/python-dependencies/sphinxcontrib-serializinghtml.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
+++ general/prog/python-dependencies/sphinxcontrib-serializinghtml.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect2 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 sc-serializinghtml-download-http "https://files.pythonhosted.org/packages/source/s/sphinxcontrib-serializinghtml/sphinxcontrib-serializinghtml-&sc-serializinghtml-version;.tar.gz">
+  <!ENTITY sc-serializinghtml-download-ftp  " ">
+  <!ENTITY sc-serializinghtml-md5sum        "d99d2edc7b26988dc5fa92163857bfbf">
+  <!ENTITY sc-serializinghtml-size          "21 KB">
+  <!ENTITY sc-serializinghtml-buildsize     "3.0 MB (with tests)">
+  <!ENTITY sc-serializinghtml-time          "less than 0.1 SBU (with tests)">
+]>
+
+  <sect2 id="sc-serializinghtml" xreflabel="sphinxcontrib-serializinghtml-&sc-serializinghtml-version;">
+
+    <title>Sphinxcontrib-serializinghtml-&sc-serializinghtml-version;</title>
+
+    <indexterm zone="sc-serializinghtml">
+      <primary sortas="a-sphinxcontrib-serializinghtml">sphinxcontrib-serializinghtml</primary>
+    </indexterm>
+
+    <sect3 role="package">
+      <title>Introduction to Sphinxcontrib-serializinghtml Module</title>
+
+      <para>
+        The <application>Sphinxcontrib-serializinghtml</application> package is a
+        <application>Sphinx</application> extension which outputs
+        <quote>serialized</quote> HTML files (json and pickle).
+      </para>
+
+      &lfs112_checked;
+
+      <bridgehead renderas="sect4">Package Information</bridgehead>
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>
+            Download (HTTP): <ulink url="&sc-serializinghtml-download-http;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download (FTP): <ulink url="&sc-serializinghtml-download-ftp;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download MD5 sum: &sc-serializinghtml-md5sum;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download size: &sc-serializinghtml-size;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated disk space required: &sc-serializinghtml-buildsize;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated build time: &sc-serializinghtml-time;
+          </para>
+        </listitem>
+      </itemizedlist>
+
+      <bridgehead renderas="sect4">Sphinxcontrib-serializinghtml Dependencies</bridgehead>
+
+      <bridgehead renderas="sect5">Optional (for testing)</bridgehead>
+      <para role="optional">
+        <xref linkend="pytest"/> and
+        <xref linkend="sphinx"/> (circular dependency)
+      </para>
+
+    </sect3>
+
+    <sect3 role="installation">
+      <title>Installation of Sphinxcontrib-serializinghtml</title>
+
+    <para> Build the module: </para>
+
+<screen><userinput>pip3 wheel -w dist --no-build-isolation --no-deps $PWD</userinput></screen>
+
+    <para>
+      Now, as the <systemitem class="username">root</systemitem> user:
+    </para>
+
+<screen role="root"><userinput>pip3 install --no-index --find-links dist --no-cache-dir --no-user sphinxcontrib-serializinghtml</userinput></screen>
+
+      <para>
+        To test the installation, run <command>pytest</command>.
+      </para>
+
+    </sect3>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+      href="../../../xincludes/pip3-cmd-explain.xml"/>
+
+    <sect3 role="content">
+      <title>Contents</title>
+
+      <segmentedlist>
+        <segtitle>Installed Programs</segtitle>
+        <segtitle>Installed Libraries</segtitle>
+        <segtitle>Installed Directories</segtitle>
+
+        <seglistitem>
+          <seg>None</seg>
+          <seg>None</seg>
+          <seg>
+            /usr/lib/python&python3-majorver;/site-packages/sphinxcontrib and
+            /usr/lib/python&python3-majorver;/site-packages/sphinxcontrib_serializinghtml-&sc-serializinghtml-version;.dist-info
+          </seg>
+        </seglistitem>
+      </segmentedlist>
+
+    </sect3>
+
+  </sect2>
Index: general/prog/python-dependencies/toml.xml
===================================================================
--- general/prog/python-dependencies/toml.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
+++ general/prog/python-dependencies/toml.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -0,0 +1,129 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect2 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 toml-download-http "https://files.pythonhosted.org/packages/source/t/toml/toml-&toml-version;.tar.gz">
+  <!ENTITY toml-download-ftp  " ">
+  <!ENTITY toml-md5sum        "59bce5d8d67e858735ec3f399ec90253">
+  <!ENTITY toml-size          "22 KB">
+  <!ENTITY toml-buildsize     "588 KB (add 101 MB for tests)">
+  <!ENTITY toml-time          "less than 0.1 SBU (with tests)">
+]>
+
+  <sect2 id="toml" xreflabel="toml-&toml-version;">
+
+    <title>Toml-&toml-version;</title>
+
+    <indexterm zone="toml">
+      <primary sortas="a-toml">toml</primary>
+    </indexterm>
+
+    <sect3 role="package">
+      <title>Introduction to Toml Module</title>
+
+      <para>
+        The <application>Toml</application> library is used for parsing
+         and creating TOML files.
+      </para>
+
+      &lfs112_checked;
+
+      <bridgehead renderas="sect4">Package Information</bridgehead>
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>
+            Download (HTTP): <ulink url="&toml-download-http;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download (FTP): <ulink url="&toml-download-ftp;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download MD5 sum: &toml-md5sum;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download size: &toml-size;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated disk space required: &toml-buildsize;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated build time: &toml-time;
+          </para>
+        </listitem>
+      </itemizedlist>
+
+      <bridgehead renderas="sect4">Toml Dependencies</bridgehead>
+
+      <bridgehead renderas="sect5">Optional (for testing)</bridgehead>
+      <para role="optional">
+        <xref linkend="pytest"/> and
+        <ulink url="https://pypi.org/project/numpy/">numpy</ulink>
+      </para>
+
+
+    </sect3>
+
+    <sect3 role="installation">
+      <title>Installation of Toml</title>
+
+    <para> Build the module: </para>
+
+<screen><userinput>pip3 wheel -w dist --no-build-isolation --no-deps $PWD</userinput></screen>
+
+    <para>
+      Now, as the <systemitem class="username">root</systemitem> user:
+    </para>
+
+<screen role="root"><userinput>pip3 install --no-index --find-links dist --no-cache-dir --no-user toml</userinput></screen>
+
+    <para>
+      Assuming <xref linkend="pytest"/> is installed and the other optional
+      dependency is not, the installation can be tested with (some test
+      files need to be downloaded from github):
+    </para>
+
+<screen remap="test"><userinput>python3 -m venv --system-site-packages testenv        &amp;&amp;
+source testenv/bin/activate                           &amp;&amp;
+pip3 install numpy                                    &amp;&amp;
+git clone https://github.com/BurntSushi/toml-test.git &amp;&amp;
+python3 /usr/bin/pytest<!-- no && because of a possible error -->
+deactivate</userinput></screen>
+
+    </sect3>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+      href="../../../xincludes/pip3-cmd-explain.xml"/>
+
+    <sect3 role="content">
+      <title>Contents</title>
+
+      <segmentedlist>
+        <segtitle>Installed Programs</segtitle>
+        <segtitle>Installed Libraries</segtitle>
+        <segtitle>Installed Directories</segtitle>
+
+        <seglistitem>
+          <seg>None</seg>
+          <seg>None</seg>
+          <seg>
+            /usr/lib/python&python3-majorver;/site-packages/toml and
+            /usr/lib/python&python3-majorver;/site-packages/toml-&toml-version;.dist-info
+          </seg>
+        </seglistitem>
+      </segmentedlist>
+
+    </sect3>
+
+  </sect2>
Index: general/prog/python-dependencies/tomli.xml
===================================================================
--- general/prog/python-dependencies/tomli.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
+++ general/prog/python-dependencies/tomli.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -0,0 +1,119 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect2 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 tomli-download-http "https://files.pythonhosted.org/packages/source/t/tomli/tomli-&tomli-version;.tar.gz">
+  <!ENTITY tomli-download-ftp  " ">
+  <!ENTITY tomli-md5sum        "d4341621d423a7ca6822e23d6d52bb9a">
+  <!ENTITY tomli-size          "15 KB">
+  <!ENTITY tomli-buildsize     "260 KB">
+  <!ENTITY tomli-time          "less than 0.1 SBU">
+]>
+
+  <sect2 id="tomli" xreflabel="tomli-&tomli-version;">
+
+    <title>Tomli-&tomli-version;</title>
+
+    <indexterm zone="tomli">
+      <primary sortas="a-tomli">tomli</primary>
+    </indexterm>
+
+    <sect3 role="package">
+      <title>Introduction to Tomli Module</title>
+
+      <para>
+        <application>Tomli</application> is a python library for parsing
+        TOML format.
+      </para>
+
+      &lfs112_checked;
+
+      <bridgehead renderas="sect4">Package Information</bridgehead>
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>
+            Download (HTTP): <ulink url="&tomli-download-http;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download (FTP): <ulink url="&tomli-download-ftp;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download MD5 sum: &tomli-md5sum;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download size: &tomli-size;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated disk space required: &tomli-buildsize;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated build time: &tomli-time;
+          </para>
+        </listitem>
+      </itemizedlist>
+
+      <bridgehead renderas="sect4">Tomli Dependencies</bridgehead>
+
+      <bridgehead renderas="sect5">Required</bridgehead>
+      <para role="required">
+        <xref linkend="flit_core"/>
+      </para>
+
+
+    </sect3>
+
+    <sect3 role="installation">
+      <title>Installation of Tomli</title>
+
+    <para>Build the module: </para>
+
+<screen><userinput>pip3 wheel -w dist --no-build-isolation --no-deps $PWD</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>pip3 install --no-index --find-links dist --no-cache-dir --no-user tomli</userinput></screen>
+
+    </sect3>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+      href="../../../xincludes/pip3-cmd-explain.xml"/>
+
+    <sect3 role="content">
+      <title>Contents</title>
+
+      <segmentedlist>
+        <segtitle>Installed Programs</segtitle>
+        <segtitle>Installed Libraries</segtitle>
+        <segtitle>Installed Directories</segtitle>
+
+        <seglistitem>
+          <seg>None</seg>
+          <seg>None</seg>
+          <seg>
+            /usr/lib/python&python3-majorver;/site-packages/tomli and
+            /usr/lib/python&python3-majorver;/site-packages/tomli-&tomli-version;.dist-info
+          </seg>
+        </seglistitem>
+      </segmentedlist>
+
+    </sect3>
+
+  </sect2>
Index: general/prog/python-dependencies/typing_extensions.xml
===================================================================
--- general/prog/python-dependencies/typing_extensions.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
+++ general/prog/python-dependencies/typing_extensions.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -0,0 +1,118 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect2 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 typing_extensions-download-http "https://files.pythonhosted.org/packages/source/t/typing_extensions/typing_extensions-&typing_extensions-version;.tar.gz">
+  <!ENTITY typing_extensions-download-ftp  " ">
+  <!ENTITY typing_extensions-md5sum        "5cfcb56ea6fc4972c3600c0030f4d136">
+  <!ENTITY typing_extensions-size          "47 KB">
+  <!ENTITY typing_extensions-buildsize     "528 KB">
+  <!ENTITY typing_extensions-time          "less than 0.1 SBU">
+]>
+
+  <sect2 id="typing_extensions" xreflabel="typing_extensions-&typing_extensions-version;">
+
+    <title>Typing_extensions-&typing_extensions-version;</title>
+
+    <indexterm zone="typing_extensions">
+      <primary sortas="a-typing_extensions">typing_extensions</primary>
+    </indexterm>
+
+    <sect3 role="package">
+      <title>Introduction to Typing_extensions Module</title>
+
+      <para>
+        The <application>Typing_extensions</application> module allows
+        using new type system features not yet defined on the Python
+        version in use on the system.
+      </para>
+
+      &lfs112_checked;
+
+      <bridgehead renderas="sect4">Package Information</bridgehead>
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>
+            Download (HTTP): <ulink url="&typing_extensions-download-http;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download (FTP): <ulink url="&typing_extensions-download-ftp;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download MD5 sum: &typing_extensions-md5sum;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download size: &typing_extensions-size;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated disk space required: &typing_extensions-buildsize;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated build time: &typing_extensions-time;
+          </para>
+        </listitem>
+      </itemizedlist>
+
+      <bridgehead renderas="sect4">Typing_extensions Dependencies</bridgehead>
+
+      <bridgehead renderas="sect5">Required</bridgehead>
+      <para role="required">
+        <xref linkend="flit_core"/>
+      </para>
+
+    </sect3>
+
+    <sect3 role="installation">
+      <title>Installation of Typing_extensions</title>
+
+    <para>Build the module: </para>
+
+<screen><userinput>pip3 wheel -w dist --no-build-isolation --no-deps $PWD</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>pip3 install --no-index --find-links dist --no-cache-dir --no-user typing_extensions</userinput></screen>
+
+    </sect3>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+      href="../../../xincludes/pip3-cmd-explain.xml"/>
+
+    <sect3 role="content">
+      <title>Contents</title>
+
+      <segmentedlist>
+        <segtitle>Installed Programs</segtitle>
+        <segtitle>Installed Libraries</segtitle>
+        <segtitle>Installed Directories</segtitle>
+
+        <seglistitem>
+          <seg>None</seg>
+          <seg>None</seg>
+          <seg>
+            /usr/lib/python&python3-majorver;/site-packages/typing_extensions-&typing_extensions-version;.dist-info
+          </seg>
+        </seglistitem>
+      </segmentedlist>
+
+    </sect3>
+
+  </sect2>
Index: general/prog/python-dependencies/typogrify.xml
===================================================================
--- general/prog/python-dependencies/typogrify.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
+++ general/prog/python-dependencies/typogrify.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -0,0 +1,118 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect2 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 typogrify-download-http "https://files.pythonhosted.org/packages/source/t/typogrify/typogrify-&typogrify-version;.tar.gz">
+  <!ENTITY typogrify-download-ftp  " ">
+  <!ENTITY typogrify-md5sum        "63f38f80531996f187d2894cc497ba08">
+  <!ENTITY typogrify-size          "13 KB">
+  <!ENTITY typogrify-buildsize     "404 KB">
+  <!ENTITY typogrify-time          "less than 0.1 SBU">
+]>
+
+  <sect2 id="typogrify" xreflabel="typogrify-&typogrify-version;">
+
+    <title>Typogrify-&typogrify-version;</title>
+
+    <indexterm zone="typogrify">
+      <primary sortas="a-typogrify">typogrify</primary>
+    </indexterm>
+
+    <sect3 role="package">
+      <title>Introduction to Typogrify Module</title>
+
+      <para>
+        <application>Typogrify</application> provides filters to enhance
+        web typography, including support for Django and Jinja templates.
+      </para>
+
+      &lfs112_checked;
+
+      <bridgehead renderas="sect4">Package Information</bridgehead>
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>
+            Download (HTTP): <ulink url="&typogrify-download-http;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download (FTP): <ulink url="&typogrify-download-ftp;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download MD5 sum: &typogrify-md5sum;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download size: &typogrify-size;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated disk space required: &typogrify-buildsize;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated build time: &typogrify-time;
+          </para>
+        </listitem>
+      </itemizedlist>
+
+      <bridgehead renderas="sect4">Typogrify Dependencies</bridgehead>
+
+      <bridgehead renderas="sect5">Required</bridgehead>
+      <para role="required">
+        <xref linkend="smartypants"/>
+      </para>
+
+    </sect3>
+
+    <sect3 role="installation">
+      <title>Installation of Typogrify</title>
+
+    <para> Build the module: </para>
+
+<screen><userinput>pip3 wheel -w dist --no-build-isolation --no-deps $PWD</userinput></screen>
+
+    <para>
+      This package does not come with a testsuite.
+    </para>
+
+    <para>
+      Now, as the <systemitem class="username">root</systemitem> user:
+    </para>
+
+<screen role="root"><userinput>pip3 install --no-index --find-links dist --no-cache-dir --no-user typogrify</userinput></screen>
+
+    </sect3>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+      href="../../../xincludes/pip3-cmd-explain.xml"/>
+
+    <sect3 role="content">
+      <title>Contents</title>
+
+      <segmentedlist>
+        <segtitle>Installed Programs</segtitle>
+        <segtitle>Installed Libraries</segtitle>
+        <segtitle>Installed Directories</segtitle>
+
+        <seglistitem>
+          <seg>None</seg>
+          <seg>None</seg>
+          <seg>
+            /usr/lib/python&python3-majorver;/site-packages/typogrify and
+            /usr/lib/python&python3-majorver;/site-packages/typogrify-&typogrify-version;.dist-info
+          </seg>
+        </seglistitem>
+      </segmentedlist>
+
+    </sect3>
+
+  </sect2>
Index: general/prog/python-dependencies/urllib3.xml
===================================================================
--- general/prog/python-dependencies/urllib3.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
+++ general/prog/python-dependencies/urllib3.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -0,0 +1,144 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect2 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 urllib3-download-http "https://files.pythonhosted.org/packages/source/u/urllib3/urllib3-&urllib3-version;.tar.gz">
+  <!ENTITY urllib3-download-ftp  " ">
+  <!ENTITY urllib3-md5sum        "ba308b52b9092184cf4905bc59a88fc0">
+  <!ENTITY urllib3-size          "293 KB">
+  <!ENTITY urllib3-buildsize     "3.2 MB (add 50 MB for tests)">
+  <!ENTITY urllib3-time          "less than 0.1 SBU (0.7 SBU for tests)">
+]>
+
+  <sect2 id="urllib3" xreflabel="urllib3-&urllib3-version;">
+
+    <title>Urllib3-&urllib3-version;</title>
+
+    <indexterm zone="urllib3">
+      <primary sortas="a-urllib3">urllib3</primary>
+    </indexterm>
+
+    <sect3 role="package">
+      <title>Introduction to Urllib3 Module</title>
+
+      <para>
+        The <application>Urllib3</application> module is a powerful,
+        user-friendly HTTP client for Python. It brings many critical
+        features that are missing from the Python standard libraries.
+      </para>
+
+      &lfs112_checked;
+
+      <bridgehead renderas="sect4">Package Information</bridgehead>
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>
+            Download (HTTP): <ulink url="&urllib3-download-http;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download (FTP): <ulink url="&urllib3-download-ftp;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download MD5 sum: &urllib3-md5sum;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download size: &urllib3-size;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated disk space required: &urllib3-buildsize;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated build time: &urllib3-time;
+          </para>
+        </listitem>
+      </itemizedlist>
+
+      <bridgehead renderas="sect4">Urllib3 Dependencies</bridgehead>
+
+      <bridgehead renderas="sect5">Optional (for tests)</bridgehead>
+      <para role="optional">
+        <xref linkend="pytest"/>,
+        <ulink url="https://pypi.org/project/mock/">mock</ulink>,
+        <ulink url="https://pypi.org/project/PySocks/">PySocks</ulink>,
+        <ulink url="https://pypi.org/project/pytest-freezegun/">pytest-freezegun</ulink>,
+        <ulink url="https://pypi.org/project/pytest-timeout/">pytest-timeout</ulink>,
+        <ulink url="https://pypi.org/project/python-dateutil/">python-dateutil</ulink>,
+        <ulink url="https://pypi.org/project/tornado/">tornado</ulink>, and
+        <ulink url="https://pypi.org/project/trustme/">trustme</ulink>
+      </para>
+
+    </sect3>
+
+    <sect3 role="installation">
+      <title>Installation of Urllib3</title>
+
+    <para> Build the module: </para>
+
+<screen><userinput>pip3 wheel -w dist --no-build-isolation --no-deps $PWD</userinput></screen>
+
+    <para>
+      Now, as the <systemitem class="username">root</systemitem> user:
+    </para>
+
+<screen role="root"><userinput>pip3 install --no-index --find-links dist --no-cache-dir --no-user urllib3</userinput></screen>
+
+    <para>
+      Assuming <xref linkend="pytest"/> is installed, but the other optional
+      dependencies are not, the installation can be tested with the following
+      commands:
+    </para>
+
+<screen remap="test"><userinput>python3 -m venv --system-site-packages testenv &amp;&amp;
+source testenv/bin/activate                    &amp;&amp;
+pip3 install trustme         \
+             tornado         \
+             python-dateutil \
+             mock            \
+             pysocks         \
+             pytest-timeout  \
+             pytest-freezegun                  &amp;&amp;
+python3 /usr/bin/pytest<!-- no && because of a possible error -->
+deactivate</userinput></screen>
+
+    <para>
+      A few errors are known to occur.
+    </para>
+
+    </sect3>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+      href="../../../xincludes/pip3-cmd-explain.xml"/>
+
+    <sect3 role="content">
+      <title>Contents</title>
+
+      <segmentedlist>
+        <segtitle>Installed Programs</segtitle>
+        <segtitle>Installed Libraries</segtitle>
+        <segtitle>Installed Directories</segtitle>
+
+        <seglistitem>
+          <seg>None</seg>
+          <seg>None</seg>
+          <seg>
+            /usr/lib/python&python3-majorver;/site-packages/urllib3 and
+            /usr/lib/python&python3-majorver;/site-packages/urllib3-&urllib3-version;.dist-info
+          </seg>
+        </seglistitem>
+      </segmentedlist>
+
+    </sect3>
+
+  </sect2>
Index: general/prog/python-modules.xml
===================================================================
--- general/prog/python-modules.xml	(revision 5a8c6008bfb36c19551ab8b475981c3fb29e7926)
+++ general/prog/python-modules.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -76,4 +76,24 @@
       <listitem>
         <para>
+          <xref linkend="doxypypy"/>
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <xref linkend="doxyqml"/>
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <xref linkend="gi-docgen"/>
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <xref linkend="packaging"/>
+        </para>
+      </listitem>
+      <listitem>
+        <para>
           <xref linkend="py3c"/>
         </para>
@@ -166,10 +186,24 @@
         </para>
       </listitem>
-<!--      <listitem>
-        <para>
-          <xref linkend="python-slip"/>
-        </para>
-      </listitem>
--->
+      <listitem>
+        <para>
+          <xref linkend="pyparsing"/>
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <xref linkend="pytest"/>
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <xref linkend="recommonmark"/>
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <xref linkend="requests"/>
+        </para>
+      </listitem>
       <listitem>
         <para>
@@ -180,4 +214,14 @@
         <para>
           <xref linkend="six"/>
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <xref linkend="sphinx"/>
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <xref linkend="sphinx_rtd_theme"/>
         </para>
       </listitem>
@@ -191,11 +235,11 @@
 
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
-    href="asciidoc.xml"/>
-
-  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
-    href="cython.xml"/>
-
-  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
-    href="dbus-python.xml"/>
+    href="python-modules/asciidoc.xml"/>
+
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="python-modules/cython.xml"/>
+
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="python-modules/dbus-python.xml"/>
 
 <!--  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
@@ -203,11 +247,23 @@
 -->
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
-    href="docutils.xml"/>
-
-  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
-    href="py3c.xml"/>
-
-  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
-    href="pyatspi2.xml"/>
+    href="python-modules/docutils.xml"/>
+
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="python-modules/doxypypy.xml"/>
+
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="python-modules/doxyqml.xml"/>
+
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="python-modules/gi-docgen.xml"/>
+
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="python-modules/packaging.xml"/>
+
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="python-modules/py3c.xml"/>
+
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="python-modules/pyatspi2.xml"/>
 <!--
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
@@ -215,29 +271,32 @@
 -->
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
-    href="pycairo.xml"/>
-
-  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
-    href="pycairo2.xml"/>
-
-  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
-    href="pycryptodome.xml"/>
-
-  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
-    href="python-dbusmock.xml"/>
-
-  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
-    href="pygments.xml"/>
-
-  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
-    href="pygobject2.xml"/>
-
-  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
-    href="pygobject3.xml"/>
-
-  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
-    href="pygtk.xml"/>
-
-  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
-    href="pyxdg.xml"/>
+    href="python-modules/pycairo.xml"/>
+
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="python-modules/pycairo2.xml"/>
+
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="python-modules/pycryptodome.xml"/>
+
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="python-modules/python-dbusmock.xml"/>
+
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="python-modules/pygments.xml"/>
+
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="python-modules/pygobject2.xml"/>
+
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="python-modules/pygobject3.xml"/>
+
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="python-modules/pygtk.xml"/>
+
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="python-modules/pyxdg.xml"/>
+
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="python-modules/recommonmark.xml"/>
 
 <!--
@@ -253,29 +312,41 @@
 
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
-    href="libxml2py2.xml"/>
-
-  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
-    href="lxml.xml"/>
-
-  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
-    href="markupsafe.xml"/>
-
-  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
-    href="jinja2.xml"/>
-
-  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
-    href="mako.xml"/>
-
-<!--  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
-    href="python-slip.xml"/>-->
-
-  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
-    href="pyyaml.xml"/>
-
-  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
-    href="scour.xml"/>
-
-  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
-    href="six.xml"/>
+    href="python-modules/libxml2py2.xml"/>
+
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="python-modules/lxml.xml"/>
+
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="python-modules/markupsafe.xml"/>
+
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="python-modules/jinja2.xml"/>
+
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="python-modules/mako.xml"/>
+
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="python-modules/pyparsing.xml"/>
+
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="python-modules/pytest.xml"/>
+
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="python-modules/pyyaml.xml"/>
+
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="python-modules/requests.xml"/>
+
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="python-modules/scour.xml"/>
+
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="python-modules/six.xml"/>
+
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="python-modules/sphinx.xml"/>
+
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="python-modules/sphinx_rtd_theme.xml"/>
 
 </sect1>
Index: general/prog/python-modules/asciidoc.xml
===================================================================
--- general/prog/python-modules/asciidoc.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
+++ general/prog/python-modules/asciidoc.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -0,0 +1,162 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect2 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 asciidoc-download-http "https://files.pythonhosted.org/packages/source/a/asciidoc/asciidoc-&asciidoc-version;.tar.gz">
+  <!ENTITY asciidoc-download-ftp  " ">
+  <!ENTITY asciidoc-md5sum        "ecac3af818f7a65596efc6e243b520a0">
+  <!ENTITY asciidoc-size          "212 KB">
+  <!ENTITY asciidoc-buildsize     "4.3 MB">
+  <!ENTITY asciidoc-time          "less than 0.1 SBU">
+]>
+
+  <sect2 id="asciidoc" xreflabel="asciidoc-&asciidoc-version;">
+
+    <title>Asciidoc-&asciidoc-version;</title>
+
+    <indexterm zone="asciidoc">
+      <primary sortas="a-asciidoc">asciidoc</primary>
+    </indexterm>
+
+    <sect3 role="package">
+      <title>Introduction to Asciidoc Module</title>
+
+      <para>
+        The <application>Asciidoc</application> package is a text document
+        format for writing notes, documentation, articles, books, ebooks,
+        slideshows, web pages, man pages and blogs. AsciiDoc files can be
+        translated to many formats including HTML, PDF, EPUB, and man page.
+      </para>
+
+      &lfs112_checked;
+
+      <bridgehead renderas="sect4">Package Information</bridgehead>
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>
+            Download (HTTP): <ulink url="&asciidoc-download-http;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download (FTP): <ulink url="&asciidoc-download-ftp;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download MD5 sum: &asciidoc-md5sum;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download size: &asciidoc-size;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated disk space required: &asciidoc-buildsize;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated build time: &asciidoc-time;
+          </para>
+        </listitem>
+      </itemizedlist>
+
+      <bridgehead renderas="sect4">Asciidoc Dependencies</bridgehead>
+
+      <bridgehead renderas="sect5">Optional (runtime)</bridgehead>
+      <para role="optional">
+        <xref linkend="docbook-xsl"/>,
+        <xref linkend="fop"/>,
+        <xref linkend="libxslt"/>,
+        <xref linkend="lynx"/>,
+        <ulink url="https://sourceforge.net/projects/dblatex/">dblatex</ulink>, and
+        <ulink url="&w3m-url;">W3m</ulink>
+      </para>
+
+    </sect3>
+
+    <sect3 role="installation">
+      <title>Installation of Asciidoc</title>
+
+      <para>
+        Build the module:
+      </para>
+
+<screen><userinput>pip3 wheel -w dist --no-build-isolation --no-deps $PWD</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>pip3 install --no-index --find-links dist --no-cache-dir --no-user asciidoc</userinput></screen>
+
+    </sect3>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+      href="../../../xincludes/pip3-cmd-explain.xml"/>
+
+    <sect3 role="content">
+      <title>Contents</title>
+
+      <segmentedlist>
+        <segtitle>Installed Programs</segtitle>
+        <segtitle>Installed Libraries</segtitle>
+        <segtitle>Installed Directories</segtitle>
+
+        <seglistitem>
+          <seg>
+            a2x and
+            asciidoc
+          </seg>
+          <seg>None</seg>
+          <seg>
+            /usr/lib/python&python3-majorver;/site-packages/asciidoc and
+            /usr/lib/python&python3-majorver;/site-packages/asciidoc-&asciidoc-version;.dist-info
+          </seg>
+        </seglistitem>
+      </segmentedlist>
+
+      <variablelist>
+        <bridgehead renderas="sect5">Short Descriptions</bridgehead>
+        <?dbfo list-presentation="list"?>
+        <?dbhtml list-presentation="table"?>
+
+        <varlistentry id="a2x">
+          <term><command>a2x</command></term>
+          <listitem>
+            <para>
+              is a toolchain manager for AsciiDoc
+              (converts Asciidoc text files to other file formats)
+            </para>
+            <indexterm zone="asciidoc a2x">
+              <primary sortas="b-a2x">a2x</primary>
+            </indexterm>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="asciidoc-prog">
+          <term><command>asciidoc</command></term>
+          <listitem>
+            <para>
+              converts an AsciiDoc text file to HTML or DocBook
+            </para>
+            <indexterm zone="asciidoc asciidoc-prog">
+              <primary sortas="b-asciidoc-prog">asciidoc</primary>
+            </indexterm>
+          </listitem>
+        </varlistentry>
+
+      </variablelist>
+
+    </sect3>
+
+  </sect2>
Index: general/prog/python-modules/cython.xml
===================================================================
--- general/prog/python-modules/cython.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
+++ general/prog/python-modules/cython.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -0,0 +1,159 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect2 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 cython-download-http "https://github.com/cython/cython/releases/download/&cython-version;/Cython-&cython-version;.tar.gz">
+  <!ENTITY cython-download-ftp  " ">
+  <!ENTITY cython-md5sum        "91c36ea86c00adcc5c1c11cf48b733c0">
+  <!ENTITY cython-size          "2.0 MB">
+  <!ENTITY cython-buildsize     "87 MB">
+  <!ENTITY cython-time          "0.5 SBU">
+]>
+
+  <sect2 id="cython" xreflabel="cython-&cython-version;">
+
+    <title>Cython-&cython-version;</title>
+
+    <indexterm zone="cython">
+      <primary sortas="a-cython">cython</primary>
+    </indexterm>
+
+    <sect3 role="package">
+      <title>Introduction to Cython Module</title>
+
+      <para>
+        The <application>Cython</application> package provides a
+         compiler for writing C extensions for the Python language.
+      </para>
+
+      &lfs112_checked;
+
+      <bridgehead renderas="sect4">Package Information</bridgehead>
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>
+            Download (HTTP): <ulink url="&cython-download-http;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download (FTP): <ulink url="&cython-download-ftp;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download MD5 sum: &cython-md5sum;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download size: &cython-size;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated disk space required: &cython-buildsize;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated build time: &cython-time;
+          </para>
+        </listitem>
+      </itemizedlist>
+
+    </sect3>
+
+    <sect3 role="installation">
+      <title>Installation of Cython</title>
+
+      <para>
+        Build the module:
+      </para>
+
+<screen><userinput>pip3 wheel -w dist --no-build-isolation --no-deps $PWD</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>pip3 install --no-index --find-links dist --no-cache-dir --no-user Cython</userinput></screen>
+
+    </sect3>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+      href="../../../xincludes/pip3-cmd-explain.xml"/>
+
+    <sect3 role="content">
+      <title>Contents</title>
+
+      <segmentedlist>
+        <segtitle>Installed Programs</segtitle>
+        <segtitle>Installed Libraries</segtitle>
+        <segtitle>Installed Directories</segtitle>
+
+        <seglistitem>
+          <seg>cygdb cython cythonize</seg>
+          <seg>None</seg>
+          <seg>
+            /usr/lib/python&python3-majorver;/site-packages/Cython,
+            /usr/lib/python&python3-majorver;/site-packages/Cython-&cython-version;.dist-info, and
+            /usr/lib/python&python3-majorver;/site-packages/pyximport
+          </seg>
+        </seglistitem>
+      </segmentedlist>
+
+      <variablelist>
+        <bridgehead renderas="sect5">Short Descriptions</bridgehead>
+        <?dbfo list-presentation="list"?>
+        <?dbhtml list-presentation="table"?>
+
+        <varlistentry id="cygdb">
+          <term><command>cygdb</command></term>
+          <listitem>
+            <para>
+              is the Cython debugger
+            </para>
+            <indexterm zone="cython cygdb">
+              <primary sortas="b-cygdb">cygdb</primary>
+            </indexterm>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="cython-prog">
+          <term><command>cython</command></term>
+          <listitem>
+            <para>
+              is a compiler for code written in the Cython language. It outputs
+              a C/C++ program which can be compiled with a C/C++ compiler
+            </para>
+            <indexterm zone="cython cython-prog">
+              <primary sortas="b-cython-prog">cython</primary>
+            </indexterm>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="cythonize">
+          <term><command>cythonize</command></term>
+          <listitem>
+            <para>
+              is a compiler for code written in the Cython language. It outputs
+              an extension module which is directly importable from Python
+            </para>
+            <indexterm zone="cython cythonize">
+              <primary sortas="b-cythonize">cythonize</primary>
+            </indexterm>
+          </listitem>
+        </varlistentry>
+
+      </variablelist>
+
+    </sect3>
+
+  </sect2>
Index: general/prog/python-modules/dbus-python.xml
===================================================================
--- general/prog/python-modules/dbus-python.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
+++ general/prog/python-modules/dbus-python.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -0,0 +1,159 @@
+<?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 dbus-python-download-http "https://dbus.freedesktop.org/releases/dbus-python/dbus-python-&dbus-python-version;.tar.gz">
+  <!ENTITY dbus-python-download-ftp  " ">
+  <!ENTITY dbus-python-md5sum        "33be8a4a766e1c7c9a377b8f934ce21a">
+  <!ENTITY dbus-python-size          "592 KB">
+  <!ENTITY dbus-python-buildsize     "4.7 MB (with tests)" >
+  <!ENTITY dbus-python-time          "less than 0.1 SBU (with tests)">
+  <!ENTITY dbus-python-egg-info      "&python3-site;/dbus_python-&dbus-python-version;.egg-info">
+]>
+
+  <!-- Begin D-Bus Python -->
+  <sect2 id="dbus-python" xreflabel="D-Bus Python-&dbus-python-version;">
+    <title>D-Bus Python-&dbus-python-version;</title>
+
+    <indexterm zone="dbus-python">
+      <primary sortas="a-dbus-python">dbus-python</primary>
+    </indexterm>
+
+    <sect3 role="package">
+      <title>Introduction to D-Bus Python Module</title>
+
+      <para>
+        <application>D-Bus Python</application> provides
+        <application>Python</application> bindings to the
+        <application>D-Bus</application> API interface.
+      </para>
+
+      &lfs112_checked;
+
+      <bridgehead renderas="sect4">Package Information</bridgehead>
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>
+            Download (HTTP): <ulink url="&dbus-python-download-http;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download (FTP): <ulink url="&dbus-python-download-ftp;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download MD5 sum: &dbus-python-md5sum;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download size: &dbus-python-size;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated disk space required: &dbus-python-buildsize;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated build time: &dbus-python-time;
+          </para>
+        </listitem>
+      </itemizedlist>
+
+      <bridgehead renderas="sect4">D-Bus Python Dependencies</bridgehead>
+
+      <bridgehead renderas="sect5">Required</bridgehead>
+      <para role="required">
+        <xref linkend="dbus"/> and
+        <xref linkend="glib2"/>
+      </para>
+
+      <bridgehead renderas="sect5">Optional</bridgehead>
+      <para role="optional">
+        <xref linkend="pygobject3"/> and
+        <ulink url="https://pypi.python.org/pypi/tap.py/">tap.py</ulink>
+        (required for some tests)
+      </para>
+
+      <bridgehead renderas="sect5">
+       Optional (Required to build the API and HTML Documentation)</bridgehead>
+      <para role="optional">
+        <xref linkend="sphinx_rtd_theme"/>
+      </para>
+
+      <para condition="html" role="usernotes">User Notes:
+        <ulink url="&blfs-wiki;/dbus-python"/>
+      </para>
+    </sect3>
+
+    <sect3 role="installation">
+      <title>Installation of D-Bus Python</title>
+
+      <para>
+        Build the D-Bus Python module by running the following  commands:
+      </para>
+
+<screen><userinput>mkdir build &amp;&amp;
+cd    build &amp;&amp;
+
+meson --prefix=/usr --buildtype=release .. &amp;&amp;
+ninja</userinput></screen>
+
+      <para>
+        To test the results, issue: <command>ninja test</command>.
+      </para>
+
+      <para>
+        Now install the module as the &root; user:
+      </para>
+
+<screen role="root"><userinput>ninja install &amp;&amp;
+cp -rv ../dbus_python.egg-info \
+   -T  &dbus-python-egg-info;</userinput></screen>
+
+    </sect3>
+
+    <sect3 role="commands">
+
+      <title>Command Explanations</title>
+
+      <para>
+        <command>cp -rv ... -T ...</command>: Install the metadata of this
+        Python module so <command>pip3</command> will be able to find this
+        module and use it as a dependency building and installing other
+        modules.  <parameter>-T</parameter> is used to make this command
+        behave properly in case that this module is reinstalled.
+      </para>
+
+    </sect3>
+
+    <sect3 role="content">
+      <title>Contents</title>
+
+      <segmentedlist>
+        <segtitle>Installed Programs</segtitle>
+        <segtitle>Installed Libraries</segtitle>
+        <segtitle>Installed Directories</segtitle>
+
+        <seglistitem>
+          <seg>
+            None
+          </seg>
+          <seg>
+            None
+          </seg>
+          <seg>
+            &python3-site;/dbus and &dbus-python-egg-info;
+          </seg>
+        </seglistitem>
+      </segmentedlist>
+
+    </sect3>
+
+  </sect2>
Index: general/prog/python-modules/docutils.xml
===================================================================
--- general/prog/python-modules/docutils.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
+++ general/prog/python-modules/docutils.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -0,0 +1,330 @@
+<?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 docutils-download-http "https://downloads.sourceforge.net/docutils/docutils-&docutils-version;.tar.gz">
+  <!ENTITY docutils-download-ftp  " ">
+  <!ENTITY docutils-md5sum        "0afa992a6e93db892107c3f087d0d9df">
+  <!ENTITY docutils-size          "2.0 MB">
+  <!ENTITY docutils-buildsize     "12 MB">
+  <!ENTITY docutils-time          "less than 0.1 SBU">
+]>
+
+  <!-- Begin docutils -->
+  <sect2 id="docutils" xreflabel="docutils-&docutils-version;">
+
+    <title>docutils-&docutils-version;</title>
+
+    <indexterm zone="docutils">
+      <primary sortas="a-docutils">docutils</primary>
+    </indexterm>
+
+    <sect3 role="package">
+      <title>Introduction to docutils</title>
+
+      <para>
+        <application>docutils</application> is a set of
+        <application>Python</application> modules and programs
+        for processing plaintext docs into formats such as HTML, XML, or LaTeX.
+      </para>
+
+      &lfs112_checked;
+
+      <bridgehead renderas="sect4">Package Information</bridgehead>
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>
+            Download (HTTP): <ulink url="&docutils-download-http;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download (FTP): <ulink url="&docutils-download-ftp;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download MD5 sum: &docutils-md5sum;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download size: &docutils-size;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated disk space required: &docutils-buildsize;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated build time: &docutils-time;
+          </para>
+        </listitem>
+      </itemizedlist>
+
+<!--
+      <bridgehead renderas="sect4">Docutils Dependencies</bridgehead>
+
+      <bridgehead renderas="sect5">Optional</bridgehead>
+      <para role="optional">
+        <xref linkend="python2"/>
+      </para>
+-->
+
+      <para condition="html" role="usernotes">
+        User Notes: <ulink url="&blfs-wiki;/docutils"/>
+      </para>
+    </sect3>
+
+    <sect3 role="installation">
+      <title>Installation of docutils</title>
+
+<!-- Editors note: Use - -root= instead of DESTDIR= when updating. -->
+
+      <para>
+        To build the <application>Python 3</application> applications,
+        run the following command:
+      </para>
+
+<screen><userinput>pip3 wheel -w dist --no-build-isolation --no-deps $PWD</userinput></screen>
+
+      <para>
+        To install the <application>Python</application> applications
+        run the following as the &root; user:
+      </para>
+
+<screen role="root"><userinput>pip3 install --no-index --find-links dist --no-cache-dir --no-user docutils &amp;&amp;
+
+for f in /usr/bin/rst*.py; do
+  ln -svf $(basename $f) /usr/bin/$(basename $f .py)
+done</userinput></screen>
+
+      <!-- FHS 3.0 section 4.4.2:
+           "There must be no subdirectories in /usr/bin."
+           But pip maintainers closed this as WONTFIX:
+           https://github.com/pypa/pip/issues/6906 -->
+      <para>
+        To reduce the time needed for loading Python scripts,
+        <command>pip3 install</command> will compile the scripts with
+        extension <filename class='extension'>.py</filename> into byte code
+        and save the result into
+        <filename class='extension'>.pyc</filename> files in the directory
+        <filename class='directory'>__pycache__</filename>.
+        But this package installs <filename class='extension'>.py</filename>
+        scripts into <filename class='directory'>/usr/bin</filename>.
+        So the byte code files for them will be installed into
+        <filename class='directory'>/usr/bin/__pycache__</filename>, which
+        is not allowed by FHS.  Still as the &root; user, remove this
+        directory:
+      </para>
+
+<screen role="root"><userinput>rm -rfv /usr/bin/__pycache__</userinput></screen>
+    </sect3>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+      href="../../../xincludes/pip3-cmd-explain.xml"/>
+
+    <sect3 role="content">
+      <title>Contents</title>
+
+      <segmentedlist>
+        <segtitle>Installed Programs</segtitle>
+        <segtitle>Installed Libraries</segtitle>
+        <segtitle>Installed Directories</segtitle>
+
+        <seglistitem>
+          <seg>
+            docutils, rst2html4, rst2html5, rst2html, rst2latex, rst2man,
+            rst2odt_prepstyles, rst2odt, rst2pseudoxml, rst2s5,
+            rst2xetex, rst2xml, and rstpep2html
+          </seg>
+          <seg>
+            None
+          </seg>
+          <seg>
+            /usr/lib/python&python3-majorver;/site-packages/docutils{,-&docutils-version;.dist-info}
+          </seg>
+        </seglistitem>
+      </segmentedlist>
+
+      <variablelist>
+        <bridgehead renderas="sect5">Short Descriptions</bridgehead>
+        <?dbfo list-presentation="list"?>
+        <?dbhtml list-presentation="table"?>
+
+        <varlistentry id="docutils-prog">
+          <term><command>docutils</command></term>
+          <listitem>
+            <para>
+              converts documents into various formats
+            </para>
+            <indexterm zone="docutils docutils-prog">
+              <primary sortas="b-docutils-prog">docutils</primary>
+            </indexterm>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="rst2html">
+          <term><command>rst2html</command></term>
+          <listitem>
+            <para>
+              generates (X)HTML documents from standalone reStructuredText
+              sources
+            </para>
+            <indexterm zone="docutils rst2html">
+              <primary sortas="b-rst2html">rst2html</primary>
+            </indexterm>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="rst2html4">
+          <term><command>rst2html4</command></term>
+          <listitem>
+            <para>
+              generates (X)HTML documents from standalone reStructuredText
+              sources
+            </para>
+            <indexterm zone="docutils rst2html4">
+              <primary sortas="b-rst2html4">rst2html4</primary>
+            </indexterm>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="rst2html5">
+          <term><command>rst2html5</command></term>
+          <listitem>
+            <para>
+              generates HTML5 documents from standalone reStructuredText
+              sources
+            </para>
+            <indexterm zone="docutils rst2html5">
+              <primary sortas="b-rst2html5">rst2html5</primary>
+            </indexterm>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="rst2latex">
+          <term><command>rst2latex</command></term>
+          <listitem>
+            <para>
+              generates LaTeX documents from standalone reStructuredText
+              sources
+            </para>
+            <indexterm zone="docutils rst2latex">
+              <primary sortas="b-rst2latex">rst2latex</primary>
+            </indexterm>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="rst2man">
+          <term><command>rst2man</command></term>
+          <listitem>
+            <para>
+              generates plain unix manual documents from standalone
+              reStructuredText sources
+            </para>
+            <indexterm zone="docutils rst2man">
+              <primary sortas="b-rst2man">rst2man</primary>
+            </indexterm>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="rst2odt">
+          <term><command>rst2odt</command></term>
+          <listitem>
+            <para>
+              generates OpenDocument/OpenOffice/ODF documents from standalone
+              reStructuredText sources
+            </para>
+            <indexterm zone="docutils rst2odt">
+              <primary sortas="b-rst2odt">rst2odt</primary>
+            </indexterm>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="rst2odt_prepstyles">
+          <term><command>rst2odt_prepstyles</command></term>
+          <listitem>
+            <para>
+              Fix a word-processor-generated styles.odt for odtwriter use
+            </para>
+            <indexterm zone="docutils rst2odt_prepstyles">
+              <primary sortas="b-rst2odt_prepstyles">rst2odt_prepstyles</primary>
+            </indexterm>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="rst2pseudoxml">
+          <term><command>rst2pseudoxml</command></term>
+          <listitem>
+            <para>
+              generates pseudo-XML from standalone reStructuredText sources
+              (for testing purposes)
+            </para>
+            <indexterm zone="docutils rst2pseudoxml">
+              <primary sortas="b-rst2pseudoxml">rst2pseudoxml</primary>
+            </indexterm>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="rst2s5">
+          <term><command>rst2s5</command></term>
+          <listitem>
+            <para>
+              generates S5 (X)HTML slideshow from standalone reStructuredText
+              sources
+            </para>
+            <indexterm zone="docutils rst2s5">
+              <primary sortas="b-rst2s5">rst2s5</primary>
+            </indexterm>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="rst2xetex">
+          <term><command>rst2xetex</command></term>
+          <listitem>
+            <para>
+              generates LaTeX documents  from standalone reStructuredText
+              sources for compilation with the Unicode-aware TeX variants
+              XeLaTeX or LuaLaTeX
+            </para>
+            <indexterm zone="docutils rst2xetex">
+              <primary sortas="b-rst2xetex">rst2xetex</primary>
+            </indexterm>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="rst2xml">
+          <term><command>rst2xml</command></term>
+          <listitem>
+            <para>
+              generates Docutils-native XML from standalone reStructuredText
+              sources
+            </para>
+            <indexterm zone="docutils rst2xml">
+              <primary sortas="b-rst2xml">rst2xml</primary>
+            </indexterm>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="rstpep2html">
+          <term><command>rstpep2html</command></term>
+          <listitem>
+            <para>
+              generates (X)HTML from reStructuredText-format PEP files
+            </para>
+            <indexterm zone="docutils rstpep2html">
+              <primary sortas="b-rstpep2html">rstpep2html</primary>
+            </indexterm>
+          </listitem>
+        </varlistentry>
+
+      </variablelist>
+
+    </sect3>
+
+  </sect2>
Index: general/prog/python-modules/doxypypy.xml
===================================================================
--- general/prog/python-modules/doxypypy.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
+++ general/prog/python-modules/doxypypy.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -0,0 +1,138 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect2 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 doxypypy-download-http "https://files.pythonhosted.org/packages/source/d/doxypypy/doxypypy-&doxypypy-version;.tar.gz">
+  <!ENTITY doxypypy-download-ftp  " ">
+  <!ENTITY doxypypy-md5sum        "6b3fe4eff5d459400071b626333fe15f">
+  <!ENTITY doxypypy-size          "38 KB">
+  <!ENTITY doxypypy-buildsize     "1.4 MB">
+  <!ENTITY doxypypy-time          "less than 0.1 SBU">
+]>
+
+  <sect2 id="doxypypy" xreflabel="doxypypy-&doxypypy-version;">
+
+    <title>Doxypypy-&doxypypy-version;</title>
+
+    <indexterm zone="doxypypy">
+      <primary sortas="a-doxypypy">doxypypy</primary>
+    </indexterm>
+
+    <sect3 role="package">
+      <title>Introduction to Doxypypy Module</title>
+
+      <para>
+        The <application>Doxypypy</application> package is a doxygen filter
+        for python.
+      </para>
+
+      &lfs112_checked;
+
+      <bridgehead renderas="sect4">Package Information</bridgehead>
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>
+            Download (HTTP): <ulink url="&doxypypy-download-http;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download (FTP): <ulink url="&doxypypy-download-ftp;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download MD5 sum: &doxypypy-md5sum;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download size: &doxypypy-size;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated disk space required: &doxypypy-buildsize;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated build time: &doxypypy-time;
+          </para>
+        </listitem>
+      </itemizedlist>
+
+      <bridgehead renderas="sect4">Doxypypy Dependencies</bridgehead>
+
+      <bridgehead renderas="sect5">Required (run time)</bridgehead>
+      <para role="required">
+        <xref role="runtime" linkend="doxygen"/>
+      </para>
+
+    </sect3>
+
+    <sect3 role="installation">
+      <title>Installation of Doxypypy</title>
+
+    <para> Build the module: </para>
+
+<screen><userinput>pip3 wheel -w dist --no-build-isolation --no-deps $PWD</userinput></screen>
+
+    <para>
+      Now, as the <systemitem class="username">root</systemitem> user:
+    </para>
+
+<screen role="root"><userinput>pip3 install --no-index --find-links dist --no-cache-dir --no-user doxypypy</userinput></screen>
+
+    <para>
+      This package does not come with a working test suite.
+    </para>
+
+    </sect3>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+      href="../../../xincludes/pip3-cmd-explain.xml"/>
+
+    <sect3 role="content">
+      <title>Contents</title>
+
+      <segmentedlist>
+        <segtitle>Installed Programs</segtitle>
+        <segtitle>Installed Libraries</segtitle>
+        <segtitle>Installed Directories</segtitle>
+
+        <seglistitem>
+          <seg>doxypypy</seg>
+          <seg>None</seg>
+          <seg>
+            /usr/lib/python&python3-majorver;/site-packages/doxypypy and
+            /usr/lib/python&python3-majorver;/site-packages/doxypypy-&doxypypy-version;.dist-info
+          </seg>
+        </seglistitem>
+      </segmentedlist>
+
+      <variablelist>
+        <bridgehead renderas="sect5">Short Descriptions</bridgehead>
+        <?dbfo list-presentation="list"?>
+        <?dbhtml list-presentation="table"?>
+
+        <varlistentry id="doxypypy-prog">
+          <term><command>doxypypy</command></term>
+          <listitem>
+            <para>
+              filters Python code for use with Doxygen, using a syntax-aware
+              approach.
+            </para>
+            <indexterm zone="doxypypy doxypypy-prog">
+              <primary sortas="b-doxypypy-prog">doxypypy</primary>
+            </indexterm>
+          </listitem>
+        </varlistentry>
+
+      </variablelist>
+
+    </sect3>
+
+  </sect2>
Index: general/prog/python-modules/doxyqml.xml
===================================================================
--- general/prog/python-modules/doxyqml.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
+++ general/prog/python-modules/doxyqml.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -0,0 +1,148 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect2 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 doxyqml-download-http "https://files.pythonhosted.org/packages/source/d/doxyqml/doxyqml-&doxyqml-version;.tar.gz">
+  <!ENTITY doxyqml-download-ftp  " ">
+  <!ENTITY doxyqml-md5sum        "6028582aec4c2ef1ffd1b1ffa28ef8e4">
+  <!ENTITY doxyqml-size          "23 KB">
+  <!ENTITY doxyqml-buildsize     "776 KB (with tests)">
+  <!ENTITY doxyqml-time          "less than 0.1 SBU (with tests)">
+]>
+
+  <sect2 id="doxyqml" xreflabel="doxyqml-&doxyqml-version;">
+
+    <title>Doxyqml-&doxyqml-version;</title>
+
+    <indexterm zone="doxyqml">
+      <primary sortas="a-doxyqml">doxyqml</primary>
+    </indexterm>
+
+    <sect3 role="package">
+      <title>Introduction to Doxyqml Module</title>
+
+      <para>
+        The <application>Doxyqml</application> package allows using Doxygen
+        to document QML classes.
+      </para>
+
+      &lfs112_checked;
+
+      <bridgehead renderas="sect4">Package Information</bridgehead>
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>
+            Download (HTTP): <ulink url="&doxyqml-download-http;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download (FTP): <ulink url="&doxyqml-download-ftp;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download MD5 sum: &doxyqml-md5sum;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download size: &doxyqml-size;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated disk space required: &doxyqml-buildsize;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated build time: &doxyqml-time;
+          </para>
+        </listitem>
+      </itemizedlist>
+
+      <bridgehead renderas="sect4">Doxyqml Dependencies</bridgehead>
+
+      <bridgehead renderas="sect5">Required (Run Time)</bridgehead>
+      <para role="required">
+        <xref role="runtime" linkend="doxygen"/>
+      </para>
+
+      <bridgehead renderas="sect5">Optional (for testing)</bridgehead>
+      <para role="optional">
+        <xref linkend="pytest"/>
+      </para>
+
+    </sect3>
+
+    <sect3 role="installation">
+      <title>Installation of Doxyqml</title>
+
+    <para> Build the module: </para>
+
+<screen><userinput>pip3 wheel -w dist --no-build-isolation --no-deps $PWD</userinput></screen>
+
+    <para>
+      Now, as the <systemitem class="username">root</systemitem> user:
+    </para>
+
+<screen role="root"><userinput>pip3 install --no-index --find-links dist --no-cache-dir --no-user doxyqml</userinput></screen>
+
+    <para>
+      To test the installation, run:
+    </para>
+
+<screen remap="test"><userinput>pytest</userinput></screen>
+
+    <para>
+      The <emphasis>test_qmlclass.py</emphasis> test is known to fail.
+    </para>
+
+    </sect3>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+      href="../../../xincludes/pip3-cmd-explain.xml"/>
+
+    <sect3 role="content">
+      <title>Contents</title>
+
+      <segmentedlist>
+        <segtitle>Installed Programs</segtitle>
+        <segtitle>Installed Libraries</segtitle>
+        <segtitle>Installed Directories</segtitle>
+
+        <seglistitem>
+          <seg>doxyqml</seg>
+          <seg>None</seg>
+          <seg>
+            /usr/lib/python&python3-majorver;/site-packages/doxyqml and
+            /usr/lib/python&python3-majorver;/site-packages/doxyqml-&doxyqml-version;.dist-info
+          </seg>
+        </seglistitem>
+      </segmentedlist>
+
+      <variablelist>
+        <bridgehead renderas="sect5">Short Descriptions</bridgehead>
+        <?dbfo list-presentation="list"?>
+        <?dbhtml list-presentation="table"?>
+
+        <varlistentry id="doxyqml-prog">
+          <term><command>doxyqml</command></term>
+          <listitem>
+            <para>
+              is a Doxygen input filter for QML files.
+            </para>
+            <indexterm zone="doxyqml doxyqml-prog">
+              <primary sortas="b-doxyqml-prog">doxyqml</primary>
+            </indexterm>
+          </listitem>
+        </varlistentry>
+
+      </variablelist>
+  
+    </sect3>
+
+  </sect2>
Index: general/prog/python-modules/gi-docgen.xml
===================================================================
--- general/prog/python-modules/gi-docgen.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
+++ general/prog/python-modules/gi-docgen.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -0,0 +1,150 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect2 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 gi-docgen-download-http "https://files.pythonhosted.org/packages/source/g/gi-docgen/gi-docgen-&gi-docgen-version;.tar.gz">
+  <!ENTITY gi-docgen-download-ftp  " ">
+  <!ENTITY gi-docgen-md5sum        "e1b86477bd77254a9e4070371887950c">
+  <!ENTITY gi-docgen-size          "2.4 MB">
+  <!ENTITY gi-docgen-buildsize     "2O MB (with tests)">
+  <!ENTITY gi-docgen-time          "less than 0.1 SBU (with tests)">
+]>
+
+  <sect2 id="gi-docgen" xreflabel="Gi-DocGen-&gi-docgen-version;">
+
+    <title>Gi-DocGen-&gi-docgen-version;</title>
+
+    <indexterm zone="gi-docgen">
+      <primary sortas="a-gi-docgen">gi-docgen</primary>
+    </indexterm>
+
+    <sect3 role="package">
+      <title>Introduction to Gi-DocGen Module</title>
+
+      <para>
+        <application>Gi-DocGen</application>is a document generator for
+        GObject-based libraries. GObject is the base type system of the GNOME
+        project. GI-Docgen reuses the introspection data generated by
+        GObject-based libraries to generate the API reference of these
+        libraries, as well as other ancillary documentation.
+      </para>
+
+      &lfs112_checked;
+
+      <bridgehead renderas="sect4">Package Information</bridgehead>
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>
+            Download (HTTP): <ulink url="&gi-docgen-download-http;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download (FTP): <ulink url="&gi-docgen-download-ftp;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download MD5 sum: &gi-docgen-md5sum;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download size: &gi-docgen-size;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated disk space required: &gi-docgen-buildsize;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated build time: &gi-docgen-time;
+          </para>
+        </listitem>
+      </itemizedlist>
+
+      <bridgehead renderas="sect4">Gi-DocGen Dependencies</bridgehead>
+
+      <bridgehead renderas="sect5">Required</bridgehead>
+      <para role="required">
+        <xref linkend="markdown"/>,
+        <phrase revision="sysv"><xref linkend="MarkupSafe"/>,</phrase>
+        <xref linkend="pygments"/>,
+        <phrase revision="sysv"><xref linkend="Jinja2"/>,</phrase>
+        <xref linkend="toml"/>, and
+        <xref linkend="typogrify"/>
+      </para>
+
+      <bridgehead renderas="sect5">Optional (for testing)</bridgehead>
+      <para role="optional">
+        <xref linkend="pytest"/>
+      </para>
+
+    </sect3>
+
+    <sect3 role="installation">
+      <title>Installation of gi-docgen</title>
+
+    <para> Build the module: </para>
+
+<screen><userinput>pip3 wheel -w dist --no-build-isolation --no-deps $PWD</userinput></screen>
+
+    <para>
+      Now, as the <systemitem class="username">root</systemitem> user:
+    </para>
+
+<screen role="root"><userinput>pip3 install --no-index --find-links dist --no-cache-dir --no-user gi-docgen</userinput></screen>
+
+    <para>
+      To test the installation, issue <command>pytest</command>.
+    </para>
+
+    </sect3>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+      href="../../../xincludes/pip3-cmd-explain.xml"/>
+
+    <sect3 role="content">
+      <title>Contents</title>
+
+      <segmentedlist>
+        <segtitle>Installed Programs</segtitle>
+        <segtitle>Installed Libraries</segtitle>
+        <segtitle>Installed Directories</segtitle>
+
+        <seglistitem>
+          <seg>gi-docgen</seg>
+          <seg>None</seg>
+          <seg>
+            /usr/lib/python&python3-majorver;/site-packages/gidocgen and
+            /usr/lib/python&python3-majorver;/site-packages/gi_docgen-&gi-docgen-version;.dist-info
+          </seg>
+        </seglistitem>
+      </segmentedlist>
+
+      <variablelist>
+        <bridgehead renderas="sect3">Short Descriptions</bridgehead>
+        <?dbfo list-presentation="list"?>
+        <?dbhtml list-presentation="table"?>
+
+        <varlistentry id="gi-docgen-prog">
+          <term><command>gi-docgen</command></term>
+          <listitem>
+            <para>
+              manages documentation for libgobject based libraries.
+            </para>
+            <indexterm zone="gi-docgen gi-docgen-prog">
+              <primary sortas="b-gi-docgen">gi-docgen</primary>
+            </indexterm>
+          </listitem>
+        </varlistentry>
+
+      </variablelist>
+
+    </sect3>
+
+  </sect2>
Index: general/prog/python-modules/jinja2.xml
===================================================================
--- general/prog/python-modules/jinja2.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
+++ general/prog/python-modules/jinja2.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -0,0 +1,130 @@
+<?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 Jinja2-download-http "&pymodules-dl;/J/Jinja2/Jinja2-&Jinja2-version;.tar.gz">
+  <!ENTITY Jinja2-download-ftp  " ">
+  <!ENTITY Jinja2-md5sum        "d31148abd89c1df1cdb077a55db27d02">
+  <!ENTITY Jinja2-size          "264 KB">
+  <!ENTITY Jinja2-buildsize     "1.9 MB">
+  <!ENTITY Jinja2-time          "less than 0.1 SBU">
+]>
+
+  <!-- Begin Jinja2 -->
+  <sect2 id="Jinja2" xreflabel="Jinja2-&Jinja2-version;" revision="sysv">
+
+    <title>Jinja2-&Jinja2-version;</title>
+
+    <indexterm zone="Jinja2">
+      <primary sortas="a-Jinja2">Jinja2</primary>
+    </indexterm>
+
+    <sect3 role="package">
+      <title>Introduction to Jinja2 Module</title>
+
+      <para>
+        <application>Jinja2</application> is a <application>Python</application>
+        module that implements a simple pythonic template language.
+      </para>
+
+      <note revision="systemd">
+        <para>
+          <application>Jinja2</application> was installed in LFS.
+          The instruction is only kept here for SysV revision.
+        </para>
+      </note>
+
+      &lfs112_checked;
+
+      <bridgehead renderas="sect4">Package Information</bridgehead>
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>
+            Download (HTTP): <ulink url="&Jinja2-download-http;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download (FTP): <ulink url="&Jinja2-download-ftp;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download MD5 sum: &Jinja2-md5sum;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download size: &Jinja2-size;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated disk space required: &Jinja2-buildsize;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated build time: &Jinja2-time;
+          </para>
+        </listitem>
+      </itemizedlist>
+
+      <bridgehead renderas="sect4">Jinja2 Dependencies</bridgehead>
+
+      <bridgehead renderas="sect5">Required</bridgehead>
+      <para role="required">
+        <xref linkend="MarkupSafe"/>
+      </para>
+
+      <para condition="html" role="usernotes">
+        User Notes: <ulink url="&blfs-wiki;/Jinja2"/>
+      </para>
+    </sect3>
+
+    <sect3 role="installation">
+      <title>Installation of Jinja2</title>
+      <para>
+        Build the module:
+      </para>
+
+<screen><userinput>pip3 wheel -w dist --no-build-isolation --no-deps $PWD</userinput></screen>
+
+      <para>
+        Install the module as the &root; user:
+      </para>
+
+<screen role="root"><userinput>pip3 install --no-index --find-links dist --no-cache-dir --no-user Jinja2</userinput></screen>
+
+    </sect3>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+      href="../../../xincludes/pip3-cmd-explain.xml"/>
+
+    <sect3 role="content">
+      <title>Contents</title>
+
+      <segmentedlist>
+        <segtitle>Installed Programs</segtitle>
+        <segtitle>Installed Libraries</segtitle>
+        <segtitle>Installed Directories</segtitle>
+
+        <seglistitem>
+          <seg>
+            None
+          </seg>
+          <seg>
+            None
+          </seg>
+          <seg>
+            /usr/lib/python&python3-majorver;/site-packages/Jinja2 and
+            /usr/lib/python&python3-majorver;/site-packages/Jinja2-&Jinja2-version;.dist-info
+          </seg>
+        </seglistitem>
+      </segmentedlist>
+
+    </sect3>
+
+  </sect2>
Index: general/prog/python-modules/libxml2py2.xml
===================================================================
--- general/prog/python-modules/libxml2py2.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
+++ general/prog/python-modules/libxml2py2.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -0,0 +1,181 @@
+<?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;
+
+  <!-- The download, md5sum, size entities need to match those used in libxml2.xml -->
+  <!ENTITY libxml2py2-download-http "https://download.gnome.org/sources/libxml2/2.10/libxml2-&libxml2-version;.tar.xz">
+  <!ENTITY libxml2py2-download-ftp  " ">
+  <!ENTITY libxml2py2-md5sum        "f9edac7fac232b3657a003fd9a5bbe42">
+  <!ENTITY libxml2py2-size          "2.5 MB">
+  <!ENTITY libxml2py2-buildsize     "49 MB (2.3 MB installed)">
+  <!ENTITY libxml2py2-time          "less than 0.1 SBU">
+]>
+
+  <!-- Begin libxml2py2 -->
+  <sect2 id="libxml2py2" xreflabel="Python2 libxml2-&libxml2-version; module">
+
+    <title>libxml2-&libxml2-version; (for its Python2 module)</title>
+
+    <indexterm zone="libxml2py2">
+      <primary sortas="a-libxml2py2">libxml2</primary>
+    </indexterm>
+
+    <sect3 role="package">
+      <title>Introduction to the libxml2 Python2 module</title>
+
+      <para>
+        These instructions provide the <application>Python2</application>
+        bindings for <application>libxml2</application>: the
+        <application>Python3</application> bindings are built as part of <xref
+        linkend="libxml2"/> and most packages in the book do not use these
+        bindings for the older <application>Python2</application>.
+      </para>
+
+      <para>
+        By building these bindings after <xref linkend="libxml2"/> has
+        been installed, there is no need to rebuild the time-consuming (if all
+        dependencies are used) main part of that package.
+      </para>
+
+      &lfs112_checked;
+
+      <bridgehead renderas="sect4">Package Information</bridgehead>
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>
+            Download (HTTP): <ulink url="&libxml2py2-download-http;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download (FTP): <ulink url="&libxml2py2-download-ftp;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download MD5 sum: &libxml2py2-md5sum;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download size: &libxml2py2-size;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated disk space required: &libxml2py2-buildsize;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated build time: &libxml2py2-time;
+          </para>
+        </listitem>
+      </itemizedlist>
+
+      <bridgehead renderas="sect4">libxml2 (Python2) Dependencies</bridgehead>
+
+      <bridgehead renderas="sect5">Required</bridgehead>
+      <para role="required">
+        <xref linkend="libxml2"/> and
+        <xref linkend="python2"/>
+      </para>
+
+      <para condition="html" role="usernotes">
+        User Notes: <ulink url="&blfs-wiki;/libxml2"/>
+      </para>
+    </sect3>
+
+    <sect3 role="installation">
+      <title>Installation of libxml2 Python2 module</title>
+
+<!-- Editors note: Use \-\-root= instead of DESTDIR= when updating. -->
+
+      <para>
+        To build the <application>Python 2</application> module, run:
+      </para>
+
+<screen><userinput>./configure PYTHON=python2 &amp;&amp;
+cd python                  &amp;&amp;
+python2 setup.py build</userinput></screen>
+
+      <para>
+        To install the <application>Python 2</application> module,
+        as the
+        <systemitem class="username">root</systemitem> user run:
+      </para>
+
+<screen role="root"><userinput>python2 setup.py install --optimize=1</userinput></screen>
+
+    </sect3>
+
+    <sect3 role="content">
+      <title>Contents</title>
+
+      <segmentedlist>
+        <segtitle>Installed Modules</segtitle>
+        <segtitle>Installed Libraries</segtitle>
+        <segtitle>Installed Directories</segtitle>
+
+        <seglistitem>
+          <seg>
+            drv_libxml2.py, libxml2.py
+          </seg>
+          <seg>
+            libxml2mod.so
+          </seg>
+          <seg>
+            None
+          </seg>
+        </seglistitem>
+      </segmentedlist>
+
+    <variablelist>
+      <bridgehead renderas="sect3">Short Descriptions</bridgehead>
+      <?dbfo list-presentation="list"?>
+      <?dbhtml list-presentation="table"?>
+
+      <varlistentry id="drv_libxml2.py2">
+        <term><command>drv_libxml2.py</command></term>
+        <listitem>
+          <para>
+            is a SAX <application>Python2</application> driver for libxml2
+          </para>
+          <indexterm zone="libxml2py2 drv_libxml2.py2">
+            <primary sortas="b-drv_libxml2.py2">drv_libxml2.py for Python2</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="libxml2.py2">
+        <term><command>libxml2.py</command></term>
+        <listitem>
+          <para>
+            is the <application>Python2</application> binding for libxml2
+          </para>
+          <indexterm zone="libxml2py2 libxml2.py2">
+            <primary sortas="b-libxml2.py2">libxml2.py for Python2</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="libxml2mod2">
+        <term><filename class="libraryfile">libxml2mod.so</filename></term>
+        <listitem>
+          <para>
+            is the interface for <application>Python2</application>
+            to use <filename class="libraryfile">libxml2.so</filename>
+          </para>
+          <indexterm zone="libxml2py2 libxml2mod2">
+            <primary sortas="c-libxml2mod">libxml2mod.so</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+    </variablelist>
+
+    </sect3>
+
+  </sect2>
Index: general/prog/python-modules/lxml.xml
===================================================================
--- general/prog/python-modules/lxml.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
+++ general/prog/python-modules/lxml.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -0,0 +1,125 @@
+<?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 lxml-download-http "&pymodules-dl;/l/lxml/lxml-&lxml-version;.tar.gz">
+  <!ENTITY lxml-download-ftp  " ">
+  <!ENTITY lxml-md5sum        "e27240a7319d80d0c1e5390ca31eb1d8">
+  <!ENTITY lxml-size          "3.2 MB">
+  <!ENTITY lxml-buildsize     "105 MB">
+  <!ENTITY lxml-time          "0.9 SBU">
+]>
+
+  <!-- Begin lxml -->
+  <sect2 id="lxml" xreflabel="lxml-&lxml-version;">
+
+    <title>lxml-&lxml-version;</title>
+
+    <indexterm zone="lxml">
+      <primary sortas="a-lxml">lxml</primary>
+    </indexterm>
+
+    <sect3 role="package">
+      <title>Introduction to lxml Module</title>
+
+      <para>
+        <application>lxml</application> provides
+        <application>Python</application> bindings for
+        <xref linkend="libxslt"/> and <xref linkend="libxml2"/>.
+      </para>
+
+      &lfs112_checked;
+
+      <bridgehead renderas="sect4">Package Information</bridgehead>
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>
+            Download (HTTP): <ulink url="&lxml-download-http;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download (FTP): <ulink url="&lxml-download-ftp;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download MD5 sum: &lxml-md5sum;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download size: &lxml-size;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated disk space required: &lxml-buildsize;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated build time: &lxml-time;
+          </para>
+        </listitem>
+      </itemizedlist>
+
+      <bridgehead renderas="sect4">lxml Dependencies</bridgehead>
+
+      <bridgehead renderas="sect5">Required</bridgehead>
+      <para role="required">
+        <xref linkend="libxslt"/>
+      </para>
+
+      <para condition="html" role="usernotes">
+        User Notes: <ulink url="&blfs-wiki;/lxml"/>
+      </para>
+    </sect3>
+
+    <sect3 role="installation">
+      <title>Installation of lxml</title>
+
+      <para>
+        To build the <application>Python 3</application> module, run:
+      </para>
+
+<screen><userinput>pip3 wheel -w dist --no-build-isolation --no-deps $PWD</userinput></screen>
+
+      <para>
+        To install the module, issue the following command as the &root; user:
+      </para>
+
+<screen role="root"><userinput>pip3 install --no-index --find-links dist --no-cache-dir --no-user lxml</userinput></screen>
+
+    </sect3>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+      href="../../../xincludes/pip3-cmd-explain.xml"/>
+
+    <sect3 role="content">
+      <title>Contents</title>
+
+      <segmentedlist>
+        <segtitle>Installed Programs</segtitle>
+        <segtitle>Installed Libraries</segtitle>
+        <segtitle>Installed Directories</segtitle>
+
+        <seglistitem>
+          <seg>
+            None
+          </seg>
+          <seg>
+            None
+          </seg>
+          <seg>
+            /usr/lib/python&python3-majorver;/site-packages/lxml and
+            /usr/lib/python&python3-majorver;/site-packages/lxml-&lxml-version;.dist-info
+          </seg>
+        </seglistitem>
+      </segmentedlist>
+
+    </sect3>
+
+  </sect2>
Index: general/prog/python-modules/mako.xml
===================================================================
--- general/prog/python-modules/mako.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
+++ general/prog/python-modules/mako.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -0,0 +1,153 @@
+<?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 Mako-download-http "&pymodules-dl;/M/Mako/Mako-&mako-version;.tar.gz">
+  <!ENTITY Mako-download-ftp  " ">
+  <!ENTITY Mako-md5sum        "651f365616611fcd4f2702a9002e2195">
+  <!ENTITY Mako-size          "485 KB">
+  <!ENTITY Mako-buildsize     "3.9 MB (add 1.2 MB for tests)">
+  <!ENTITY Mako-time          "less than 0.1 SBU (with tests)">
+]>
+
+  <!-- Begin Mako -->
+  <sect2 id="Mako" xreflabel="Mako-&mako-version;">
+
+    <title>Mako-&mako-version;</title>
+
+    <indexterm zone="Mako">
+      <primary sortas="a-Mako">Mako</primary>
+    </indexterm>
+
+    <sect3 role="package">
+      <title>Introduction to Mako Module</title>
+
+      <para>
+        <application>Mako</application> is a <application>Python</application>
+        module that implements hyperfast and lightweight templating for the
+        <application>Python</application> platform.
+      </para>
+
+      &lfs112_checked;
+
+      <bridgehead renderas="sect4">Package Information</bridgehead>
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>
+            Download (HTTP): <ulink url="&Mako-download-http;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download (FTP): <ulink url="&Mako-download-ftp;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download MD5 sum: &Mako-md5sum;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download size: &Mako-size;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated disk space required: &Mako-buildsize;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated build time: &Mako-time;
+          </para>
+        </listitem>
+      </itemizedlist>
+
+      <bridgehead renderas="sect4">Mako Dependencies</bridgehead>
+
+      <bridgehead renderas="sect5" revision="sysv">Required</bridgehead>
+      <para role="required" revision="sysv">
+        <xref linkend="MarkupSafe"/>
+      </para>
+
+      <bridgehead renderas="sect5">Optional (for Testing)</bridgehead>
+      <para role="optional">
+        <xref linkend="pytest"/>
+      </para>
+
+      <para condition="html" role="usernotes">
+        User Notes: <ulink url="&blfs-wiki;/Mako"/>
+      </para>
+    </sect3>
+
+    <sect3 role="installation">
+      <title>Installation of Mako</title>
+
+      <para>
+        Build the module:
+      </para>
+
+<screen><userinput>pip3 wheel -w dist --no-build-isolation --no-deps $PWD</userinput></screen>
+
+      <para>
+        Install the module as the &root; user:
+      </para>
+
+<screen role="root"><userinput>pip3 install --no-index --find-links dist --no-cache-dir --no-user Mako</userinput></screen>
+
+    <para>
+      To test the installation, issue <command>pytest</command>.
+    </para>
+
+    </sect3>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+      href="../../../xincludes/pip3-cmd-explain.xml"/>
+
+    <sect3 role="content">
+      <title>Contents</title>
+
+      <segmentedlist>
+        <segtitle>Installed Programs</segtitle>
+        <segtitle>Installed Libraries</segtitle>
+        <segtitle>Installed Directories</segtitle>
+
+        <seglistitem>
+          <seg>
+            mako-render
+          </seg>
+          <seg>
+            None
+          </seg>
+          <seg>
+            /usr/lib/python&python3-majorver;/site-packages/mako and
+            /usr/lib/python&python3-majorver;/site-packages/Mako-&mako-version;.dist-info
+          </seg>
+        </seglistitem>
+      </segmentedlist>
+
+      <variablelist>
+        <bridgehead renderas="sect5">Short Descriptions</bridgehead>
+        <?dbfo list-presentation="list"?>
+        <?dbhtml list-presentation="table"?>
+
+        <varlistentry id="mako-render">
+          <term><command>mako-render</command></term>
+          <listitem>
+            <para>
+             renders a template
+            </para>
+            <indexterm zone="Mako mako-render">
+              <primary sortas="b-mako-render">mako-render</primary>
+            </indexterm>
+          </listitem>
+        </varlistentry>
+
+      </variablelist>
+
+    </sect3>
+
+  </sect2>
Index: general/prog/python-modules/markupsafe.xml
===================================================================
--- general/prog/python-modules/markupsafe.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
+++ general/prog/python-modules/markupsafe.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -0,0 +1,126 @@
+<?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 MarkupSafe-download-http "&pymodules-dl;/M/MarkupSafe/MarkupSafe-&MarkupSafe-version;.tar.gz">
+  <!ENTITY MarkupSafe-download-ftp  " ">
+  <!ENTITY MarkupSafe-md5sum        "9809f9fdd98bc835b0c21aa8f79cbf30">
+  <!ENTITY MarkupSafe-size          "20 KB">
+  <!ENTITY MarkupSafe-buildsize     "360 KB">
+  <!ENTITY MarkupSafe-time          "less than 0.1 SBU">
+]>
+
+  <!-- Begin MarkupSafe -->
+  <sect2 id="MarkupSafe" xreflabel="MarkupSafe-&MarkupSafe-version;" revision="sysv">
+
+    <title>MarkupSafe-&MarkupSafe-version;</title>
+
+    <indexterm zone="MarkupSafe">
+      <primary sortas="a-MarkupSafe">MarkupSafe</primary>
+    </indexterm>
+
+    <sect3 role="package">
+      <title>Introduction to MarkupSafe Module</title>
+
+      <para>
+        <application>MarkupSafe</application> is a <application>Python</application>
+        module that implements a XML/HTML/XHTML Markup safe string.
+      </para>
+
+      <note revision="systemd">
+        <para>
+          <application>MarkupSafe</application> was installed in LFS.
+          The instruction is only kept here for SysV revision.
+        </para>
+      </note>
+
+      &lfs112_checked;
+
+      <bridgehead renderas="sect4">Package Information</bridgehead>
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>
+            Download (HTTP): <ulink url="&MarkupSafe-download-http;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download (FTP): <ulink url="&MarkupSafe-download-ftp;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download MD5 sum: &MarkupSafe-md5sum;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download size: &MarkupSafe-size;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated disk space required: &MarkupSafe-buildsize;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated build time: &MarkupSafe-time;
+          </para>
+        </listitem>
+      </itemizedlist>
+
+      <para condition="html" role="usernotes">
+        User Notes: <ulink url="&blfs-wiki;/MarkupSafe"/>
+      </para>
+    </sect3>
+
+    <sect3 role="installation">
+      <title>Installation of MarkupSafe</title>
+
+      <para>
+        Install <application>MarkupSafe</application> with the following
+        commands:
+      </para>
+
+<screen><userinput>pip3 wheel -w dist --no-build-isolation --no-deps $PWD</userinput></screen>
+
+      <para>
+        Then, as the &root; user:
+      </para>
+
+<screen role="root"><userinput>pip3 install --no-index --find-links dist --no-cache-dir --no-user markupsafe</userinput></screen>
+
+    </sect3>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+      href="../../../xincludes/pip3-cmd-explain.xml"/>
+
+    <sect3 role="content">
+      <title>Contents</title>
+
+      <segmentedlist>
+        <segtitle>Installed Programs</segtitle>
+        <segtitle>Installed Libraries</segtitle>
+        <segtitle>Installed Directories</segtitle>
+
+        <seglistitem>
+          <seg>
+            None
+          </seg>
+          <seg>
+            None
+          </seg>
+          <seg>
+
+            /usr/lib/python&python3-majorver;/site-packages/markupSafe and
+            /usr/lib/python&python3-majorver;/site-packages/MarkupSafe-&MarkupSafe-version;.dist-info
+          </seg>
+        </seglistitem>
+      </segmentedlist>
+
+    </sect3>
+
+  </sect2>
Index: general/prog/python-modules/packaging.xml
===================================================================
--- general/prog/python-modules/packaging.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
+++ general/prog/python-modules/packaging.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -0,0 +1,135 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect2 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 packaging-download-http "https://files.pythonhosted.org/packages/source/p/packaging/packaging-&packaging-version;.tar.gz">
+  <!ENTITY packaging-download-ftp  " ">
+  <!ENTITY packaging-md5sum        "e713c1939f294fd729af4a7be40dd141">
+  <!ENTITY packaging-size          "83 KB">
+  <!ENTITY packaging-buildsize     "1.1 MB (add 28 MB for tests)">
+  <!ENTITY packaging-time          "less than 0.1 SBU (0.2 SBU for tests)">
+]>
+
+  <sect2 id="packaging" xreflabel="packaging-&packaging-version;">
+
+    <title>Packaging-&packaging-version;</title>
+
+    <indexterm zone="packaging">
+      <primary sortas="a-packaging">packaging</primary>
+    </indexterm>
+
+    <sect3 role="package">
+      <title>Introduction to Packaging Module</title>
+
+      <para>
+        The <application>Packaging</application> library provides utilities
+        that implement the interoperability specifications which have clearly
+        one correct behaviour or benefit greatly from having a single shared
+        implementation.
+      </para>
+
+      &lfs112_checked;
+
+      <bridgehead renderas="sect4">Package Information</bridgehead>
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>
+            Download (HTTP): <ulink url="&packaging-download-http;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download (FTP): <ulink url="&packaging-download-ftp;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download MD5 sum: &packaging-md5sum;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download size: &packaging-size;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated disk space required: &packaging-buildsize;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated build time: &packaging-time;
+          </para>
+        </listitem>
+      </itemizedlist>
+
+      <bridgehead renderas="sect4">Packaging Dependencies</bridgehead>
+
+      <bridgehead renderas="sect5">Required</bridgehead>
+      <para role="required">
+        <xref linkend="pyparsing"/>
+      </para>
+
+      <bridgehead renderas="sect5">Optional (for testing)</bridgehead>
+      <para role="optional">
+        <xref linkend="pytest"/> and
+        <ulink url="https://pypi.org/project/pretend/">pretend</ulink>
+      </para>
+
+
+    </sect3>
+
+    <sect3 role="installation">
+      <title>Installation of Packaging</title>
+
+    <para> Build the module: </para>
+
+<screen><userinput>pip3 wheel -w dist --no-build-isolation --no-deps $PWD</userinput></screen>
+
+    <para>
+      Now, as the <systemitem class="username">root</systemitem> user:
+    </para>
+
+<screen role="root"><userinput>pip3 install --no-index --find-links dist --no-cache-dir --no-user packaging</userinput></screen>
+
+    <para>
+      Assuming <xref linkend="pytest"/> is installed, but the other optional
+      dependencies are not, the installation can be tested with the following
+      commands:
+    </para>
+
+<screen remap="test"><userinput>python3 -m venv --system-site-packages testenv &amp;&amp;
+source testenv/bin/activate                    &amp;&amp;
+pip3 install pretend                           &amp;&amp;
+python3 /usr/bin/pytest<!-- no && because of a possible error -->
+deactivate</userinput></screen>
+
+    </sect3>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+      href="../../../xincludes/pip3-cmd-explain.xml"/>
+
+    <sect3 role="content">
+      <title>Contents</title>
+
+      <segmentedlist>
+        <segtitle>Installed Programs</segtitle>
+        <segtitle>Installed Libraries</segtitle>
+        <segtitle>Installed Directories</segtitle>
+
+        <seglistitem>
+          <seg>None</seg>
+          <seg>None</seg>
+          <seg>
+            /usr/lib/python&python3-majorver;/site-packages/packaging and
+            /usr/lib/python&python3-majorver;/site-packages/packaging-&packaging-version;.dist-info
+          </seg>
+        </seglistitem>
+      </segmentedlist>
+
+    </sect3>
+
+  </sect2>
Index: general/prog/python-modules/py3c.xml
===================================================================
--- general/prog/python-modules/py3c.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
+++ general/prog/python-modules/py3c.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -0,0 +1,135 @@
+<?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 py3c-download-http
+           "https://github.com/encukou/py3c/archive/v&py3c-version;/py3c-&py3c-version;.tar.gz">
+  <!ENTITY py3c-md5sum        "53029afde7e0cf8672a2d69d378a0cfc">
+  <!ENTITY py3c-size          "47 KB">
+  <!ENTITY py3c-buildsize     "608 KB (with tests)">
+  <!ENTITY py3c-time          "less than 0.1 SBU (with tests)">
+]>
+
+   <!-- Begin Py3c -->
+  <sect2 id="py3c" xreflabel="Py3c-&py3c-version;">
+
+    <title>Py3c-&py3c-version;</title>
+
+    <indexterm zone="py3c">
+      <primary sortas="a-Py3c">Py3c</primary>
+   </indexterm>
+
+    <sect3 role="package">
+      <title>Introduction to Py3c</title>
+
+      <para>
+        <application>Py3c</application> helps you port C extensions to
+        Python 3. It provides a detailed guide, and a set of macros to
+        make porting easy and reduce boilerplate.
+      </para>
+
+      &lfs112_checked;
+
+      <bridgehead renderas="sect4">Package Information</bridgehead>
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>
+            Download (HTTP): <ulink url="&py3c-download-http;"/>
+          </para>
+        </listitem>
+<!--
+        <listitem>
+          <para>
+            Download (FTP): <ulink url="&py3c-download-ftp;"/>
+          </para>
+        </listitem>
+-->
+        <listitem>
+          <para>
+            Download MD5 sum: &py3c-md5sum;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download size: &py3c-size;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated disk space required: &py3c-buildsize;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated build time: &py3c-time;
+          </para>
+        </listitem>
+      </itemizedlist>
+<!--
+      <bridgehead renderas="sect4">Py3c Dependencies</bridgehead>
+
+      <bridgehead renderas="sect5">Required</bridgehead>
+      <para role="required">
+-->
+      <para condition="html" role="usernotes">
+        User Notes: <ulink url="&blfs-wiki;/py3c"/>
+      </para>
+
+    </sect3>
+
+    <sect3 role="installation">
+      <title>Installation of Py3c</title>
+
+      <para>
+        The <application>Py3c</application> package is a headers-only package
+        and because of that, no configuration and compilation is
+        required.
+      </para>
+
+      <para>
+        To test the package, issue:
+      </para>
+
+<screen remap="test"><userinput>make test-python3 &amp;&amp;
+make test-python3-cpp</userinput></screen>
+
+      <para>
+        To install the <application>Python 3</application> module,
+        run the following command as the
+        <systemitem class="username">root</systemitem> user:
+      </para>
+
+<!-- Note:
+  Now, doing a DESTDIR install is just
+    "make prefix=/usr DESTDIR=<dest> install"
+-->
+<screen role="root"><userinput>make prefix=/usr install</userinput></screen>
+
+    </sect3>
+
+    <sect3 role="content">
+      <title>Contents</title>
+
+      <segmentedlist>
+        <segtitle>Installed Programs</segtitle>
+        <segtitle>Installed Libraries</segtitle>
+        <segtitle>Installed Directories</segtitle>
+
+        <seglistitem>
+          <seg>
+            None
+          </seg>
+          <seg>
+            None
+          </seg>
+          <seg>
+            /usr/include/py3c
+          </seg>
+        </seglistitem>
+      </segmentedlist>
+
+    </sect3>
+
+  </sect2>
Index: general/prog/python-modules/pyatspi2.xml
===================================================================
--- general/prog/python-modules/pyatspi2.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
+++ general/prog/python-modules/pyatspi2.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -0,0 +1,138 @@
+<?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 pyatspi2-download-http
+           "&gnome-download-http;/pyatspi/2.38/pyatspi-&pyatspi2-version;.tar.xz">
+  <!ENTITY pyatspi2-download-ftp
+           "&gnome-download-ftp;/pyatspi/2.38/pyatspi-&pyatspi2-version;.tar.xz">
+  <!ENTITY pyatspi2-md5sum        "016c8bdcd950e11ad717043f4e91dedc">
+  <!ENTITY pyatspi2-size          "312 KB">
+  <!ENTITY pyatspi2-buildsize     "3.0 MB">
+  <!ENTITY pyatspi2-time          "less than 0.1 SBU">
+]>
+
+   <!-- Begin PyAtSpi2 -->
+  <sect2 id="pyatspi2" xreflabel="PyAtSpi2-&pyatspi2-version;">
+
+    <title>PyAtSpi2-&pyatspi2-version;</title>
+
+    <indexterm zone="pyatspi2">
+      <primary sortas="a-PyAtSpi2">PyAtSpi2</primary>
+   </indexterm>
+
+    <sect3 role="package">
+      <title>Introduction to PyAtSpi2</title>
+
+      <para>
+        The <application>PyAtSpi2</application> package contains
+        <application>Python</application> bindings for the core
+        components of the <application>GNOME</application>
+        Accessibility.
+      </para>
+
+      &lfs112_checked;
+
+      <bridgehead renderas="sect4">Package Information</bridgehead>
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>
+            Download (HTTP): <ulink url="&pyatspi2-download-http;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download (FTP): <ulink url="&pyatspi2-download-ftp;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download MD5 sum: &pyatspi2-md5sum;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download size: &pyatspi2-size;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated disk space required: &pyatspi2-buildsize;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated build time: &pyatspi2-time;
+          </para>
+        </listitem>
+      </itemizedlist>
+
+      <bridgehead renderas="sect4">PyAtSpi2 Dependencies</bridgehead>
+
+      <bridgehead renderas="sect5">Required</bridgehead>
+      <para role="required">
+        <xref linkend="pygobject3"/>
+      </para>
+
+      <bridgehead renderas="sect5">Recommended</bridgehead>
+      <para role="recommended">
+        <xref linkend="at-spi2-core"/>
+      </para>
+
+      <para condition="html" role="usernotes">
+        User Notes: <ulink url="&blfs-wiki;/pyatspi2"/>
+      </para>
+
+    </sect3>
+
+    <sect3 role="installation">
+      <title>Installation of PyAtSpi2</title>
+
+      <para>
+        To build <application>PyAtSpi2</application> as a
+        <application>Python 3</application> module, run the
+        following commands:
+      </para>
+
+<screen><userinput>./configure --prefix=/usr --with-python=/usr/bin/python3</userinput></screen>
+
+      <para>
+        This package does not come with a testsuite.
+      </para>
+
+      <para>
+        To install the <application>Python 3</application> module,
+        run the following command as the
+        <systemitem class="username">root</systemitem> user:
+      </para>
+
+<screen role="root"><userinput>make install</userinput></screen>
+
+    </sect3>
+
+    <sect3 role="content">
+      <title>Contents</title>
+
+      <segmentedlist>
+        <segtitle>Installed Programs</segtitle>
+        <segtitle>Installed Libraries</segtitle>
+        <segtitle>Installed Directories</segtitle>
+
+        <seglistitem>
+          <seg>
+            None
+          </seg>
+          <seg>
+            None
+          </seg>
+          <seg>
+            /usr/lib/python&python3-majorver;/site-packages/pyatspi
+          </seg>
+        </seglistitem>
+      </segmentedlist>
+
+    </sect3>
+
+  </sect2>
Index: general/prog/python-modules/pycairo.xml
===================================================================
--- general/prog/python-modules/pycairo.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
+++ general/prog/python-modules/pycairo.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -0,0 +1,147 @@
+<?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 pycairo-download-http "https://github.com/pygobject/pycairo/releases/download/v&pycairo-version;/pycairo-&pycairo-version;.tar.gz">
+  <!ENTITY pycairo-download-ftp  " ">
+  <!ENTITY pycairo-md5sum        "7a3729d21659098e1b9a411b62e88966">
+  <!ENTITY pycairo-size          "340 KB">
+  <!ENTITY pycairo-buildsize     "3.0 MB">
+  <!ENTITY pycairo-time          "less than 0.1 SBU">
+]>
+
+  <!-- Begin PyCairo -->
+  <sect2 id="pycairo" xreflabel="PyCairo-&pycairo-version;">
+
+    <title>PyCairo-&pycairo-version;</title>
+
+    <indexterm zone="pycairo">
+      <primary sortas="a-PyCairo">PyCairo</primary>
+    </indexterm>
+
+    <sect3 role="package">
+      <title>Introduction to PyCairo Module</title>
+
+      <para>
+        PyCairo provides <application>Python</application> bindings to
+        <application>Cairo</application>.
+      </para>
+
+      &lfs112_checked;
+      <!-- Does not use gcc -->
+
+      <bridgehead renderas="sect4">Package Information</bridgehead>
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>
+            Download (HTTP): <ulink url="&pycairo-download-http;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download (FTP): <ulink url="&pycairo-download-ftp;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download MD5 sum: &pycairo-md5sum;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download size: &pycairo-size;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated disk space required: &pycairo-buildsize;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated build time: &pycairo-time;
+          </para>
+        </listitem>
+      </itemizedlist>
+
+      <bridgehead renderas="sect4">PyCairo Dependencies</bridgehead>
+
+      <bridgehead renderas="sect5">Required</bridgehead>
+      <para role="required">
+        <xref linkend="cairo"/>
+      </para>
+
+      <bridgehead renderas="sect5">Optional</bridgehead>
+      <para role="optional">
+        <ulink url="https://hypothesis.readthedocs.io">Hypothesis</ulink> and
+        <xref linkend="pytest"/> (for tests)
+      </para>
+
+      <para condition="html" role="usernotes">
+        User Notes: <ulink url="&blfs-wiki;/pycairo"/>
+      </para>
+    </sect3>
+
+    <sect3 role="installation">
+      <title>Installation of PyCairo</title>
+
+      <note>
+        <para>
+           The current version of pycairo no longer builds the Python2 module.
+           If you need that module for packages such as <xref linkend="gimp"/>, use
+           <xref linkend="pycairo2"/>
+        </para>
+      </note>
+
+      <para>
+        Install <application>PyCairo</application> for Python3 by
+        running the following commands:
+      </para>
+
+<screen><userinput>mkdir build &amp;&amp;
+cd    build &amp;&amp;
+
+meson --prefix=/usr --buildtype=release .. &amp;&amp;
+ninja</userinput></screen>
+
+      <para>
+        To run the tests, this package requires the optional pytest module. If
+        it is installed, run the tests by running <command>ninja test</command>.
+        The <emphasis>test_surface.py</emphasis> test has a failure.
+      </para>
+
+      <para>
+        Now, as the <systemitem class="username">root</systemitem> user:
+      </para>
+
+<screen role="root"><userinput>ninja install</userinput></screen>
+
+    </sect3>
+
+    <sect3 role="content">
+      <title>Contents</title>
+
+      <segmentedlist>
+        <segtitle>Installed Program</segtitle>
+        <segtitle>Installed Library</segtitle>
+        <segtitle>Installed Directories</segtitle>
+
+        <seglistitem>
+          <seg>
+            None
+          </seg>
+          <seg>
+            None
+          </seg>
+          <seg>
+            /usr/include/pycairo,
+            /usr/lib/python&python3-majorver;/site-packages/cairo, and
+            /usr/lib/python&python3-majorver;/site-packages/pycairo-&pycairo-version;.egg-info
+          </seg>
+        </seglistitem>
+      </segmentedlist>
+    </sect3>
+
+  </sect2>
Index: general/prog/python-modules/pycairo2.xml
===================================================================
--- general/prog/python-modules/pycairo2.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
+++ general/prog/python-modules/pycairo2.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -0,0 +1,144 @@
+<?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 pycairo2-download-http "https://github.com/pygobject/pycairo/releases/download/v&pycairo2-version;/pycairo-&pycairo2-version;.tar.gz">
+  <!ENTITY pycairo2-download-ftp  " ">
+  <!ENTITY pycairo2-md5sum        "be2ba51f234270dec340f28f1695a95e">
+  <!ENTITY pycairo2-size          "196 KB">
+  <!ENTITY pycairo2-buildsize     "2.3 MB">
+  <!ENTITY pycairo2-time          "less than 0.1 SBU">
+]>
+
+  <!-- Begin PyCairo -->
+  <sect2 id="pycairo2" xreflabel="PyCairo-&pycairo2-version;">
+
+    <title>PyCairo-&pycairo2-version;</title>
+
+    <indexterm zone="pycairo2">
+      <primary sortas="a-PyCairo2">PyCairo2</primary>
+    </indexterm>
+
+    <sect3 role="package">
+      <title>Introduction to PyCairo for Python2 Module</title>
+
+      <para>
+        This version of
+        PyCairo provides <application>Python2</application> bindings to
+        <application>Cairo</application>.
+      </para>
+
+      &lfs112_checked;
+      <!-- Does not use gcc -->
+
+      <bridgehead renderas="sect4">Package Information</bridgehead>
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>
+            Download (HTTP): <ulink url="&pycairo2-download-http;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download (FTP): <ulink url="&pycairo2-download-ftp;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download MD5 sum: &pycairo2-md5sum;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download size: &pycairo2-size;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated disk space required: &pycairo2-buildsize;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated build time: &pycairo2-time;
+          </para>
+        </listitem>
+      </itemizedlist>
+
+      <bridgehead renderas="sect4">PyCairo Dependencies</bridgehead>
+
+      <bridgehead renderas="sect5">Required</bridgehead>
+      <para role="required">
+        <xref linkend="cairo"/> and
+        <xref linkend="python2"/>
+      </para>
+
+      <bridgehead renderas="sect5">Optional</bridgehead>
+      <para role="optional">
+        <ulink url="https://hypothesis.readthedocs.io">Hypothesis</ulink>
+          (for tests)
+      </para>
+
+      <para condition="html" role="usernotes">
+        User Notes: <ulink url="&blfs-wiki;/pycairo"/>
+      </para>
+    </sect3>
+
+    <sect3 role="installation">
+      <title>Installation of PyCairo</title>
+
+      <note>
+        <para>
+           This version of PyCairo is only retained for packages such as <xref
+           linkend="gimp"/> which is stuck on Python2 until Gimp-3 is released.
+        </para>
+      </note>
+
+      <para>
+        Install <application>PyCairo</application> for Python2 by
+        running the following commands:
+      </para>
+
+<screen><userinput>python2 setup.py build</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>python2 setup.py install --optimize=1   &amp;&amp;
+python2 setup.py install_pycairo_header &amp;&amp;
+python2 setup.py install_pkgconfig</userinput></screen>
+    </sect3>
+
+    <sect3 role="content">
+      <title>Contents</title>
+
+      <segmentedlist>
+        <segtitle>Installed Program</segtitle>
+        <segtitle>Installed Library</segtitle>
+        <segtitle>Installed Directories</segtitle>
+
+        <seglistitem>
+          <seg>
+            None
+          </seg>
+          <seg>
+            <!--_cairo.so (python2) and -->
+            _cairo.so
+          </seg>
+          <seg>
+            /usr/include/pycairo,
+            /usr/lib/python&python2-majorver;/site-packages/cairo,
+            /usr/lib/python&python2-majorver;/site-packages/pycairo-&pycairo2-version;-py&python2-majorver;.egg,
+          </seg>
+        </seglistitem>
+      </segmentedlist>
+    </sect3>
+
+  </sect2>
Index: general/prog/python-modules/pycryptodome.xml
===================================================================
--- general/prog/python-modules/pycryptodome.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
+++ general/prog/python-modules/pycryptodome.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -0,0 +1,120 @@
+<?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 pycryptodome-download-http "https://github.com/Legrandin/pycryptodome/archive/v&pycryptodome-version;/pycryptodome-&pycryptodome-version;.tar.gz">
+  <!ENTITY pycryptodome-download-ftp  " ">
+  <!ENTITY pycryptodome-md5sum        "de6d9a6625e05067a12f5ac746aed7c3">
+  <!ENTITY pycryptodome-size          "16 MB">
+  <!ENTITY pycryptodome-buildsize     "53 MB">
+  <!ENTITY pycryptodome-time          "0.1 SBU">
+]>
+
+  <!-- Begin pycryptodome -->
+  <sect2 id="pycryptodome" xreflabel="PyCryptodome-&pycryptodome-version;">
+
+    <title>PyCryptodome-&pycryptodome-version;</title>
+
+    <indexterm zone="pycryptodome">
+      <primary sortas="a-pycryptodome">pycryptodome</primary>
+    </indexterm>
+
+    <sect3 role="package">
+      <title>Introduction to the PyCryptodome Module</title>
+
+      <para>
+        <application>PyCryptodome</application> is a collection of both secure
+        hash functions (such as SHA256 and RIPEMD160), and various encryption
+        algorithms (AES, DES, RSA, ElGamal, etc.), and is a drop-in replacement
+        for PyCrypto.
+      </para>
+
+      &lfs112_checked;
+
+      <bridgehead renderas="sect4">Package Information</bridgehead>
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>
+            Download (HTTP): <ulink url="&pycryptodome-download-http;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download (FTP): <ulink url="&pycryptodome-download-ftp;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download MD5 sum: &pycryptodome-md5sum;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download size: &pycryptodome-size;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated disk space required: &pycryptodome-buildsize;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated build time: &pycryptodome-time;
+          </para>
+        </listitem>
+      </itemizedlist>
+
+      <para condition="html" role="usernotes">
+        User Notes: <ulink url="&blfs-wiki;/pycryptodome"/>
+      </para>
+    </sect3>
+
+    <sect3 role="installation">
+      <title>Installation of PyCryptodome</title>
+
+      <para>
+        To build <application>PyCryptodome</application> as a Python 3
+        module, run the following command:
+      </para>
+
+<screen><userinput>pip3 wheel -w dist --no-build-isolation --no-deps $PWD</userinput></screen>
+
+      <para>
+        To install the module, run the following command as the &root; user:
+      </para>
+
+<screen role="root"><userinput>pip3 install --no-index --find-links dist --no-cache-dir --no-user pycryptodome</userinput></screen>
+
+    </sect3>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+      href="../../../xincludes/pip3-cmd-explain.xml"/>
+
+    <sect3 role="content">
+      <title>Contents</title>
+
+      <segmentedlist>
+        <segtitle>Installed Programs</segtitle>
+        <segtitle>Installed Libraries</segtitle>
+        <segtitle>Installed Directories</segtitle>
+
+        <seglistitem>
+          <seg>
+            None
+          </seg>
+          <seg>
+            None
+          </seg>
+          <seg>
+            /usr/lib/python&python3-majorver;/site-packages/Crypto
+            /usr/lib/python&python3-majorver;/site-packages/pycryptodome-&pycryptodome-version;.dist-info
+          </seg>
+        </seglistitem>
+      </segmentedlist>
+
+    </sect3>
+
+  </sect2>
Index: general/prog/python-modules/pygments.xml
===================================================================
--- general/prog/python-modules/pygments.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
+++ general/prog/python-modules/pygments.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -0,0 +1,138 @@
+<?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 pygments-download-http
+           "https://files.pythonhosted.org/packages/source/P/Pygments/Pygments-&pygments-version;.tar.gz">
+  <!ENTITY pygments-download-ftp " ">
+  <!ENTITY pygments-md5sum        "6ccae578d28d18968b30a4711652fd9a">
+  <!ENTITY pygments-size          "4.1 MB">
+  <!ENTITY pygments-buildsize     "49 MB">
+  <!ENTITY pygments-time          "less than 0.1 SBU">
+]>
+
+ <!-- Begin Pygments -->
+  <sect2 id="pygments" xreflabel="Pygments-&pygments-version;">
+
+    <title>Pygments-&pygments-version;</title>
+
+    <indexterm zone="pygments">
+      <primary sortas="a-Pygments">Pygments</primary>
+    </indexterm>
+
+    <sect3 role="package">
+      <title>Introduction to Pygments Module</title>
+
+      <para>
+        <application>Pygments</application> is a general syntax highlighter
+        written in <application>Python</application>, for more than 300
+        languages.
+      </para>
+
+      &lfs112_checked;
+
+      <bridgehead renderas="sect4">Package Information</bridgehead>
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>
+            Download (HTTP): <ulink url="&pygments-download-http;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download (FTP): <ulink url="&pygments-download-ftp;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download MD5 sum: &pygments-md5sum;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download size: &pygments-size;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated disk space required: &pygments-buildsize;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated build time: &pygments-time;
+          </para>
+        </listitem>
+      </itemizedlist>
+
+      <para condition="html" role="usernotes">
+        User Notes: <ulink url="&blfs-wiki;/pygments"/>
+      </para>
+    </sect3>
+
+    <sect3 role="installation">
+      <title>Installation of Pygments</title>
+
+      <para>
+        Build the <application>Python 3</application> module:
+      </para>
+
+<screen><userinput>pip3 wheel -w dist --no-build-isolation --no-deps $PWD</userinput></screen>
+
+      <para>
+        To install the package run the following as the &root; user:
+      </para>
+
+<screen role="root"><userinput>pip3 install --no-index --find-links dist --no-cache-dir --no-user Pygments</userinput></screen>
+
+    </sect3>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+      href="../../../xincludes/pip3-cmd-explain.xml"/>
+
+    <sect3 role="content">
+      <title>Contents</title>
+
+      <segmentedlist>
+        <segtitle>Installed Programs</segtitle>
+        <segtitle>Installed Library</segtitle>
+        <segtitle>Installed Directories</segtitle>
+
+        <seglistitem>
+          <seg>
+            pygmentize
+           </seg>
+          <seg>
+            None
+           </seg>
+          <seg>
+            /usr/lib/python&python3-majorver;/site-packages/pygments and
+            /usr/lib/python&python3-majorver;/site-packages/Pygments-&pygments-version;.dist-info
+          </seg>
+        </seglistitem>
+      </segmentedlist>
+
+      <variablelist>
+        <bridgehead renderas="sect3">Short Descriptions</bridgehead>
+        <?dbfo list-presentation="list"?>
+        <?dbhtml list-presentation="table"?>
+
+        <varlistentry id="pygmentize">
+          <term><command>pygmentize</command></term>
+          <listitem>
+            <para>
+              highlights an input file and writes the result to an output file
+            </para>
+            <indexterm zone="pygments pygmentize">
+              <primary sortas="b-pygmentize">pygmentize</primary>
+            </indexterm>
+          </listitem>
+        </varlistentry>
+
+      </variablelist>
+
+    </sect3>
+
+  </sect2>
Index: general/prog/python-modules/pygobject2.xml
===================================================================
--- general/prog/python-modules/pygobject2.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
+++ general/prog/python-modules/pygobject2.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -0,0 +1,166 @@
+<?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 pygobject2-download-http
+           "&gnome-download-http;/pygobject/2.28/pygobject-&pygobject2-version;.tar.xz">
+  <!ENTITY pygobject2-download-ftp
+           "&gnome-download-ftp;/pygobject/2.28/pygobject-&pygobject2-version;.tar.xz">
+  <!ENTITY pygobject2-md5sum        "ae48b60c690c4aa894e69e0c97802745">
+  <!ENTITY pygobject2-size          "728 KB">
+  <!ENTITY pygobject2-buildsize     "17 MB">
+  <!ENTITY pygobject2-time          "0.1 SBU">
+]>
+
+   <!-- Begin PyGObject2 -->
+  <sect2 id="pygobject2" xreflabel="PyGObject-&pygobject2-version;">
+
+    <title>PyGObject-&pygobject2-version;</title>
+
+    <indexterm zone="pygobject2">
+      <primary sortas="a-PyGObject">PyGObject</primary>
+    </indexterm>
+
+    <sect3 role="package">
+      <title>Introduction to PyGObject Module</title>
+
+      <para>
+        PyGObject-&pygobject2-version; provides
+        <application>Python 2</application> bindings to the GObject class from
+        <application>GLib</application>.
+      </para>
+
+      &lfs112_checked;
+
+      <bridgehead renderas="sect4">Package Information</bridgehead>
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>
+            Download (HTTP): <ulink url="&pygobject2-download-http;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download (FTP): <ulink url="&pygobject2-download-ftp;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download MD5 sum: &pygobject2-md5sum;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download size: &pygobject2-size;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated disk space required: &pygobject2-buildsize;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated build time: &pygobject2-time;
+          </para>
+        </listitem>
+      </itemizedlist>
+<!--
+    <bridgehead renderas="sect4">Additional Downloads</bridgehead>
+    <itemizedlist spacing="compact">
+      <listitem>
+        <para>
+          Required patch:
+          <ulink url="&patch-root;/pygobject-&pygobject2-version;-fixes-1.patch"/>
+        </para>
+      </listitem>
+    </itemizedlist>
+-->
+      <bridgehead renderas="sect4">PyGObject Dependencies</bridgehead>
+
+      <bridgehead renderas="sect5">Required</bridgehead>
+      <para role="required">
+        <xref linkend="glib2"/>,
+        <xref linkend="pycairo2"/> and
+        <xref linkend="python2"/>
+      </para>
+
+      <bridgehead renderas="sect5">Optional</bridgehead>
+      <para role="optional">
+        <xref linkend="gobject-introspection"/> and
+        <xref linkend="libxslt"/> (to Build Documentation)
+      </para>
+
+      <para condition="html" role="usernotes">
+        User Notes: <ulink url="&blfs-wiki;/pygobject2"/>
+      </para>
+    </sect3>
+
+    <sect3 role="installation">
+      <title>Installation of PyGObject</title>
+
+      <para>
+        Install <application>PyGObject</application> by running the following
+        commands:
+      </para>
+
+<screen><userinput>./configure --prefix=/usr --disable-introspection &amp;&amp;
+make</userinput></screen>
+
+      <para>
+        This package does not have a working testsuite.
+      </para>
+
+      <para>
+        Now, as the <systemitem class="username">root</systemitem> user:
+      </para>
+
+<screen role="root"><userinput>make install</userinput></screen>
+    </sect3>
+
+    <sect3 role="commands">
+      <title>Command Explanations</title>
+
+      <para>
+        <option>--disable-introspection</option>: Omit this switch if you have
+        installed <xref linkend="gobject-introspection"/>. Note that it
+        conflicts with <xref linkend="pygobject3"/>.
+      </para>
+
+      <para>
+        <option>--disable-docs</option>: This option disables the rebuilding of
+        the html documentation if <xref linkend="libxslt"/> is installed.
+      </para>
+
+    </sect3>
+
+    <sect3 role="content">
+      <title>Contents</title>
+
+      <segmentedlist>
+        <segtitle>Installed Programs</segtitle>
+        <segtitle>Installed Libraries</segtitle>
+        <segtitle>Installed Directories</segtitle>
+
+        <seglistitem>
+          <seg>pygobject-codegen-2.0</seg>
+          <seg>
+            libpyglib-2.0-python.so,
+            _gio.so,
+            unix.so,
+            _glib.so and
+            _gobject.so.
+          </seg>
+          <seg>
+            /usr/include/pygtk-2.0,
+            /usr/lib/python&python2-majorver;/site-packages/gtk-2.0/{gio,glib,gobject},
+            /usr/share/gtk-doc/html/pygobject and
+            /usr/share/pygobject/2.0
+          </seg>
+        </seglistitem>
+      </segmentedlist>
+    </sect3>
+
+  </sect2>
Index: general/prog/python-modules/pygobject3.xml
===================================================================
--- general/prog/python-modules/pygobject3.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
+++ general/prog/python-modules/pygobject3.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -0,0 +1,161 @@
+<?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 pygobject3-download-http
+           "&gnome-download-http;/pygobject/&gnome-minor-42;/pygobject-&pygobject3-version;.tar.xz">
+  <!ENTITY pygobject3-download-ftp
+           "&gnome-download-ftp;/pygobject/&gnome-minor-42;/pygobject-&pygobject3-version;.tar.xz">
+  <!ENTITY pygobject3-md5sum        "c5b31bb58156661c0954f1dbfc950fc9">
+  <!ENTITY pygobject3-size          "548 KB">
+  <!ENTITY pygobject3-buildsize     "8.0 MB (add 2.5 MB for tests)">
+  <!ENTITY pygobject3-time          "0.1 SBU (with tests)">
+]>
+
+ <!-- Begin PyGObject3 -->
+  <sect2 id="pygobject3" xreflabel="PyGObject-&pygobject3-version;">
+
+    <title>PyGObject-&pygobject3-version;</title>
+
+    <indexterm zone="pygobject3">
+      <primary sortas="a-PyGObject3">PyGObject3</primary>
+    </indexterm>
+
+    <sect3 role="package">
+      <title>Introduction to PyGObject3 Module</title>
+
+      <para>
+        <application>PyGObject3</application> provides
+        <application>Python</application> bindings to the GObject
+        class from <application>GLib</application>.
+      </para>
+
+      &lfs112_checked;
+
+      <bridgehead renderas="sect4">Package Information</bridgehead>
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>
+            Download (HTTP): <ulink url="&pygobject3-download-http;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download (FTP): <ulink url="&pygobject3-download-ftp;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download MD5 sum: &pygobject3-md5sum;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download size: &pygobject3-size;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated disk space required: &pygobject3-buildsize;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated build time: &pygobject3-time;
+          </para>
+        </listitem>
+      </itemizedlist>
+
+      <bridgehead renderas="sect4">PyGObject3 Dependencies</bridgehead>
+
+      <bridgehead renderas="sect5">Required</bridgehead>
+      <para role="required">
+        <xref linkend="gobject-introspection"/> and
+        <xref linkend="pycairo"/>
+          (<application>Python 3</application> module)
+      </para>
+
+      <bridgehead renderas="sect5">Optional (for the tests)</bridgehead>
+      <para role="optional">
+        <xref linkend="gtk4"/>,
+        <ulink url="https://pypi.python.org/pypi/pep8">pep8</ulink>,
+        <ulink url="https://pypi.python.org/pypi/pyflakes">pyflakes</ulink>, and
+        <xref linkend="pytest"/>
+        <!-- pytest brings in a lot of dependencies - upwards of 10 -->
+      </para>
+
+      <para condition="html" role="usernotes">
+        User Notes: <ulink url="&blfs-wiki;/pygobject3"/>
+      </para>
+    </sect3>
+
+    <sect3 role="installation">
+      <title>Installation of PyGObject3</title>
+
+    <para>
+      First, remove a faulty test:
+    </para>
+
+<screen><userinput remap="pre">mv -v tests/test_gdbus.py{,.nouse}</userinput></screen>
+
+    <para>
+      Install <application>pygobject3</application> by running the following
+      commands:
+    </para>
+
+<screen><userinput>mkdir build &amp;&amp;
+cd    build &amp;&amp;
+
+meson --prefix=/usr --buildtype=release .. &amp;&amp;
+ninja</userinput></screen>
+
+    <para>
+      To test the results, issue: <command>ninja test</command>.
+      An already active graphical session with a bus address is necessary
+      to run the tests. <!--One test, <filename>tests/test_gdbus.py</filename>,
+      is known to fail.--> Another round of tests may report ERROR if
+      <xref linkend="gtk4" role="nodep"/> is not installed.
+    </para>
+
+    <para>
+      Now, as the <systemitem class="username">root</systemitem> user:
+    </para>
+
+<screen role="root"><userinput>ninja install</userinput></screen>
+
+    </sect3>
+
+    <sect3 role="commands">
+      <title>Command Explanations</title>
+
+      <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+        href="../../../xincludes/meson-buildtype-release.xml"/>
+    </sect3>
+
+    <sect3 role="content">
+      <title>Contents</title>
+
+      <segmentedlist>
+        <segtitle>Installed Programs</segtitle>
+        <segtitle>Installed Library</segtitle>
+        <segtitle>Installed Directories</segtitle>
+
+        <seglistitem>
+          <seg>
+            None
+           </seg>
+          <seg>
+            /usr/lib/python&python3-majorver;/site-packages/gi/_gi{,_cairo}.&python3-lib-suffix;.so
+           </seg>
+          <seg>
+            /usr/include/pygobject-3.0 and
+            /usr/lib/python&python3-majorver;/site-packages/{gi,pygtkcompat}
+          </seg>
+        </seglistitem>
+      </segmentedlist>
+
+    </sect3>
+
+  </sect2>
Index: general/prog/python-modules/pygtk.xml
===================================================================
--- general/prog/python-modules/pygtk.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
+++ general/prog/python-modules/pygtk.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -0,0 +1,221 @@
+<?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 pygtk-download-http
+           "&gnome-download-http;/pygtk/2.24/pygtk-&pygtk-version;.tar.bz2">
+  <!ENTITY pygtk-download-ftp
+           "&gnome-download-ftp;/pygtk/2.24/pygtk-&pygtk-version;.tar.bz2">
+  <!ENTITY pygtk-md5sum        "a1051d5794fd7696d3c1af6422d17a49">
+  <!ENTITY pygtk-size          "2.2 MB">
+  <!ENTITY pygtk-buildsize     "83 MB">
+  <!ENTITY pygtk-time          "0.7 SBU">
+]>
+
+   <!-- Begin PyGTK -->
+  <sect2 id="pygtk" xreflabel="PyGTK-&pygtk-version;">
+
+    <title>PyGTK-&pygtk-version;</title>
+
+    <indexterm zone="pygtk">
+      <primary sortas="a-PyGTK">PyGTK</primary>
+    </indexterm>
+
+    <sect3 role="package">
+      <title>Introduction to PyGTK Module</title>
+
+      <para>
+        PyGTK lets you to easily create programs with a graphical user interface
+        using the <application>Python</application> programming language.
+      </para>
+
+      &lfs112_checked;
+
+      <bridgehead renderas="sect4">Package Information</bridgehead>
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>
+            Download (HTTP): <ulink url="&pygtk-download-http;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download (FTP): <ulink url="&pygtk-download-ftp;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download MD5 sum: &pygtk-md5sum;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download size: &pygtk-size;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated disk space required: &pygtk-buildsize;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated build time: &pygtk-time;
+          </para>
+        </listitem>
+      </itemizedlist>
+
+      <bridgehead renderas="sect4">PyGTK Dependencies</bridgehead>
+
+      <bridgehead renderas="sect5">Required</bridgehead>
+      <para role="required">
+        <xref linkend="pygobject2"/> and
+        <xref linkend="python2"/>
+      </para>
+
+      <bridgehead renderas="sect5">Required (atk module)</bridgehead>
+      <para role="required">
+        <xref linkend="atk"/>
+      </para>
+
+      <bridgehead renderas="sect5">Required (pango module)</bridgehead>
+      <para role="required">
+        <xref linkend="pango"/>
+      </para>
+
+      <bridgehead renderas="sect5">Required (pangocairo module)</bridgehead>
+      <para role="required">
+        <xref linkend="pycairo2"/> and
+        <xref linkend="pango"/>
+      </para>
+
+      <bridgehead renderas="sect5">Required (gtk and gtk.unixprint modules)</bridgehead>
+      <para role="required">
+        <xref linkend="pycairo2"/> and
+        <xref linkend="gtk2"/>.
+      </para>
+
+      <bridgehead renderas="sect5">Required (gtk.glade module)</bridgehead>
+      <para role="required">
+        <xref linkend="pycairo2"/> and
+        <xref linkend="libglade"/>.
+      </para>
+
+      <bridgehead renderas="sect5">Optional</bridgehead>
+      <para role="optional">
+        <ulink url="https://www.numpy.org/">NumPy</ulink>
+      </para>
+
+      <bridgehead renderas="sect5">Optional (to Build Documentation)</bridgehead>
+      <para role="optional">
+        <xref linkend="libxslt"/>
+      </para>
+
+      <para condition="html" role="usernotes">
+        User Notes: <ulink url="&blfs-wiki;/pygtk"/>
+      </para>
+    </sect3>
+
+    <sect3 role="installation">
+      <title>Installation of PyGTK</title>
+
+      <para>
+         First, adapt PyGTK to changes in Pango by removing undefined
+         APIs:
+      </para>
+
+<screen><userinput remap="pre">sed -i '1394,1402 d' pango.defs</userinput></screen>
+
+      <para>
+        Install <application>PyGTK</application> by running the following
+        commands:
+      </para>
+
+<screen><userinput>./configure --prefix=/usr &amp;&amp;
+make</userinput></screen>
+
+      <para>
+        The tests must be run from an active X display. If this is so, issue:
+        <command>make check</command>.
+      </para>
+
+      <para>
+        Now, as the <systemitem class="username">root</systemitem> user:
+      </para>
+
+<screen role="root"><userinput>make install</userinput></screen>
+    </sect3>
+
+    <sect3 role="commands">
+      <title>Command Explanations</title>
+
+      <para>
+        <parameter>--enable-docs</parameter>: This option enables rebuilding the
+        html documentation if <xref linkend="libxslt"/> is installed.
+      </para>
+    </sect3>
+
+    <sect3 role="content">
+      <title>Contents</title>
+
+      <segmentedlist>
+        <segtitle>Installed Programs</segtitle>
+        <segtitle>Installed Libraries</segtitle>
+        <segtitle>Installed Directories</segtitle>
+
+        <seglistitem>
+          <seg>pygtk-codegen-2.0 and pygtk-demo.</seg>
+          <seg>
+            atk.so,
+            _gtk.so,
+            glade.so,
+            gtkunixprint.so,
+            pango.so and
+            pangocairo.so.
+          </seg>
+          <seg>
+            /usr/include/pygtk-2.0,
+            /usr/lib/pygtk,
+            /usr/lib/python&python2-majorver;/site-packages/gtk-2.0,
+            /usr/share/gtk-doc/html/pygtk and
+            /usr/share/pygtk.
+          </seg>
+        </seglistitem>
+      </segmentedlist>
+
+      <variablelist>
+        <bridgehead renderas="sect4">Short Descriptions</bridgehead>
+        <?dbfo list-presentation="list"?>
+        <?dbhtml list-presentation="table"?>
+
+        <varlistentry id="pygtk-codegen-2.0">
+          <term><command>pygtk-codegen-2.0</command></term>
+          <listitem>
+            <para>
+              is a wrapper script to run the <application>PyGTK</application>
+              codegen module
+            </para>
+            <indexterm zone="pygtk pygtk-codegen-2.0">
+              <primary sortas="b-pygtk-codegen-2.0">pygtk-codegen-2.0</primary>
+            </indexterm>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="pygtk-demo">
+          <term><command>pygtk-demo</command></term>
+          <listitem>
+            <para>
+              is a Python wrapper to run the <application>PyGTK</application>
+              demo program
+            </para>
+            <indexterm zone="pygtk pygtk-demo">
+              <primary sortas="b-pygtk-demo">pygtk-demo</primary>
+            </indexterm>
+          </listitem>
+        </varlistentry>
+      </variablelist>
+    </sect3>
+
+  </sect2>
Index: general/prog/python-modules/pyparsing.xml
===================================================================
--- general/prog/python-modules/pyparsing.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
+++ general/prog/python-modules/pyparsing.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -0,0 +1,143 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect2 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 pyparsing-download-http "https://files.pythonhosted.org/packages/source/p/pyparsing/pyparsing-&pyparsing-version;.tar.gz">
+  <!ENTITY pyparsing-download-ftp  " ">
+  <!ENTITY pyparsing-md5sum        "fadc2f3bf5872bf6310576a86c3566e0">
+  <!ENTITY pyparsing-size          "1.9 MB">
+  <!ENTITY pyparsing-buildsize     "8.7 MB (add 26 MB for tests)">
+  <!ENTITY pyparsing-time          "less than 0.1 SBU (0.3 SBU for tests)">
+]>
+
+  <sect2 id="pyparsing" xreflabel="pyparsing-&pyparsing-version;">
+
+    <title>pyparsing-&pyparsing-version;</title>
+
+    <indexterm zone="pyparsing">
+      <primary sortas="a-pyparsing">pyparsing</primary>
+    </indexterm>
+
+    <sect3 role="package">
+      <title>Introduction to pyparsing Module</title>
+
+      <para>
+        The <application>pyparsing</application> module is an alternative
+        approach to creating and executing simple grammars, vs. the
+        traditional lex/yacc approach, or the use of regular expressions.
+        It provides a library of classes that client code uses to construct
+        the grammar directly in Python code.
+      </para>
+
+      &lfs112_checked;
+
+      <bridgehead renderas="sect4">Package Information</bridgehead>
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>
+            Download (HTTP): <ulink url="&pyparsing-download-http;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download (FTP): <ulink url="&pyparsing-download-ftp;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download MD5 sum: &pyparsing-md5sum;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download size: &pyparsing-size;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated disk space required: &pyparsing-buildsize;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated build time: &pyparsing-time;
+          </para>
+        </listitem>
+      </itemizedlist>
+
+      <bridgehead renderas="sect4">pyparsing Dependencies</bridgehead>
+
+      <bridgehead renderas="sect5">Required</bridgehead>
+      <para role="required">
+        <xref linkend="flit_core"/>
+      </para>
+
+      <bridgehead renderas="sect5">Optional</bridgehead>
+      <para role="optional">
+        <phrase revision="sysv"><xref linkend="Jinja2"/> and</phrase>
+        <ulink url="https://pypi.org/project/railroad-diagrams/">
+          railroad-diagrams
+        </ulink> (also needed for tests)
+      </para>
+
+      <bridgehead renderas="sect5">Optional (for testing)</bridgehead>
+      <para role="optional">
+        <xref linkend="pytest"/>
+      </para>
+
+    </sect3>
+
+    <sect3 role="installation">
+      <title>Installation of pyparsing</title>
+
+    <para> Build the module: </para>
+
+<screen><userinput>pip3 wheel -w dist --no-build-isolation --no-deps $PWD</userinput></screen>
+
+    <para>
+      Now, as the <systemitem class="username">root</systemitem> user:
+    </para>
+
+<screen role="root"><userinput>pip3 install --no-index --find-links dist --no-cache-dir --no-user pyparsing</userinput></screen>
+
+    <para>
+      Assuming <xref linkend="pytest"/> <phrase revision="systemd">is</phrase>
+      <phrase revision="sysv">and <xref linkend="Jinja2"/> are</phrase>
+      installed, but the other optional dependency is not, the installation
+      can be tested with the following commands:
+    </para>
+
+<screen remap="test"><userinput>python3 -m venv --system-site-packages testenv &amp;&amp;
+source testenv/bin/activate                    &amp;&amp;
+pip3 install railroad-diagrams                 &amp;&amp;
+python3 /usr/bin/pytest<!-- no && because of a possible error -->
+deactivate</userinput></screen>
+
+    </sect3>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+      href="../../../xincludes/pip3-cmd-explain.xml"/>
+
+    <sect3 role="content">
+      <title>Contents</title>
+
+      <segmentedlist>
+        <segtitle>Installed Programs</segtitle>
+        <segtitle>Installed Libraries</segtitle>
+        <segtitle>Installed Directories</segtitle>
+
+        <seglistitem>
+          <seg>None</seg>
+          <seg>None</seg>
+          <seg>
+            /usr/lib/python&python3-majorver;/site-packages/pyparsing and
+            /usr/lib/python&python3-majorver;/site-packages/pyparsing-&pyparsing-version;.dist-info
+          </seg>
+        </seglistitem>
+      </segmentedlist>
+
+    </sect3>
+
+  </sect2>
Index: general/prog/python-modules/pytest.xml
===================================================================
--- general/prog/python-modules/pytest.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
+++ general/prog/python-modules/pytest.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -0,0 +1,168 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect2 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 pytest-download-http "https://files.pythonhosted.org/packages/source/p/pytest/pytest-&pytest-version;.tar.gz">
+  <!ENTITY pytest-download-ftp  " ">
+  <!ENTITY pytest-md5sum        "c4de3e192e5bb4b39deada36cc2f393a">
+  <!ENTITY pytest-size          "1.2 MB">
+  <!ENTITY pytest-buildsize     "10 MB (add 54 MB for tests)">
+  <!ENTITY pytest-time          "less than 0.1 SBU (1.1 SBU for tests)">
+]>
+
+  <sect2 id="pytest" xreflabel="pytest-&pytest-version;">
+
+    <title>Pytest-&pytest-version;</title>
+
+    <indexterm zone="pytest">
+      <primary sortas="a-pytest">pytest</primary>
+    </indexterm>
+
+    <sect3 role="package">
+      <title>Introduction to Pytest Module</title>
+
+      <para>
+        The <application>Pytest</application> framework makes it easy to
+        write small, readable tests, and can scale to support complex
+        functional testing for applications and libraries.
+      </para>
+
+      &lfs112_checked;
+
+      <bridgehead renderas="sect4">Package Information</bridgehead>
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>
+            Download (HTTP): <ulink url="&pytest-download-http;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download (FTP): <ulink url="&pytest-download-ftp;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download MD5 sum: &pytest-md5sum;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download size: &pytest-size;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated disk space required: &pytest-buildsize;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated build time: &pytest-time;
+          </para>
+        </listitem>
+      </itemizedlist>
+
+      <bridgehead renderas="sect4">Pytest Dependencies</bridgehead>
+
+      <bridgehead renderas="sect5">Required</bridgehead>
+      <para role="required">
+        <xref linkend="attrs"/>,
+        <xref linkend="iniconfig"/>,
+        <xref linkend="packaging"/>,
+        <xref linkend="pluggy"/>,
+        <xref linkend="py"/>, and
+        <xref linkend="tomli"/>
+      </para>
+
+      <bridgehead renderas="sect5">Recommended</bridgehead>
+      <para role="recommended">
+        <xref linkend="setuptools_scm"/>
+      </para>
+
+      <bridgehead renderas="sect5">Optional (for testing)</bridgehead>
+      <para role="optional">
+        <xref linkend="pygments"/>,
+        <xref linkend="requests"/>,
+        <ulink url="https://pypi.org/project/argcomplete/">argcomplete</ulink>,
+        <ulink url="https://pypi.org/project/hypothesis/">hypothesis</ulink>,
+        <ulink url="https://pypi.org/project/nose/">nose</ulink>, and
+        <ulink url="https://pypi.org/project/xmlschema/">xmlschema</ulink>
+      </para>
+
+    </sect3>
+
+    <sect3 role="installation">
+      <title>Installation of Pytest</title>
+
+      <para> Build the module: </para>
+
+<screen><userinput>pip3 wheel -w dist --no-build-isolation --no-deps $PWD</userinput></screen>
+
+      <para>
+        Now, as the <systemitem class="username">root</systemitem> user:
+      </para>
+
+<screen role="root"><userinput>pip3 install --no-index --find-links dist --no-cache-dir --no-user pytest</userinput></screen>
+
+      <para>
+        The installation can be tested with the following commands:
+      </para>
+
+<screen remap="test"><userinput>python3 -m venv --system-site-packages testenv &amp;&amp;
+source testenv/bin/activate                    &amp;&amp;
+pip3 install pytest[testing]                   &amp;&amp;
+python3 /usr/bin/pytest<!-- no && because of a possible error -->
+deactivate</userinput></screen>
+
+    </sect3>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+      href="../../../xincludes/pip3-cmd-explain.xml"/>
+
+    <sect3 role="content">
+      <title>Contents</title>
+
+      <segmentedlist>
+        <segtitle>Installed Programs</segtitle>
+        <segtitle>Installed Libraries</segtitle>
+        <segtitle>Installed Directories</segtitle>
+
+        <seglistitem>
+          <seg>
+            pytest and py.test (different files but with same content)
+          </seg>
+          <seg>None</seg>
+          <seg>
+            /usr/lib/python&python3-majorver;/site-packages/_pytest,
+            /usr/lib/python&python3-majorver;/site-packages/pytest, and
+            /usr/lib/python&python3-majorver;/site-packages/pytest-&pytest-version;.dist-info
+          </seg>
+        </seglistitem>
+      </segmentedlist>
+
+      <variablelist>
+        <bridgehead renderas="sect5">Short Descriptions</bridgehead>
+        <?dbfo list-presentation="list"?>
+        <?dbhtml list-presentation="table"?>
+
+        <varlistentry id="pytest-prog">
+          <term><command>pytest</command></term>
+          <listitem>
+            <para>
+              sets up, manages, and/or runs test in python module source
+              directories
+            </para>
+            <indexterm zone="pytest pytest-prog">
+              <primary sortas="b-pytest-prog">pytest</primary>
+            </indexterm>
+          </listitem>
+        </varlistentry>
+
+      </variablelist>
+
+    </sect3>
+
+  </sect2>
Index: general/prog/python-modules/python-dbusmock.xml
===================================================================
--- general/prog/python-modules/python-dbusmock.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
+++ general/prog/python-modules/python-dbusmock.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -0,0 +1,124 @@
+<?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 dbusmock-download-http "https://github.com/martinpitt/python-dbusmock/releases/download/&dbusmock-version;/python-dbusmock-&dbusmock-version;.tar.gz">
+  <!ENTITY dbusmock-download-ftp  " ">
+  <!ENTITY dbusmock-md5sum        "d2788de6da5891309158e19bf6db1bf9">
+  <!ENTITY dbusmock-size          "92 KB">
+  <!ENTITY dbusmock-buildsize     "1.0 MB">
+  <!ENTITY dbusmock-time          "less than 0.1 SBU">
+]>
+
+  <!-- Begin dbusmock -->
+  <sect2 id="python-dbusmock" xreflabel="dbusmock-&dbusmock-version;">
+
+    <title>dbusmock-&dbusmock-version;</title>
+
+    <indexterm zone="python-dbusmock">
+      <primary sortas="a-dbusmock">dbusmock</primary>
+    </indexterm>
+
+    <sect3 role="package">
+      <title>Introduction to dbusmock</title>
+
+      <para>
+        <application>dbusmock</application> is a Python library
+        useful for writing tests for software which talks to D-Bus services.
+      </para>
+
+      &lfs112_checked;
+
+      <bridgehead renderas="sect4">Package Information</bridgehead>
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>
+            Download (HTTP): <ulink url="&dbusmock-download-http;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download (FTP): <ulink url="&dbusmock-download-ftp;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download MD5 sum: &dbusmock-md5sum;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download size: &dbusmock-size;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated disk space required: &dbusmock-buildsize;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated build time: &dbusmock-time;
+          </para>
+        </listitem>
+      </itemizedlist>
+
+      <bridgehead renderas="sect4">dbusmock Dependencies</bridgehead>
+
+      <bridgehead renderas="sect5">Required</bridgehead>
+      <para role="required">
+        <xref linkend="dbus-python"/>
+      </para>
+
+      <para condition="html" role="usernotes">
+        User Notes: <ulink url="&blfs-wiki;/dbusmock"/>
+      </para>
+    </sect3>
+
+    <sect3 role="installation">
+      <title>Installation of dbusmock</title>
+
+      <para>
+        Build the package with:
+      </para>
+
+<screen><userinput>pip3 wheel -w dist --no-build-isolation --no-deps $PWD</userinput></screen>
+
+      <para>
+        To install the package run the following as the &root; user:
+      </para>
+
+<screen role="root"><userinput>pip3 install --no-index --find-links dist --no-cache-dir --no-user python-dbusmock</userinput></screen>
+
+    </sect3>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+      href="../../../xincludes/pip3-cmd-explain.xml"/>
+
+    <sect3 role="content">
+      <title>Contents</title>
+
+      <segmentedlist>
+        <segtitle>Installed Programs</segtitle>
+        <segtitle>Installed Libraries</segtitle>
+        <segtitle>Installed Directories</segtitle>
+
+        <seglistitem>
+          <seg>
+            None
+          </seg>
+          <seg>
+            None
+          </seg>
+          <seg>
+            /usr/lib/python&python3-majorver;/site-packages/dbusmock and
+            /usr/lib/python&python3-majorver;/site-packages/python_dbusmock-&dbusmock-version;.dist-info
+          </seg>
+        </seglistitem>
+      </segmentedlist>
+
+    </sect3>
+
+  </sect2>
Index: general/prog/python-modules/pyxdg.xml
===================================================================
--- general/prog/python-modules/pyxdg.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
+++ general/prog/python-modules/pyxdg.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -0,0 +1,117 @@
+<?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 pyxdg-download-http
+           "https://files.pythonhosted.org/packages/b0/25/7998cd2dec731acbd438fbf91bc619603fc5188de0a9a17699a781840452/pyxdg-&pyxdg-version;.tar.gz">
+  <!ENTITY pyxdg-download-ftp  " ">
+  <!ENTITY pyxdg-md5sum        "d9a1d04fe60c956f5e3b9de3b4ef4722">
+  <!ENTITY pyxdg-size          "76 KB">
+  <!ENTITY pyxdg-buildsize     "808 KB">
+  <!ENTITY pyxdg-time          "less than 0.1 SBU">
+]>
+
+  <!-- Begin PyXDG -->
+  <sect2 id="pyxdg" xreflabel="PyXDG-&pyxdg-version;">
+
+    <title>PyXDG-&pyxdg-version;</title>
+
+    <indexterm zone="pyxdg">
+      <primary sortas="a-PyXDG">PyXDG</primary>
+    </indexterm>
+
+    <sect3 role="package">
+      <title>Introduction to PyXDG Module</title>
+
+      <para>
+        <application>PyXDG</application> is a <application>Python</application>
+        library to access freedesktop.org standards.
+      </para>
+
+      &lfs112_checked;
+
+      <bridgehead renderas="sect4">Package Information</bridgehead>
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>
+            Download (HTTP): <ulink url="&pyxdg-download-http;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download (FTP): <ulink url="&pyxdg-download-ftp;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download MD5 sum: &pyxdg-md5sum;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download size: &pyxdg-size;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated disk space required: &pyxdg-buildsize;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated build time: &pyxdg-time;
+          </para>
+        </listitem>
+      </itemizedlist>
+<!--
+      <bridgehead renderas="sect4">PyXDG Dependencies</bridgehead>
+
+      <bridgehead renderas="sect5">Optional</bridgehead>
+      <para role="optional">
+        <xref linkend="python2"/>
+      </para>
+-->
+      <para condition="html" role="usernotes">
+        User Notes: <ulink url="&blfs-wiki;/pyxdg"/>
+      </para>
+    </sect3>
+
+    <sect3 role="installation">
+      <title>Installation of PyXDG</title>
+
+      <para>
+        Build the module:
+      </para>
+
+<screen><userinput>pip3 wheel -w dist --no-build-isolation --no-deps $PWD</userinput></screen>
+
+       <para>
+         Install the module as the &root; user:
+       </para>
+
+<screen role='root'><userinput>pip3 install --no-index --find-links dist --no-cache-dir --no-user pyxdg</userinput></screen>
+
+    </sect3>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+      href="../../../xincludes/pip3-cmd-explain.xml"/>
+
+    <sect3 role="content">
+      <title>Contents</title>
+
+      <segmentedlist>
+        <segtitle>Installed Directory</segtitle>
+
+        <seglistitem>
+          <seg>
+            /usr/lib/python&python3-majorver;/site-packages/xdg and
+            /usr/lib/python&python3-majorver;/site-packages/pyxdg-&pyxdg-version;.dist-info
+          </seg>
+        </seglistitem>
+      </segmentedlist>
+
+    </sect3>
+
+  </sect2>
Index: general/prog/python-modules/pyyaml.xml
===================================================================
--- general/prog/python-modules/pyyaml.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
+++ general/prog/python-modules/pyyaml.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -0,0 +1,125 @@
+<?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 PyYAML-download-http "https://files.pythonhosted.org/packages/source/P/PyYAML/PyYAML-&PyYAML-version;.tar.gz">
+  <!ENTITY PyYAML-download-ftp  " ">
+  <!ENTITY PyYAML-md5sum        "1d19c798f25e58e3e582f0f8c977dbb8">
+  <!ENTITY PyYAML-size          "124 KB">
+  <!ENTITY PyYAML-buildsize     "3.3 MB">
+  <!ENTITY PyYAML-time          "less than 0.1 SBU">
+]>
+
+  <!-- Begin PyYAML -->
+  <sect2 id="PyYAML" xreflabel="PyYAML-&PyYAML-version;">
+
+    <title>PyYAML-&PyYAML-version;</title>
+
+    <indexterm zone="PyYAML">
+      <primary sortas="a-PyYAML">PyYAML</primary>
+    </indexterm>
+
+    <sect3 role="package">
+      <title>Introduction to PyYAML Module</title>
+
+      <para>
+        <application>PyYAML</application> is a <application>Python</application>
+        module that implements the next generation YAML parser and emitter.
+      </para>
+
+      &lfs112_checked;
+
+      <bridgehead renderas="sect4">Package Information</bridgehead>
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>
+            Download (HTTP): <ulink url="&PyYAML-download-http;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download (FTP): <ulink url="&PyYAML-download-ftp;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download MD5 sum: &PyYAML-md5sum;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download size: &PyYAML-size;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated disk space required: &PyYAML-buildsize;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated build time: &PyYAML-time;
+          </para>
+        </listitem>
+      </itemizedlist>
+
+      <bridgehead renderas="sect4">PyYAML Dependencies</bridgehead>
+
+      <bridgehead renderas="sect5">Required</bridgehead>
+      <para role="required">
+        <xref linkend="cython"/> and
+        <xref linkend="libyaml"/>
+      </para>
+
+      <para condition="html" role="usernotes">
+        User Notes: <ulink url="&blfs-wiki;/PyYAML"/>
+      </para>
+    </sect3>
+
+    <sect3 role="installation">
+      <title>Installation of PyYAML</title>
+
+      <para>
+        Build PyYAML with the following command:
+      </para>
+
+<screen><userinput>pip3 wheel -w dist --no-build-isolation --no-deps $PWD</userinput></screen>
+
+      <para>
+        Now, install the module as the &root; user:
+      </para>
+
+<screen role="root"><userinput>pip3 install --no-index --find-links dist --no-cache-dir --no-user PyYAML</userinput></screen>
+
+    </sect3>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+      href="../../../xincludes/pip3-cmd-explain.xml"/>
+
+    <sect3 role="content">
+      <title>Contents</title>
+
+      <segmentedlist>
+        <segtitle>Installed Programs</segtitle>
+        <segtitle>Installed Libraries</segtitle>
+        <segtitle>Installed Directories</segtitle>
+
+        <seglistitem>
+          <seg>
+            None
+          </seg>
+          <seg>
+            None
+          </seg>
+          <seg>
+            /usr/lib/python&python2-majorver;/site-packages/yaml and
+            /usr/lib/python&python3-majorver;/site-packages/PyYAML-&yaml-version;.dist-info
+          </seg>
+        </seglistitem>
+      </segmentedlist>
+
+    </sect3>
+
+  </sect2>
Index: general/prog/python-modules/recommonmark.xml
===================================================================
--- general/prog/python-modules/recommonmark.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
+++ general/prog/python-modules/recommonmark.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -0,0 +1,215 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect2 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 recommonmark-download-http "https://files.pythonhosted.org/packages/source/r/recommonmark/recommonmark-&recommonmark-version;.tar.gz">
+  <!ENTITY recommonmark-download-ftp  " ">
+  <!ENTITY recommonmark-md5sum        "3c550a76eb62006bf007843a9f1805bb">
+  <!ENTITY recommonmark-size          "34 KB">
+  <!ENTITY recommonmark-buildsize     "680 KB (with tests)">
+  <!ENTITY recommonmark-time          "less than 0.1 SBU (with tests)">
+]>
+
+  <sect2 id="recommonmark" xreflabel="recommonmark-&recommonmark-version;">
+
+    <title>Recommonmark-&recommonmark-version;</title>
+
+    <indexterm zone="recommonmark">
+      <primary sortas="a-recommonmark">recommonmark</primary>
+    </indexterm>
+
+    <sect3 role="package">
+      <title>Introduction to Recommonmark Module</title>
+
+      <para>
+        <application>Recommonmark</application> is a docutils-compatibility
+        bridge to CommonMark. It allows writing CommonMark inside of Docutils
+        and Sphinx projects. <application>Recommonmark</application> is now
+        deprecated in favor of <application>MyST</application>. Unfortunately,
+        <xref linkend="llvm"/> still depends on this module.
+      </para>
+
+      &lfs112_checked;
+
+      <bridgehead renderas="sect4">Package Information</bridgehead>
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>
+            Download (HTTP): <ulink url="&recommonmark-download-http;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download (FTP): <ulink url="&recommonmark-download-ftp;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download MD5 sum: &recommonmark-md5sum;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download size: &recommonmark-size;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated disk space required: &recommonmark-buildsize;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated build time: &recommonmark-time;
+          </para>
+        </listitem>
+      </itemizedlist>
+
+      <bridgehead renderas="sect4">Recommonmark Dependencies</bridgehead>
+
+      <bridgehead renderas="sect5">Required</bridgehead>
+      <para role="required">
+        <xref linkend="commonmark"/> and
+        <xref linkend="sphinx"/>
+      </para>
+
+      <bridgehead renderas="sect5">Optional (for testing)</bridgehead>
+      <para role="optional">
+        <xref linkend="pytest"/>
+      </para>
+
+
+    </sect3>
+
+    <sect3 role="installation">
+      <title>Installation of Recommonmark</title>
+
+    <para> Build the module: </para>
+
+<screen><userinput>pip3 wheel -w dist --no-build-isolation --no-deps $PWD</userinput></screen>
+
+    <para>
+      Now, as the <systemitem class="username">root</systemitem> user:
+    </para>
+
+<screen role="root"><userinput>pip3 install --no-index --find-links dist --no-cache-dir --no-user recommonmark</userinput></screen>
+
+    <para>
+      <application>Recommonmark</application> is now deprecated in favor of
+      <application>MyST</application>. For this reason, a lot of tests
+      have to be disabled because they do not pass with recent versions of
+      <application>Sphinx</application>. The installation can be partially
+      tested with the following command:
+    </para>
+
+    <screen remap="test"><userinput>pytest -k 'not (test_integration or test_code or test_headings or test_image or test_links or test_lists)'</userinput></screen>
+
+    </sect3>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+      href="../../../xincludes/pip3-cmd-explain.xml"/>
+
+    <sect3 role="content">
+      <title>Contents</title>
+
+      <segmentedlist>
+        <segtitle>Installed Programs</segtitle>
+        <segtitle>Installed Libraries</segtitle>
+        <segtitle>Installed Directories</segtitle>
+
+        <seglistitem>
+          <seg>
+            cm2html, cm2latex, cm2man, cm2pseudoxml, cm2xetex, and cm2xml
+          </seg>
+          <seg>None</seg>
+          <seg>
+            /usr/lib/python&python3-majorver;/site-packages/recommonmark and
+            /usr/lib/python&python3-majorver;/site-packages/recommonmark-&recommonmark-version;.dist-info
+          </seg>
+        </seglistitem>
+      </segmentedlist>
+
+      <variablelist>
+        <bridgehead renderas="sect3">Short Descriptions</bridgehead>
+        <?dbfo list-presentation="list"?>
+        <?dbhtml list-presentation="table"?>
+
+        <varlistentry id="cm2html">
+          <term><command>cm2html</command></term>
+          <listitem>
+            <para>
+              generates a html document from markdown sources
+            </para>
+            <indexterm zone="recommonmark cm2html">
+              <primary sortas="b-cm2html">cm2html</primary>
+            </indexterm>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="cm2latex">
+          <term><command>cm2latex</command></term>
+          <listitem>
+            <para>
+              generates a latex document from markdown sources
+            </para>
+            <indexterm zone="recommonmark cm2latex">
+              <primary sortas="b-cm2latex">cm2latex</primary>
+            </indexterm>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="cm2man">
+          <term><command>cm2man</command></term>
+          <listitem>
+            <para>
+              generates a manpage from markdown sources
+            </para>
+            <indexterm zone="recommonmark cm2man">
+              <primary sortas="b-cm2man">cm2man</primary>
+            </indexterm>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="cm2pseudoxml">
+          <term><command>cm2pseudoxml</command></term>
+          <listitem>
+            <para>
+              generates a pseudo-XML document from markdown sources
+            </para>
+            <indexterm zone="recommonmark cm2pseudoxml">
+              <primary sortas="b-cm2pseudoxml">cm2pseudoxml</primary>
+            </indexterm>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="cm2xetex">
+          <term><command>cm2xetex</command></term>
+          <listitem>
+            <para>
+              generates a xetex document from markdown sources
+            </para>
+            <indexterm zone="recommonmark cm2xetex">
+              <primary sortas="b-cm2xetex">cm2xetex</primary>
+            </indexterm>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="cm2xml">
+          <term><command>cm2xml</command></term>
+          <listitem>
+            <para>
+              generates an XML document from markdown sources
+            </para>
+            <indexterm zone="recommonmark cm2xml">
+              <primary sortas="b-cm2xml">cm2xml</primary>
+            </indexterm>
+          </listitem>
+        </varlistentry>
+
+      </variablelist>
+
+    </sect3>
+
+  </sect2>
Index: general/prog/python-modules/requests.xml
===================================================================
--- general/prog/python-modules/requests.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
+++ general/prog/python-modules/requests.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -0,0 +1,153 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect2 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 requests-download-http "https://github.com/psf/requests/releases/download/v&requests-version;/requests-&requests-version;.tar.gz">
+  <!ENTITY requests-download-ftp  " ">
+  <!ENTITY requests-md5sum        "796ea875cdae283529c03b9203d9c454">
+  <!ENTITY requests-size          "107 KB">
+  <!ENTITY requests-buildsize     "1.4 MB (add 54 MB for tests)">
+  <!ENTITY requests-time          "less than 0.1 SBU (0.7 SBU for tests)">
+]>
+
+  <sect2 id="requests" xreflabel="requests-&requests-version;">
+
+    <title>Requests-&requests-version;</title>
+
+    <indexterm zone="requests">
+      <primary sortas="a-requests">requests</primary>
+    </indexterm>
+
+    <sect3 role="package">
+      <title>Introduction to Requests Module</title>
+
+      <para>
+        The <application>Requests</application> package is an elegant and
+        simple HTTP library for Python, built for human beings. It allows
+        sending HTTP/1.1 requests extremely easily.
+      </para>
+
+      &lfs112_checked;
+
+      <bridgehead renderas="sect4">Package Information</bridgehead>
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>
+            Download (HTTP): <ulink url="&requests-download-http;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download (FTP): <ulink url="&requests-download-ftp;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download MD5 sum: &requests-md5sum;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download size: &requests-size;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated disk space required: &requests-buildsize;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated build time: &requests-time;
+          </para>
+        </listitem>
+      </itemizedlist>
+
+      <bridgehead renderas="sect4">Requests Dependencies</bridgehead>
+
+      <bridgehead renderas="sect5">Required</bridgehead>
+      <para role="required">
+        <xref linkend="certifi"/>,
+        <xref linkend="charset-normalizer"/>,
+        <xref linkend="idna"/>, and
+        <xref linkend="urllib3"/>
+      </para>
+
+      <bridgehead renderas="sect5">Optional</bridgehead>
+      <para role="optional">
+        <ulink url="https://pypi.org/project/PySocks/">PySocks</ulink> (also needed for testing)
+      </para>
+
+      <bridgehead renderas="sect5">Optional (for testing)</bridgehead>
+      <para role="optional">
+        <xref linkend="pytest"/>,
+        <ulink url="https://pypi.org/project/Flask/">Flask</ulink>&lt;2,
+        <ulink url="https://pypi.org/project/httpbin/">httpbin</ulink>,
+        <ulink url="https://pypi.org/project/MarkupSafe/">MarkupSafe</ulink>&lt;2.1,
+        <ulink url="https://pypi.org/project/pytest-mock/">pytest-mock</ulink>,
+        <ulink url="https://pypi.org/project/pytest-httpbin/">pytest-httpbin</ulink>,
+        <ulink url="https://pypi.org/project/trustme/">trustme</ulink>, and
+        <ulink url="https://pypi.org/project/Werkzeug/">Werkzeug</ulink>&lt;2
+      </para>
+
+    </sect3>
+
+    <sect3 role="installation">
+      <title>Installation of Requests</title>
+
+    <para> Build the module: </para>
+
+<screen><userinput>pip3 wheel -w dist --no-build-isolation --no-deps $PWD</userinput></screen>
+
+    <para>
+      Now, as the <systemitem class="username">root</systemitem> user:
+    </para>
+
+<screen role="root"><userinput>pip3 install --no-index --find-links dist --no-cache-dir --no-user requests</userinput></screen>
+
+    <para>
+      Assuming <xref linkend="pytest"/> is installed, but the other optional
+      dependencies are not, the installation can be tested with the following
+      commands:
+    </para>
+
+<screen remap="test"><userinput>python3 -m venv --system-site-packages testenv &amp;&amp;
+source testenv/bin/activate                    &amp;&amp;
+pip3 install pytest-mock    \
+             werkzeug\&lt;2    \
+             flask\&lt;2       \
+             pytest-httpbin \
+             pysocks        \
+             trustme                           &amp;&amp;
+pip3 install --force-reinstall Markupsafe\&lt;2.1 &amp;&amp;
+python3 /usr/bin/pytest tests                  &amp;&amp;
+deactivate</userinput></screen>
+
+    </sect3>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+      href="../../../xincludes/pip3-cmd-explain.xml"/>
+
+    <sect3 role="content">
+      <title>Contents</title>
+
+      <segmentedlist>
+        <segtitle>Installed Programs</segtitle>
+        <segtitle>Installed Libraries</segtitle>
+        <segtitle>Installed Directories</segtitle>
+
+        <seglistitem>
+          <seg>None</seg>
+          <seg>None</seg>
+          <seg>
+            /usr/lib/python&python3-majorver;/site-packages/requests and
+            /usr/lib/python&python3-majorver;/site-packages/requests-&requests-version;.dist-info
+          </seg>
+        </seglistitem>
+      </segmentedlist>
+  
+    </sect3>
+
+  </sect2>
Index: general/prog/python-modules/scour.xml
===================================================================
--- general/prog/python-modules/scour.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
+++ general/prog/python-modules/scour.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -0,0 +1,144 @@
+<?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 scour-download-http "https://github.com/scour-project/scour/archive/v0.38.2/scour-&scour-version;.tar.gz">
+  <!ENTITY scour-download-ftp  " ">
+  <!ENTITY scour-md5sum        "ae30f52602802f8c7df3a32e1f72b325">
+  <!ENTITY scour-size          "100 KB">
+  <!ENTITY scour-buildsize     "1.3 MB">
+  <!ENTITY scour-time          "less than 0.1 SBU">
+]>
+
+  <!-- Begin scour -->
+  <sect2 id="scour" xreflabel="Scour-&scour-version;">
+
+    <title>Scour-&scour-version;</title>
+
+    <indexterm zone="scour">
+      <primary sortas="a-scour">scour</primary>
+    </indexterm>
+
+    <sect3 role="package">
+      <title>Introduction to Scour Module</title>
+
+      <para>
+        <application>Scour</application> is an SVG (Scalable Vector Graphics)
+        optimizer/cleaner that reduces their size by optimizing structure and
+        removing unnecessary data.
+      </para>
+
+      &lfs112_checked;
+
+      <bridgehead renderas="sect4">Package Information</bridgehead>
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>
+            Download (HTTP): <ulink url="&scour-download-http;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download (FTP): <ulink url="&scour-download-ftp;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download MD5 sum: &scour-md5sum;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download size: &scour-size;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated disk space required: &scour-buildsize;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated build time: &scour-time;
+          </para>
+        </listitem>
+      </itemizedlist>
+
+      <bridgehead renderas="sect4">Scour Dependencies</bridgehead>
+
+      <bridgehead renderas="sect5">Required</bridgehead>
+      <para role="required">
+        <xref linkend="six"/>
+      </para>
+
+      <para condition="html" role="usernotes">
+        User Notes: <ulink url="&blfs-wiki;/scour"/>
+      </para>
+    </sect3>
+
+    <sect3 role="installation">
+      <title>Installation of scour</title>
+
+      <para>
+        Build the module:
+      </para>
+
+<screen><userinput>pip3 wheel -w dist --no-build-isolation --no-deps $PWD</userinput></screen>
+
+      <para>
+        To install the module, run the following command as the &root; user:
+      </para>
+
+<screen role="root"><userinput>pip3 install --no-index --find-links dist --no-cache-dir --no-user scour</userinput></screen>
+
+    </sect3>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+      href="../../../xincludes/pip3-cmd-explain.xml"/>
+
+    <sect3 role="content">
+      <title>Contents</title>
+
+      <segmentedlist>
+        <segtitle>Installed Programs</segtitle>
+        <segtitle>Installed Libraries</segtitle>
+        <segtitle>Installed Directories</segtitle>
+
+        <seglistitem>
+          <seg>
+            scour
+          </seg>
+          <seg>
+            None
+          </seg>
+          <seg>
+            /usr/lib/python&python3-majorver;/site-packages/scour and
+            /usr/lib/python&python3-majorver;/site-packages/scour-&scour-version;.dist-info
+          </seg>
+        </seglistitem>
+      </segmentedlist>
+
+    <variablelist>
+      <bridgehead renderas="sect3">Short Descriptions</bridgehead>
+      <?dbfo list-presentation="list"?>
+      <?dbhtml list-presentation="table"?>
+
+      <varlistentry id="scour-prog">
+        <term><command>scour</command></term>
+        <listitem>
+          <para>
+            is a program to optimize and clean SVG files
+          </para>
+          <indexterm zone="scour scour-prog">
+            <primary sortas="b-scour">scour</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+    </variablelist>
+
+    </sect3>
+
+  </sect2>
Index: general/prog/python-modules/six.xml
===================================================================
--- general/prog/python-modules/six.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
+++ general/prog/python-modules/six.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -0,0 +1,146 @@
+<?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 six-download-http "&pymodules-dl;/s/six/six-&six-version;.tar.gz">
+  <!ENTITY six-download-ftp  " ">
+  <!ENTITY six-md5sum        "a7c927740e4964dd29b72cebfc1429bb">
+  <!ENTITY six-size          "36 KB">
+  <!ENTITY six-buildsize     "376 KB">
+  <!ENTITY six-time          "less than 0.1 SBU">
+]>
+
+  <!-- Begin six -->
+  <sect2 id="six" xreflabel="six-&six-version;">
+
+    <title>six-&six-version;</title>
+
+    <indexterm zone="six">
+      <primary sortas="a-six">six</primary>
+    </indexterm>
+
+    <sect3 role="package">
+      <title>Introduction to Six Module</title>
+
+      <para>
+        Six is a Python 2 to 3 compatibility library.
+      </para>
+
+      &lfs112_checked;
+      <!-- Does not use gcc -->
+
+      <bridgehead renderas="sect4">Package Information</bridgehead>
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>
+            Download (HTTP): <ulink url="&six-download-http;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download (FTP): <ulink url="&six-download-ftp;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download MD5 sum: &six-md5sum;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download size: &six-size;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated disk space required: &six-buildsize;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated build time: &six-time;
+          </para>
+        </listitem>
+      </itemizedlist>
+<!--
+      <bridgehead renderas="sect4">Six Dependencies</bridgehead>
+
+      <bridgehead renderas="sect5">Recommended Dependencies</bridgehead>
+      <para role="recommended">
+        <xref linkend="python2"/>
+      </para>
+-->
+      <para condition="html" role="usernotes">
+        User Notes: <ulink url="&blfs-wiki;/six"/>
+      </para>
+    </sect3>
+
+    <sect3 role="installation">
+      <title>Installation of Six</title>
+<!--
+      <note>
+        <para>
+          Both <application>Python 2</application> and
+          <application>Python 3</application> modules can
+          be built and installed without any conflicts.
+        </para>
+      </note>
+
+      <para>
+        Install <application>six</application> for Python 2 and Python 3
+        by running the following commands:
+      </para>
+
+<screen><userinput>python2 setup.py build &amp;&amp;
+python3 setup.py build</userinput></screen>
+-->
+      <para>
+        Build the module:
+      </para>
+
+<screen><userinput>pip3 wheel -w dist --no-build-isolation --no-deps $PWD</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>python2 setup.py install - -optimize=1 &amp;&amp;
+python3 setup.py install - -optimize=1</userinput></screen>
+-->
+
+<screen role="root"><userinput>pip3 install --no-index --find-links dist --no-cache-dir --no-user six</userinput></screen>
+
+    </sect3>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+      href="../../../xincludes/pip3-cmd-explain.xml"/>
+
+    <sect3 role="content">
+      <title>Contents</title>
+
+      <segmentedlist>
+        <segtitle>Installed Programs</segtitle>
+        <segtitle>Installed Libraries</segtitle>
+        <segtitle>Installed Directories</segtitle>
+
+        <seglistitem>
+          <seg>
+            None
+          </seg>
+          <seg>
+            None
+          </seg>
+          <seg>
+            /usr/lib/python&python3-majorver;/site-packages/six-&six-version;.dist-info
+          </seg>
+        </seglistitem>
+      </segmentedlist>
+    </sect3>
+
+  </sect2>
Index: general/prog/python-modules/sphinx.xml
===================================================================
--- general/prog/python-modules/sphinx.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
+++ general/prog/python-modules/sphinx.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -0,0 +1,208 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect2 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 sphinx-download-http "https://github.com/sphinx-doc/sphinx/archive/v&sphinx-version;/sphinx-&sphinx-version;.tar.gz">
+  <!ENTITY sphinx-download-ftp  " ">
+  <!ENTITY sphinx-md5sum        "a8444ced81cd594d60d4af002a0e0025">
+  <!ENTITY sphinx-size          "6.5 MB">
+  <!ENTITY sphinx-buildsize     "44 MB (add 35 MB for tests)">
+  <!ENTITY sphinx-time          "less than 0.1 SBU (1 SBU for tests)">
+]>
+
+  <sect2 id="sphinx" xreflabel="sphinx-&sphinx-version;">
+
+    <title>Sphinx-&sphinx-version;</title>
+
+    <indexterm zone="sphinx">
+      <primary sortas="a-sphinx">sphinx</primary>
+    </indexterm>
+
+    <sect3 role="package">
+      <title>Introduction to Sphinx Module</title>
+
+      <para>
+        The <application>Sphinx</application> package is a set of tools
+        for translating some structured text formats into pretty documentation
+        in various formats.
+      </para>
+
+      &lfs112_checked;
+
+      <bridgehead renderas="sect4">Package Information</bridgehead>
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>
+            Download (HTTP): <ulink url="&sphinx-download-http;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download (FTP): <ulink url="&sphinx-download-ftp;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download MD5 sum: &sphinx-md5sum;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download size: &sphinx-size;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated disk space required: &sphinx-buildsize;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated build time: &sphinx-time;
+          </para>
+        </listitem>
+      </itemizedlist>
+
+      <bridgehead renderas="sect4">Sphinx Dependencies</bridgehead>
+
+      <bridgehead renderas="sect5">Required</bridgehead>
+      <para role="required">
+        <xref linkend="alabaster"/>,
+        <xref linkend="babel"/>,
+        <xref linkend="docutils"/>,
+        <xref linkend="imagesize"/>,
+        <phrase revision="sysv"><xref linkend="Jinja2"/>,</phrase>
+        <xref linkend="packaging"/>,
+        <xref linkend="pygments"/>,
+        <xref linkend="requests"/>,
+        <xref linkend="snowballstemmer"/>,
+        <xref linkend="sc-applehelp"/>,
+        <xref linkend="sc-devhelp"/>,
+        <xref linkend="sc-htmlhelp"/>,
+        <xref linkend="sc-jsmath"/>,
+        <xref linkend="sc-qthelp"/>, and
+        <xref linkend="sc-serializinghtml"/>
+      </para>
+
+      <bridgehead renderas="sect5">Optional (for tests)</bridgehead>
+      <para role="optional">
+        <xref linkend="cython"/>,
+        <xref linkend="pytest"/>,
+        <xref linkend="texlive"/>, and
+        <ulink url="https://pypi.org/project/html5lib/">html5lib</ulink>
+      </para>
+
+    </sect3>
+
+    <sect3 role="installation">
+      <title>Installation of Sphinx</title>
+
+    <para> Build the module: </para>
+
+<screen><userinput>pip3 wheel -w dist --no-build-isolation --no-deps $PWD</userinput></screen>
+
+    <para>
+      Now, as the <systemitem class="username">root</systemitem> user:
+    </para>
+
+<screen role="root"><userinput>pip3 install --no-index --find-links dist --no-cache-dir --no-user sphinx</userinput></screen>
+
+    <para>
+      Assuming <xref linkend="cython"/> and <xref linkend="pytest"/> are
+      installed, but the other optional dependency is not, the installation
+      can be tested with the following commands:
+    </para>
+
+<screen remap="test"><userinput>python3 -m venv --system-site-packages testenv &amp;&amp;
+source testenv/bin/activate                    &amp;&amp;
+pip3 install html5lib                          &amp;&amp;
+python3 /usr/bin/pytest<!-- no && because of a possible error -->
+deactivate</userinput></screen>
+
+    </sect3>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+      href="../../../xincludes/pip3-cmd-explain.xml"/>
+
+    <sect3 role="content">
+      <title>Contents</title>
+
+      <segmentedlist>
+        <segtitle>Installed Programs</segtitle>
+        <segtitle>Installed Libraries</segtitle>
+        <segtitle>Installed Directories</segtitle>
+
+        <seglistitem>
+          <seg>
+            sphinx-apidoc, sphinx-autogen, sphinx-build, and sphinx-quickstart
+          </seg>
+          <seg>None</seg>
+          <seg>
+            /usr/lib/python&python3-majorver;/site-packages/sphinx and
+            /usr/lib/python&python3-majorver;/site-packages/sphinx-&sphinx-version;.dist-info
+          </seg>
+        </seglistitem>
+      </segmentedlist>
+
+      <variablelist>
+        <bridgehead renderas="sect5">Short Descriptions</bridgehead>
+        <?dbfo list-presentation="list"?>
+        <?dbhtml list-presentation="table"?>
+
+        <varlistentry id="sphinx-apidoc">
+          <term><command>sphinx-apidoc</command></term>
+          <listitem>
+            <para>
+              creates an reST file from python modules and packages
+            </para>
+            <indexterm zone="sphinx sphinx-apidoc">
+              <primary sortas="b-sphinx-apidoc">sphinx-apidoc</primary>
+            </indexterm>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="sphinx-autogen">
+          <term><command>sphinx-autogen</command></term>
+          <listitem>
+            <para>
+              generates ReStructuredText from special directives contained
+              in given input files
+            </para>
+            <indexterm zone="sphinx sphinx-autogen">
+              <primary sortas="b-sphinx-autogen">sphinx-autogen</primary>
+            </indexterm>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="sphinx-build">
+          <term><command>sphinx-build</command></term>
+          <listitem>
+            <para>
+              generates documentation in various formats from ReStructuredText
+              source files
+            </para>
+            <indexterm zone="sphinx sphinx-build">
+              <primary sortas="b-sphinx-build">sphinx-build</primary>
+            </indexterm>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="sphinx-quickstart">
+          <term><command>sphinx-quickstart</command></term>
+          <listitem>
+            <para>
+              generates required files for a sphinx project
+            </para>
+            <indexterm zone="sphinx sphinx-quickstart">
+              <primary sortas="b-sphinx-quickstart">sphinx-quickstart</primary>
+            </indexterm>
+          </listitem>
+        </varlistentry>
+
+      </variablelist>
+
+    </sect3>
+
+  </sect2>
Index: general/prog/python-modules/sphinx_rtd_theme.xml
===================================================================
--- general/prog/python-modules/sphinx_rtd_theme.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
+++ general/prog/python-modules/sphinx_rtd_theme.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -0,0 +1,145 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect2 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 sphinx_rtd_theme-download-http "https://files.pythonhosted.org/packages/source/s/sphinx_rtd_theme/sphinx_rtd_theme-&sphinx_rtd_theme-version;.tar.gz">
+  <!ENTITY sphinx_rtd_theme-download-ftp  " ">
+  <!ENTITY sphinx_rtd_theme-md5sum        "fdfc7d2e102cb96eca0f6155dde7403e">
+  <!ENTITY sphinx_rtd_theme-size          "2.7 MB">
+  <!ENTITY sphinx_rtd_theme-buildsize     "14 MB (add 25 MB for tests)">
+  <!ENTITY sphinx_rtd_theme-time          "less than 0.1 SBU (with tests)">
+]>
+
+  <sect2 id="sphinx_rtd_theme" xreflabel="sphinx_rtd_theme-&sphinx_rtd_theme-version;">
+
+    <title>Sphinx_rtd_theme-&sphinx_rtd_theme-version;</title>
+
+    <indexterm zone="sphinx_rtd_theme">
+      <primary sortas="a-sphinx_rtd_theme">sphinx_rtd_theme</primary>
+    </indexterm>
+
+    <sect3 role="package">
+      <title>Introduction to Sphinx_rtd_theme Module</title>
+
+      <para>
+        The <application>sphinx_rtd_theme</application> module is a Sphinx
+        theme designed to provide a great reader experience for documentation
+        users on both desktop and mobile devices. This theme is used primarily
+        on Read the Docs but can work with any Sphinx project.
+      </para>
+
+      &lfs112_checked;
+
+      <bridgehead renderas="sect4">Package Information</bridgehead>
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>
+            Download (HTTP): <ulink url="&sphinx_rtd_theme-download-http;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download (FTP): <ulink url="&sphinx_rtd_theme-download-ftp;"/>
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download MD5 sum: &sphinx_rtd_theme-md5sum;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Download size: &sphinx_rtd_theme-size;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated disk space required: &sphinx_rtd_theme-buildsize;
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Estimated build time: &sphinx_rtd_theme-time;
+          </para>
+        </listitem>
+      </itemizedlist>
+
+      <bridgehead renderas="sect4">Sphinx_rtd_theme Dependencies</bridgehead>
+
+      <bridgehead renderas="sect5">Required</bridgehead>
+      <para role="required">
+        <xref linkend="sphinx"/>
+      </para>
+
+      <bridgehead renderas="sect5">Optional (for tests)</bridgehead>
+      <para role="optional">
+        <xref linkend="pytest"/> and
+        <ulink url="https://pypi.org/project/readthedocs-sphinx-ext">
+          readthedocs-sphinx-ext
+        </ulink>
+      </para>
+
+    </sect3>
+
+    <sect3 role="installation">
+      <title>Installation of Sphinx_rtd_theme</title>
+<!-- Upstream tentative fix: not completely tested, it seems
+     but otherwise we fall into dependency hell -->
+      <para>
+        Fix a wrong version for a dependency list:
+      </para>
+
+<screen><userinput>sed -i s/0.18/0.20/ setup.py</userinput></screen>
+
+      <para>
+        Build the module:
+      </para>
+
+<screen><userinput>pip3 wheel -w dist --no-build-isolation --no-deps $PWD</userinput></screen>
+
+    <para>
+      Now, as the <systemitem class="username">root</systemitem> user:
+    </para>
+
+<screen role="root"><userinput>pip3 install --no-index --find-links dist --no-cache-dir --no-user sphinx_rtd_theme</userinput></screen>
+
+    <para>
+      Assuming <xref linkend="pytest"/> is
+      installed, but the other optional dependency is not, the installation
+      can be tested with the following commands:
+    </para>
+
+<screen remap="test"><userinput>python3 -m venv --system-site-packages testenv &amp;&amp;
+source testenv/bin/activate                    &amp;&amp;
+pip3 install readthedocs-sphinx-ext            &amp;&amp;
+python3 /usr/bin/pytest<!-- no && because of a possible error -->
+deactivate</userinput></screen>
+
+    </sect3>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+      href="../../../xincludes/pip3-cmd-explain.xml"/>
+
+    <sect3 role="content">
+      <title>Contents</title>
+
+      <segmentedlist>
+        <segtitle>Installed Programs</segtitle>
+        <segtitle>Installed Libraries</segtitle>
+        <segtitle>Installed Directories</segtitle>
+
+        <seglistitem>
+          <seg>None</seg>
+          <seg>None</seg>
+          <seg>
+            /usr/lib/python&python3-majorver;/site-packages/sphinx_rtd_theme and
+            /usr/lib/python&python3-majorver;/site-packages/sphinx_rtd_theme-&sphinx_rtd_theme-version;.dist-info
+          </seg>
+        </seglistitem>
+      </segmentedlist>
+
+    </sect3>
+
+  </sect2>
Index: neral/prog/pyxdg.xml
===================================================================
--- general/prog/pyxdg.xml	(revision 5a8c6008bfb36c19551ab8b475981c3fb29e7926)
+++ 	(revision )
@@ -1,117 +1,0 @@
-<?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 pyxdg-download-http
-           "https://files.pythonhosted.org/packages/b0/25/7998cd2dec731acbd438fbf91bc619603fc5188de0a9a17699a781840452/pyxdg-&pyxdg-version;.tar.gz">
-  <!ENTITY pyxdg-download-ftp  " ">
-  <!ENTITY pyxdg-md5sum        "d9a1d04fe60c956f5e3b9de3b4ef4722">
-  <!ENTITY pyxdg-size          "76 KB">
-  <!ENTITY pyxdg-buildsize     "808 KB">
-  <!ENTITY pyxdg-time          "less than 0.1 SBU">
-]>
-
-  <!-- Begin PyXDG -->
-  <sect2 id="pyxdg" xreflabel="PyXDG-&pyxdg-version;">
-
-    <title>PyXDG-&pyxdg-version;</title>
-
-    <indexterm zone="pyxdg">
-      <primary sortas="a-PyXDG">PyXDG</primary>
-    </indexterm>
-
-    <sect3 role="package">
-      <title>Introduction to PyXDG Module</title>
-
-      <para>
-        <application>PyXDG</application> is a <application>Python</application>
-        library to access freedesktop.org standards.
-      </para>
-
-      &lfs112_checked;
-
-      <bridgehead renderas="sect4">Package Information</bridgehead>
-      <itemizedlist spacing="compact">
-        <listitem>
-          <para>
-            Download (HTTP): <ulink url="&pyxdg-download-http;"/>
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Download (FTP): <ulink url="&pyxdg-download-ftp;"/>
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Download MD5 sum: &pyxdg-md5sum;
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Download size: &pyxdg-size;
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Estimated disk space required: &pyxdg-buildsize;
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Estimated build time: &pyxdg-time;
-          </para>
-        </listitem>
-      </itemizedlist>
-<!--
-      <bridgehead renderas="sect4">PyXDG Dependencies</bridgehead>
-
-      <bridgehead renderas="sect5">Optional</bridgehead>
-      <para role="optional">
-        <xref linkend="python2"/>
-      </para>
--->
-      <para condition="html" role="usernotes">
-        User Notes: <ulink url="&blfs-wiki;/pyxdg"/>
-      </para>
-    </sect3>
-
-    <sect3 role="installation">
-      <title>Installation of PyXDG</title>
-
-      <para>
-        Build the module:
-      </para>
-
-<screen><userinput>pip3 wheel -w dist --no-build-isolation --no-deps $PWD</userinput></screen>
-
-       <para>
-         Install the module as the &root; user:
-       </para>
-
-<screen role='root'><userinput>pip3 install --no-index --find-links dist --no-cache-dir --no-user pyxdg</userinput></screen>
-
-    </sect3>
-
-    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
-      href="../../xincludes/pip3-cmd-explain.xml"/>
-
-    <sect3 role="content">
-      <title>Contents</title>
-
-      <segmentedlist>
-        <segtitle>Installed Directory</segtitle>
-
-        <seglistitem>
-          <seg>
-            /usr/lib/python&python3-majorver;/site-packages/xdg and
-            /usr/lib/python&python3-majorver;/site-packages/pyxdg-&pyxdg-version;.dist-info
-          </seg>
-        </seglistitem>
-      </segmentedlist>
-
-    </sect3>
-
-  </sect2>
Index: neral/prog/pyyaml.xml
===================================================================
--- general/prog/pyyaml.xml	(revision 5a8c6008bfb36c19551ab8b475981c3fb29e7926)
+++ 	(revision )
@@ -1,125 +1,0 @@
-<?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 PyYAML-download-http "https://files.pythonhosted.org/packages/source/P/PyYAML/PyYAML-&PyYAML-version;.tar.gz">
-  <!ENTITY PyYAML-download-ftp  " ">
-  <!ENTITY PyYAML-md5sum        "1d19c798f25e58e3e582f0f8c977dbb8">
-  <!ENTITY PyYAML-size          "124 KB">
-  <!ENTITY PyYAML-buildsize     "3.3 MB">
-  <!ENTITY PyYAML-time          "less than 0.1 SBU">
-]>
-
-  <!-- Begin PyYAML -->
-  <sect2 id="PyYAML" xreflabel="PyYAML-&PyYAML-version;">
-
-    <title>PyYAML-&PyYAML-version;</title>
-
-    <indexterm zone="PyYAML">
-      <primary sortas="a-PyYAML">PyYAML</primary>
-    </indexterm>
-
-    <sect3 role="package">
-      <title>Introduction to PyYAML Module</title>
-
-      <para>
-        <application>PyYAML</application> is a <application>Python</application>
-        module that implements the next generation YAML parser and emitter.
-      </para>
-
-      &lfs112_checked;
-
-      <bridgehead renderas="sect4">Package Information</bridgehead>
-      <itemizedlist spacing="compact">
-        <listitem>
-          <para>
-            Download (HTTP): <ulink url="&PyYAML-download-http;"/>
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Download (FTP): <ulink url="&PyYAML-download-ftp;"/>
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Download MD5 sum: &PyYAML-md5sum;
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Download size: &PyYAML-size;
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Estimated disk space required: &PyYAML-buildsize;
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Estimated build time: &PyYAML-time;
-          </para>
-        </listitem>
-      </itemizedlist>
-
-      <bridgehead renderas="sect4">PyYAML Dependencies</bridgehead>
-
-      <bridgehead renderas="sect5">Required</bridgehead>
-      <para role="required">
-        <xref linkend="cython"/> and
-        <xref linkend="libyaml"/>
-      </para>
-
-      <para condition="html" role="usernotes">
-        User Notes: <ulink url="&blfs-wiki;/PyYAML"/>
-      </para>
-    </sect3>
-
-    <sect3 role="installation">
-      <title>Installation of PyYAML</title>
-
-      <para>
-        Build PyYAML with the following command:
-      </para>
-
-<screen><userinput>pip3 wheel -w dist --no-build-isolation --no-deps $PWD</userinput></screen>
-
-      <para>
-        Now, install the module as the &root; user:
-      </para>
-
-<screen role="root"><userinput>pip3 install --no-index --find-links dist --no-cache-dir --no-user PyYAML</userinput></screen>
-
-    </sect3>
-
-    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
-      href="../../xincludes/pip3-cmd-explain.xml"/>
-
-    <sect3 role="content">
-      <title>Contents</title>
-
-      <segmentedlist>
-        <segtitle>Installed Programs</segtitle>
-        <segtitle>Installed Libraries</segtitle>
-        <segtitle>Installed Directories</segtitle>
-
-        <seglistitem>
-          <seg>
-            None
-          </seg>
-          <seg>
-            None
-          </seg>
-          <seg>
-            /usr/lib/python&python2-majorver;/site-packages/yaml and
-            /usr/lib/python&python3-majorver;/site-packages/PyYAML-&yaml-version;.dist-info
-          </seg>
-        </seglistitem>
-      </segmentedlist>
-
-    </sect3>
-
-  </sect2>
Index: neral/prog/scour.xml
===================================================================
--- general/prog/scour.xml	(revision 5a8c6008bfb36c19551ab8b475981c3fb29e7926)
+++ 	(revision )
@@ -1,144 +1,0 @@
-<?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 scour-download-http "https://github.com/scour-project/scour/archive/v0.38.2/scour-&scour-version;.tar.gz">
-  <!ENTITY scour-download-ftp  " ">
-  <!ENTITY scour-md5sum        "ae30f52602802f8c7df3a32e1f72b325">
-  <!ENTITY scour-size          "100 KB">
-  <!ENTITY scour-buildsize     "1.3 MB">
-  <!ENTITY scour-time          "less than 0.1 SBU">
-]>
-
-  <!-- Begin scour -->
-  <sect2 id="scour" xreflabel="Scour-&scour-version;">
-
-    <title>Scour-&scour-version;</title>
-
-    <indexterm zone="scour">
-      <primary sortas="a-scour">scour</primary>
-    </indexterm>
-
-    <sect3 role="package">
-      <title>Introduction to Scour Module</title>
-
-      <para>
-        <application>Scour</application> is an SVG (Scalable Vector Graphics)
-        optimizer/cleaner that reduces their size by optimizing structure and
-        removing unnecessary data.
-      </para>
-
-      &lfs112_checked;
-
-      <bridgehead renderas="sect4">Package Information</bridgehead>
-      <itemizedlist spacing="compact">
-        <listitem>
-          <para>
-            Download (HTTP): <ulink url="&scour-download-http;"/>
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Download (FTP): <ulink url="&scour-download-ftp;"/>
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Download MD5 sum: &scour-md5sum;
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Download size: &scour-size;
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Estimated disk space required: &scour-buildsize;
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Estimated build time: &scour-time;
-          </para>
-        </listitem>
-      </itemizedlist>
-
-      <bridgehead renderas="sect4">Scour Dependencies</bridgehead>
-
-      <bridgehead renderas="sect5">Required</bridgehead>
-      <para role="required">
-        <xref linkend="six"/>
-      </para>
-
-      <para condition="html" role="usernotes">
-        User Notes: <ulink url="&blfs-wiki;/scour"/>
-      </para>
-    </sect3>
-
-    <sect3 role="installation">
-      <title>Installation of scour</title>
-
-      <para>
-        Build the module:
-      </para>
-
-<screen><userinput>pip3 wheel -w dist --no-build-isolation --no-deps $PWD</userinput></screen>
-
-      <para>
-        To install the module, run the following command as the &root; user:
-      </para>
-
-<screen role="root"><userinput>pip3 install --no-index --find-links dist --no-cache-dir --no-user scour</userinput></screen>
-
-    </sect3>
-
-    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
-      href="../../xincludes/pip3-cmd-explain.xml"/>
-
-    <sect3 role="content">
-      <title>Contents</title>
-
-      <segmentedlist>
-        <segtitle>Installed Programs</segtitle>
-        <segtitle>Installed Libraries</segtitle>
-        <segtitle>Installed Directories</segtitle>
-
-        <seglistitem>
-          <seg>
-            scour
-          </seg>
-          <seg>
-            None
-          </seg>
-          <seg>
-            /usr/lib/python&python3-majorver;/site-packages/scour and
-            /usr/lib/python&python3-majorver;/site-packages/scour-&scour-version;.dist-info
-          </seg>
-        </seglistitem>
-      </segmentedlist>
-
-    <variablelist>
-      <bridgehead renderas="sect3">Short Descriptions</bridgehead>
-      <?dbfo list-presentation="list"?>
-      <?dbhtml list-presentation="table"?>
-
-      <varlistentry id="scour-prog">
-        <term><command>scour</command></term>
-        <listitem>
-          <para>
-            is a program to optimize and clean SVG files
-          </para>
-          <indexterm zone="scour scour-prog">
-            <primary sortas="b-scour">scour</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
-    </variablelist>
-
-    </sect3>
-
-  </sect2>
Index: neral/prog/six.xml
===================================================================
--- general/prog/six.xml	(revision 5a8c6008bfb36c19551ab8b475981c3fb29e7926)
+++ 	(revision )
@@ -1,146 +1,0 @@
-<?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 six-download-http "&pymodules-dl;/s/six/six-&six-version;.tar.gz">
-  <!ENTITY six-download-ftp  " ">
-  <!ENTITY six-md5sum        "a7c927740e4964dd29b72cebfc1429bb">
-  <!ENTITY six-size          "36 KB">
-  <!ENTITY six-buildsize     "376 KB">
-  <!ENTITY six-time          "less than 0.1 SBU">
-]>
-
-  <!-- Begin six -->
-  <sect2 id="six" xreflabel="six-&six-version;">
-
-    <title>six-&six-version;</title>
-
-    <indexterm zone="six">
-      <primary sortas="a-six">six</primary>
-    </indexterm>
-
-    <sect3 role="package">
-      <title>Introduction to Six Module</title>
-
-      <para>
-        Six is a Python 2 to 3 compatibility library.
-      </para>
-
-      &lfs112_checked;
-      <!-- Does not use gcc -->
-
-      <bridgehead renderas="sect4">Package Information</bridgehead>
-      <itemizedlist spacing="compact">
-        <listitem>
-          <para>
-            Download (HTTP): <ulink url="&six-download-http;"/>
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Download (FTP): <ulink url="&six-download-ftp;"/>
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Download MD5 sum: &six-md5sum;
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Download size: &six-size;
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Estimated disk space required: &six-buildsize;
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Estimated build time: &six-time;
-          </para>
-        </listitem>
-      </itemizedlist>
-<!--
-      <bridgehead renderas="sect4">Six Dependencies</bridgehead>
-
-      <bridgehead renderas="sect5">Recommended Dependencies</bridgehead>
-      <para role="recommended">
-        <xref linkend="python2"/>
-      </para>
--->
-      <para condition="html" role="usernotes">
-        User Notes: <ulink url="&blfs-wiki;/six"/>
-      </para>
-    </sect3>
-
-    <sect3 role="installation">
-      <title>Installation of Six</title>
-<!--
-      <note>
-        <para>
-          Both <application>Python 2</application> and
-          <application>Python 3</application> modules can
-          be built and installed without any conflicts.
-        </para>
-      </note>
-
-      <para>
-        Install <application>six</application> for Python 2 and Python 3
-        by running the following commands:
-      </para>
-
-<screen><userinput>python2 setup.py build &amp;&amp;
-python3 setup.py build</userinput></screen>
--->
-      <para>
-        Build the module:
-      </para>
-
-<screen><userinput>pip3 wheel -w dist --no-build-isolation --no-deps $PWD</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>python2 setup.py install - -optimize=1 &amp;&amp;
-python3 setup.py install - -optimize=1</userinput></screen>
--->
-
-<screen role="root"><userinput>pip3 install --no-index --find-links dist --no-cache-dir --no-user six</userinput></screen>
-
-    </sect3>
-
-    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
-      href="../../xincludes/pip3-cmd-explain.xml"/>
-
-    <sect3 role="content">
-      <title>Contents</title>
-
-      <segmentedlist>
-        <segtitle>Installed Programs</segtitle>
-        <segtitle>Installed Libraries</segtitle>
-        <segtitle>Installed Directories</segtitle>
-
-        <seglistitem>
-          <seg>
-            None
-          </seg>
-          <seg>
-            None
-          </seg>
-          <seg>
-            /usr/lib/python&python3-majorver;/site-packages/six-&six-version;.dist-info
-          </seg>
-        </seglistitem>
-      </segmentedlist>
-    </sect3>
-
-  </sect2>
Index: kde/kf5/kf5-frameworks.xml
===================================================================
--- kde/kf5/kf5-frameworks.xml	(revision 5a8c6008bfb36c19551ab8b475981c3fb29e7926)
+++ kde/kf5/kf5-frameworks.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -124,22 +124,10 @@
   <bridgehead renderas="sect4">Additional recommended dependencies for kapidox</bridgehead>
   <para role="recommended">
-    <xref role="runtime" linkend="doxygen"/> (Run time)<phrase revision="sysv">,
-    <xref linkend="Jinja2"/>, and
-    <xref linkend="PyYAML"/></phrase>
-    <phrase revision="systemd"> and
-    <xref linkend="PyYAML"/></phrase>
-  </para>
-
-  <bridgehead renderas="sect4">Other python modules needed by kapidox</bridgehead>
-  <para role="optional">
-    <ulink url="https://pypi.org/simple/doxypypy/">doxypypy</ulink>,
-    <ulink url="https://pypi.org/simple/doxyqml/">doxyqml</ulink>, and
-    <ulink url="https://pypi.org/simple/requests/">requests</ulink>, which
-    itself depends on
-    <ulink url="https://pypi.org/simple/certifi/">certifi</ulink>,
-    <ulink url="https://pypi.org/simple/charset-normalizer/">charset-normalizer</ulink>,
-    <ulink url="https://pypi.org/simple/idna/">idna</ulink>, and
-    <ulink url="https://pypi.org/simple/urllib3/">urllib3</ulink> (all will be
-    installed by the <command>pip3 install</command> command below)
+    <xref role="runtime" linkend="doxygen"/> (Run time),
+    <xref linkend="doxypypy"/>,
+    <xref linkend="doxyqml"/>,
+    <phrase revision="sysv"><xref linkend="Jinja2"/>,</phrase>
+    <xref linkend="PyYAML"/>, and
+    <xref linkend="requests"/>
   </para>
 
@@ -366,7 +354,4 @@
       case $name in
         kapidox)
-          # First install some python module dependencies
-          as_root pip3 install --no-user doxypypy doxyqml requests
-
           pip3 wheel -w dist --no-build-isolation --no-deps $PWD
           as_root pip3 install --no-index --find-links dist --no-cache-dir --no-user kapidox
Index: networking/netlibs/nghttp2.xml
===================================================================
--- networking/netlibs/nghttp2.xml	(revision 5a8c6008bfb36c19551ab8b475981c3fb29e7926)
+++ networking/netlibs/nghttp2.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -81,8 +81,6 @@
       <xref linkend="jansson"/>, <!-- required to build the HPACK tools -->
       <xref linkend="libevent"/>, <!--required to build the examples-->
+      <xref linkend="sphinx"/>, <!--required to build documentation-->
       <!--<xref linkend="python2"/>,--> <!--required for the python bindings)-->
-<!---      <phrase revision="systemd">
-        <xref linkend="setuptools"/>, <!- -(required for the python bindings- ->
-      </phrase> -->
       <ulink url="http://cunit.sourceforge.net/">CUnit</ulink> (required for
       the testsuite),
@@ -93,13 +91,8 @@
       <ulink url="http://software.schmorp.de/pkg/libev.html">libev</ulink>,
       <!--required to build the applications-->
-      <ulink url="https://mruby.org/">mruby</ulink>, <!--provides ruby support
-      in the sample HTTP server-->
-<!--      <phrase revision="sysv">
-        <ulink url="https://pypi.python.org/pypi/setuptools/">Setuptools</ulink>,
-      </phrase> -->
-      <ulink url="https://tatsuhiro-t.github.io/spdylay/">Spdylay</ulink>, and
+      <ulink url="https://mruby.org/">mruby</ulink>, and
+      <!--provides ruby support in the sample HTTP server-->
+      <ulink url="https://tatsuhiro-t.github.io/spdylay/">Spdylay</ulink>,
       <!--provide SPDY functionality-->
-      <ulink url="https://www.sphinx-doc.org/">Sphinx</ulink>. <!--required to build
-      documentation-->
     </para>
 
Index: networking/netprogs/samba.xml
===================================================================
--- networking/netprogs/samba.xml	(revision 5a8c6008bfb36c19551ab8b475981c3fb29e7926)
+++ networking/netprogs/samba.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -148,10 +148,9 @@
       Install in listed order:
       <xref linkend="six"/>,
+      <xref linkend="pytest"/>,
       <ulink url="&pypi;/argparse/">argparse</ulink>,
       <ulink url="&pypi;/extras/">extras</ulink>,
-      <ulink url="&pypi;/py/">py</ulink>,
       <!--<ulink url="&pypi;/enum34/">enum34</ulink>,-->
       <ulink url="&pypi;/hypothesis/">hypothesis</ulink>,
-      <ulink url="&pypi;/pytest/">pytest</ulink>,
       <ulink url="&pypi;/coverage/">coverage</ulink>,
       <ulink url="&pypi;/pytest-cov/">pytest-cov</ulink>,
Index: networking/netutils/bind-utils.xml
===================================================================
--- networking/netutils/bind-utils.xml	(revision 5a8c6008bfb36c19551ab8b475981c3fb29e7926)
+++ networking/netutils/bind-utils.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -84,5 +84,5 @@
       <xref linkend="libcap-pam"/>,
       <xref linkend="libxml2"/>, and
-      <ulink url="https://www.sphinx-doc.org/en/master/">Sphinx</ulink>
+      <xref linkend="sphinx"/>
     </para>
 
Index: packages.ent
===================================================================
--- packages.ent	(revision 5a8c6008bfb36c19551ab8b475981c3fb29e7926)
+++ packages.ent	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -510,4 +510,7 @@
 <!ENTITY dbus-python-version          "1.3.2">
 <!ENTITY docutils-version             "0.19">
+<!ENTITY doxypypy-version             "0.8.8.6">
+<!ENTITY doxyqml-version              "0.5.1">
+<!ENTITY gi-docgen-version            "2022.1">
 <!ENTITY py3c-version                 "1.4">
 <!ENTITY pyatspi2-version             "2.38.2">
@@ -520,4 +523,6 @@
 <!ENTITY pygobject3-version           "3.42.2">
 <!ENTITY pygtk-version                "2.24.0">
+<!ENTITY pyparsing-version            "3.0.9">
+<!ENTITY pytest-version               "7.1.3">
 <!ENTITY pyxdg-version                "0.28">
 <!-- libxml2 for Python2 shares the version of libxml2 -->
@@ -526,7 +531,43 @@
 <!ENTITY Jinja2-version               "3.1.2">
 <!ENTITY mako-version                 "1.2.4">
+<!ENTITY recommonmark-version         "0.7.1">
+<!ENTITY requests-version             "2.28.1">
 <!ENTITY scour-version                "0.38.2">
 <!ENTITY six-version                  "1.16.0">
+<!ENTITY sphinx-version               "5.2.2">
+<!ENTITY sphinx_rtd_theme-version     "1.0.0">
 <!ENTITY PyYAML-version               "6.0">
+
+<!-- Python module versions used in the Python Dependencies instructions -->
+<!-- sc = sphinxcontrib -->
+<!ENTITY alabaster-version              "0.7.12">
+<!ENTITY attrs-version                  "22.1.0">
+<!ENTITY babel-version                  "2.10.3">
+<!ENTITY certifi-version                "2022.9.24">
+<!ENTITY charset-normalizer-version     "2.1.1">
+<!ENTITY commonmark-version             "0.9.1">
+<!ENTITY flit_core-version              "3.7.1">
+<!ENTITY idna-version                   "3.4">
+<!ENTITY iniconfig-version              "1.1.1">
+<!ENTITY imagesize-version              "1.4.1">
+<!ENTITY markdown-version               "3.4.1">
+<!ENTITY packaging-version              "21.3">
+<!ENTITY pluggy-version                 "1.0.0">
+<!ENTITY py-version                     "1.11.0">
+<!ENTITY pytz-version                   "2022.4">
+<!ENTITY setuptools_scm-version         "7.0.5">
+<!ENTITY snowballstemmer-version        "2.2.0">
+<!ENTITY sc-applehelp-version           "1.0.2">
+<!ENTITY sc-devhelp-version             "1.0.2">
+<!ENTITY sc-htmlhelp-version            "2.0.0">
+<!ENTITY sc-jsmath-version              "1.0.1">
+<!ENTITY sc-qthelp-version              "1.0.3">
+<!ENTITY sc-serializinghtml-version     "1.1.5">
+<!ENTITY smartypants-version            "2.0.1">
+<!ENTITY toml-version                   "0.10.2">
+<!ENTITY tomli-version                  "2.0.1">
+<!ENTITY typing_extensions-version      "4.4.0">
+<!ENTITY typogrify-version              "2.0.7">
+<!ENTITY urllib3-version                "1.26.12">
 
 <!-- Part IV -->
Index: postlfs/filesystems/btrfs-progs.xml
===================================================================
--- postlfs/filesystems/btrfs-progs.xml	(revision 5a8c6008bfb36c19551ab8b475981c3fb29e7926)
+++ postlfs/filesystems/btrfs-progs.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -95,5 +95,5 @@
       <xref linkend="lvm2"/> (<command>dmsetup</command> is used in tests),
       <xref linkend="reiserfs"/> (for tests), and
-      <ulink url="https://www.sphinx-doc.org/">Sphinx</ulink> (required to build documentation),
+      <xref linkend="sphinx"/> (required to build documentation),
 
     </para>
Index: postlfs/filesystems/fuse3.xml
===================================================================
--- postlfs/filesystems/fuse3.xml	(revision 5a8c6008bfb36c19551ab8b475981c3fb29e7926)
+++ postlfs/filesystems/fuse3.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -74,5 +74,5 @@
     <para role="optional">
       <xref linkend="doxygen"/> (to rebuild the API documentation) and
-      <ulink url="https://pypi.org/project/pytest/">pytest</ulink> (required for tests)
+      <xref linkend="pytest"/> (required for tests)
     </para>
 
@@ -146,5 +146,5 @@
 
     <para>
-      The <ulink url="https://pypi.org/project/pytest/">pytest</ulink> Python
+      The <xref linkend="pytest"/> Python
       module is required for the tests.  One test named
       <filename>test_cuse</filename> will fail if the
Index: postlfs/virtualization/qemu.xml
===================================================================
--- postlfs/virtualization/qemu.xml	(revision 5a8c6008bfb36c19551ab8b475981c3fb29e7926)
+++ postlfs/virtualization/qemu.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -105,8 +105,7 @@
     </para>
 
-    <bridgehead renderas="sect4">Optional dependencies for installing the documentation</bridgehead>
+    <bridgehead renderas="sect4">Optional (for building the documentation)</bridgehead>
     <para role="optional">
-      <ulink url="https://www.sphinx-doc.org/en/master/index.html">sphinx</ulink> with the
-      <ulink url="https://pypi.org/project/sphinx-rtd-theme/">sphinx-rtd-theme</ulink> theme
+      <xref linkend="sphinx_rtd_theme"/>
     </para>
 
Index: server/databases/mariadb.xml
===================================================================
--- server/databases/mariadb.xml	(revision 5a8c6008bfb36c19551ab8b475981c3fb29e7926)
+++ server/databases/mariadb.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -109,4 +109,5 @@
       <xref linkend="pcre2"/>,
       <xref linkend="ruby"/>,
+      <xref linkend="sphinx"/>,
       <xref linkend="unixodbc"/>,
       <xref linkend="valgrind"/>,
@@ -119,6 +120,5 @@
       <ulink url="https://www.mruby.org/">mruby</ulink>,
       <ulink url="https://mariadb.com/kb/en/myrocks/">MyRocks</ulink>,
-      <ulink url="https://github.com/google/snappy">Snappy</ulink>,
-      <ulink url="https://sphinxsearch.com/downloads/">Sphinx</ulink>, and
+      <ulink url="https://github.com/google/snappy">Snappy</ulink>, and
       <!--<ulink url="https://mariadb.com/kb/en/mariadb/tokudb/">TokuDB</ulink>, and-->
       <ulink url="https://zeromq.org/">ZeroMQ</ulink>
Index: server/major/bind.xml
===================================================================
--- server/major/bind.xml	(revision 5a8c6008bfb36c19551ab8b475981c3fb29e7926)
+++ server/major/bind.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -98,8 +98,8 @@
       <xref linkend="lmdb"/>,
       <xref linkend="mitkrb"/>,
+      <xref linkend="pytest"/>,
+      <xref linkend="sphinx"/> (required to build documentation),
       <ulink url="https://cmocka.org/">cmocka</ulink>,
       <ulink url="https://github.com/cjheath/geoip">geoip</ulink>,
-      <ulink url="https://docs.pytest.org/en/stable/">pytest</ulink>,
-      <ulink url="https://pypi.python.org/pypi/Sphinx">Sphinx</ulink> (required to build documentation), and
       <ulink url="&w3m-url;">w3m</ulink>
     </para>
@@ -178,5 +178,5 @@
       The test suite may indicate some skipped tests depending on
       what configuration options are used. Some tests are marked
-      <quote>UNTESTED</quote> or does even fail if <xref linkend="perl-net-dns"/>
+      <quote>UNTESTED</quote> or do even fail if <xref linkend="perl-net-dns"/>
       is not installed. <!--One test, <quote>CPU</quote>, is known to fail.-->
       To run the tests, as an unprivileged user, execute:
@@ -575,8 +575,5 @@
       is included in the source package. The documentation is in .rst
       format which means, it can be converted in human readable formats
-      if <ulink url="https://www.sphinx-doc.org/">Sphinx</ulink> is
-      installed. As time of writing, sphinx is not included in
-      the BLFS book and therefore, the instructions above do not
-      install the docs.
+      if <xref linkend="sphinx"/> is installed.
     </para>
 
@@ -586,5 +583,5 @@
       recommended to consult the ARM documentation. ISC provides an
       updated set of excellent documentation along with every release
-      so it can be easily be viewed and/or downloaded - so there is
+      so it can be easily viewed and/or downloaded &ndash; so there is
       no excuse to not read the docs. The formats ISC provides are PDF,
       epub and html at <ulink url="https://downloads.isc.org/isc/bind9/&bind-version;/doc/arm/"/>.
Index: x/installing/libinput.xml
===================================================================
--- x/installing/libinput.xml	(revision 5a8c6008bfb36c19551ab8b475981c3fb29e7926)
+++ x/installing/libinput.xml	(revision cf905e02e5071cef0d05872640e39a627020e61e)
@@ -89,6 +89,6 @@
         <xref linkend="libunwind"/> (required for tests),
         <xref linkend="libwacom"/>, and
-        <ulink url="https://www.sphinx-doc.org/">Sphinx</ulink> (required to build documentation),
-        <ulink url="https://pypi.org/project/pyparsing/">PyParsing</ulink> (for one non-root test)
+        <xref linkend="sphinx"/> (required to build documentation),
+        <xref linkend="pyparsing"/> (for one non-root test)
       </para>
 
@@ -209,6 +209,5 @@
         the main tests.  Even with the tests defined as false, you can still run
         the first four minor tests, as a regular user, but one will be skipped if
-        <ulink url="https://pypi.org/project/pyparsing">PyParsing</ulink> is not
-        installed.
+        <xref linkend="pyparsing"/> is not installed.
       </para>
 
