glfs/general/genlib/appstream.xml
Xi Ruoyao 578a0a0efc
appstream: Change gtk-doc to gi-docgen
In 1.0.0 NEWS:

    * docs: Build all API documentation with gi-docgen

By the way, add DAPS as external dependency (it's needed to generate
specification documentation with -Ddocs=true), and clarify the pre-built
API documentation installed to /usr/share/doc/appstream.
2023-12-18 02:13:30 +08:00

287 lines
8.9 KiB
XML

<?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 appstream-download-http "https://www.freedesktop.org/software/appstream/releases/AppStream-&appstream-version;.tar.xz">
<!ENTITY appstream-download-ftp " ">
<!ENTITY appstream-md5sum "a1122ba2d3c41ba694f00844c84dddd7">
<!ENTITY appstream-size "2.6 MB">
<!ENTITY appstream-buildsize "34 MB">
<!ENTITY appstream-time "0.3 SBU (Using parallelism=4)">
]>
<sect1 id="appstream" xreflabel="AppStream-&appstream-version;">
<?dbhtml filename="appstream.html"?>
<title>AppStream-&appstream-version;</title>
<indexterm zone="appstream">
<primary sortas="a-appstream">AppStream</primary>
</indexterm>
<sect2 role="package">
<title>Introduction to AppStream</title>
<para>
The <application>AppStream</application> package contains a library and
tool that is useful for retrieving software metadata and making it
easily accessible to programs which need it.
</para>
<!-- Remember to update the org.linuxfromscratch.lfs.xml file in
configuration section when tagging this. -->
&lfs120_checked;
<bridgehead renderas="sect3">Package Information</bridgehead>
<itemizedlist spacing="compact">
<listitem>
<para>
Download (HTTP): <ulink url="&appstream-download-http;"/>
</para>
</listitem>
<listitem>
<para>
Download (FTP): <ulink url="&appstream-download-ftp;"/>
</para>
</listitem>
<listitem>
<para>
Download MD5 sum: &appstream-md5sum;
</para>
</listitem>
<listitem>
<para>
Download size: &appstream-size;
</para>
</listitem>
<listitem>
<para>
Estimated disk space required: &appstream-buildsize;
</para>
</listitem>
<listitem>
<para>
Estimated build time: &appstream-time;
</para>
</listitem>
</itemizedlist>
<bridgehead renderas="sect3">AppStream Dependencies</bridgehead>
<bridgehead renderas="sect4">Required</bridgehead>
<para role="required">
<xref linkend="curl"/>,
<phrase revision="sysv"><xref linkend="elogind"/>,</phrase>
<xref linkend="itstool"/>,
<xref linkend="libxml2"/>,
<xref linkend="libxmlb"/>, and
<xref linkend="libyaml"/>
</para>
<bridgehead renderas="sect4">Optional</bridgehead>
<para role="optional">
<xref linkend="gi-docgen"/>,
&qt5-deps;,
<xref linkend="qt6"/>,
<ulink url="https://github.com/openSUSE/daps">DAPS</ulink>, and
<ulink url="https://github.com/zvelo/libstemmer">libstemmer</ulink>
</para>
<!-- Only use this if you want to note something in the wiki
<para condition="html" role="usernotes">
Editor Notes: <ulink url="&blfs-wiki;/TEMPLATE"/>
</para>
-->
</sect2>
<sect2 role="installation">
<title>Installation of AppStream</title>
<para>
Install <application>AppStream</application> by running the following
commands:
</para>
<screen><userinput>mkdir build &amp;&amp;
cd build &amp;&amp;
meson setup --prefix=/usr \
--buildtype=release \
-Dapidocs=false \
-Dstemming=false .. &amp;&amp;
ninja</userinput></screen>
<para>
To test the results, issue: <command>ninja test</command>.
</para>
<para>
Now, as the <systemitem class="username">root</systemitem> user:
</para>
<screen role="root"><userinput>ninja install &amp;&amp;
mv -v /usr/share/doc/appstream{,-&appstream-version;}</userinput></screen>
</sect2>
<sect2 role="commands">
<title>Command Explanations</title>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../xincludes/meson-buildtype-release.xml"/>
<para>
<parameter>-Dapidocs=false</parameter>: This switch disables building the
API documentation. Remove it if you have
<xref linkend="gi-docgen" role="nodep"/> installed and wish to
regenerate the API documentation. When the API documentation is
not regenerated, a pre-built copy is installed anyway.
</para>
<para>
<parameter>-Dstemming=false</parameter>: This switch disables stemming
support. Remove this switch if you have
<ulink url="https://github.com/zvelo/libstemmer">libstemmer</ulink>
installed and want faster searches.
</para>
<para>
<option>-Dqt5=true</option>: Use this option if you have &qt5-deps;
installed and you want to build support for Qt-5 applications into this
package.
</para>
<para>
<option>-Dqt=true</option>: Use this option if you have
<xref linkend="qt6" role="nodep"/> installed and you want to build support
for Qt6 applications into this package. This option conflicts with
<option>-Dqt5=true</option>.
</para>
</sect2>
<sect2 role="configuration">
<title>Configuring AppStream</title>
<sect3 id="appstream-config">
<title>Config Files</title>
<para>
<filename>/usr/share/metainfo/org.linuxfromscratch.lfs.xml</filename>
</para>
</sect3>
<sect3>
<title>Configuration Information</title>
<para>
<application>AppStream</application> expects an operating system
metainfo file describing the GNU/Linux distribution. As the
&root; user, create the file describing LFS:
</para>
<indexterm zone="appstream appstream-config">
<primary sortas="e-usr-share-metainfo-org-linuxfromscratch-lfs-xml">
/usr/share/metainfo/org.linuxfromscratch.lfs.xml
</primary>
</indexterm>
<screen role="root"><userinput>install -vdm755 /usr/share/metainfo &amp;&amp;
cat > /usr/share/metainfo/org.linuxfromscratch.lfs.xml &lt;&lt; EOF
<literal>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;component type="operating-system"&gt;
&lt;id&gt;org.linuxfromscratch.lfs&lt;/id&gt;
&lt;name&gt;Linux From Scratch&lt;/name&gt;
&lt;summary&gt;A customized Linux system built entirely from source&lt;/summary&gt;
&lt;description&gt;
&lt;p&gt;
Linux From Scratch (LFS) is a project that provides you with
step-by-step instructions for building your own customized Linux
system entirely from source.
&lt;/p&gt;
&lt;/description&gt;
&lt;url type="homepage"&gt;https://www.linuxfromscratch.org/lfs/&lt;/url&gt;
&lt;metadata_license&gt;MIT&lt;/metadata_license&gt;
&lt;developer id='linuxfromscratch.org'&gt;
&lt;name&gt;The Linux From Scratch Editors&lt;/name&gt;
&lt;/developer&gt;
&lt;releases&gt;
&lt;release version="12.1" type="development" date="2024-03-01"&gt;
&lt;description&gt;
&lt;p&gt;The next release of Linux From Scratch.&lt;/p&gt;
&lt;/description&gt;
&lt;/release&gt;
&lt;release version="12.0" type="stable" date="2023-09-01"&gt;
&lt;description&gt;
&lt;p&gt;Now contains Binutils 2.41, GCC-13.2.0, Glibc-2.38, and Linux
kernel 6.4.&lt;/p&gt;
&lt;/description&gt;
&lt;/release&gt;
&lt;/releases&gt;
&lt;/component&gt;</literal>
EOF</userinput></screen>
</sect3>
</sect2>
<sect2 role="content">
<title>Contents</title>
<segmentedlist>
<segtitle>Installed Programs</segtitle>
<segtitle>Installed Libraries</segtitle>
<segtitle>Installed Directories</segtitle>
<seglistitem>
<seg>
appstreamcli
</seg>
<seg>
libappstream.so
</seg>
<seg>
/usr/include/appstream,
/usr/share/doc/appstream-&version;, and
/usr/share/installed-tests/appstream
</seg>
</seglistitem>
</segmentedlist>
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="appstreamcli">
<term><command>appstreamcli</command></term>
<listitem>
<para>
queries information from AppStream metadata and from the AppStream
component index
</para>
<indexterm zone="appstream appstreamcli">
<primary sortas="b-appstreamcli">appstreamcli</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libappstream">
<term><filename class="libraryfile">libappstream.so</filename></term>
<listitem>
<para>
contains functions that handle AppStream metadata queries and
request information from the AppStream component index
</para>
<indexterm zone="appstream libappstream">
<primary sortas="c-libappstream">libappstream.so</primary>
</indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>