The operating-system
component type describes a whole operating system such as GNU/Linux distributions like Debian, Fedora, RHEL, etc. or Windows and macOS.
Operating systems can ship metainfo files in /usr/share/metainfo/%{id}.metainfo.xml
.
An operating-system
metainfo file can look like this:
<?xml version="1.0" encoding="UTF-8"?>
<component type="operating-system">
<id>org.debian.debian</id>
<name>Debian GNU/Linux</name>
<summary>The universal operating system</summary>
<description>
<p>
Debian is a free operating system (OS) for your computer.
An operating system is the set of basic programs and utilities that make your computer run.
</p>
...
</description>
<url type="homepage">https://www.debian.org/</url>
<metadata_license>FSFAP</metadata_license>
<developer_name>The Debian Project</developer_name>
...
<releases>
<release version="10.0" type="development">
<description>
<p>The next release of Debian.</p>
</description>
</release>
<release version="9.0" date="2017-07-17" date_eol="2020-07-17">
<description>
<p>Now contains the Linux kernel 4.9, GNOME 3.22, KDE Plasma 5, LibreOffice 5.2 and Qt 5.7. LXQt has been added.</p>
</description>
</release>
...
</releases>
</component>
2.14.3. File specification
Note that the XML root must have the type
property set to operating-system
. This clearly identifies this metainfo document as describing an operating system.
-
<id/>
For operating systems, the value of the <id/>
tag must follow the reverse-DNS scheme as described for generic components. In order for AppStream consumers to determine which component is describing the operating system they are currently running on, on Linux distributions the component ID must follow the data provided in the operating system's /etc/os-release
file. This means the reversed-DNS HOME_URL
value from /etc/os-release
(without any https/www parts) combined with the ID
of the operating system will produce the operating system's component id.
E.g. if HOME_URL
is https://www.debian.org/
and ID
is debian
, the resulting AppStream component-ID will be org.debian.debian
.
-
<releases/>
The
<releases/>
tag as described in
<releases/> must be present and contain the individual releases of the operating system. It is also recommended to set the
date_eol
property on individual releases, to allow software to determine whether the current operating system release is still supported.