Build RPM with AppStream data - not quite working in Software Center - help? #468
Replies: 5 comments 3 replies
-
I don't think this is an AppStream problem - your metadata looks perfectly fine and even validates cleanly with So, this is most certainly an issue with either GNOME Software or Fedora (or RHEL/CentOS or whatever OS you are using that uses dnf). Where did you install your icon to? (I noticed your app doesn't have an icon), and which version of Fedora and GNOME Software are you using? Potentially you'll need to file a bug with either of them. |
Beta Was this translation helpful? Give feedback.
-
Thank you for the reply. I'm running Fedora 37. I'm not convinced this is a Gnome Software issue (though it might be). I've tested the .rpm file for the KeepassXC popular app, for example. I've installed and removed it using dnf and the KeepassXC app works fine in Gnome Software. I've extracted its desktop and metainfo files and compared them with my own. I cannot see what I am doing wrong however! How strange! Bizarrely in my metainfo (above) file, I defined the Name of my app to be "HelloPuppy" (no space), but Gnome Software shows it as "Hello Puppy" with space. Presumably this is coming from the desktop file. The only thing I'm doing differently perhaps is that I'm installing my main application and all related files in its own directory under /opt/appname directory. I'm doing this because my app is a dotnet C# app which comes with a load of DLLs and associated runtime files. I am, however, put a small bash script file in /usr/bin to launch the app. So my RPM (below) is simply packing the output of the dotnet build. My meta info is here, including icons: /usr/share/applications/net.example.hellopuppy.desktop My Spec file:
|
Beta Was this translation helpful? Give feedback.
-
And to be clear -- if I install an app from the command line using For example, is the following line in desktop file relevant or necessary: X-AppInstall-Package=gnome-software I see the above in some packages? |
Beta Was this translation helpful? Give feedback.
-
All your metadata looks fine, I think you are really hitting a GNOME Software bug here. Please have a look at the verbose output of GS, that might give you a clue! However:
This is extremely odd! Have a look at your system and check if there isn't some old metadata somewhere else that interferes, for example in your user directory (
No, this was used by an old Ubuntu feature and precursor of AppStream and has not been in use for almost a decade. So you can just ignore this.
Yes - you should be able to remove it via GS, no matter how it was installed. |
Beta Was this translation helpful? Give feedback.
-
HI @ximion , not heard back. Despite debug from Gs, still not clear why this is failing. 00:03:50:768 Gs running launch on plugin=packagekit with dedupe-flags=7 with interactive=True on apps system///net.example.hellopuppy/* I don't know what this means? Likewise, I do not know why it seems to be trying to uninstall a package called "net.example.hellopuppy" (tha app ID) when the RPM package is called "HelloPuppy"? Any ideas? |
Beta Was this translation helpful? Give feedback.
-
Hi,
I've exhausted all options and I need to ask a question. I am actually trying to build a binary RPM with a test Hello World app (called "HelloPuppy"), but I suspect this is an APPSTREAM metainfo problem.
I want my app to show in the Gnome Software Center, which is why I am including a metainfo.xml file.
Now, I have managed to do almost everything all by my little self. I can install and remove the app using "dnf install/remove", and when install it does indeed show in the Software Center (see screenshot).
BUT AND HOWEVER....
Clicking on "Open" or "Uninstall" in the apps' page in the Software Center does nothing. In other wolds, the page in the Software the Center does not seem to link properly to the application (although it shows the name, icon etc.). I cannot figure out what I am missing or doing wrong.
SEE SCREENSHOTS. Shows Software Center, and location of .desktop and metainfo.xml files.
Here is my desktop file: /usr/share/applications/net.example.hellopuppy.desktop
[Desktop Entry]
Type=Application
Name=Hello Puppy
Icon=net.example.hellopuppy
Comment=A HelloWorld application
Exec=/opt/net.example.hellopuppy/HelloPuppy
TryExec=/opt/net.example.hellopuppy/HelloPuppy
Terminal=true
Categories=Utility
MimeType=
Keywords=
Here is my metadata.xml file: /usr/share/metainfo/net.example.hellopuppy.metainfo.xml
Beta Was this translation helpful? Give feedback.
All reactions