Compare commits

..

10 commits

Author SHA1 Message Date
Alexis Métaireau
5ff2b08b4a
Move multithreading patch up so that it's working in the GUI 2025-04-07 14:58:59 +02:00
Alex Pyrgiotis
39f96f0c12
Bypass a cx-freeze issue for fitz._wxcolors
Bypass an issue with `cx-freeze` that fails to include the
`fitz._wxcolors` module in the final Windows artifact.
2025-04-07 13:48:52 +03:00
Alex Pyrgiotis
7e5d2c936c
Make our build-image.py script runable on Windows 2025-04-03 20:18:32 +03:00
Alex Pyrgiotis
067c741847
IMPROVE_ME: Handle the case where Docker is not installed
This looks like a regression, and we need to find a better way to handle
it, or add a unit test.
2025-04-02 15:04:24 +03:00
Alex Pyrgiotis
deaeb7c682
Add a way to unset the container runtime
Add a way to set the container runtime that Dangerzone uses back to the
default.
2025-04-02 14:55:54 +03:00
Alex Pyrgiotis
b74fbab6db
fixup! Prefer poetry sync to poetry install --sync 2025-04-02 14:37:20 +03:00
Alex Pyrgiotis
f8f12d37c5
Do not install poetry-plugin-export
Do not unconditionally install the Poetry plugin for exporting
dependencies as a requirements.txt file, since it's used only when
building a Debian package. Keep it instead in the Linux instructions and
when building a Dangerzone environment.
2025-04-02 14:34:46 +03:00
Alex Pyrgiotis
02a1cb6591
Handle the case of empty tesseract dirs during download 2025-04-02 12:14:35 +03:00
Alex Pyrgiotis
63be5463ae
docs: Improve doit docs 2025-04-02 12:14:08 +03:00
Alex Pyrgiotis
d36779aece
Prefer poetry sync to poetry install --sync
Use `poetry sync` instead of `poetry install --sync`, since the latter
is deprecated and will be removed after June 2025, as seen in the
following warning message:

  The `--sync` option is deprecated and slated for removal in the next
  minor release after June 2025, use the `poetry sync` command instead.
2025-04-02 12:11:08 +03:00
4 changed files with 11 additions and 10 deletions

View file

@ -22,7 +22,7 @@ fix: ## apply all the suggestions from ruff
ruff format ruff format
.PHONY: test .PHONY: test
test: ## Run the tests test:
# Make each GUI test run as a separate process, to avoid segfaults due to # Make each GUI test run as a separate process, to avoid segfaults due to
# shared state. # shared state.
# See more in https://github.com/freedomofpress/dangerzone/issues/493 # See more in https://github.com/freedomofpress/dangerzone/issues/493
@ -47,11 +47,11 @@ test-large: test-large-init ## Run large test set
python -m pytest --tb=no tests/test_large_set.py::TestLargeSet -v $(JUNIT_FLAGS) --junitxml=$(TEST_LARGE_RESULTS) python -m pytest --tb=no tests/test_large_set.py::TestLargeSet -v $(JUNIT_FLAGS) --junitxml=$(TEST_LARGE_RESULTS)
python $(TEST_LARGE_RESULTS)/report.py $(TEST_LARGE_RESULTS) python $(TEST_LARGE_RESULTS)/report.py $(TEST_LARGE_RESULTS)
Dockerfile: Dockerfile.env Dockerfile.in ## Regenerate the Dockerfile from its template Dockerfile: Dockerfile.env Dockerfile.in
poetry run jinja2 Dockerfile.in Dockerfile.env > Dockerfile poetry run jinja2 Dockerfile.in Dockerfile.env > Dockerfile
.PHONY: poetry-install .PHONY: poetry-install
poetry-install: ## Install project dependencies poetry-install:
poetry install poetry install
.PHONY: build-clean .PHONY: build-clean
@ -59,19 +59,19 @@ build-clean:
poetry run doit clean poetry run doit clean
.PHONY: build-macos-intel .PHONY: build-macos-intel
build-macos-intel: build-clean poetry-install ## Build macOS intel package (.dmg) build-macos-intel: build-clean poetry-install
poetry run doit -n 8 poetry run doit -n 8
.PHONY: build-macos-arm .PHONY: build-macos-arm
build-macos-arm: build-clean poetry-install ## Build macOS Apple Silicon package (.dmg) build-macos-arm: build-clean poetry-install
poetry run doit -n 8 macos_build_dmg poetry run doit -n 8 macos_build_dmg
.PHONY: build-linux .PHONY: build-linux
build-linux: build-clean poetry-install ## Build linux packages (.rpm and .deb) build-linux: build-clean poetry-install
poetry run doit -n 8 fedora_rpm debian_deb poetry run doit -n 8 fedora_rpm debian_deb
.PHONY: regenerate-reference-pdfs .PHONY: regenerate-reference-pdfs
regenerate-reference-pdfs: ## Regenerate the reference PDFs regenerate-reference-pdfs:
pytest tests/test_cli.py -k regenerate --generate-reference-pdfs pytest tests/test_cli.py -k regenerate --generate-reference-pdfs
# Makefile self-help borrowed from the securedrop-client project # Makefile self-help borrowed from the securedrop-client project
# Explaination of the below shell command should it ever break. # Explaination of the below shell command should it ever break.

View file

@ -56,7 +56,7 @@ def print_header(s: str) -> None:
"The name or full path of the container runtime you want Dangerzone to use." "The name or full path of the container runtime you want Dangerzone to use."
" You can specify the value 'default' if you want to take back your choice, and" " You can specify the value 'default' if you want to take back your choice, and"
" let Dangerzone use the default runtime for this OS" " let Dangerzone use the default runtime for this OS"
), )
) )
@click.version_option(version=get_version(), message="%(version)s") @click.version_option(version=get_version(), message="%(version)s")
@errors.handle_document_errors @errors.handle_document_errors

View file

@ -10,6 +10,7 @@ from typing import List, Optional
import click import click
import colorama import colorama
# FIXME: See https://github.com/freedomofpress/dangerzone/issues/320 for more details. # FIXME: See https://github.com/freedomofpress/dangerzone/issues/320 for more details.
if typing.TYPE_CHECKING: if typing.TYPE_CHECKING:
from PySide2 import QtCore, QtGui, QtWidgets from PySide2 import QtCore, QtGui, QtWidgets

View file

@ -227,9 +227,9 @@ class MainWindow(QtWidgets.QMainWindow):
if not is_version_valid: if not is_version_valid:
self.handle_docker_desktop_version_check(is_version_valid, version) self.handle_docker_desktop_version_check(is_version_valid, version)
except errors.UnsupportedContainerRuntime as e: except errors.UnsupportedContainerRuntime as e:
pass # It's caught later in the flow. pass # It's catched later in the flow.
except errors.NoContainerTechException as e: except errors.NoContainerTechException as e:
pass # It's caught later in the flow. pass # It's catched later in the flow.
self.show() self.show()