-
-
Notifications
You must be signed in to change notification settings - Fork 515
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
QT 6 vs. OpenSSL 3 migration? #3773
Comments
Thank you very much for all of your work on these issues, @h-vetinari! From a little light digging, it seems like various distributions are building the Qt5/OpenSSL3 combo — here's an Ubuntu patch (via this patches-applied source tree; see also followup patch) and this Macports issue suggests that they build it too. Are we not comfortable or able to take the same route? I wouldn't love applying patches from internet randos, but if Ubuntu has a patchset, I'd presume that we'd be OK with using it. Is there a reason we can't? (Perhaps any detailed discussion of this topic should go on conda-forge/qt-main-feedstock#63, but the broad rationale seems relevant to this issue.) (Also, upon digging into the MacPorts build files, I don't think I see any OpenSSL-related patches or commits, so I'm not sure what's going on there.) |
Thanks for digging this up @pkgw (and for your help debugging the cryptography issues; we'd still be stuck on that otherwise...)! I see no reason not to use the ubuntu patches (but then, I'm not a maintainer on the qt feedstock). That would mercifully uncouple the two migrations, but then we'd still have to decide when/how we add a migration for qt6... :) |
If we can decouple the migrators, that would be great. If not, one migrator can depend on another using |
That's a good point - I know But since it looks like we should be able to avoid that entirely by patching qt5, the rest becomes much easier (and less time-sensitive to the EOL of OpenSSL 1.1.1). |
The updated PR conda-forge/qt-main-feedstock#72 by @h-vetinari that adds OpenSSL 3 builds to Qt5 was just merged by @hmaarrfk, so it looks like we will be able to dodge the issue of coupling the migrations here! |
Also, here's an issue with some more in-depth technical discussion about Qt6 migration mechanics: |
Glad to hear we have a path forward 🎉 Thanks for working on that Axel! 🙏 During the conda-forge meeting someone asked, do we have to do something special for Qt on |
For qt-main v5, we have to manually (locally) build |
New to qt6 is the ability to cross-compile, so ppc could presumably be done for qt6 (see here). AFAIU ppc is not supported upstream (making this very hard for qt5). |
Apparently it's also out of sync with qt5-main in terms of migrations 🥲 |
OK, let's just that issue to discuss the migration (but first, realistically, finish the one for qt 5.15...). This issue was mainly about the coupling with OpenSSL, and we managed to solve that, so closing. |
QT 6.x has been building on the feedstock for close to two month now. I presume it's going to be a pretty long and painful migration, so it sounds like we'll have to keep building for qt5 & qt6 in parallel once we start migrating - but I guess we have to start at some point...? At least the matplotlib stack should be ready for qt6 for a while already.
One particular reason for opening this issue for discussion is that qt depends on openssl, that other infinitely running migration (which I'd really like to settle before the EOL of openssl 1.1.1 in less than 10(!) months).
Not only that, but qt5 doesn't support openssl3 currently, and it's not sure when (if ever) that happens:
That leads to an unfortunate coupling between these two long-running migrations, hence this issue to discuss how to deal with it. There are 4 possible builds we might do (for feedstocks that depend on both qt and openssl):
From a CI matrix standpoint, it would be nice to only build the old & the new world, but this will put the solver in a world of pain (amplifying the current OpenSSL issues), because if any package then requires openssl 1.1.1 or qt5, it'd have to effectively replace the whole environment.
I'm thinking we could zip as follows
I don't think this would blow up the CI too much since probably not many packages are host-depending on both openssl and qt.
Of course, if ever we get openssl 3 builds for qt5, then the discussion becomes moot and we can remove the zip and just build qt5 & qt6 for openssl 3.
CC @conda-forge/qt-main @conda-forge/openssl @conda-forge/core
The text was updated successfully, but these errors were encountered: