Menu

#880 Support appdata

2.3.1
accepted
madbad
appdata (2)
defect
minor
Build system
2023-12-03
2014-06-11
madbad
No

Appdata is a file that contains information used by the gnome software center to be displayed to users.
This will make Speed-Dreams more easy to be found/attractive to gnome users and potentially increase our user base.

Here the specification for the appdata file:
http://people.freedesktop.org/~hughsient/appdata/

I provide here an appdata file to be reviewed.
For screen shots I used what was used on the website but we can maybe provide better ones in higther resolution and png format as the specification suggest.

Still need to figure out the cmake magic to make it install in "/usr/share/appdata/".

1 Attachments

Discussion

  • madbad

    madbad - 2014-06-11

    I saw now that there was another ticket for this: https://sourceforge.net/p/speed-dreams/tickets/871/

    Sorry for the double

     
  • madbad

    madbad - 2014-06-15

    I'm trying to understand how cmake works.
    Anyway where do you think guys the appdata file should be put in our src structure?
    Something like

    /data/data/speed-dreams-2.appdata.xml
    

    sounds good to you?

    if I'm not wrong to install it I should add to

    /data/data/CMakeLists.txt
    

    something like

    IF (UNIX)
      SD_INSTALL_FILES(PREFIX /usr/share/appdata FILES speed-dreams-2.appdata.xml)
    
     
    • Kristof

      Kristof - 2014-06-15

      I would say /packaging/appdata, as /data represents what goes to
      /usr/share/data.

      OK, it has no Cmake files now, but if I understand well, this file will be
      used by GSC independently of the remainder of the package, and there is no
      point to install it when someone installs from the source. Correct me, if I
      am wrong :).

      Cheers,
      Kristof

       
  • madbad

    madbad - 2014-06-15

    Ok for the location change, it was a doubt of mine too.

    Did you suggest to ship the appdata file with the source code but not instruct cmake to install it?

    Because the specification say:
    "Applications wishing to have long descriptions, screenshots and other useful things are required to ship one or more files in /usr/share/appdata/%{id}.appdata.xml."

    If it is not installed there it will not be used by the GSC.
    How do we know if the build is going to be used for a distro repo or for personal use?

     
  • beaglejoe

    beaglejoe - 2014-06-15

    My thought was to commit this file into the root of our tree. Like COPYING.txt, etc.
    I am not clear if downstream package maintainers are not the ones who need this?
    It would be easy for them to find at the root.
    Here is a pretty decent example of how another project did it.
    https://git.reviewboard.kde.org/r/117609/diff/1/
    Something similar would go in our root CMakeLists.txt (around line 100)
    We really don't need the configure_file step.
    I noticed that they have a BugTracker url in their appdata file.
    I assume this would show up in GSC somewhere.

    Also, there is a typo on line 15 of the attached file 'costant' should be 'constant' ?

     
  • Kristof

    Kristof - 2014-06-15

    I have read a bit more about Appstream. AFAIU it seems that a distribution with its packages is still needed behind the software center, so it is the distributors task to extract the xml file to the database while packaging. At least this is how I understand the figure in http://www.freedesktop.org/software/appstream/docs/chap-AppStream-About.html

    So I still do not see the point to install the appdata file when SD is compiled from sources. It seems even misleading if it then suddenly appears in the software center (or even worse only in some of the software centers), but it is not installable/uninstallable from it, because it is not packaged, it was compiled from sources.

    What might be useful to install (under Linux), is the desktop file (found in /usr/share/applications for the distro packages) with the icon, so that SD appears in the menu after a make install. I hope /usr/local/share/applications is also tracked by menus, so it can be installed under {prefix}/share/applications. And the icon should go to {prefix}/share/pixmaps.

    As for the location, /packaging seems more logical to me, but I am not against putting it into the root, especially if it makes your life easier.

    Also, there is a typo on line 15 of the attached file 'costant' should be 'constant' ?

    You are right. And the 'name' and 'summary' tags seem to be missing.

    Cheers,
    Kristof

     
    • madbad

      madbad - 2014-06-15

      The name and summary tags where missing because, from the specs:

      < name/>

      You can omit this tag if you want the software center to have the same strings as the desktop menu. In some cases it might be required to have a different name in the app-store, but most appdata.xml files will not need this.
      < summary/>

      You can omit this tag if you want the software center to have the same strings as the desktop menu. In some cases it might be required to have a different name in the app-store, but most appdata.xml files will not need this.

      I attach a corrected version of the appdata file updated with the suggestions given

       
  • madbad

    madbad - 2014-06-15

    Talking about the need or not to install to /usr/share/appdata I found an interesting comment here on the filezilla bugtracker.

    http://trac.filezilla-project.org/ticket/9037

    It'll be great if this file can be included in future releases, and
    optionally, if the build system could install it to /usr/share/appdata.
    The installation isn't necessary, since us maintainers can do it
    manually too.

     
  • simon wood

    simon wood - 2014-06-23

    '/packaging' directory does not normally get included in source tars (which Linux binaries will be built from). Presumably the Windows installers do no need this file.

     
    • beaglejoe

      beaglejoe - 2014-06-24

      As far as I can tell, this file is not used/needed on Windows

       
      • Richard Hughes

        Richard Hughes - 2014-09-25

        Agreed; only on Linux builds. See http://www.freedesktop.org/software/appstream/docs/ for details about AppStream. 44% of all the applications in Fedora 22 ship AppData files now. They're being consumed by Fedora, Suse, Debian and soon to be Arch too.

         
  • simon wood

    simon wood - 2014-06-26
    • Milestone: 2.1.0 --> 2.2.0
    • Type: --> defect
    • Priority: --> blocker
    • Component: --> Build system
     
  • simon wood

    simon wood - 2014-06-26

    Included the file in 'packaging/appdata' directory and in the base source tar.

    Deferred doing anything else until 2.2

     
  • simon wood

    simon wood - 2014-06-26

    I built the base package, installed it and put this appdata file in '/usr/share/appdata' on a Ubuntu 14.04 live CD.... but can't seem to get the system to make use of it.

    Where should it tell me all about Speed Dreams? ie. where do I type my search...

     
    • Kristof

      Kristof - 2014-06-26

      Hello Simon and all,

      I built the base package, installed it and put this appdata file in

      '/usr/share/appdata' on a Ubuntu 14.04 live CD.... but can't seem to get
      the system to make use of it.

      Where should it tell me all about Speed Dreams? ie. where do I type my
      search...

      AFAIK it should appear in Gnomes software center, probably in KDE's, too.
      Whether Ubuntu's own software center uses this or an other database, I do
      not know.

      Are there any other files /usr/share/appdata?

      Kristof

       
  • beaglejoe

    beaglejoe - 2016-03-20
    • Milestone: 2.2.0 --> 2.3.0
     
  • beaglejoe

    beaglejoe - 2021-09-02
    • Milestone: 2.3.0 --> 2.4.0
     
  • beaglejoe

    beaglejoe - 2022-10-17
    • Milestone: 2.3.1 --> 2.4.0
     
  • beaglejoe

    beaglejoe - 2022-10-17
    • Milestone: 2.4.0 --> 2.3.1
     
  • madbad

    madbad - 2023-12-03
    • status: new --> accepted
    • assigned_to: madbad
    • Priority: blocker --> minor
     
  • madbad

    madbad - 2023-12-03

    This file has been committed.
    By looking at it I noticed that it still contains pointers to the old website.
    I'll give this an update in the coming days.
    We should consider checking this each time we make a release

     

Log in to post a comment.