getsolus / packages

Solus Package Monorepo & Issue Tracker
66 stars 85 forks source link

Calibre has wacky appstream data #1364

Open sheepman4267 opened 10 months ago

sheepman4267 commented 10 months ago

Summary

Probably a known issue, but while testing PackageKit I noticed that Calibre isn't showing up in Gnome Software as part of the Solus repo. It shows as a Solus package in Discover, but not Software. Software lists it as flatpak only.

Steps to reproduce

  1. Install gnome-software and discover
  2. Search for calibre in both gnome-software and discover

Expected result

Package "Calibre" to appear in both software centers as installable from the Solus repository

Actual result

Discover shows the package correctly. Software only shows the flatpak.

Environment

Repo

Unstable

Desktop Environment

Plasma

System details

N/A

Other comments

No response

joebonrichie commented 10 months ago

Hmm calibre does show up for me gnome-software.

But calibre itself does ship three appstream metainfo files

            <Path fileType="data">/usr/share/metainfo/calibre-ebook-edit.metainfo.xml</Path>
            <Path fileType="data">/usr/share/metainfo/calibre-ebook-viewer.metainfo.xml</Path>
            <Path fileType="data">/usr/share/metainfo/calibre-gui.metainfo.xml</Path>

calibre-gui.metainfo.xml succeeds but the other two don't. Calibre would have to be subpackaged for generation of the other two appstream files to succeed or they can be removed so they don't "fail".

sheepman4267 commented 10 months ago

Oh, weird- it shows up twice! Most items show up once, and you can select which repo you want to pull from. DisplayCAL for example. Is Calibre not doing that because of these multiple files?

joebonrichie commented 10 months ago

Oh, weird- it shows up twice! Most items show up once, and you can select which repo you want to pull from. DisplayCAL for example. Is Calibre not doing that because of these multiple files?

Possibly, when the flatpak appstream data and the distro appstream data don't match 1-1 for a package it'll normally show up as different entries.

davidjharder commented 10 months ago

Related meta issue https://github.com/getsolus/packages/issues/6

TraceyC77 commented 10 months ago

I strongly recommend against removing the other metainfo entries. Calibre users expect all 4 entries to be present in the application menu, as intended by the author. They are present in Windows and other Linux distros (seen in Ubuntu).

I have Calibre installed on Windows 10, and these are the 4 different menu entries, which correspond to those metainfo entries.

On Solus Plasma, I had installed Calibre through the script the author provides, rather than eopkg.

sudo -v && wget -nv -O- https://download.calibre-ebook.com/linux-installer.sh | sudo sh /dev/stdin

These menu entries are present, as expected. I had installed Calibre on Ubuntu using the same methods, and there all 4 entries are also present as expected.

We should make our install of Calibre match what the author intended. The binaries are present on my system as:

~ ❯❯❯ ll /usr/bin/ |rg "ebook-viewer|ebook-edit|lrfviewer"
lrwxrwxrwx   1 root   root      23 Jan 19 18:13 ebook-edit -> /opt/calibre/ebook-edit*
lrwxrwxrwx   1 root   root      25 Jan 19 18:13 ebook-viewer -> /opt/calibre/ebook-viewer*
lrwxrwxrwx   1 root   root      22 Jan 19 18:13 lrfviewer -> /opt/calibre/lrfviewer*

To be clear, when this issue is fixed, we should also make sure the package still correctly shows all 4 entries in the app menu after installation.

malfisya commented 4 months ago

Deleting the other appstream data won't affect the availibilty of desktop files/menu entries of the application. It will just make it easier to generate appstream metainfo/application entries in the software center. It is not like we want multiple entries of calibre in the software center. I will try experiment removing the other appstream data.