Product SiteDocumentation Site

2.3. Console Applications

2.3.1. Introduction

A console application is any application that has a command-line or text-based interface and is designed to be used by a human user on the command line. Applications need to be present in the standard PATH.
The file described in this document is built upon the generic component metadata with fields specific for applications (see Section 2.1, “Generic Component”). All tags valid for a generic component are valid for a console-application component as well.
In order to enhance the available metadata about their application, projects shipping a console application can ship one or more metainfo files in /usr/share/metainfo/%{id}.metainfo.xml.

2.3.2. File specification

The basic structure for a generic component as described at Section 2.1.3, “XML Specification” applies. Note that the XML root must have the type property set to console-application, while in a generic component this property can be omitted. This clearly identified this metainfo document as describing an application.
The following list describes tags for console-application upstream metadata and provides some additional information about the values the tags are expected to have. If no information is given about a tag, refer to the respective tag in Section 2.1, “Generic Component”.
<id/>
For console applications, the <id/> tag value must follow the AppStream ID naming conventions (it should be a reverse-DNS name).
<metadata_license/>
The <metadata_license/> tag as described in <metadata_license/> must be present.
<name/>
A name must be present for console applications. See <name/> for a detailed description of this tag.
<summary/>
A summary must be present for console applications. See <summary/> for a detailed description of this tag.
<provides/> ↪ <binary/>
This tag is described in detail for generic components at <provides/>.
For console applications, at least one provided <binary/> must be listed in this tag.
For a component of type console-application, the following tags are required and must always be present: <id/>, <metadata_license/>, <name/>, <summary/>, <provides/> ↪ <binary/>.