Closed lordofbikes closed 2 years ago
Thanks @lordofbikes
I found this when I tried to to silence the warning in LibreCAD AppImage creation.
But it makes things more worse :cry:.
Don't know how this is related to AppImage/AppImageKit#603, but it seems to be true for go-appimage
too.
First I provided the expected librecad.appimage.xml
, what results in:
Trying to validate AppStream information with the appstreamcli tool
ERROR appstreamcli: signal: segmentation fault (core dumped)
ERROR: AppStream metainfo file file contains errors. Please fix them. Please see https://www.freedesktop.org/software/appstream/docs/chap-Quickstart.html#sect-Quickstart-DesktopApps
In case of questions regarding the validation, please refer to https://github.com/ximion/appstream
I checked locally appstreamcli validate-tree appdir
with librecad.appimage.xml
:
librecad.appdata.xml
W: org.librecad.librecad:~: metainfo-filename-cid-mismatch
Validierung fehlgeschlagen: Warnhinweise: 1, Pedantisch: 1
appstreamcli
is version 0.12.10, called from shell gave this warning, but no seg fault.
Renaming librecad.appimage.xml
to org.librecad.librecad.appimage.xml
satisfied appstreamcli
:
~/Projekte/LibreCAD$ appstreamcli validate-tree appdir
org.librecad.librecad.appdata.xml
Validierung war erfolgreich: Pedantisch: 1
So org.librecad.librecad.appimage.xml
seems to be valid and the correct name.
But it is not recognized by go-appimage
.
Well, it seems like appstreamcli
inside the AppImage is entirely crashing on your machine on that file: ERROR appstreamcli: signal: segmentation fault (core dumped)
. Why might that be?
Unpack the appimagetool AppImage, and try using the appstreamcli contained therein directly on that AppStream file. Will it also segfault?
It's not only my local machine, it first appeared on our GitHub action run after pushing the correct named librecad.appdata.xml
. Then I tried local for diagnostic and got a seg fault too.
Using appstreamcli
from appimagetool-724-x86_64.AppImage
I got this:
~/Projekte/LibreCAD$ ../appimagetool/squashfs-root/usr/bin/appstreamcli --version
AppStream version: 0.12.9
~/Projekte/LibreCAD$ ../appimagetool/squashfs-root/usr/bin/appstreamcli validate-tree appdir
Speicherzugriffsfehler (Speicherabzug geschrieben)
~/Projekte/LibreCAD$ ../appimagetool/squashfs-root/usr/bin/appstreamcli validate appdir/usr/share/metainfo/org.librecad.librecad.appdata.xml
Speicherzugriffsfehler (Speicherabzug geschrieben)
My local appstreamcli
(0.12.10) doesn't seg fault:
~/Projekte/LibreCAD$ appstreamcli --version
AppStream-Version: 0.12.10
~/Projekte/LibreCAD$ appstreamcli validate-tree appdir
org.librecad.librecad.appdata.xml
Validierung war erfolgreich: Pedantisch: 1
~/Projekte/LibreCAD$ appstreamcli validate appdir/usr/share/metainfo/org.librecad.librecad.appdata.xml
Validierung war erfolgreich: Pedantisch: 1
This is the used appdata.xml: https://github.com/LibreCAD/LibreCAD/blob/master/desktop/org.librecad.librecad.appdata.xml
It is in appdir/usr/share/metainfo/
when appimagetool
is run.
I believe the GitHub action used previous appimagetool-722-x86_64.AppImage
.
Doesn't make any difference I think, just to be correct :wink:
The condition for the AppStream file checks
appdir/usr/share/metainfo/{APPLICATION}.appdata.xml
. But the warning requestedappdir/usr/share/metainfo/{APPLICATION}.desktop.appdata.xml
.Also the link to the
simple-appstream-generator
in this warning was dead.