appstream-generator - Man Page
Generate AppStream metadata from distribution repositories
Synopsis
appstream-generator [COMMAND]
Description
This manual page documents briefly the appstream-generator command.
appstream-generator generates AppStream metadata from the repositories of a software distribution. It currently supports the following repository formats / distributions: Debian, Ubuntu, Arch Linux, RPM-MD (Fedora, Mageia).
The generator will produce AppStream catalog metadata files in the AppStream YAML or XML format to be shipped to users, as well as detailed HTML reports about found components and HTML and JSON reports on issues found while compiling the metadata. It reads .desktop files as well as metainfo files, renders fonts, scales images, caches screenshots etc. to produce high-quality metadata for AppStream based software centers and other tools to consume. Usually, appstream-generator is integrated with the existing software build & delivery workflow of a distribution.
The appstream-generator tool is based on the libappstream library for metadata conversion and analysis. If you just want to embed AppStream metadata processing into another tool, using libappstream directly is likely a better choice. The generator tool does some heavy lifting like rendering fonts and scaling images, which might not be necessary for simple cases.
To use appstream-generator, a asgen-config.json file is required. Its format is described in detail in the asgen-config.json documentation[1].
The generator supports a wide range of features that can individually configured to fit the needs of different projects and adjust the generated metadata to specific use cases. Refer to the configuration file documentation for information on what options are available.
For more information about the AppStream project and the other components which are part of it, take a look at the AppStream pages at Freedesktop.org[2].
Options
- run SUITE [SECTION]
Process new metadata for the given distribution suite and publish it.
- cleanup
Cleanup old/expired metadata and media files from the cache and directories. It is recommended to run this command every week, or at least every month, depending on how many changes happen in the software repository.
- publish SUITE [SECTION]
Export all metadata and publish reports in the export directories.
You usually do not want to run this task explicitly, because it is already automatically performed by the run command.
- remove-found SUITE
Drop all valid processed metadata and hints from the selected suite.
- forget PKID
Drop all information we have about this (partial) package-id.
A package-id consists of a name/version/arch triplet. For this command, the version and architecture can be omitted to forget all packages that match a particular name or name-version combination.
- info PKID
Show information associated with this (full) package-id.
A package-id consists of a name/version/arch triplet.
- -w|--workspace DIR
Define the workspace location.
If this flag is omitted, and no workspace directory is given in the generator configuration file, the current directory is assumed as the workspace location.
This parameter, if given, overrides any workspace location defined elsewhere.
- -c|--config FILE
Define a configuration file.
Explicitly set a generator configuration JSON file. If this flag is omitted, the asgen-config.json file in the current workspace directory is used.
If no workspace directory is defined in the configuration file itself, the directory it is located in is used as workspace. This can be overridden by defining a workspace explicitly with -w.
- --force
Enforce the command.
- --verbose
Show extra debugging information.
- --version
Display the version number of appstream-generator.
See Also
Author
This manual page was written by Matthias Klumpp <matthias@tenstral.net>.
Copyright
Copyright © 2016-2022 Matthias Klumpp
Notes
- the asgen-config.json documentation
https://github.com/ximion/appstream-generator/blob/master/docs/asgen-config.md - Freedesktop.org
http://www.freedesktop.org/wiki/Distributions/AppStream/