AppImage / AppImageKit

Package desktop applications as AppImages that run on common Linux-based operating systems, such as RHEL, CentOS, openSUSE, SLED, Ubuntu, Fedora, debian and derivatives. Join #AppImage on irc.libera.chat
http://appimage.org
Other
8.56k stars 545 forks source link

Supporting "AppStream" is an almost impossible task. #603

Open KurtPfeifle opened 6 years ago

KurtPfeifle commented 6 years ago

This issue should serve as a place to discuss all this mess that supporting the Freedesktop.org "standard" for AppStream metadata is for application developers as well as AppImage maintainers, and how (if at all) it can be solved or worked around...


Here is a collection of stuff I encountered on a Debian Stretch system yesterday when I "--appimage-extract"-ed a perfectly working AppImage which had no AppStream metadata included and where I wanted to regenerate it after inclusion of just that info.

  1. Let the application be called foo.
  2. Provide an initial AppStream file as usr/share/metainfo/foo.appdata.xml.
  3. Provide an initial .desktop file as usr/share/applications/foo.desktop.
  4. Let the AppImage creation command be *appimagetool foo-squashfs-root foo.AppImage

Presence of appstream-util on the system

When this utility is present, it chases the developer in circles. Be my witness with going through the following stages:

  1. Say, your foo.appdata.xml file contains the line:

    <id>foo.desktop</id>

    You then get something posing as a Warning but which nevertheless stops creating the AppImage, and you'll read this message:

    Using architecture x86_64
    /home/kp/AppDirs/foo-squashfs-root should be packaged as ../foo.AppImage
    W - foo.appdata.xml:foo.desktop:3
        The component ID is not a reverse domain-name. Please update the ID and that of 
        the accompanying .desktop file to follow the latest version of the Desktop-Entry 
        and AppStream specifications and avoid future issues.
    
    Validation failed: warnings: 1
    Failed to validate AppStream information with appstreamcli
  2. Next, you try to fix it and make the above line now read

    <id>org.oneapplication.foo.desktop</id>

    and rename your .desktop file accordingly to usr/share/applications/org.oneapplication.foo.desktop.

    Now you still have no AppImage, but you successfully changed that "Warning" message to

    Using architecture x86_64
    /home/kp/AppDirs/foo-squashfs-root should be packaged as ../foo.AppImage
    W - foo.appdata.xml:org.oneapplication.foo.desktop
        The metainfo filename does not match the component ID.
    
    Validation failed: warnings: 1
    Failed to validate AppStream information with appstreamcli
  3. Next, you try to fix that last issue and rename the .desktop file to now be usr/share/metainfo/org.oneapplicaton.foo.appdata.xml:

    WARNING: AppStream upstream metadata is missing, please consider creating it
         in usr/share/metainfo/foo.appdata.xml
         Please see https://www.freedesktop.org/software/appstream/docs/chap-Quickstart.html#sect-Quickstart-DesktopApps
         for more information or use the generator at http://output.jsbin.com/qoqukof.
    
    (appstream-util:7983): GLib-CRITICAL **: g_ptr_array_set_size: assertion 'rarray' failed
    AppStream template has been generated in in /home/kp/AppDirs/foo-squashfs-root/usr/share/metainfo/foo.appdata.xml, please edit it

    Bravo, you've now turned full circle (and been sent to read some "quickstart" document on Freedesktop.org).

Disabled appstream-util on the system

  1. This ominous appstream-util:7983 gave you the hint to temporarily knock out and disable that dear goody by running sudo mv /usr/bin/appstream-util{,___ko} and then try to create the AppImage one more time. Oh, beautiful:

    AppStream upstream metadata found in usr/share/metainfo/foo.appdata.xml
    W - foo.appdata.xml:foo.desktop:3
        The component ID is not a reverse domain-name. Please update the ID and that of 
        the accompanying .desktop file to follow the latest version of the Desktop-Entry 
        and AppStream specifications and avoid future issues.
    
    W - org.oneapplicaton.foo.appdata.xml:org.oneapplication.foo.desktop
        The metainfo filename does not match the component ID.
    
    E - foo.appdata.xml:foo.desktop
        Component metadata refers to a non-existing .desktop file.
    
    W - foo.appdata.xml:foo.desktop:16
        SPDX license ID 'XXX: Insert SPDX value here' is unknown.
    
    W - foo.appdata.xml:foo.desktop:15
        The metadata itself does not seem to be licensed under a permissive license. 
        Please license the data under a permissive license, like FSFAP, CC-0-1.0 or MIT to 
        allow distributors to include it in mixed data collections without the risk of 
        license violations due to mutually incompatible licenses.
    
    I - foo.appdata.xml:foo.desktop:8
        First 'description/p' paragraph might be too short (< 100 characters).
    
    Validation failed: errors: 1, warnings: 4, infos: 1
    Failed to validate AppStream information with appstreamcli

    Oh, BTW: the metadata license which above warning complained about was set as MIT. Just sayin'...

  2. Ah, ok... remove that AppStream template which was created before by the friendly appstream-util tool:

    rm -rf usr/share/metainfo/foo.appdata.xml
  3. Congratulations, your AppImage is being created -- however, it is missing the AppStream metadata:

    Using architecture x86_64
    /home/kp/AppDirs/foo-squashfs-root should be packaged as ../foo.AppImage
    WARNING: AppStream upstream metadata is missing, please consider creating it
             in usr/share/metainfo/foo.appdata.xml
             Please see https://www.freedesktop.org/software/appstream/docs/chap-Quickstart.html#sect-Quickstart-DesktopApps
             for more information or use the generator at http://output.jsbin.com/qoqukof.
    Generating squashfs...
    Parallel mksquashfs: Using 2 processors
    Creating 4.0 filesystem on ../foo.AppImage, block size 131072.
    [=========================================================\] 1130/1130 100%
    [....]
    Success
  4. You've (almost) turned full circle now. Except, that your AppStream data is now provided as

     ls -l usr/share/metainfo/
     -rw-r--r-- 1 kp kp 1877 Dec 30 05:23 org.oneapplication.foo.appdata.xml

    Let's rename it to foo.appdata.xml again:

    mv usr/share/metainfo/{org.oneapplication.,}foo.appdata.xml

    after all, this is what appimagetool seems to be looking for. You AppImage creation now is canceled and ends with this message:

    Using architecture x86_64
    /home/kp/AppDirs/foo-squashfs-root should be packaged as ../foo.AppImage
    AppStream upstream metadata found in usr/share/metainfo/foo.appdata.xml
    W - foo.appdata.xml:org.oneapplication.foo.desktop
        The metainfo filename does not match the component ID.
    
    Validation failed: warnings: 1
    Failed to validate AppStream information with appstreamcli

