PyBitmessage icon indicating copy to clipboard operation
PyBitmessage copied to clipboard

[Security] Update to PyQt5

Open ghost opened this issue 7 years ago • 22 comments

As you know Qt4 is no longer receiving security updates, you should switch to Qt5 and its python bindings. The switch from pyqt4 to pyqt5 should be relatively easy according to pyqt documentation on this topic (for example here).

ghost avatar Sep 04 '16 12:09 ghost

It is not so much PyQt but Qt itself that is the issue. Windows XP is still a supported platform for PyBitmessage. However Windows XP (and Vista) is missing from Qt5's Supported Platforms, although Qt for Windows - Specific Issues indicate it might be possible to build Qt5 for Windows XP. I understand @PeterSurda builds Qt4 as part of the release process so it is up to whether he can successfully build Qt5 and ensure everything still works on Windows XP before switching.

bmng-dev avatar Sep 05 '16 12:09 bmng-dev

Qt4 is not maintained by the Qt project, when bugs are discovered, users can and will be hacked through the old Qt. Additionally, Windows XP is no longer LTS of Windows. This is illogical.

ghost avatar Sep 05 '16 20:09 ghost

Documentation / Upstream says it is possible to build Qt5 for XP.

Additional reading sources: https://doc.qt.io/qt-5/supported-platforms-and-configurations.html "using Qt 5.6, XP will be supported until March 16, 2019"

ghost avatar Sep 05 '16 20:09 ghost

Ping on the ticket.

@PeterSurda @bmng-dev do you plan to fix this at all, and if you will fix it what's the targeted version for this? I also advise you to drop the idea of supporting an outdated, no longer supported, Microsoft system.

ghost avatar Nov 25 '16 13:11 ghost

Sorry @Ghost, it's not up to me. I don't know why @PeterSurda hasn't responded.

bmng-dev avatar Nov 29 '16 06:11 bmng-dev

There are no specific plans, there are higher priority things. I'd prefer code that works both with Qt4 and Qt5 if possible, if someone submits a pull request I'll be happy to look at it.

PeterSurda avatar Nov 29 '16 08:11 PeterSurda

@bmng-dev I'm confused as to why XP/Vista would be supported at all, since those are EOL according to Microsoft ( and thus should be updated/replaced ) I stand by ghost's advice on not standing by these out-of-date systems

Lvl4Sword avatar Jun 28 '17 04:06 Lvl4Sword

@Lvl4Sword you and me both. I'm just someone who is interested in Bitmessage like you. I am not, nor have I ever been, involved in the decision making process of this project. At the time I responded to @ghost I thought Windows XP was supported because of things I had read from @PeterSurda (other issues here on github, on the forums, reddit, or on the bitmessage chan I can't remember) and tried to be helpful with a timely response anticipating what some of @PeterSurda concerns might be about moving to Qt5. The jury is still out on whether I'm correct or not.

bmng-dev avatar Jun 30 '17 10:06 bmng-dev

Just to clarify:

  • at the moment, the backwards compatibility with Windows doesn't appear to create extra effort. I build the 32bit binaries on Windows 7, and while I do have a test environment for XP, I don't recall having problems since switching the build environment to Windows 7. Today's devel snapshot also works on Windows XP, even though I haven't done any tests on XP since releasing 0.6.2. I haven't really tested most of the post-0.6.2 changes on anything else than linux for that matter. It's possible that at some stage the backwards compatibility will break, and I'll make a decision at that time.

  • the reason why I haven't switched to PyQt5 is that it's lower priority than other things. I don't know what the differences between Qt4 and Qt5 are and I'm not a UI specialist.

PeterSurda avatar Jun 30 '17 12:06 PeterSurda

Please note that Qt4 and PyQt4 support is being dropped in distributions everywhere at this point, since being unmaintained for years.

a17r avatar Feb 15 '18 15:02 a17r

Sadly, I'm busy with more urgent issues and I've never used PyQt5 before. Maybe someone else can do that. @g1itch any interest?

PeterSurda avatar Feb 15 '18 17:02 PeterSurda

Actually I started already. And have first preview.

g1itch avatar Feb 15 '18 17:02 g1itch

Excellent, thank you very much!

PeterSurda avatar Feb 15 '18 17:02 PeterSurda

The branch

g1itch avatar Feb 15 '18 17:02 g1itch

@g1itch I sent you an email, did you get it?

PeterSurda avatar Feb 19 '18 22:02 PeterSurda

Yes, I'll try to grab some words and give a proper answer.

g1itch avatar Feb 20 '18 06:02 g1itch

Huh, it's almost done. I guess it will require a massive beta-test (or alpha?). I've used QtPy, so it will be compatible with PyQt4 and pyside.

g1itch avatar Feb 22 '18 15:02 g1itch

Hello , please note that PyQt4 has been dropped from Manjaro, one of major desktop linux distros

NourEddineX avatar Nov 23 '18 04:11 NourEddineX

Solus are planning to deprecate Qt4, getting it ported to Qt5 would make it possible to still be included in the repo...

Jacalz avatar Jan 10 '19 12:01 Jacalz

Solus are planning to deprecate Qt4, getting it ported to Qt5 would make it possible to still be included in the repo...

It's already ported, just still is not included into v0.6. You can take my qt5-wip branch for you repo.

g1itch avatar Jan 10 '19 12:01 g1itch

Wonderful, that is great news :+1:

Jacalz avatar Jan 10 '19 12:01 Jacalz

Hello , please note that PyQt4 has been dropped from Manjaro, one of major desktop linux distros

LOL. Manjaro is ArchLinux with parental advisory!

baerbock avatar May 04 '19 15:05 baerbock