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

Component metadata refers to a non-existing .desktop file. #56

Closed dridk closed 7 years ago

dridk commented 7 years ago

I m running on Linux 4.4 , kubuntu 16.04 And Qt 5.7 I have an error during the validation of metadata.. I just run the following line :

 linuxdeployqt FastQt -appimage -no-strip

I get a first error which say me to rename application name in default.appdata.xml. After doing this, I ran it again :

Here is my error :

build-FastQt-Desktop_Qt_5_7_0_GCC_64bit-Release linuxdeployqt FastQt -appimage -no-strip      
"/usr/local/bin/usr/bin:/home/sacha/Linux_data/Qt/5.7/gcc_64/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/sacha/Bioinfo/apps/bin:/home/sacha/miniconda3/bin"
app-binary: "FastQt"
WARNING: "./qt.conf" already exists, will not overwrite.
WARNING: To make sure the plugins are loaded from the correct location,
WARNING: please make sure qt.conf contains the following lines:
WARNING: [Paths]
WARNING:   Plugins = plugins
Desktop file: /media/sacha/Linux_data/dev/build-FastQt-Desktop_Qt_5_7_0_GCC_64bit-Release/default.desktop
Name: Application
Icon: default
Exec: AppRun %F
Comment: Edit this default file
Type: Application
Categories entry not found in desktop file
Categories: (null)
File used for determining architecture: /media/sacha/Linux_data/dev/build-FastQt-Desktop_Qt_5_7_0_GCC_64bit-Release/lib/libQt5Gui.so.5
Arch: 86_64
App name for filename: Application
dest_path: Application-x86_64.AppImage
DESTINATION not specified, so assuming Application-x86_64.AppImage
/media/sacha/Linux_data/dev/build-FastQt-Desktop_Qt_5_7_0_GCC_64bit-Release should be packaged as Application-x86_64.AppImage
AppStream upstream metadata found in usr/share/metainfo/default.appdata.xml
E - default.appdata.xml:default.desktop
    Component metadata refers to a non-existing .desktop file.

Validation failed.
Failed to validate AppStream information with appstreamcli

Here is the metafile :

<?xml version="1.0" encoding="UTF-8"?>
<component type="desktop">
  <id>default.desktop</id>
  <name>FastQt</name>
  <summary>Analyser of genomics FastQ file</summary>
  <developer_name>XXX: Insert Company or Developer Name</developer_name>
  <description>
  <p>
        tesr zjsdlf sdjf lisdfj slkfj flizae jfsldfj sd
sdlkfjsd lfksdj fsd zelr jsdlkf sjdf 
selkfjsd flksdfj eazr sdf sdf   
</p>
  <p>
   This should a second paragraph.
  </p>
</description>
  <metadata_license>XXX: Insert SPDX value here</metadata_license>
  <project_license>XXX: Insert SPDX value here</project_license>
  <url type="bugtracker">XXX: http://www.homepage.com/where-to-report_bug.html</url>
  <url type="donation">XXX: http://www.homepage.com/donation.html</url>
  <url type="faq">XXX: http://www.homepage.com/faq.html</url>
  <url type="help">XXX: http://www.homepage.com/docs/</url>
  <url type="homepage">XXX: http://www.homepage.com/</url>
  <screenshots>
    <screenshot type="default">
      <caption>XXX: Describe another screenshot</caption>
      <image height="630" width="1120">XXX: http://www.my-screenshot.png</image>
    </screenshot>
    <screenshot>
      <caption>XXX: Describe the default screenshot</caption>
      <image height="630" width="1120">XXX: http://www.my-screenshot-default.png</image>
    </screenshot>
  </screenshots>
</component>
probonopd commented 7 years ago

Assuming your application is called FastQt, you should create a fastqt.desktop file (e.g., rename and edit the default.desktop file that linuxdeployqt generates as an example). Then, you should have an usr/share/metainfo/fastqt.appdata.xml file which contains <id>fastqt.desktop</id>. As for the AppStream metafile itself, please consult https://www.freedesktop.org/software/appstream/docs/chap-Quickstart.html.

dridk commented 7 years ago

It doesn't work. Everything seems okay, but I keep this warning . Below is my shell record . With all set by default, it should works. But it doesn't . My default.desktop is here, but it seems it is looking somewhere else.

Record shell with asciinema

probonopd commented 7 years ago

Why is it saying

ERROR: Desktop file missing, creating a default one (you will probably want to edit it)
ERROR: Icon file missing, creating a default one (you will probably want to edit it)   

I don't see a fastqt.desktop but only a default.desktop (that gets autogenerated because fastqt.desktop is missing). Please rename default.desktop to fastqt.desktop.

dridk commented 7 years ago

I know that. But I assume with default files, it should generate a "default" application. If I rename like you said, I get the same error : See : https://asciinema.org/a/2uw6b7z4eaxtl2flxvh86gv80

dridk commented 7 years ago

But it's not relative to you..

    appimagetool .   

returns same error.. I have to find the clue from this side

probonopd commented 7 years ago

I spspect your directory layout may be wrong. Try running inside deploy/, the command linuxdeployqt fastqt/fastqt -appimage -no-strip and make sure the desktop file and metainfo are beneath the deploy/fastqt/ directory tree...

Would you be interested to enable Travis CI continuous builds for https://github.com/labsquare/fastQt?

probonopd commented 7 years ago

Also try supplying absolute paths to appimagetool.AppImage.

probonopd commented 7 years ago

Tried to compile fastQT, getting

-1: error: Unknown module(s) in QT: charts

dridk commented 7 years ago

It depends from Qt5.7 and QtCharts module

dridk commented 7 years ago

I success to make a package by ignoring verification. imagetool -n .