AppStream is an effort to provide additional metadata and unique IDs for all software available in a Linux system. This repository contains the server-side of the AppStream infrastructure, a tool to generate metadata from distribution packages. You can find out more about AppStream collection metadata at Freedesktop.
The AppStream generator is currently primarily used by Debian, but is written in a distribution agnostic way. Backends only need to implement two interfaces to to be ready.
If you are looking for the AppStream client-tools, the AppStream repository is where you want to go.
- Meson (>= 0.46) 2
- GLibD 3
- AppStream 4
- libarchive (>= 3.2) 5
- LMDB 6
- mustache-d 7
- GirToD 8
- Containers 9
- GdkPixbuf 2.0
- RSvg 2.0
- Yarn (optional) 10
On Debian and derivatives of it, all build requirements can be installed using the following command:
sudo apt install meson ldc gir-to-d libappstream-dev libgdk-pixbuf2.0-dev libarchive-dev \ librsvg2-dev liblmdb-dev libcairo2-dev libcurl4-gnutls-dev libfreetype6-dev libfontconfig1-dev libpango1.0-dev \ libglibd-2.0-dev libmustache-d-dev libdcontainers-dev
To build the tool with Meson, create a
build subdirectory, change into it and run
meson .. && ninja to build.
$ mkdir build && cd build $ meson -Ddownload-js=true .. $ ninja $ sudo ninja install
We support several options to be set to influence the build. Change into the build directory and run
mesonconf to see them all.
You might want to perform an optimized debug build by passing
meson or just do a release build straight
--buildtype=release in case you want to use the resulting binaries productively. By default, the build happens without optimizations
which slows down the generator.
Take a look at the
docs/ directory in the source tree for information on how to use the generator and write configuration files for it.
Pull-requests and patches are very welcome! If you are new to D, it is highly recommended to take a few minutes to look at the D tour to get a feeling of what the language can do: https://tour.dlang.org/