probonopd / linuxdeployqt

Makes Linux applications self-contained by copying in the libraries and plugins that the application uses, and optionally generates an AppImage. Can be used for Qt and other applications
Other
2.2k stars 409 forks source link

problem with xml file #130

Closed JvanKatwijk closed 4 years ago

JvanKatwijk commented 7 years ago

This probably belongs to the appImage repository

Probably a triviality but I'm lost. I am creating an AppImage for an application (qt-dab) that I wrote. I managed to create an AppDir with the qt-dab.desktop, a qt-dab.png a usr/bin/qt-dab + all libraries and an AppRun that runs the application. The next step was running

jan@fedora-hp ~]$ AppImageKit/appimagetool.AppDir/usr/bin/appimagetool qt-dab.AppDir/ Arch: 86_64 DESTINATION not specified, so assuming qt-dab-x86_64.AppImage /home/jan/qt-dab.AppDir should be packaged as qt-dab-x86_64.AppImage AppStream upstream metadata found in usr/share/metainfo/qt-dab.appdata.xml E - qt-dab.appdata.xml:qt-dab.desktop Component metadata refers to a non-existing .desktop file.

W - qt-dab.appdata.xml:qt-dab.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.

The desktop file is named qt-dab.desktop, the xml file is named qt-dab.appdata.xml and whatever combination I make for the words "qt-dab" and desktop in the xml file I get then enlightening words: Component metadata refers to a non-existing .desktop file.

or, if I extend the id with a reversed url, e.g. tk.sdr-j, W - qt-dab.appdata.xml:tk.sdr-j.qt-dab.desktop The metainfo filename does not match the component ID.

E - qt-dab.appdata.xml:tk.sdr-j.qt-dab.desktop Component metadata refers to a non-existing .desktop file.

Summarizing: the desktopfile is named qt-dab.desktop the xml file is named qt-dab.appdata.xml I would have guessed that the id would be qt-dab.desktop, but that does not work

What am i doing wrong? best jan

probonopd commented 7 years ago

Where do you place these files?

usr/share/applications/qt-dab.desktop
usr/share/metainfo/qt-dab.appdata.xml

should work.

By the way, long time ago I sent a PR that would build this application on Travis CI as an AppImage: https://github.com/JvanKatwijk/qt-dab/pull/33

JvanKatwijk commented 7 years ago

Thanks for the quick reply. Still does not work. With the files on the places mentioned above I get [jan@fedora-hp ~]$ appimagetool qt-dab.AppDir/ Arch: 86_64 DESTINATION not specified, so assuming qt-dab-x86_64.AppImage /home/jan/qt-dab.AppDir should be packaged as qt-dab-x86_64.AppImage AppStream upstream metadata found in usr/share/metainfo/qt-dab.appdata.xml W - qt-dab.appdata.xml:qt-dab.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

I managed to create an AppImage with the -n option though.

I am completely unfamiliar with Travis CI, and I was not impressed by a site that started with "green eggs/ham", so I must admit that I ignored that. If it is useful I'll look into it.

The current objective is to create an AppImage for the RPI, seems easier than providing a Raspbian Image what I do now

Again, thanks for the quick reply, hope to hear from you about Travis CI best jan

2017-05-31 19:59 GMT+02:00 probonopd notifications@github.com:

Where do you place these files?

usr/share/applications/qt-dab.desktop usr/share/metainfo/qt-dab.appdata.xml

should work.

By the way, long time ago I sent a PR that would build this application on Travis CI as an AppImage: JvanKatwijk/qt-dab#33 https://github.com/JvanKatwijk/qt-dab/pull/33

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/probonopd/linuxdeployqt/issues/130#issuecomment-305267956, or mute the thread https://github.com/notifications/unsubscribe-auth/AITzwHh15brE5RvqIY1GbKxE-g32EFg9ks5r_aqAgaJpZM4Nrn5A .

-- Jan van Katwijk

+31 (0)15 3698980 +31 (0) 628260355

probonopd commented 7 years ago

You might be interested in using the Open Build Service which can produce 32-bit and 64-bit ARM AppImages.

More information: https://github.com/probonopd/AppImageKit/wiki/Using-Open-Build-Service

Example: https://build.opensuse.org/package/view_file/home:probono/Qactus/appimage.yml?expand=1

Background: https://speakerdeck.com/probonopd/opensuse-conference-2017-obs-b-appimage

probonopd commented 7 years ago

cc @ximion on the AppStream issue.

ximion commented 7 years ago

I think the errors/warnings are pretty self-explanatory... https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-id-generic on how to make an ID. The .desktop file was apparently found now on the second try.

JvanKatwijk commented 7 years ago

Thanks

I understand what - from a syntactical point of view - a reverse DNS scheme would look like, but I am afraid I fail to understand what the id then should be. Apparently it is not "qt-dab.desktop". I fail to understand where the DNS (either reversed or not) should relate to

2017-05-31 22:08 GMT+02:00 Matthias Klumpp notifications@github.com:

I think the errors/warnings are pretty self-explanatory... https://www.freedesktop.org/software/appstream/docs/chap- Metadata.html#tag-id-generic on how to make an ID. The .desktop file was apparently found now on the second try.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/probonopd/linuxdeployqt/issues/130#issuecomment-305301823, or mute the thread https://github.com/notifications/unsubscribe-auth/AITzwAXsUATA8UYN0_C8_u1fTR6bmCcuks5r_cisgaJpZM4Nrn5A .

-- Jan van Katwijk

+31 (0)15 3698980 +31 (0) 628260355

ximion commented 4 years ago

It's a rDNS of your domain name and the app. So the ID could for example be com.github.JvanKatwijk.qt-dab (in case it's on Github). Or be something like org.mozilla.Firefox. That really depends on the app. The rDNS scheme ensures IDs uniquely identify one software component.