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.

This package is known to build and work properly using an LFS 12.1 platform.

Package Information

AppStream Dependencies


cURL-8.6.0, elogind-252.9, itstool-2.0.7, libxml2-2.12.5, libxmlb-0.3.15, and libyaml-0.2.5


Gi-DocGen-2023.3, (Qt-5.15.12 or qt-alternate-5.15.12), Qt-6.6.2, DAPS, and libstemmer

Installation of AppStream

Install AppStream by running the following commands:

mkdir build &&
cd    build &&

meson setup --prefix=/usr       \
            --buildtype=release \
            -Dapidocs=false     \
            -Dstemming=false    .. &&

To test the results, issue: ninja test.

Now, as the root user:

ninja install &&
mv -v /usr/share/doc/appstream{,-1.0.1}

Command Explanations

--buildtype=release: Specify a buildtype suitable for stable releases of the package, as the default may produce unoptimized binaries.

-Dapidocs=false: This switch disables building the API documentation. Remove it if you have Gi-DocGen-2023.3 installed and wish to regenerate the API documentation. When the API documentation is not regenerated, a pre-built copy is installed anyway.

-Dstemming=false: This switch disables stemming support. Remove this switch if you have libstemmer installed and want faster searches.

-Dqt5=true: Use this option if you have (Qt-5.15.12 or qt-alternate-5.15.12) installed and you want to build support for Qt-5 applications into this package.

-Dqt=true: Use this option if you have Qt-6.6.2 installed and you want to build support for Qt6 applications into this package. This option conflicts with -Dqt5=true.

Configuring AppStream

Config Files


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">
  <name>Linux From Scratch</name>
  <summary>A customized Linux system built entirely from source</summary>
      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.
  <url type="homepage"></url>
  <developer id=''>
    <name>The Linux From Scratch Editors</name>

    <release version="12.2" type="development" date="2024-09-01">
        <p>The next release of Linux From Scratch.</p>

    <release version="12.1" type="stable" date="2024-03-01">
        <p>Now contains Binutils 2.42, GCC-13.2.0, Glibc-2.39, and Linux
        kernel 6.7.</p>


Installed Programs: appstreamcli
Installed Libraries:
Installed Directories: /usr/include/appstream, /usr/share/doc/appstream-r12.0-1685, and /usr/share/installed-tests/appstream

Short Descriptions


queries information from AppStream metadata and from the AppStream component index

contains functions that handle AppStream metadata queries and request information from the AppStream component index