Package Calibre - EPUB books reader

Can someone please package Calibre program.

Just a short reason:
I have installed Calibre from official Ubuntu Store, but today program suddenly stopped working, it crashes at startup (I reported bug and I am waiting for bug reply). That is exactly why I hate apt packages, because some day when the software is most needed it suddenly gets broken (probably some upgrade was performed, because I regularly install Ubuntu updates). Snaps should fix this kind of dependency hell problems and I hope someone is capable of package Calibre.

I have looked at snapping calibre in the past. The upstream developers are very much against 3rd party packages of their software. This discourages me somewhat from publishing a snap of it.

1 Like

I’ve had the same response in the past, but I think it’s worth mentioning just for sake of discussion that there’s some justification for going against upstreams wishes, though I’m not specifically saying do or don’t.

Calibre specifically is a GPL3 application, and that’s a choice made by the developers themselves. It seems conflicting to me they would make it to be GPL3 whilst also basically encouraging people to revoke the rights they grant for it being GPL3. Regardless, it’s legally viable.

At a guess, they don’t want people making third party packages because bug reports could end up being sent back to upstream which are introduced by the third party packages. I think this is a valid excuse ethically, it’s understandable to ask people not to give you more work to do that they’re not responsible for. I think this is a strong arguement for respecting upstreams wishes, because I’ve seen it in action, it essentially adding cost to upstream unfairly, given they ask not to.

But it’s something that needs to be weighed against the current scenario, that third party packages do exist already, including in Ubuntu’s own repositories. The question then could be viewed as, would the Snap be better than the other options available, and if so, by having more people use the Snap does it decrease the amount of issues third party packages generate overall.

If the answer is yes, then honestly I’d say that despite the upstreams wishes, it’s still a good move overall for both users and the upstream to snap it. But if the answer is no, for example, if snap creates new categories of issues that innately unfixable or this might tarnish their brand or their bug tracker, I’d be inclined to hold off snapping it too.

I think basically it’s a nuanced decision that’s worth making on an per app basis, there’s some valid justification for respecting upstreams wishes and some valid justification to ignore it, and either option is valid depending on perspectives.

Just my 0.02$

3 Likes

I basically agree with you. But just because something is technically possible to distribute, sometimes you have to take into consideration the wishes of the upstream. JWZ has had long & repeated complaints about his software (xscreensaver) being packaged in distros, and being outdated. The elementary developers have requested that their software isn’t distributed for other packaging formats or distributions for exactly the reason you specify, they don’t support it, and it places a cognitive load on them to manage reports they can’t reproduce or don’t want to fix.

3 Likes

The upstream developers are very much against 3rd party packages of their software.

I don’t know if this is really a good argument. Every Linux distribution’s package maintainer package Calibre in each of Linux distribution. All this official distribution packages are basically third party packages.

I understand that it is annoying to deal with 3rd false package creation problems. But this kind of problems could be avoided if good how to build instructions are written.

The next thing I don’t like is there concept of installing software from “sh” script from official calibre web site. It is hard to control what installation really is performing and can be dangerous to install from sh script (and how can I really be sure this is really official project web site). Users should be absolutely discouraged to install software from sh scripts. Snaps are way better in this way they are sand-boxed and installed from store and not from web site.

JWZ has had long & repeated complaints about his software (xscreensaver) being packaged in distros, and being outdated.

Isn’t there a perfect solution for this problem? Snaps updates automatically when new version is ready. Problem is immediately gone.

it places a cognitive load on them to manage reports they can’t reproduce or don’t want to fix

Isn’t this really easy? Require from bug reports to properly report a bug. Like “ubuntu-bug <program_name>” and from report should be clear if it is official software or from third-party. If it is from 3rd party, just close bug report with one sentence: “Please report bug on Ubuntu Launchpad bug repository.” or “Please report bug to package maintainer that has packaged the program.”

And the last thing is. Calibre is already available as flatpack image. We are in the market if snaps are not created and flatpacks are and users will install what is available. I prefer to have snap packages, that is why I made request for snap package.

1 Like

Again, I agree with you. I just don’t like ruffling feathers in upstream projects.

