glfs/general/prog/python-modules/packaging.xml
Bruce Dubbs 569925c77f Update python modules for pythonhosted
Move the pythonhoted page to python_modules even though it is not
yet activated to render in the book.

Change location of pythonhosted md5sum ENTITIES to packages.ent
so they can be used in multiple pages but only need to be updated
in one place.

Note that pages not have entries like:
  <!ENTITY asciidoc-md5sum        "&asciidoc-md5sum;">
so this seems to be redefinig the entity to the version
in packages.ent.  This seems to be OK with the build system.
2023-01-31 18:02:12 -06:00

136 lines
4.2 KiB
XML

<?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 "&packaging-md5sum;">
<!ENTITY packaging-size "123 KB">
<!ENTITY packaging-buildsize "2.9 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="flit_core"/>
</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
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 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>