# Addons

## 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`.

## 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>

## 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 ).

<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: , , , , .