Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Deprecate Ubuntu Focal support #965

Closed
apyrgio opened this issue Oct 22, 2024 · 5 comments · Fixed by #976
Closed

Deprecate Ubuntu Focal support #965

apyrgio opened this issue Oct 22, 2024 · 5 comments · Fixed by #976
Labels
P:linux python Pull requests that update Python code
Milestone

Comments

@apyrgio
Copy link
Contributor

apyrgio commented Oct 22, 2024

Problem description

PyMuPDF recently released version 1.24.12, which drops support for Python 3.8. This affects us because Ubuntu Focal has Python 3.8 by default. Here's a bit of a context on why this is important:

  • From 0.8.0, we will start vendoring PyMuPDF in our Debian/Ubuntu packages. The version we will vendor will be the latest one from PyPI, same as we do for Windows/macOS (see On-host pixels to PDF conversion #625)
  • We cannot rely on the system-provided PyMuPDF packages, because they don't offer OCR support, and we have encountered segfaults while developing with them.
  • Ubuntu Focal provides Python 3.9, but we can't use it because it can't import the PySide2 system package. It has some libraries which are compiled for Python 3.8 specifically.

At the same time, Ubuntu Focal will be EOL in ~5 months from now (see https://endoflife.date/ubuntu).

Suggestion

Since we're nearing the Ubuntu Focal EOL date, it's probably best to cease active development on that platform, and inform our users about it. To this end, we will:

  1. Add a warning message when people start the Dangerzone GUI, which will effectively state that:
    • the current release (0.8.0) will be the last release to support Ubuntu Focal and Python 3.8 environments in general.
    • inform users that Dangerzone is available on the newer Ubuntu versions.
  2. Unpublish the Dangerzone Debian package from our focal APT repo.
    • This should take place at least 30 days after the 0.8.0 release, or when we release the next Dangerzone version, whichever is longer.
@apyrgio apyrgio added P:linux python Pull requests that update Python code labels Oct 22, 2024
@apyrgio apyrgio added this to the 0.8.0 milestone Oct 22, 2024
@apyrgio apyrgio changed the title Deprecate Python 3.8 support Deprecate Ubuntu Focal support Oct 22, 2024
@almet
Copy link
Member

almet commented Oct 22, 2024

This seem to be a good way forward.

One question I asked myself / alternative path: should we continue supporting the 0.8.X release series for Focal? It would mean updating the image at the same time of the future releases, and bumping the minor there, until Focal support is really EOL, if we want to not drop support before then.

I'm curious about how many downloads we have for Focal. Maybe with these numbers we could make an informed decision?

@eloquence
Copy link
Member

We do have download stats which we are aggregating on the logs droplet. Unfortunately, because Focal gets the same .deb as everyone else currently, we can't easily tell it apart from the other Debian-based distros. We got about 1.7K downloads on the 0.7.1 .deb in October 2024. Oddly, I only see tiny numbers for the RPM (typically less than 10 download for each asset per month), but I also only see the .src.rpm, so it's possible that those are not being aggregated correctly. I'll send you a copy of the most recent CSV just so you can see what we're collecting.

Re: Focal, we'd have to analyze the raw logs by user-agent to get distribution-specific stats, since Ubuntu's apt does identify itself differently from Debian's. Not entirely clear to me without further research whether that UA is also sufficiently different by Ubuntu version to tell them apart. Worth opening an infra issue for a quick investigation (feel free to beat me to it), to guide future decisions.

@almet
Copy link
Member

almet commented Oct 28, 2024

Until we know if we should drop support for Ubuntu Focal, I believe we should keep it and probably pin the PyMuPDF version on the 0.8.x release series.

I've just opened an issue on the PyMuPDF repository to discuss about the versioning scheme.

@almet
Copy link
Member

almet commented Oct 28, 2024

An additional (and contradicting) thought on the matter: we could also challenge the rules that decide for distribution inclusion. Right now, my understanding is that we're following the schedule decided by upstream distributions, but we could do it differently.

As an example, we could decide on supporting "the last two releases" for each of the supported distributions (debian, fedora, ubuntu), which is already quite a lot.

This would release some of the pressure on us, spending less time on maintenance and more time on enhancing security / adding features. But... I believe the numbers will lead us to the right direction here, so let's wait for them :-)

@eloquence
Copy link
Member

Largely resolved via #971; can be closed once changelog and release language are updated.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
P:linux python Pull requests that update Python code
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

3 participants