Руководство по упаковке файлов AppData
Если пакет содержит приложение с графическим интерфейсом, он СЛЕДУЕТ установить файл .metainfo.xml в %{_metainfodir}. Установленные файлы .metainfo.xml ДОЛЖНЫ соответствовать странице спецификации AppStream.
Если пакет содержит дополнение для приложения с графическим интерфейсом, он СЛЕДУЕТ установить файл .metainfo.xml в %{_metainfodir}. Установленные файлы .metainfo.xml ДОЛЖНЫ соответствовать спецификации дополнений AppStream.
Файлы AppData ДОЛЖНЫ корректно проходить проверку с помощью appstream-util validate-relax.
|
Файлы appdata.xml
По историческим причинам спецификация AppStream также допускает использование расширения .appdata.xml для приложений с графическим интерфейсом. Если upstream-проект предоставляет метаданные с расширением .appdata.xml, их МОЖНО использовать вместо .metainfo.xml.
|
Создание файла .metainfo.xml
Если пакет ещё не включает и не устанавливает собственный файл .metainfo.xml, вы можете создать свой и отправить его в upstream-проект. Некоторые преимущества отправки файла в upstream-проект заключаются в том, что upstream может перевести файл, используя существующие ресурсы перевода, а также может изменять скриншоты и описания по мере изменения приложения со временем.
Вы можете включить созданный вами файл .metainfo.xml как Source: (например, Source3: %{name}.metainfo.xml) или сгенерировать его в spec-файле.
Вот содержимое примера файла .metainfo.xml приложения (comical.metainfo.xml):
<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright 2014 Richard Hughes <richard@hughsie.com> -->
<component type="desktop">
<id>comical.desktop</id>
<metadata_license>CC0-1.0</metadata_license>
<project_license>GPL-2.0+ and GFDL-1.3</project_license>
<name>Comical</name>
<summary>A Comic Archive Reader</summary>
<summary xml:lang="fr">Un Comic Archive Lecteur</summary>
<description>
<p>
Comical is an easy to use and cross-platform CBR and CBZ reader which
prefetches and caches pages for speed.
</p>
<p xml:lang="fr">
Comical est une CBR et CBZ lecteur facile à utiliser et
multi-plateforme qui prélectures et caches pages pour la vitesse.
</p>
<p>
Resized images are crisp, and you can view pages one or two at a time.
Comical is open-source, so feel free to contribute new features!
</p>
<p xml:lang="fr">
Images redimensionnées sont nettes, et vous pouvez voir une ou deux pages à la fois.
Comical est open-source, alors n'hésitez pas à apporter de nouvelles fonctionnalités!
</p>
</description>
<screenshots>
<screenshot type="default">
<image>http://comical.sourceforge.net/images/comical-0.5-linux.jpg</image>
</screenshot>
<screenshot>
<image>http://comical.sourceforge.net/images/comical-0.6-win32.jpg</image>
</screenshot>
</screenshots>
<url type="homepage">http://comical.sourceforge.net/</url>
<update_contact>richard_at_hughsie.com</update_contact>
</component>
Файл AppData приложения ДОЛЖЕН быть назван с тем же корнем, что и файл .desktop, поэтому если файл .desktop называется org.gnome.SomeApp.desktop, то файл AppData ДОЛЖЕН называться org.gnome.SomeApp.metainfo.xml.
Вот содержимое примера файла .metainfo.xml дополнения (gedit-bookmarks.metainfo.xml):
<?xml version="1.0" encoding="UTF-8"?>
<component type="addon">
<id>gedit-bookmarks</id>
<extends>gedit.desktop</extends>
<name>Bookmarks</name>
<summary>Easy document navigation with bookmarks</summary>
<url type="homepage">https://wiki.gnome.org/Apps/Gedit/ShippedPlugins</url>
<url type="bugtracker">https://bugzilla.gnome.org/enter_bug.cgi?product=gedit&component=Plugins</url>
<metadata_license>CC0-1.0</metadata_license>
<project_license>GPL-2.0+</project_license>
</component>
Вы можете использовать в качестве <id> что угодно, но он должен быть уникальным и осмысленным, а также совпадать с префиксом имени файла .metainfo.xml.
Использование app-data-validate
Хотя вы можете просто включить файл .metainfo.xml в пакет, вы ДОЛЖНЫ запустить appstream-util validate-relax (в %check или %install) и указать BuildRequires: libappstream-glib, чтобы помочь обеспечить достоверность и безопасность устанавливаемых файлов appdata. Пример:
appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/*.metainfo.xml
Want to help? Learn how to contribute to Fedora Docs ›