Introduction to AppStream
The AppStream package contains a
library and tool that is useful for retrieving software metadata
and making it easily accessible to programs which need it.
Note
Development versions of BLFS may not build or run some packages
properly if LFS or dependencies have been updated since the most
recent stable versions of the books.
Package Information
AppStream Dependencies
Required
cURL-8.13.0, itstool-2.0.7,
libxml2-2.14.2, libxmlb-0.3.22, and
libyaml-0.2.5
Optional
Gi-DocGen-2025.3, Qt-6.9.0, DAPS, and libstemmer
Installation of AppStream
Install AppStream by running the
following commands:
mkdir build &&
cd build &&
meson setup --prefix=/usr \
--buildtype=release \
-D apidocs=false \
-D stemming=false .. &&
ninja
To test the results, issue: ninja
test.
Now, as the root
user:
ninja install &&
mv -v /usr/share/doc/appstream{,-1.0.5}
Command Explanations
--buildtype=release
:
Specify a buildtype suitable for stable releases of the package, as
the default may produce unoptimized binaries.
-D apidocs=false
: This
switch disables building the API documentation. Remove it if you
have Gi-DocGen-2025.3 installed and wish to
regenerate the API documentation. When the API documentation is not
regenerated, a pre-built copy is installed anyway.
-D stemming=false
: This
switch disables stemming support. Remove this switch if you have
libstemmer installed and
want faster searches.
-D qt=true
: Use this option if you have
Qt-6.9.0
installed and you want to build support for Qt6 applications into
this package.
Configuring AppStream
Config Files
/usr/share/metainfo/org.linuxfromscratch.lfs.xml
Configuration Information
AppStream expects an operating
system metainfo file describing the GNU/Linux distribution. As
the root
user, create the file
describing LFS:
install -vdm755 /usr/share/metainfo &&
cat > /usr/share/metainfo/org.linuxfromscratch.lfs.xml << EOF
<?xml version="1.0" encoding="UTF-8"?>
<component type="operating-system">
<id>org.linuxfromscratch.lfs</id>
<name>Linux From Scratch</name>
<summary>A customized Linux system built entirely from source</summary>
<description>
<p>
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.
</p>
</description>
<url type="homepage">https://www.linuxfromscratch.org/lfs/</url>
<metadata_license>MIT</metadata_license>
<developer id='linuxfromscratch.org'>
<name>The Linux From Scratch Editors</name>
</developer>
<releases>
<release version="r12.3-616" type="development" date="2025-05-08">
<description>
<p>The development snapshot of the next LFS version.</p>
</description>
</release>
<release version="12.3" type="stable" date="2025-03-05">
<description>
<p>Now contains Binutils 2.44, GCC-14.2.0, Glibc-2.41, and
Linux Kernel 6.13, and three security updates.</p>
</description>
</release>
<release version="12.2" type="stable" date="2024-09-01">
<description>
<p>Now contains Binutils 2.43.1, GCC-14.2.0, Glibc-2.40,
and Linux kernel 6.10.</p>
</description>
</release>
</releases>
</component>
EOF
Contents
Installed Programs:
appstreamcli
Installed Libraries:
libappstream.so and libAppStreamQt.so (if
Qt6 support is enabled)
Installed Directories:
/usr/include/appstream,
/usr/include/AppStreamQt (if Qt6 support is enabled),
/usr/lib/cmake/AppStreamQt (if Qt6 support is enabled),
/usr/share/doc/appstream-1.0.5, and
/usr/share/installed-tests/appstream
Short Descriptions
appstreamcli
|
queries information from AppStream metadata and from the
AppStream component index
|
libappstream.so
|
contains functions that handle AppStream metadata queries
and request information from the AppStream component
index
|
libAppStreamQt.so
|
contains functions that allow Qt6 applications to handle
AppStream metadata queries and allows them to request
information from the AppStream component index
|