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 collection 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.
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.
publish SUITE [SECTION]
You usually do not want to run this task explicitly, because it is already automatically performed by the run command.
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.
A package-id consists of a name/version/arch triplet.
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.
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.
- the asgen-config.json documentation