glfs/general/genlib/appstream.xml
Douglas R. Reno 4de66bc72d Add some more dependencies on Qt6.
I've marked most of these as 'role=nodep' so that jhalfs doesn't pick up
multiples in cases where it's not needed.

Transmission, Libreoffice, CMake, Poppler, and Appstream now have Qt6
ports working well.

I have left Qca, gpgme, polkit-qt, and other KDE-related packages alone.
They do have support for Qt6, but we should not list them as they are
incompatible with the Qt5 versions and we could end up causing
unintentional breakage by doing this.
2023-11-20 13:16:18 -06:00

285 lines
8.8 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 "6465ef5b23d5b0724fe6dd0aec8b0bec">
<!ENTITY appstream-size "2.6 MB">
<!ENTITY appstream-buildsize "27 MB">
<!ENTITY appstream-time "0.6 SBU">
]>
<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="gtk-doc"/>,
&qt5-deps;,
<xref linkend="qt6"/>, 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="gtk-doc" role="nodep"/> installed and wish to generate the
API documentation.
</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>