DOKK Library
                  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&amp;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/.


AppStream - Description for all distros

Authors Igor Gnatenko

License CC-BY-SA-4.0