Jump to content Jump to page navigation: previous page [access key p]/next page [access key n]
AppStream
AppStream › Upstream Metadata › Addons
AppStream › Upstream Metadata › Addons
Top
←→

## 2.7 Addons #

### 2.7.1 Introduction #

Some components are not standalone, but rather extend existing software installed on the system and can only be used together with it. The `addon` component type exists to reflect that.

Software which provides addons can ship one or more files in `/usr/share/metainfo/%{id}.metainfo.xml`.

### 2.7.2 Example file #

A addon metainfo file should look like this:

    <?xml version="1.0" encoding="UTF-8"?>
    <component type="addon">
      <id>org.gnome.gedit_code_assistance</id>
      <extends>org.gnome.gedit</extends>
      <name>Code Assistance</name>
      <summary>Code assistance for C, C++ and Objective-C</summary>
      <url type="homepage">http://projects.gnome.org/gedit</url>
      <metadata_license>FSFAP</metadata_license>
      <project_license>GPL-3.0+</project_license>
    </component>

### 2.7.3 File specification #

Note that the XML root must have the `type` property set to `addon`. This clearly identifies this metainfo document as describing an addon to existing software.

<id/> #

  For addons, the component-ID must follow the generic naming conventions (see <id/>).

<extends/> #

  This tag refers to the ID of the component this addon is extending.

  For example, if there is a plugin "kipi" which extends the application "Gwenview", it needs to be referred to as:

      <extends>org.kde.Gwenview</extends>

  The `<extends/>` tag may be specified multiple times.

For a component of type `addon`, the following tags are required and must be present: <id/>, <name/>, <summary/>, <metadata_license/>, <extends/>.