On the recommended chap-Quickstart.html resource

  1. Next, read that document which had been hinted at before (https://www.freedesktop.org/software/appstream/docs/chap-Quickstart.html#sect-Quickstart-DesktopApps). You find a recommendation about a tag called <launchable/>, which leads you to add the following line to your AppStream XML file:

    <launchable type="desktop-id">org.oneapplication.foo.desktop</launchable>

    You go back to the situation in step 6, where at least an AppImage without AppStream metadata was created and run appimagetool one more time:

    Thank goodness, the AppImage is still created...

  2. Let's enable appstream-util again, just to see how it groks that line:

    sudo mv /usr/bin/appstream-util{___ko,}

    Fantastic!, now you again get no AppImage, but you are entertained with a different message:

    Using architecture x86_64
    /home/kp/AppDirs/foo-squashfs-root should be packaged as ../foo.AppImage
    AppStream upstream metadata found in usr/share/metainfo/foo.appdata.xml
    W - foo.appdata.xml:org.oneapplication.foo.desktop:35
        Found invalid tag: 'launchable'. Non-standard tags must be prefixed with "x-".
    
    W - foo.appdata.xml:org.oneapplication.foo.desktop
        The metainfo filename does not match the component ID.
    
    Validation failed: warnings: 2
    Failed to validate AppStream information with appstreamcli

    Don't you also love it, if you follow the Freedesktop recommendations for tag names, and then a Freedesktop-recommended tool tells you that you have to re-name the tag to prefix it with an "x-"?

probonopd commented 6 years ago

cc @ximion

probonopd commented 6 years ago

AppStream template has been generated in in /home/kp/AppDirs/foo-squashfs-root/usr/share/metainfo/foo.appdata.xml, please edit it

This does no good, I had removed it recently: https://github.com/AppImage/AppImageKit/commit/9bf83bd39b02b40147857a673ae68b944421585d#diff-22b5078e6286ae2bb4ef0316fd695255

probonopd commented 6 years ago

Validation failed: warnings: 1

@ximion is there a way to exit with 0 when there are no errors but some warnings?

KurtPfeifle commented 6 years ago

I also manually did run appstream-util validate and appstreamcli validate against the same `.appdata.xml`* file(s). So far I didn't have the time to document these results in detail. However:

  1. I couldn't get both tools to agree upon one version of an `.appdata.xml`* file which was "perfect" so none of them complained.
  2. This may well be because my Debian Stretch's version of the tools (appstream-util: 0.6.8-1 and appstream: 0.10.6-2) has one of the two as a buggy version.
  3. If "2." is the case, we sh/could build AppImages from both in their latest, bug-free version and use these to validate AppStream data, as well as offer them for download and recommend to use them for validations to the public.
probonopd commented 6 years ago

And worst, the most recent versions of those tools will require the very latest glibc and will hence not run on older systems... whereas we tell people to always develop using the oldest still-supported LTS distributions in order to increase compatibility. Hence I suggested an online syntax checker.

ximion commented 6 years ago

To me, everything looks like it works as intended - just the original AppStream file was wrong, and there is obviously a bug in the version of appstream-util used (the GLib-CRITICAL **: g_ptr_array_set_size: assertion issue - that's a bug).

So resolve the confusion: You should have a org.oneapplication.foo.metainfo.xml (or .appdata.xml) file installed in /usr/share/metainfo/ with an accompanying /usr/share/applications/org.oneapplication.foo.desktop file. The <id/> tag in the metainfo file should be set to org.oneapplication.foo.desktop. If your appstreamcli version is recent enough, you ideally should use a <launchable/> tag and remove the .desktop suffix from the ID, but that isn't an essential thing.

@KurtPfeifle For your point 9. your version of appstreamcli is indeed too old - everything else should work though.

I couldn't get both tools to agree upon one version of an *.appdata.xml file which was "perfect" so none of them complained.

Can you tell me what they complained about? That would be helpful. The appstream-util tool is usually very restrictive in what it considers "valid", failing even on style issues. The appstreamcli tool is a lot more forgiving, failing only on issues that make the data invalid or result in degraded information that can be extracted from the files.

@probonopd If a metainfo file produces warnings or errors when validated, it isn't valid and therefore we exist with a status > 0. An error means are violation of the specification of some kind, or an issue that renders the metainfo file completely invalid so no information can be read from it. A warning means that while we can get some information out, there is an issue that prevents fetching certain information (could e.g. be a typo in a tag name) and those should be caught and fixed by the user. Therefore, validation fails. Issues of type "info" are more nice-to-have things or stuff that can improve the metadata, but doesn't make the file invalid. A "pedantic" hint is in case you want to go the extra mile to make the data perfect, or for experimental validation that doesn't always apply for every file.

I do wonder whether it makes sense to only validate with one utility here, or allow to define which one is used (e.g. appstreamcli by default, appstream-util on manual request). Also, it appears there is an issue in how AppImageKit installs (or doesn't install) the metainfo files, because apparently the validators weren't able to find the metainfo file in a few occasions.

KurtPfeifle commented 6 years ago

For everyone who wants to verify the validity and compliance of the appstream metadata files on his own system, here is how I examined one of my own systems, a Debian Stretch (v9.3).

appstreamcli validate

First I used appstreamcli validate to loop through all the AppStream .xml files:

appstreamcli --version
AppStream CLI tool version: 0.10.6

for i in /usr/share/metainfo/*.xml ; do
     appstreamcli validate $i >/dev/null 2>&1\
         && printf "%135s\n" "$i validation with appstreamcli .... SUCCESS"\
         || printf "%130s\n" "$i validation with appstreamcli .... not OK" ; 
done

On this system, I have a total of 84 appdata.xml or metainfo.xml files. Only 14 are passing the test. 70 are failing. That's a failure:success rate of 5:1 in favour of failure. So much for the fruits all these multi-year long efforts regarding AppStream metadata are bearing at the current point in time...

                                                   /usr/share/metainfo/marble.appdata.xml validation with appstreamcli .... not OK
                               /usr/share/metainfo/org.freedesktop.appstream.cli.metainfo.xml validation with appstreamcli .... SUCCESS
                                        /usr/share/metainfo/org.kde.akregator.appdata.xml validation with appstreamcli .... not OK
                                                /usr/share/metainfo/org.kde.apper.appdata.xml validation with appstreamcli .... SUCCESS
                                                  /usr/share/metainfo/org.kde.ark.appdata.xml validation with appstreamcli .... SUCCESS
                               /usr/share/metainfo/org.kde.desktopcontainment.appdata.xml validation with appstreamcli .... not OK
                                   /usr/share/metainfo/org.kde.desktoptoolbox.appdata.xml validation with appstreamcli .... not OK
                                             /usr/share/metainfo/org.kde.discover.appdata.xml validation with appstreamcli .... SUCCESS
                                 /usr/share/metainfo/org.kde.discovernotifier.appdata.xml validation with appstreamcli .... not OK
                                              /usr/share/metainfo/org.kde.dolphin.appdata.xml validation with appstreamcli .... SUCCESS
                                         /usr/share/metainfo/org.kde.gwenview.appdata.xml validation with appstreamcli .... not OK
                                                 /usr/share/metainfo/org.kde.Help.appdata.xml validation with appstreamcli .... SUCCESS
                                         /usr/share/metainfo/org.kde.hunyango.appdata.xml validation with appstreamcli .... not OK
                                                  /usr/share/metainfo/org.kde.juk.appdata.xml validation with appstreamcli .... SUCCESS
                               /usr/share/metainfo/org.kde.kaccounts.owncloud.appdata.xml validation with appstreamcli .... not OK
                                     /usr/share/metainfo/org.kde.kaddressbook.appdata.xml validation with appstreamcli .... not OK
                                                 /usr/share/metainfo/org.kde.kate.appdata.xml validation with appstreamcli .... SUCCESS
                                   /usr/share/metainfo/org.kde.kdeconnect.kcm.appdata.xml validation with appstreamcli .... not OK
                                            /usr/share/metainfo/org.kde.kmail.appdata.xml validation with appstreamcli .... not OK
                                           /usr/share/metainfo/org.kde.knotes.appdata.xml validation with appstreamcli .... not OK
                                              /usr/share/metainfo/org.kde.konsole.appdata.xml validation with appstreamcli .... SUCCESS
                                       /usr/share/metainfo/org.kde.korganizer.appdata.xml validation with appstreamcli .... not OK
                                               /usr/share/metainfo/org.kde.kwrite.appdata.xml validation with appstreamcli .... SUCCESS
                                            /usr/share/metainfo/org.kde.milou.appdata.xml validation with appstreamcli .... not OK
                                        /usr/share/metainfo/org.kde.oxygen-fonts.metainfo.xml validation with appstreamcli .... SUCCESS
                                            /usr/share/metainfo/org.kde.panel.appdata.xml validation with appstreamcli .... not OK
                                     /usr/share/metainfo/org.kde.paneltoolbox.appdata.xml validation with appstreamcli .... not OK
                                     /usr/share/metainfo/org.kde.PartitionManager.appdata.xml validation with appstreamcli .... SUCCESS
                               /usr/share/metainfo/org.kde.plasma.activitybar.appdata.xml validation with appstreamcli .... not OK
                               /usr/share/metainfo/org.kde.plasma.analogclock.appdata.xml validation with appstreamcli .... not OK
                                   /usr/share/metainfo/org.kde.plasma.battery.appdata.xml validation with appstreamcli .... not OK
                                 /usr/share/metainfo/org.kde.plasma.bluetooth.appdata.xml validation with appstreamcli .... not OK
                                /usr/share/metainfo/org.kde.plasma.calculator.appdata.xml validation with appstreamcli .... not OK
                                  /usr/share/metainfo/org.kde.plasma.calendar.appdata.xml validation with appstreamcli .... not OK
                                 /usr/share/metainfo/org.kde.plasma.clipboard.appdata.xml validation with appstreamcli .... not OK
                               /usr/share/metainfo/org.kde.plasma.colorpicker.appdata.xml validation with appstreamcli .... not OK
                                     /usr/share/metainfo/org.kde.plasma.comic.appdata.xml validation with appstreamcli .... not OK
                                   /usr/share/metainfo/org.kde.plasma.desktop.appdata.xml validation with appstreamcli .... not OK
                      /usr/share/metainfo/org.kde.plasma.desktop.defaultPanel.appdata.xml validation with appstreamcli .... not OK
                        /usr/share/metainfo/org.kde.plasma.desktop.emptyPanel.appdata.xml validation with appstreamcli .... not OK
                            /usr/share/metainfo/org.kde.plasma.devicenotifier.appdata.xml validation with appstreamcli .... not OK
                              /usr/share/metainfo/org.kde.plasma.digitalclock.appdata.xml validation with appstreamcli .... not OK
                                 /usr/share/metainfo/org.kde.plasma.diskquota.appdata.xml validation with appstreamcli .... not OK
                             /usr/share/metainfo/org.kde.plasma.fifteenpuzzle.appdata.xml validation with appstreamcli .... not OK
                                /usr/share/metainfo/org.kde.plasma.fuzzyclock.appdata.xml validation with appstreamcli .... not OK
                                      /usr/share/metainfo/org.kde.plasma.icon.appdata.xml validation with appstreamcli .... not OK
                              /usr/share/metainfo/org.kde.plasma.katesessions.appdata.xml validation with appstreamcli .... not OK
                                    /usr/share/metainfo/org.kde.plasma.kicker.appdata.xml validation with appstreamcli .... not OK
                                   /usr/share/metainfo/org.kde.plasma.kickoff.appdata.xml validation with appstreamcli .... not OK
                                  /usr/share/metainfo/org.kde.plasma.kimpanel.appdata.xml validation with appstreamcli .... not OK
                               /usr/share/metainfo/org.kde.plasma.lock_logout.appdata.xml validation with appstreamcli .... not OK
                          /usr/share/metainfo/org.kde.plasma.mediacontroller.appdata.xml validation with appstreamcli .... not OK
                                /usr/share/metainfo/org.kde.plasma.mediaframe.appdata.xml validation with appstreamcli .... not OK
                               /usr/share/metainfo/org.kde.plasma.minimizeall.appdata.xml validation with appstreamcli .... not OK
                         /usr/share/metainfo/org.kde.plasma.networkmanagement.appdata.xml validation with appstreamcli .... not OK
                                     /usr/share/metainfo/org.kde.plasma.notes.appdata.xml validation with appstreamcli .... not OK
                             /usr/share/metainfo/org.kde.plasma.notifications.appdata.xml validation with appstreamcli .... not OK
                                     /usr/share/metainfo/org.kde.plasma.pager.appdata.xml validation with appstreamcli .... not OK
                               /usr/share/metainfo/org.kde.plasma.panelspacer.appdata.xml validation with appstreamcli .... not OK
                        /usr/share/metainfo/org.kde.plasma.private.systemtray.appdata.xml validation with appstreamcli .... not OK
                               /usr/share/metainfo/org.kde.plasma.quicklaunch.appdata.xml validation with appstreamcli .... not OK
                                /usr/share/metainfo/org.kde.plasma.quickshare.appdata.xml validation with appstreamcli .... not OK
                                         /usr/share/metainfo/org.kde.plasmashell.metainfo.xml validation with appstreamcli .... SUCCESS
                       /usr/share/metainfo/org.kde.plasma.showActivityManager.appdata.xml validation with appstreamcli .... not OK
                               /usr/share/metainfo/org.kde.plasma.showdesktop.appdata.xml validation with appstreamcli .... not OK
                          /usr/share/metainfo/org.kde.plasma.systemloadviewer.appdata.xml validation with appstreamcli .... not OK
                         /usr/share/metainfo/org.kde.plasma.systemmonitor.cpu.appdata.xml validation with appstreamcli .... not OK
                /usr/share/metainfo/org.kde.plasma.systemmonitor.diskactivity.appdata.xml validation with appstreamcli .... not OK
                   /usr/share/metainfo/org.kde.plasma.systemmonitor.diskusage.appdata.xml validation with appstreamcli .... not OK
                      /usr/share/metainfo/org.kde.plasma.systemmonitor.memory.appdata.xml validation with appstreamcli .... not OK
                         /usr/share/metainfo/org.kde.plasma.systemmonitor.net.appdata.xml validation with appstreamcli .... not OK
                                /usr/share/metainfo/org.kde.plasma.systemtray.appdata.xml validation with appstreamcli .... not OK
                               /usr/share/metainfo/org.kde.plasma.taskmanager.appdata.xml validation with appstreamcli .... not OK
                                     /usr/share/metainfo/org.kde.plasma.timer.appdata.xml validation with appstreamcli .... not OK
                                     /usr/share/metainfo/org.kde.plasma.trash.appdata.xml validation with appstreamcli .... not OK
                              /usr/share/metainfo/org.kde.plasma.userswitcher.appdata.xml validation with appstreamcli .... not OK
                                    /usr/share/metainfo/org.kde.plasma.volume.appdata.xml validation with appstreamcli .... not OK
                                   /usr/share/metainfo/org.kde.plasma.weather.appdata.xml validation with appstreamcli .... not OK
                                /usr/share/metainfo/org.kde.plasma.webbrowser.appdata.xml validation with appstreamcli .... not OK
                                /usr/share/metainfo/org.kde.plasma.windowlist.appdata.xml validation with appstreamcli .... not OK
                                        /usr/share/metainfo/org.kde.spectacle.appdata.xml validation with appstreamcli .... not OK
                                          /usr/share/metainfo/org.kde.yakuake.appdata.xml validation with appstreamcli .... not OK
                                              /usr/share/metainfo/org.winehq.wine.appdata.xml validation with appstreamcli .... SUCCESS
                                                  /usr/share/metainfo/scribus.appdata.xml validation with appstreamcli .... not OK

appstream-util validate

Now the same real-life bulk test with appstream-util. NONE of the files pass that test:

appstream-util --version
Version:        0.6.8

for i in /usr/share/metainfo/*.xml ; do
     appstream-util validate $i >/dev/null 2>&1\
         && printf "%135s\n" "$i validation with appstream-util .... SUCCESS"\
         || printf "%130s\n" "$i validation with appstream-util .... not OK" ; 
done

                                                 /usr/share/metainfo/marble.appdata.xml validation with appstream-util .... not OK
                         /usr/share/metainfo/org.freedesktop.appstream.cli.metainfo.xml validation with appstream-util .... not OK
                                      /usr/share/metainfo/org.kde.akregator.appdata.xml validation with appstream-util .... not OK
                                          /usr/share/metainfo/org.kde.apper.appdata.xml validation with appstream-util .... not OK
                                            /usr/share/metainfo/org.kde.ark.appdata.xml validation with appstream-util .... not OK
                             /usr/share/metainfo/org.kde.desktopcontainment.appdata.xml validation with appstream-util .... not OK
                                 /usr/share/metainfo/org.kde.desktoptoolbox.appdata.xml validation with appstream-util .... not OK
                                       /usr/share/metainfo/org.kde.discover.appdata.xml validation with appstream-util .... not OK
                               /usr/share/metainfo/org.kde.discovernotifier.appdata.xml validation with appstream-util .... not OK
                                        /usr/share/metainfo/org.kde.dolphin.appdata.xml validation with appstream-util .... not OK
                                       /usr/share/metainfo/org.kde.gwenview.appdata.xml validation with appstream-util .... not OK
                                           /usr/share/metainfo/org.kde.Help.appdata.xml validation with appstream-util .... not OK
                                       /usr/share/metainfo/org.kde.hunyango.appdata.xml validation with appstream-util .... not OK
                                            /usr/share/metainfo/org.kde.juk.appdata.xml validation with appstream-util .... not OK
                             /usr/share/metainfo/org.kde.kaccounts.owncloud.appdata.xml validation with appstream-util .... not OK
                                   /usr/share/metainfo/org.kde.kaddressbook.appdata.xml validation with appstream-util .... not OK
                                           /usr/share/metainfo/org.kde.kate.appdata.xml validation with appstream-util .... not OK
                                 /usr/share/metainfo/org.kde.kdeconnect.kcm.appdata.xml validation with appstream-util .... not OK
                                          /usr/share/metainfo/org.kde.kmail.appdata.xml validation with appstream-util .... not OK
                                         /usr/share/metainfo/org.kde.knotes.appdata.xml validation with appstream-util .... not OK
                                        /usr/share/metainfo/org.kde.konsole.appdata.xml validation with appstream-util .... not OK
                                     /usr/share/metainfo/org.kde.korganizer.appdata.xml validation with appstream-util .... not OK
                                         /usr/share/metainfo/org.kde.kwrite.appdata.xml validation with appstream-util .... not OK
                                          /usr/share/metainfo/org.kde.milou.appdata.xml validation with appstream-util .... not OK
                                  /usr/share/metainfo/org.kde.oxygen-fonts.metainfo.xml validation with appstream-util .... not OK
                                          /usr/share/metainfo/org.kde.panel.appdata.xml validation with appstream-util .... not OK
                                   /usr/share/metainfo/org.kde.paneltoolbox.appdata.xml validation with appstream-util .... not OK
                               /usr/share/metainfo/org.kde.PartitionManager.appdata.xml validation with appstream-util .... not OK
                             /usr/share/metainfo/org.kde.plasma.activitybar.appdata.xml validation with appstream-util .... not OK
                             /usr/share/metainfo/org.kde.plasma.analogclock.appdata.xml validation with appstream-util .... not OK
                                 /usr/share/metainfo/org.kde.plasma.battery.appdata.xml validation with appstream-util .... not OK
                               /usr/share/metainfo/org.kde.plasma.bluetooth.appdata.xml validation with appstream-util .... not OK
                              /usr/share/metainfo/org.kde.plasma.calculator.appdata.xml validation with appstream-util .... not OK
                                /usr/share/metainfo/org.kde.plasma.calendar.appdata.xml validation with appstream-util .... not OK
                               /usr/share/metainfo/org.kde.plasma.clipboard.appdata.xml validation with appstream-util .... not OK
                             /usr/share/metainfo/org.kde.plasma.colorpicker.appdata.xml validation with appstream-util .... not OK
                                   /usr/share/metainfo/org.kde.plasma.comic.appdata.xml validation with appstream-util .... not OK
                                 /usr/share/metainfo/org.kde.plasma.desktop.appdata.xml validation with appstream-util .... not OK
                    /usr/share/metainfo/org.kde.plasma.desktop.defaultPanel.appdata.xml validation with appstream-util .... not OK
                      /usr/share/metainfo/org.kde.plasma.desktop.emptyPanel.appdata.xml validation with appstream-util .... not OK
                          /usr/share/metainfo/org.kde.plasma.devicenotifier.appdata.xml validation with appstream-util .... not OK
                            /usr/share/metainfo/org.kde.plasma.digitalclock.appdata.xml validation with appstream-util .... not OK
                               /usr/share/metainfo/org.kde.plasma.diskquota.appdata.xml validation with appstream-util .... not OK
                           /usr/share/metainfo/org.kde.plasma.fifteenpuzzle.appdata.xml validation with appstream-util .... not OK
                              /usr/share/metainfo/org.kde.plasma.fuzzyclock.appdata.xml validation with appstream-util .... not OK
                                    /usr/share/metainfo/org.kde.plasma.icon.appdata.xml validation with appstream-util .... not OK
                            /usr/share/metainfo/org.kde.plasma.katesessions.appdata.xml validation with appstream-util .... not OK
                                  /usr/share/metainfo/org.kde.plasma.kicker.appdata.xml validation with appstream-util .... not OK
                                 /usr/share/metainfo/org.kde.plasma.kickoff.appdata.xml validation with appstream-util .... not OK
                                /usr/share/metainfo/org.kde.plasma.kimpanel.appdata.xml validation with appstream-util .... not OK
                             /usr/share/metainfo/org.kde.plasma.lock_logout.appdata.xml validation with appstream-util .... not OK
                         /usr/share/metainfo/org.kde.plasma.mediacontroller.appdata.xml validation with appstream-util .... not OK
                              /usr/share/metainfo/org.kde.plasma.mediaframe.appdata.xml validation with appstream-util .... not OK
                             /usr/share/metainfo/org.kde.plasma.minimizeall.appdata.xml validation with appstream-util .... not OK
                       /usr/share/metainfo/org.kde.plasma.networkmanagement.appdata.xml validation with appstream-util .... not OK
                                   /usr/share/metainfo/org.kde.plasma.notes.appdata.xml validation with appstream-util .... not OK
                           /usr/share/metainfo/org.kde.plasma.notifications.appdata.xml validation with appstream-util .... not OK
                                   /usr/share/metainfo/org.kde.plasma.pager.appdata.xml validation with appstream-util .... not OK
                             /usr/share/metainfo/org.kde.plasma.panelspacer.appdata.xml validation with appstream-util .... not OK
                      /usr/share/metainfo/org.kde.plasma.private.systemtray.appdata.xml validation with appstream-util .... not OK
                             /usr/share/metainfo/org.kde.plasma.quicklaunch.appdata.xml validation with appstream-util .... not OK
                              /usr/share/metainfo/org.kde.plasma.quickshare.appdata.xml validation with appstream-util .... not OK
                                   /usr/share/metainfo/org.kde.plasmashell.metainfo.xml validation with appstream-util .... not OK
                     /usr/share/metainfo/org.kde.plasma.showActivityManager.appdata.xml validation with appstream-util .... not OK
                             /usr/share/metainfo/org.kde.plasma.showdesktop.appdata.xml validation with appstream-util .... not OK
                        /usr/share/metainfo/org.kde.plasma.systemloadviewer.appdata.xml validation with appstream-util .... not OK
                       /usr/share/metainfo/org.kde.plasma.systemmonitor.cpu.appdata.xml validation with appstream-util .... not OK
              /usr/share/metainfo/org.kde.plasma.systemmonitor.diskactivity.appdata.xml validation with appstream-util .... not OK
                 /usr/share/metainfo/org.kde.plasma.systemmonitor.diskusage.appdata.xml validation with appstream-util .... not OK
                    /usr/share/metainfo/org.kde.plasma.systemmonitor.memory.appdata.xml validation with appstream-util .... not OK
                       /usr/share/metainfo/org.kde.plasma.systemmonitor.net.appdata.xml validation with appstream-util .... not OK
                              /usr/share/metainfo/org.kde.plasma.systemtray.appdata.xml validation with appstream-util .... not OK
                             /usr/share/metainfo/org.kde.plasma.taskmanager.appdata.xml validation with appstream-util .... not OK
                                   /usr/share/metainfo/org.kde.plasma.timer.appdata.xml validation with appstream-util .... not OK
                                   /usr/share/metainfo/org.kde.plasma.trash.appdata.xml validation with appstream-util .... not OK
                            /usr/share/metainfo/org.kde.plasma.userswitcher.appdata.xml validation with appstream-util .... not OK
                                  /usr/share/metainfo/org.kde.plasma.volume.appdata.xml validation with appstream-util .... not OK
                                 /usr/share/metainfo/org.kde.plasma.weather.appdata.xml validation with appstream-util .... not OK
                              /usr/share/metainfo/org.kde.plasma.webbrowser.appdata.xml validation with appstream-util .... not OK
                              /usr/share/metainfo/org.kde.plasma.windowlist.appdata.xml validation with appstream-util .... not OK
                                      /usr/share/metainfo/org.kde.spectacle.appdata.xml validation with appstream-util .... not OK
                                        /usr/share/metainfo/org.kde.yakuake.appdata.xml validation with appstream-util .... not OK
                                        /usr/share/metainfo/org.winehq.wine.appdata.xml validation with appstream-util .... not OK
                                                /usr/share/metainfo/scribus.appdata.xml validation with appstream-util .... not OK

None of the 84 .xml files are valid according to this tool.

appstream-util validate-relax

Using the validate-relax sub-command lets it look a little bit more friendly. "SUCCESS" for 32 files, "not OK" for 52 files:

for i in /usr/share/metainfo/*.xml ; do
     appstream-util validate-relax $i >/dev/null 2>&1\
         && printf "%135s\n" "$i 'relaxed' validation with appstream-util .... SUCCESS"\
         || printf "%130s\n" "$i 'relaxed' validation with appstream-util .... not OK" ; 
done

                                           /usr/share/metainfo/marble.appdata.xml 'relaxed' validation with appstream-util .... SUCCESS
               /usr/share/metainfo/org.freedesktop.appstream.cli.metainfo.xml 'relaxed' validation with appstream-util .... not OK
                            /usr/share/metainfo/org.kde.akregator.appdata.xml 'relaxed' validation with appstream-util .... not OK
                                    /usr/share/metainfo/org.kde.apper.appdata.xml 'relaxed' validation with appstream-util .... SUCCESS
                                      /usr/share/metainfo/org.kde.ark.appdata.xml 'relaxed' validation with appstream-util .... SUCCESS
                       /usr/share/metainfo/org.kde.desktopcontainment.appdata.xml 'relaxed' validation with appstream-util .... SUCCESS
                       /usr/share/metainfo/org.kde.desktoptoolbox.appdata.xml 'relaxed' validation with appstream-util .... not OK
                                 /usr/share/metainfo/org.kde.discover.appdata.xml 'relaxed' validation with appstream-util .... SUCCESS
                     /usr/share/metainfo/org.kde.discovernotifier.appdata.xml 'relaxed' validation with appstream-util .... not OK
                                  /usr/share/metainfo/org.kde.dolphin.appdata.xml 'relaxed' validation with appstream-util .... SUCCESS
                             /usr/share/metainfo/org.kde.gwenview.appdata.xml 'relaxed' validation with appstream-util .... not OK
                                     /usr/share/metainfo/org.kde.Help.appdata.xml 'relaxed' validation with appstream-util .... SUCCESS
                             /usr/share/metainfo/org.kde.hunyango.appdata.xml 'relaxed' validation with appstream-util .... not OK
                                      /usr/share/metainfo/org.kde.juk.appdata.xml 'relaxed' validation with appstream-util .... SUCCESS
                   /usr/share/metainfo/org.kde.kaccounts.owncloud.appdata.xml 'relaxed' validation with appstream-util .... not OK
                         /usr/share/metainfo/org.kde.kaddressbook.appdata.xml 'relaxed' validation with appstream-util .... not OK
                                     /usr/share/metainfo/org.kde.kate.appdata.xml 'relaxed' validation with appstream-util .... SUCCESS
                           /usr/share/metainfo/org.kde.kdeconnect.kcm.appdata.xml 'relaxed' validation with appstream-util .... SUCCESS
                                /usr/share/metainfo/org.kde.kmail.appdata.xml 'relaxed' validation with appstream-util .... not OK
                               /usr/share/metainfo/org.kde.knotes.appdata.xml 'relaxed' validation with appstream-util .... not OK
                                  /usr/share/metainfo/org.kde.konsole.appdata.xml 'relaxed' validation with appstream-util .... SUCCESS
                           /usr/share/metainfo/org.kde.korganizer.appdata.xml 'relaxed' validation with appstream-util .... not OK
                                   /usr/share/metainfo/org.kde.kwrite.appdata.xml 'relaxed' validation with appstream-util .... SUCCESS
                                /usr/share/metainfo/org.kde.milou.appdata.xml 'relaxed' validation with appstream-util .... not OK
                            /usr/share/metainfo/org.kde.oxygen-fonts.metainfo.xml 'relaxed' validation with appstream-util .... SUCCESS
                                /usr/share/metainfo/org.kde.panel.appdata.xml 'relaxed' validation with appstream-util .... not OK
                         /usr/share/metainfo/org.kde.paneltoolbox.appdata.xml 'relaxed' validation with appstream-util .... not OK
                         /usr/share/metainfo/org.kde.PartitionManager.appdata.xml 'relaxed' validation with appstream-util .... SUCCESS
                   /usr/share/metainfo/org.kde.plasma.activitybar.appdata.xml 'relaxed' validation with appstream-util .... not OK
                   /usr/share/metainfo/org.kde.plasma.analogclock.appdata.xml 'relaxed' validation with appstream-util .... not OK
                           /usr/share/metainfo/org.kde.plasma.battery.appdata.xml 'relaxed' validation with appstream-util .... SUCCESS
                     /usr/share/metainfo/org.kde.plasma.bluetooth.appdata.xml 'relaxed' validation with appstream-util .... not OK
                        /usr/share/metainfo/org.kde.plasma.calculator.appdata.xml 'relaxed' validation with appstream-util .... SUCCESS
                      /usr/share/metainfo/org.kde.plasma.calendar.appdata.xml 'relaxed' validation with appstream-util .... not OK
                     /usr/share/metainfo/org.kde.plasma.clipboard.appdata.xml 'relaxed' validation with appstream-util .... not OK
                   /usr/share/metainfo/org.kde.plasma.colorpicker.appdata.xml 'relaxed' validation with appstream-util .... not OK
                             /usr/share/metainfo/org.kde.plasma.comic.appdata.xml 'relaxed' validation with appstream-util .... SUCCESS
                           /usr/share/metainfo/org.kde.plasma.desktop.appdata.xml 'relaxed' validation with appstream-util .... SUCCESS
          /usr/share/metainfo/org.kde.plasma.desktop.defaultPanel.appdata.xml 'relaxed' validation with appstream-util .... not OK
            /usr/share/metainfo/org.kde.plasma.desktop.emptyPanel.appdata.xml 'relaxed' validation with appstream-util .... not OK
                /usr/share/metainfo/org.kde.plasma.devicenotifier.appdata.xml 'relaxed' validation with appstream-util .... not OK
                  /usr/share/metainfo/org.kde.plasma.digitalclock.appdata.xml 'relaxed' validation with appstream-util .... not OK
                     /usr/share/metainfo/org.kde.plasma.diskquota.appdata.xml 'relaxed' validation with appstream-util .... not OK
                 /usr/share/metainfo/org.kde.plasma.fifteenpuzzle.appdata.xml 'relaxed' validation with appstream-util .... not OK
                    /usr/share/metainfo/org.kde.plasma.fuzzyclock.appdata.xml 'relaxed' validation with appstream-util .... not OK
                              /usr/share/metainfo/org.kde.plasma.icon.appdata.xml 'relaxed' validation with appstream-util .... SUCCESS
                  /usr/share/metainfo/org.kde.plasma.katesessions.appdata.xml 'relaxed' validation with appstream-util .... not OK
                        /usr/share/metainfo/org.kde.plasma.kicker.appdata.xml 'relaxed' validation with appstream-util .... not OK
                       /usr/share/metainfo/org.kde.plasma.kickoff.appdata.xml 'relaxed' validation with appstream-util .... not OK
                      /usr/share/metainfo/org.kde.plasma.kimpanel.appdata.xml 'relaxed' validation with appstream-util .... not OK
                       /usr/share/metainfo/org.kde.plasma.lock_logout.appdata.xml 'relaxed' validation with appstream-util .... SUCCESS
                   /usr/share/metainfo/org.kde.plasma.mediacontroller.appdata.xml 'relaxed' validation with appstream-util .... SUCCESS
                        /usr/share/metainfo/org.kde.plasma.mediaframe.appdata.xml 'relaxed' validation with appstream-util .... SUCCESS
                       /usr/share/metainfo/org.kde.plasma.minimizeall.appdata.xml 'relaxed' validation with appstream-util .... SUCCESS
             /usr/share/metainfo/org.kde.plasma.networkmanagement.appdata.xml 'relaxed' validation with appstream-util .... not OK
                         /usr/share/metainfo/org.kde.plasma.notes.appdata.xml 'relaxed' validation with appstream-util .... not OK
                 /usr/share/metainfo/org.kde.plasma.notifications.appdata.xml 'relaxed' validation with appstream-util .... not OK
                             /usr/share/metainfo/org.kde.plasma.pager.appdata.xml 'relaxed' validation with appstream-util .... SUCCESS
                       /usr/share/metainfo/org.kde.plasma.panelspacer.appdata.xml 'relaxed' validation with appstream-util .... SUCCESS
            /usr/share/metainfo/org.kde.plasma.private.systemtray.appdata.xml 'relaxed' validation with appstream-util .... not OK
                   /usr/share/metainfo/org.kde.plasma.quicklaunch.appdata.xml 'relaxed' validation with appstream-util .... not OK
                    /usr/share/metainfo/org.kde.plasma.quickshare.appdata.xml 'relaxed' validation with appstream-util .... not OK
                         /usr/share/metainfo/org.kde.plasmashell.metainfo.xml 'relaxed' validation with appstream-util .... not OK
           /usr/share/metainfo/org.kde.plasma.showActivityManager.appdata.xml 'relaxed' validation with appstream-util .... not OK
                       /usr/share/metainfo/org.kde.plasma.showdesktop.appdata.xml 'relaxed' validation with appstream-util .... SUCCESS
              /usr/share/metainfo/org.kde.plasma.systemloadviewer.appdata.xml 'relaxed' validation with appstream-util .... not OK
             /usr/share/metainfo/org.kde.plasma.systemmonitor.cpu.appdata.xml 'relaxed' validation with appstream-util .... not OK
        /usr/share/metainfo/org.kde.plasma.systemmonitor.diskactivity.appdata.xml 'relaxed' validation with appstream-util .... SUCCESS
           /usr/share/metainfo/org.kde.plasma.systemmonitor.diskusage.appdata.xml 'relaxed' validation with appstream-util .... SUCCESS
              /usr/share/metainfo/org.kde.plasma.systemmonitor.memory.appdata.xml 'relaxed' validation with appstream-util .... SUCCESS
                 /usr/share/metainfo/org.kde.plasma.systemmonitor.net.appdata.xml 'relaxed' validation with appstream-util .... SUCCESS
                    /usr/share/metainfo/org.kde.plasma.systemtray.appdata.xml 'relaxed' validation with appstream-util .... not OK
                       /usr/share/metainfo/org.kde.plasma.taskmanager.appdata.xml 'relaxed' validation with appstream-util .... SUCCESS
                         /usr/share/metainfo/org.kde.plasma.timer.appdata.xml 'relaxed' validation with appstream-util .... not OK
                         /usr/share/metainfo/org.kde.plasma.trash.appdata.xml 'relaxed' validation with appstream-util .... not OK
                  /usr/share/metainfo/org.kde.plasma.userswitcher.appdata.xml 'relaxed' validation with appstream-util .... not OK
                        /usr/share/metainfo/org.kde.plasma.volume.appdata.xml 'relaxed' validation with appstream-util .... not OK
                       /usr/share/metainfo/org.kde.plasma.weather.appdata.xml 'relaxed' validation with appstream-util .... not OK
                    /usr/share/metainfo/org.kde.plasma.webbrowser.appdata.xml 'relaxed' validation with appstream-util .... not OK
                    /usr/share/metainfo/org.kde.plasma.windowlist.appdata.xml 'relaxed' validation with appstream-util .... not OK
                            /usr/share/metainfo/org.kde.spectacle.appdata.xml 'relaxed' validation with appstream-util .... not OK
                                  /usr/share/metainfo/org.kde.yakuake.appdata.xml 'relaxed' validation with appstream-util .... SUCCESS
                              /usr/share/metainfo/org.winehq.wine.appdata.xml 'relaxed' validation with appstream-util .... not OK
                                      /usr/share/metainfo/scribus.appdata.xml 'relaxed' validation with appstream-util .... not OK
KurtPfeifle commented 6 years ago

@ximion wrote:

"@KurtPfeifle For your point 9. your version of appstreamcli is indeed too old"

Well, it is the version shipping with Debian Stretch (v9.3) with all the current updates applied.

"Can you tell me what they complained about? That would be helpful."

Sorry, not right now any more.

I have fiddled around a lot with these files in that process, but didn't use a Git repository for versioning them.

But quite a few editing steps can be re-constructed from my report above, no?

But since I'll be re-visiting this topic over the next few weeks from time to time, I'll try to keep better track of this and provide more details.

However, take a look at my previous comment above and spot the results of, for example, /usr/share/metainfo/org.winehq.wine.appdata.xml:

  1. appstreamcli validate says 'SUCCESS'
  2. appstream-util validate says 'not OK'
  3. appstream-util validate-relax says 'not OK'

Details:

$~>  appstreamcli validate /usr/share/metainfo/org.winehq.wine.appdata.xml
Validation was successful.

$~>  appstream-util validate-relaxed /usr/share/metainfo/org.winehq.wine.appdata.xml
/usr/share/metainfo/org.winehq.wine.appdata.xml: FAILED:
• markup-invalid        : <id> does not have correct extension for kind
• tag-invalid           : <icon> not allowed in desktop appdata
• tag-invalid           : stock icon is not valid [wine-stable]
Validation of files failed

$~>  appstream-util validate /usr/share/metainfo/org.winehq.wine.appdata.xml
/usr/share/metainfo/org.winehq.wine.appdata.xml: FAILED:
• markup-invalid        : <id> does not have correct extension for kind
• tag-missing           : <translation> not specified
• tag-invalid           : <icon> not allowed in desktop appdata
• tag-missing           : <update_contact> is not present
• style-invalid         : Not enough <screenshot> tags
• tag-invalid           : stock icon is not valid [wine-stable]
• style-invalid         : <p> is too short [A few more cards added to the GPU description table.]
• style-invalid         : <p> is too short [Turkish translation updates.]
Validation of files failed

$~>  appstream-util validate-strict /usr/share/metainfo/org.winehq.wine.appdata.xml
/usr/share/metainfo/org.winehq.wine.appdata.xml: FAILED:
• markup-invalid        : <id> does not have correct extension for kind
• tag-missing           : <translation> not specified
• tag-invalid           : <icon> not allowed in desktop appdata
• tag-missing           : <update_contact> is not present
• style-invalid         : Not enough <screenshot> tags
• tag-invalid           : stock icon is not valid [wine-stable]
• style-invalid         : <p> is too short [A few more cards added to the GPU description table.]
• style-invalid         : <p> is too short [Turkish translation updates.]
• translations-required  : <name> has no translations
• translations-required  : <summary> has no translations
• translations-required  : <description> has no translations
Validation of files failed
ximion commented 6 years ago

For the appstreamcli case, using a newer version will help for sure, 0.10.6 is really old and might not know all the new tags - and as soon as someone uses a tag that appstreamcli doesn't know, the validation fails (this is very useful to prevent typos in well-known tag names, and to ensure people use the custom tag or prefixed tags for custom metadata).

For the wine case, appstream-util is simply wrong on all accounts (or rather, nothing of the issues mentioned there is actually a problem, they are mere recommendations). In part, this is because appstream-util is far too strict, and because it isn't up to date in that version.

(This is why I am thinking of starting to recommend using only appstreamcli, since that will show information about "nice to have" features, but not fail these cases (it only fails on warnings or errors) - appstream-util should for CI purposes only be used in relax mode, but even then it is sometimes a bit too pedantic)

KurtPfeifle commented 6 years ago

@ximion:

You just very convincingly argued the case for providing current versions of both these tools to me, provided as AppImages, so they could be used on any Linux system from the last few years, to get some consistent evaluation of existing or to be created .appdata.xml files....

probonopd commented 6 years ago

You just very convincingly argued the case for providing current versions of both these tools to me, provided as AppImages, so they could be used on any Linux system from the last few years, to get some consistent evaluation of existing or to be created .appdata.xml files....

https://github.com/ximion/appstream/issues/128

ximion commented 6 years ago

@KurtPfeifle I have nothing against someone providing current versions of the tools. There is a PPA for recent Ubuntu versions, and I think Simon has also made an AppImageKit bundle for it.

azubieta commented 5 years ago

Can we close this issue?

probonopd commented 5 years ago

No, as it is not solved. The mere passing of time without an acceptable solution is never a justification for closing anything imho.

har9862 commented 5 years ago

You just very convincingly argued the case for providing current versions of both these tools (...)

As a workaround to get a up-to-date version of appstream-util...

If you're not already using Flatpak, then first:

  1. Follow the Flatpak setup
  2. Install a current freedesktop runtime: flatpak install flathub org.freedesktop.Sdk/x86_64/18.08

Run it: flatpak run --filesystem=host --share=network org.freedesktop.Sdk//18.08

$ appstream-util --version Version: 0.7.14

Make sure that your file at least passes appstream-util validate-relax.

probonopd commented 5 years ago

Thanks for your suggestion but Flatpak does not work for me.

JulianGro commented 2 years ago

You can work around this issue by removing the appstream package from you system. (Worked on Ubuntu 18.04 at least)

Mailaender commented 2 years ago

This gets even more ridiculous

AppStream upstream metadata found in usr/share/metainfo/openhv.appdata.xml
Trying to validate AppStream information with the appstreamcli tool
In case of issues, please refer to https://github.com/ximion/appstream
W - openhv.appdata.xml:com.github.openhv
    The metainfo filename does not match the component ID.

Rename the file according to specs and now the validator can't find it:

WARNING: AppStream upstream metadata is missing, please consider creating it
         in usr/share/metainfo/openhv.appdata.xml
         Please see https://www.freedesktop.org/software/appstream/docs/chap-Quickstart.html#sect-Quickstart-DesktopApps
         for more information or use the generator at http://output.jsbin.com/qoqukof.

%{id}.metainfo.xml is also not detected, but that is a good way to turn off the nonsense as it fails the build on a warning.

ximion commented 2 years ago

@Mailaender That warning is not from AppStream - the file should be named /usr/share/metainfo/com.github.openhv.{metainfo|appdata}.xml, and apparently AppImage is looking for the wrong name. Maybe consider filing a new bug against AppImageKit?

buhtz commented 4 months ago

Can someone summarize the problem please. I don't get it.