AppStream-1.0.4

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]

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.11.0, elogind-255.5, itstool-2.0.7, libxml2-2.13.5, libxmlb-0.3.21, and libyaml-0.2.5

Optional

Gi-DocGen-2024.1, Qt-6.8.1, 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.4}

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-2024.1 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.8.1 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.2-902" type="development" date="2024-12-27">
      <description>
        <p>The development snapshot of the next LFS version.</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
Installed Directories: /usr/include/appstream, /usr/share/doc/appstream-1.0.4, 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