-
Notifications
You must be signed in to change notification settings - Fork 171
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
Add Fedora 39 support (released Oct 24th) #606
Comments
We'll have to add support for python 3.12 to support fedora-39 |
And it looks like we can't really support python 3.12 at the moment because pyside6 is not compatible yet:
|
Fedora 39 was released today, the upgrade caused Dangerzone to be uninstalled for now. |
That's quite unfortunate. I've been keeping an eye on Fedora 39 but it looks like Dangerzone needs something that Fedora 39 doesn't yet provide. I'm talking about the PySide2 package, the element that shows the graphical user interface of Dangerzone. Until that's available, I'm not sure there's something we can do about it. However, if you (or someone else reading this thread) has the technical skill to run from the source code, you can still do it on fedora 39. In this case it'll install pyside2 via poetry instead (the dependency management tool). |
Digging a bit more into this it looks like nobody stepped up to package PySide2 for Fedora 39 and so it's now retired. The maintainers state that:
This is an unfortunate state of affairs which will certainly make us reevaluate our Fedora support. |
I took a look at how other packages are affected by the lack of
And here are the dependencies of the same packages in Fedora 39:
The interesting thing here is that some of the packages have switched to this project: https://pypi.org/project/QtPy/. If I get this right, this project can use either PySide6, PySide2, or PyQt5 under the hood. PyQt5 is probably the only thing that's working in Fedora 39 for now. Will give it a look and report back. |
Looks potentially interesting... However something strikes me... My GNU Health has python3-pyside2 as a dependency, but that dep is not available on Fedora 39... I wonder what would happen if we install it 🤔 |
Right, I forgot to mention this. As one can see, some package still depend on
(I think others have some sort of fallback or optional dependency, but I haven't looked much into it) |
Replacing PySide2/6 with QtPy is the easy part. The problem though is that QtPy is just the shim. It still requires proper Qt bindings under the hood. In Fedora 39, if PySide2/6 are not available, this leaves us with PyQt5/6. The issue with these bindings is that they are GPL-licensed, whereas our project is MIT. |
FYI, there's a longstanding discussion on the SD Client side to move away from PyQt because they're not the officially supported bindings. (freedomofpress/securedrop-client#1194) |
I have some promising news for our Fedora 39 users: we are close to offering a PySide6 RPM of our own. You can read more in our GitHub repo for this package (https://github.com/apyrgio/python3-pyside6-rpm), and follow along the discussion on RedHat's review tracker: https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=2255537 |
Hey @sudwhiwdh. Would you be willing to try out Dangerzone + PySide6 on Fedora 39? We have some candidate packages and we'd be happy to hear some feedback. |
@apyrgio Thank you for your request. How can I perform a test? |
Thank you for the willingness to help. We are have already wrapped up this week (we're working part-time) so most likely we'll follow up next with with some instructions. Although we already have the PySide6 dependency built, we'll have to build a test version for Fedora 39 since if you were to install Fedora 38 it would fail due to incompatibility with python3.11 and other dependencies (Fedora 39 ships with python 3.12). |
Didn't expect such a quick reply, to be honest 🤩 . Basically, we plan to include the PySide6 package to our YUM repo starting next week. Since you have it already configured, it should be readily available to you. Then, I can provide you with a Dangerzone .rpm through a GitHub branch, and you should be able to install it with If all works well, it should pull the PySide6 dependency, as well as some others, and you'll be able to use it. That's more of a smoke test though. The soak test would be to check if your system becomes degraded somehow, e.g., if other Qt apps misbehave, or if a graphical component crashes, etc. I don't expect this will be the case, but we want to be extra cautious and test under real conditions, since we don't use (pure) Fedora, as a daily driver. |
While testing the PySide6 package on a new Fedora 39 system, as installed from a live CD, I see that only the following dependencies need to be installed: $ sudo dnf install python3-pyside6-6.6.1-1.fc39.x86_64.rpm
==============================================================================================================================================================================================================================================
Package Architecture Version Repository Size
==============================================================================================================================================================================================================================================
Installing:
python3-pyside6 x86_64 6.6.1-1.fc39 @commandline 113 M
Installing dependencies:
community-mysql-common x86_64 8.0.35-1.fc39 updates 76 k
community-mysql-libs x86_64 8.0.35-1.fc39 updates 1.2 M
libpq x86_64 15.3-1.fc39 fedora 215 k
unixODBC x86_64 2.3.11-4.fc39 fedora 482 k
Transaction Summary
==============================================================================================================================================================================================================================================
Install 5 Packages They seem DB-related, small in size, and most likely won't affect the user's system. Most importantly, there are no extra X11-related packages that the user needs to install. That's great, because it means that there are no Qt programs in our package that require something exotic. |
The package source is currently deactivated. |
Will do, I'm waiting on our infra team to enable the Fedora 39 repo. I'll soon be able to provide you with instructions 🙂 |
Ok, the Fedora 39 repo should be functional now. Here are some quick instructions on how to install Dangerzone in Fedora 39:
From there on, you can use Dangerzone as you normally would. Of utmost importance is to let us know if you experience any issue with the graphic components, both in the Dangerzone GUI, as well as your system. If it goes well for a week or so, we'll start making it generally available. Thanks again for helping us out here 🙂 |
|
Oh, I'm sorry, I should have mentioned that you need to enable our repo as well. Once you do so and retry the |
I have some initial feedback. Just not so many current occasions to test. First of all: The installation went smoothly. dangerzone starts and the file conversion worked.
However, there are already some improvements compared to the posted issue at #402:
p.s. Is the app called "dangerzone" or "Dangerzone"? I read different things in the app itself and wonder if clarity would be a good thing. What do you think? |
Ok, the fact that your system is stable and Dangerzone does not break is what matters the most. And yeah, we are aware that GUI-wise, Dangerzone does not show up nicely. I can try to give it a check in a Fedora system, if time permits before the next release. As for the naming it should be "Dangerzone", but I guess that the package name ( Thanks a lot for the user testing @sudwhiwdh, and your thorough feedback 🙂 |
Thanks for testing!
That's this issue. #645 |
Now that we can create a Dangerzone RPM that depends on PySide6, we can officially support Fedora 39 as a platform. Add this platform in our CI tests, as well as our install/release notes. Fixes #606
We have to copy what the rest of the desktop applications in Fedora do. It's just finding an example repo that's not a mess, and see what we're missing. It might be a handful for a non-programmer, so we'll take care of it. Thanks a lot for stepping up though 🙂 |
Now that we can create a Dangerzone RPM that depends on PySide6, we can officially support Fedora 39 as a platform. Add this platform in our CI tests, as well as our install/release notes. Fixes #606
Now that we can create a Dangerzone RPM that depends on PySide6, we can officially support Fedora 39 as a platform. Add this platform in our CI tests, as well as our install/release notes. Fixes #606
Heads up for those who can't install Dangerzone in Fedora 39 yet: we plan to release Dangerzone 0.6.0 in the coming days, and with that an RPM for Fedora 39. You should then be able to install it in your system. In the meantime, note that you can build a Dangerzone RPM locally by following our build instructions. |
@apyrgio I currently still have #606 (comment) installed. |
You should get an update automatically, but do let us know if this is not the case. |
Fedora 39 will be released very soon we should add support for it.
The text was updated successfully, but these errors were encountered: