Go to file
2016-09-30 23:38:03 +02:00
contrib Add example for cruft collection script 2016-08-02 22:45:44 +02:00
data More error checking and only process fonts with metainfo again 2016-09-30 01:08:31 +02:00
docs Enable fonts support 2016-09-30 01:15:14 +02:00
src Drop universal font test code 2016-09-30 23:38:03 +02:00
test ci: Add missing dependency on mustache-d 2016-09-26 05:06:30 +02:00
.gitignore Add initial code and primitives 2016-03-03 20:59:03 +01:00
.gitmodules Reorganize code for proper namespacing 2016-09-26 04:54:56 +02:00
.travis.yml travis: Run asgen tests in Docker container 2016-06-03 02:45:29 +02:00
dub.json Reorganize code for proper namespacing 2016-09-26 04:54:56 +02:00
LICENSE Update license 2016-03-03 20:59:11 +01:00
MAINTAINERS Add more documentation 2016-03-29 03:09:26 +02:00
Makefile Always optimize debug builds 2016-08-04 04:51:14 +02:00
meson.build Multiple font tweaks; reduce the use of Mutexes 2016-09-30 23:37:09 +02:00
NEWS trivial: post release version bump 2016-08-30 23:49:31 +02:00
README.md Do not spawn compressors anymore, use libarchive directly 2016-07-27 19:23:16 +02:00
RELEASE trivial: post release version bump 2016-08-30 23:49:31 +02:00
TODO Update TODO 2016-05-23 21:10:11 +02:00

AppStream Generator

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 distro 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.

AppStream Generator Logo

Development

Build Status

Build dependencies

  • gdc / ldc
  • dub 1
  • glib2 (>= 2.46)
  • AppStream 2
  • libarchive (>= 3.2) 3
  • LMDB 4
  • Cairo
  • GdkPixbuf 2.0
  • RSvg 2.0
  • Bower (optional) 5

On Debian and derivatives of it, all build requirements can be installed using the following command:

sudo apt install dub libappstream-dev libgdk-pixbuf2.0-dev libarchive-dev \
    librsvg2-dev liblmdb-dev libglib2.0-dev libcairo2-dev libcurl4-gnutls-dev

Build instructions

Ensure you have initialized the Git submodules. Run make update-submodule to run a fake-target which initializes and updates the submodule. Then run dub build or make to build the software - if all dependencies are set up correctly, the binary will be built and stored as build/appstream-generator, and can be used directly from there.

If you want to use the HTML reports, you need to install Bower, then run make js to download the JavaScript bits and store them in the right directory. If you want, you can also install the generator system-wide using make install. In summary:

$ make update-submodule
$ dub build --parallel
$ make js
$ sudo make install

Usage

Take a look at the docs/ directory in the source tree for information on how to use the generator. Right now, only the YAML output format is tested properly.

Hacking

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: http://tour.dlang.org/