See https://bugs.launchpad.net/calibre/+bug/1707517 and https://bugs.launchpad.net/calibre/+bug/1699620

JWZ’s complaints pre-date snaps by some considerable margin, and yes, this is partly why snaps exist.

The flatpak of Calibre is relatively popular, with around 5K users. I imagine a well maintained snap of that would be similarly appreciated. So if someone is willing to do the work to make one, and maintain it, that’d be great. I’d even help maintain it over on snapcrafters repo.

1 Like

Those bug reports discussions are from 2017 and snap has much improved. The problem I see they are not interested in repackaging because according to message in bug report, Linux users are only 2% of Calibre. Probably this is a count downloaded from Calibre repository and not the ones downloaded from Linux distribution stores (because stores do not exchange this kind of info with developers).

Like I understand (from bug report) current tarbar file contains everything that is needed on Linux distributions. Looks similar to AppImage to me. I don’t know how difficult is it to put it inside snap container.

I made a snap a while back of Calibre, but never published it. It’s certainly possible.
The thing about Calibre is it’s a one-of-a-kind “best in class” cross-platform application, like Google Chrome (don’t hate me), or OBS Studio. These applications get tons of installs on Windows, because they’re the best/only gig in town. As such, the Linux market share for that application is proportionally very low, because the Windows user base is so very high. It’s an application which transcends nerds (unlike OBS) to normals (like Chrome). I know very un-technical people who use Calibre, because it’s the thing everyone recommends when you have an ebook reader. Less so these days where most people just bought a kindle and don’t care about freedom though.

So yeah, if someone wants to work on it, go for it. :slight_smile:

2 Likes

keep in mind that you don’t have to build calibre from source to make snap - you can repackage official binaries (which is what flatpak does). That makes maintenance effort minimal and the result will have upstream support (they help fixing flatpak related issues in source code)

3 Likes

Pertinent conversation:
https://lists.ubuntu.com/archives/ubuntu-devel/2020-October/041228.html

1 Like

@popey, thanks for this info.

Just to be clear for anyone else on this forum. @popey post above is not related to any snap package, but Calibre package from official Ubuntu apt repository.

For Calibre Ubuntu 20.04 official apt repository there is currently opened a bug report and 11 duplicates, so many users are affected. Bug report is at:

The beauty of Calibre is, it is written in Python code, so very simple to fix this problem. In bug report someone prepared the Python code patch (one line of code actually is only needed) and another users created bash script to apply the fix on Ubuntu 20.04. I tested this solution and problem is fixed on my computer. But I hope the proper official fix is released for non-nerd users.

It looks to me there are several problems:

  1. Calibre 4.99 shipped with Ubuntu 20.04 was Calibre Python3’s test bed version. This was never meant to be official version. When proper Calibre’s Pyhon3 version was released upstream it was named with version 5, but it was never imported into Ubuntu 20.04.
  2. Ubuntu 20.04 LTS version ships beta type code.
  3. In this case it is lack of control that upstream has changed something and didn’t fix it downstream.
  4. One Python3 package updated in Ubuntu 20.04 and Calibre was broken.
  5. Just guessing (speculation), the package maintainer of Calibre on Ubuntu 20.04 does not use Calibre day to day, because if he/she is, I would expect to fix this one line problem and release update very quickly.
  6. Fix is known for few days and update was still not prepared to be shipped to Ubuntu 20.04. Lack of maintenance etc.

In general having centralized software like installing from apt can have drastic consequences if something changes. That is the reason I requested Calibre snap package, so I can have a program that is independent of host operating system changes.

1 Like

please see:

https://lists.ubuntu.com/archives/ubuntu-devel/2020-October/041228.html

it involves re-building the Qt toolchain for Sip5 to get the proper fix and the timing of the post 4.99 release was simply after focal, which is why 4.99 went into focal … there is obviously work going on in the above thread to fix the situation now.

1 Like

I would like to package Calibre because I’ve run into many of the above problems and also knew about upstream attitude towards downstreams. It will be my first Snap package so if you can share anything I may start from, it would probably be helpful.

3 Likes

This exactly describes my experience and my own inferences after looking at the relevant reports and asking here and there.