hughsie / appstream-glib

This library provides objects and helper methods to help reading and writing AppStream metadata.
GNU Lesser General Public License v2.1
63 stars 102 forks source link

appstream-builder generates metadata with obsolete <component type="desktop"> #489

Open voxik opened 11 hours ago

voxik commented 11 hours ago

According to the documentation, the <component type="desktop-application"> should be used in metadata. However, appstream-builder does not follow this:

$ appstream-builder --verbose --packages-dir=. --output-dir=./repodata 

... snip ...

Scanning packages...
Processing packages...
(appstream-builder:54): Asb-DEBUG: 16:29:27.279: starting: vim-X11
(appstream-builder:54): Asb-DEBUG: 16:29:27.279: DEBUG:   Getting filename match for vim-X11-9.1.737-1.fc42.x86_64.rpm
(appstream-builder:54): Asb-DEBUG: 16:29:27.279: decompressing files: vim-X11
(appstream-builder:54): Asb-DEBUG: 16:29:27.279: DEBUG:   Exploding tree for vim-X11
(appstream-builder:54): Asb-DEBUG: 16:29:27.297: examining: vim-X11
(appstream-builder:54): Asb-DEBUG: 16:29:27.297: DEBUG:   Processing vim-X11-9.1.737-1.fc42.x86_64.rpm with appdata
(appstream-builder:54): Asb-DEBUG: 16:29:27.297: DEBUG:   Running asb_plugin_process() from appdata
(appstream-builder:54): GLib-GIO-DEBUG: 16:29:27.297: _g_io_module_get_default: Found default implementation dummy (GDummyProxyResolver) for ‘gio-proxy-resolver’
(appstream-builder:54): Asb-DEBUG: 16:29:27.298: processing: vim-X11
(appstream-builder:54): Asb-DEBUG: 16:29:27.298: DEBUG:   Running asb_plugin_process_app() from desktop
(appstream-builder:54): Asb-DEBUG: 16:29:27.298: WARNING: Ignoring: a desktop file is required for org.vim.Vim
(appstream-builder:54): Asb-DEBUG: 16:29:27.298: DEBUG:   Running asb_plugin_process_app() from font
(appstream-builder:54): Asb-DEBUG: 16:29:27.298: DEBUG:   Running asb_plugin_process_app() from gettext
(appstream-builder:54): Asb-DEBUG: 16:29:27.298: DEBUG:   Running asb_plugin_process_app() from hardcoded
(appstream-builder:54): Asb-DEBUG: 16:29:27.298: DEBUG:   Running asb_plugin_process_app() from icon
(appstream-builder:54): Asb-DEBUG: 16:29:27.298: deleting temp files: vim-X11
(appstream-builder:54): Asb-DEBUG: 16:29:27.298: writing log: vim-X11
Merging applications...
(appstream-builder:54): Asb-DEBUG: 16:29:27.298: <components version="1.0">
  <component type="desktop">

... snip ...

Ironically, the original metadata are using the modern tag

voxik commented 11 hours ago

Actually, there is also https://github.com/ximion/appstream-generator, but the question is what is used to generate the appstream-data for Fedora?

hughsie commented 11 hours ago

what is used to generate the appstream-data for Fedora

something a bit like this: https://github.com/hughsie/appstream-scripts/blob/master/fedora/fedora-rawhide.sh

component type="desktop-application"> should be used in metadata

This isn't supported on RHEL 9 gnome-software iirc, so we used the old name for maximum compatibility in both directions.