#### Beyond Linux® From Scratch (systemd Edition) - Version r13.0-491

### Chapter 9. General Libraries

- Prev

  Abseil-cpp-20260107.1

- Next

  appstream-glib-0.8.3

- Up
- Home

# AppStream-1.1.2

## 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

- Download (HTTP): https://www.freedesktop.org/software/appstream/releases/AppStream-1.1.2.tar.xz

- Download MD5 sum: 993cb6e1c6ab57ce59c5c3ba397f2b21

- Download size: 2.7 MB

- Estimated disk space required: 40 MB

- Estimated build time: less than 0.1 SBU (add 0.1 SBU for tests; both using parallelism=4)

### AppStream Dependencies

#### Required

cURL-8.19.0, itstool-2.0.7, libfyaml-0.9.6, libxml2-2.15.3, libxmlb-0.3.26, and libxslt-1.1.45

#### Recommended

docbook-xsl-nons-1.79.2

#### Optional

Gi-DocGen-2026.1, Qt-6.11.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 bash-completion=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.1.2}

## 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-2026.1 installed and wish to regenerate the API documentation. When the API documentation is not regenerated, a pre-built copy is installed anyway.

`-D bash-completion=false`: This switch disables bash-completion support which is not in BLFS.

`-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.11.0 installed and you want to build support for Qt6 applications into this package.

`-D man=false`: This switch disables building the manpages. Add it if you do not have docbook-xsl-nons-1.79.2 installed.

## 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="13.0" type="stable" date="2026-03-05">
          <description>
            <p>Now contains Binutils 2.46.0, GCC-15.2.0, Glibc-2.43,
            Linux kernel 6.18, and six security updates.</p>
          </description>
        </release>

        <release version="12.4" type="stable" date="2025-09-01">
          <description>
            <p>Now contains Binutils 2.45, GCC-15.2.0, Glibc-2.42,
            Linux kernel 6.16, and twelve security updates.</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>
      </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.1.2, 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

- Prev

  Abseil-cpp-20260107.1

- Next

  appstream-glib-0.8.3

- Up
- Home