Plaintext
AppStream
Description for all distros
Igor Gnatenko
GNOME Foundation member
This work is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License.
To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/4.0/.
Today's Topics
1. About AppStream
2. Upstream metadata
3. Examples
4. Status in Fedora 21
5. Useful links
This work is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License.
To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/4.0/.
About AppStream
This work is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License.
To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/4.0/.
What is AppStream?
●
Cross-distro effort for building Software-Center applications and
enhancing metadata provided by software components
●
Specifications for meta-information which is shipped by upstream
projects and can be consumed by other software
●
Specifications for things like:
–
Screenshot-service
–
Application ratings & reviews
–
Etc.
●
All parts of AppStream are distro-agnostic
This work is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License.
To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/4.0/.
Architecture
This work is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License.
To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/4.0/.
Upstream
metadata
This work is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License.
To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/4.0/.
Desktop Application
●
/usr/share/appdata/%{id}.appdata.xml
●
Small XML file which includes:
–
<component type=“desktop“>
–
Name
–
Screenshots URLs
–
Long & short descriptions (multi-language if possible)
–
Homepage URL
–
Bugzilla URL
–
Other things
This work is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License.
To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/4.0/.
Addon
●
/usr/share/appdata/%{id}.metainfo.xml
●
Small XML file which includes:
–
<component type=“addon“>
–
Name
–
Long & short descriptions (multi-language if possible)
–
Homepage URL
–
Bugzilla URL
–
<extends>%{id}.desktop</extends>
–
Other things
This work is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License.
To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/4.0/.
Font
●
/usr/share/appdata/%{id}.metainfo.xml
●
Small XML file which includes:
–
<component type=“font“>
–
Name
–
Long & short description (multi-language if possible)
–
Homepage URL
–
Bugzilla URL
–
Other things
This work is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License.
To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/4.0/.
Examples
This work is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License.
To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/4.0/.
GUI Application
01 <?xml version="1.0" encoding="UTF-8"?>
02 <application>
03 <id type="desktop">org.gnome.Maps.desktop</id>
04 <licence>CC0</licence>
05 <summary>Find places around the world</summary>
06 <description>
07 <p>Maps gives you quick access to maps all across the world.</p>
08 </description>
09 <screenshots>
10 <screenshot type="default">http://people.gnome.org/~zeeshanak/screenshots/gnome-
maps-search-peshawar.png</screenshot>
11 <screenshot>http://people.gnome.org/~zeeshanak/screenshots/gnome-maps-search-
karachi.png</screenshot>
12 </screenshots>
13 <url type="homepage">http://wiki.gnome.org/Apps/Maps</url>
14 <updatecontact>gnome-maps-list@gnome.org</updatecontact>
15 </application>
This work is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License.
To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/4.0/.
GUI Application
This work is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License.
To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/4.0/.
Addon
01 <?xml version="1.0" encoding="UTF-8"?>
02 <component type="addon">
03 <id>gedit-bookmarks</id>
04 <extends>gedit.desktop</extends>
05 <name>Bookmarks</name>
06 <summary>Easy document navigation with bookmarks</summary>
07 <url type="homepage">https://wiki.gnome.org/Apps/Gedit/ShippedPlugins</url>
08 <url type="bugtracker">https://bugzilla.gnome.org/enter_bug.cgi?
product=gedit&component=Plugins</url>
09 <metadata_license>CC0-1.0</metadata_license>
10 <project_license>GPL-2.0+</project_license>
11 </component>
This work is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License.
To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/4.0/.
Addons
This work is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License.
To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/4.0/.
Checking metadata
# dnf install libappstream-glib
$ appstream-util validate devassistant.appdata.xml
devassistant.appdata.xml: OK
This work is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License.
To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/4.0/.
Building metadata
# dnf install libappstream-glib-builder
$ appstream-builder --verbose \
--max-threads=8 \
--log-dir=/tmp/logs \
--packages-dir=/mnt/russianfedora-free/21/Packages \
--temp-dir=/mnt/AppStream/tmp \
--output-dir=./repodata \
--screenshot-url=http://mirror.yandex.ru/screenshots/ \
--basename="russianfedora-free-21"
This work is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License.
To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/4.0/.
Status in Fedora 21
Descriptions 474/1033
Keywords 125/1033
Screenshots 400/1033
GNOME AppData 108/113
KDE AppData 51/90
XFCE AppData 5/16
Metainfo 60
This work is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License.
To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/4.0/.
Useful links
●
http://www.freedesktop.org/software/appstream/docs/
●
https://github.com/hughsie/appstream-glib
●
https://git.gnome.org/
●
/usr/share/appdata/
●
http://alt.fedoraproject.org/pub/alt/screenshots/f21/sta
tus.html
This work is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License.
To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/4.0/.
Questions?
TM
ignatenko@gnome.org
This work is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License.
To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/4.0/.