Skip to content

Dropping support for Qt < 5.12 (affects Debian Stretch/Buster, Ubuntu 18.04) #3839

@The-Compiler

Description

@The-Compiler

Keeping Qt 5.7 support (and thus, support for running qutebrowser with a system-installed Qt on Debian stable) is turning out to be more and more of an issue:

  • @toofar spent a lot of time to get GreaseMonkey scripts running there, and even for ongoing changes to GreaseMonkey support it's a pain (it's essentially like having to handle three backends)
  • Features like printing or spellchecking aren't supported by Qt
  • Other small bits and workarounds
  • It crashes outright on newer distributions without disabling the seccomp sandbox (Qt 5.7.1 and seccomp sandbox #3163)
  • It starts to get an issue with various pages - it looks like GitHub just broke again, and this time it's not fixed by changing the UA.
  • Debian is explicitly not interested in keeping it secure - they'd rather keep an old buggy version and never ship security fixes, so at some point it's really unreasonable to continue using qutebrowser there 😟
  • qutebrowser --version segfaults on exit with PyQt 5.7
  • Qt.KeyboardModifiers (and probably other flags) is unhashable (which means a custom hash method was needed for KeyInfo)

Originally I wanted to keep support around until the next Debian stable, but since that's somewhen in early/mid-2019, that's really not realistic.

Alternatives for Debian stable users:

  • Install PyQt from PyPI, i.e. install qutebrowser via tox - however, that seems to have some weird TLS issues on Debian stable, so it might not be a working alternative...
  • Keep using v1.2.x, possibly with us backporting some bugfixes there. Still less effort than keeping support around, it seems to me. But (almost) everyone using the newest release also has its benefits...

Thoughts?

Metadata

Metadata

Assignees

No one assigned

    Labels

    component: style / refactoringIssues related to coding styles or code that should be refactored.priority: 1 - middleIssues which should be done at some point, but aren't that important.

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions