freedomofpress / dangerzone

Take potentially dangerous PDFs, office documents, or images and convert them to safe PDFs
https://dangerzone.rocks/
GNU Affero General Public License v3.0
3.35k stars 152 forks source link

Qubes isolation provider contains Python >= 3.11 methods #831

Open rocodes opened 3 weeks ago

rocodes commented 3 weeks ago

Informational: The qubes isolation provider relies on code found in Python 3.11+, while the dev docs mention support for python 3.9:

============================================================== short test summary info ===============================================================
FAILED tests/isolation_provider/test_qubes.py::TestQubes::test_max_pages_server_enforcement - AttributeError: 'ZipFile' object has no attribute 'mkdir'
FAILED tests/isolation_provider/test_qubes.py::TestQubes::test_max_pages_client_enforcement - AttributeError: 'ZipFile' object has no attribute 'mkdir'
FAILED tests/isolation_provider/test_qubes.py::TestQubes::test_max_dimensions - AttributeError: 'ZipFile' object has no attribute 'mkdir'
========================================= 3 failed, 107 passed, 13 skipped, 2 warnings in 185.29s (0:03:05) ==========================================
make: *** [Makefile:45: test] Error 1
(dangerzone-py3.9) user@sd-dev:~/projects/dangerzone$ python3 --version
Python 3.9.2
apyrgio commented 3 weeks ago

Nice catch :-). I think we broke the Python 3.9 compatibility there because the Qubes templates we test against are Fedora 38-40, which have Python 3.11. I guess you tried to run Dangerzone on a Debian template, right?

If that's the case, we'll tackle this platform once we fix this issue as well: https://github.com/freedomofpress/dangerzone/issues/529. If SecureDrop workstation requires a Debian template, then I believe we should make it higher priority issue.