2.5. Addons

- Prev
- AppStream
- Next

## ⁠2.5. Addons

### ⁠2.5.1. Introduction

Some software is not standalone, but rather extends existing software installed on the system. 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.5.2. Example file

A addon meta-info 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.desktop</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>CC0-1.0</metadata_license>
    ​  <project_license>GPL-3.0+</project_license>
    ​</component>

### ⁠2.5.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 `%{id}` must follow the component-id naming conventions (see <id/>).
⁠<extends/>
  This tag is refers to the ID of the component this addon is extending.
  For example, if there is a plugin "kipi" which extens 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/>.

- Prev2.4. Services
- Up
- Home
- Next2.6. Fonts