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]](../images/note.png)
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.
Download (HTTP): https://www.freedesktop.org/software/appstream/releases/AppStream-1.0.0.tar.xz
Download MD5 sum: 6465ef5b23d5b0724fe6dd0aec8b0bec
Download size: 2.6 MB
Estimated disk space required: 27 MB
Estimated build time: 0.6 SBU
cURL-8.4.0, itstool-2.0.7, libxml2-2.12.1, libxmlb-0.3.14, and libyaml-0.2.5
GTK-Doc-1.33.2, (Qt-5.15.11 or qt-alternate-5.15.11), Qt-6.6.1, and libstemmer
Install AppStream by running the following commands:
mkdir build &&
cd build &&
meson setup --prefix=/usr \
--buildtype=release \
-Dapidocs=false \
-Dstemming=false .. &&
ninjaTo test the results, issue: ninja test.
Now, as the root user:
ninja install &&
mv -v /usr/share/doc/appstream{,-1.0.0}
--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
GTK-Doc-1.33.2 installed and wish to generate the
API documentation.
-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.11 or qt-alternate-5.15.11)
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.1 installed and you want to build support
for Qt6 applications into this package. This option conflicts with
-Dqt5=true.
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="12.1" type="development" date="2024-03-01">
<description>
<p>The next release of Linux From Scratch.</p>
</description>
</release>
<release version="12.0" type="stable" date="2023-09-01">
<description>
<p>Now contains Binutils 2.41, GCC-13.2.0, Glibc-2.38, and Linux
kernel 6.4.</p>
</description>
</release>
</releases>
</component>
EOF