A repository component describes a remote archive of digital content, usually other software or additional data (e.g. themes, icons, books, music, ...). Upon installation of a component of this type, the repective repository is added to the system and activated, letting the user access the new content.
		
			The metadata described in this document is built upon the generic component metadata (see 
Section 2.1, “Generic Component”). All tags valid for a generic component are valid for a 
repository component as well.
		
			In order to add metadata about a software repository, projects can provide one or more metainfo files in /usr/share/metainfo/%{id}.metainfo.xml.
		
      2.14.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 
repository, while in a generic component this property can be omitted. This clearly identified this metainfo document as describing a repository.
		
			The following list describes tags for 
repository 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 repositories, the - <id/>tag value must follow the AppStream ID naming conventions (it should be a reverse-DNS name).
 
- <metadata_license/>
- <name/>
- 
						A  - name-  must be present for repositories. See  <name/>-  for a detailed description of this tag.
					 
- <summary/>
- 
						A  - summary-  must be present for repositories. See  <summary/>-  for a detailed description of this tag.
					 
- 
      <extends/>
- 
						This tag is refers to the ID of the component this repository is added to, similarly to how components of type - addonwork.
 - 
						Adding an - extendstag ensures the respective repository is tied to its main component, e.g. a source for firmware downloads is tied to the firmware update service, or a repository for a site-specific package manager is tied to the tool that can actually install pieces from the repository.
 - 
						The - <extends/>tag may be specified multiple times.
 
- 
      <agreement/>
- 
						It is recommended to add a  GDPR-  compliant privacy statement to  - repository-  components, in case any personal data is acquired when the repository is accessed.
					 
- 
						The  - agreement-  tag allows to add a privacy statement and other agreements easily. Refer to the  <agreement/>-  tag as described for generic components for information on how to use agreements in AppStream.