mirror of
https://github.com/freedomofpress/dangerzone.git
synced 2025-05-07 22:11:50 +02:00
Compare commits
3 commits
85820cf1ce
...
6d269572ae
Author | SHA1 | Date | |
---|---|---|---|
![]() |
6d269572ae | ||
![]() |
c7ba9ee75c | ||
![]() |
418b68d4ca |
8 changed files with 33 additions and 55 deletions
4
.github/workflows/build.yml
vendored
4
.github/workflows/build.yml
vendored
|
@ -39,6 +39,8 @@ jobs:
|
||||||
version: "24.04"
|
version: "24.04"
|
||||||
- distro: ubuntu
|
- distro: ubuntu
|
||||||
version: "24.10"
|
version: "24.10"
|
||||||
|
- distro: ubuntu
|
||||||
|
version: "25.04"
|
||||||
- distro: debian
|
- distro: debian
|
||||||
version: bullseye
|
version: bullseye
|
||||||
- distro: debian
|
- distro: debian
|
||||||
|
@ -49,6 +51,8 @@ jobs:
|
||||||
version: "40"
|
version: "40"
|
||||||
- distro: fedora
|
- distro: fedora
|
||||||
version: "41"
|
version: "41"
|
||||||
|
- distro: fedora
|
||||||
|
version: "42"
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
|
|
10
.github/workflows/ci.yml
vendored
10
.github/workflows/ci.yml
vendored
|
@ -192,6 +192,8 @@ jobs:
|
||||||
version: "24.04"
|
version: "24.04"
|
||||||
- distro: ubuntu
|
- distro: ubuntu
|
||||||
version: "24.10"
|
version: "24.10"
|
||||||
|
- distro: ubuntu
|
||||||
|
version: "25.04"
|
||||||
- distro: debian
|
- distro: debian
|
||||||
version: bullseye
|
version: bullseye
|
||||||
- distro: debian
|
- distro: debian
|
||||||
|
@ -259,6 +261,8 @@ jobs:
|
||||||
version: "24.04"
|
version: "24.04"
|
||||||
- distro: ubuntu
|
- distro: ubuntu
|
||||||
version: "24.10"
|
version: "24.10"
|
||||||
|
- distro: ubuntu
|
||||||
|
version: "25.04"
|
||||||
- distro: debian
|
- distro: debian
|
||||||
version: bullseye
|
version: bullseye
|
||||||
- distro: debian
|
- distro: debian
|
||||||
|
@ -306,7 +310,7 @@ jobs:
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
distro: ["fedora"]
|
distro: ["fedora"]
|
||||||
version: ["40", "41"]
|
version: ["40", "41", "42"]
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
@ -385,6 +389,8 @@ jobs:
|
||||||
version: "24.04"
|
version: "24.04"
|
||||||
- distro: ubuntu
|
- distro: ubuntu
|
||||||
version: "24.10"
|
version: "24.10"
|
||||||
|
- distro: ubuntu
|
||||||
|
version: "25.04"
|
||||||
- distro: debian
|
- distro: debian
|
||||||
version: bullseye
|
version: bullseye
|
||||||
- distro: debian
|
- distro: debian
|
||||||
|
@ -395,6 +401,8 @@ jobs:
|
||||||
version: "40"
|
version: "40"
|
||||||
- distro: fedora
|
- distro: fedora
|
||||||
version: "41"
|
version: "41"
|
||||||
|
- distro: fedora
|
||||||
|
version: "42"
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
|
|
22
BUILD.md
22
BUILD.md
|
@ -109,28 +109,6 @@ sudo dnf install -y rpm-build podman python3 python3-devel python3-poetry-core \
|
||||||
pipx qt6-qtbase-gui
|
pipx qt6-qtbase-gui
|
||||||
```
|
```
|
||||||
|
|
||||||
<table>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
<details>
|
|
||||||
<summary><i>:memo: Expand this section if you are on Fedora 41.</i></summary>
|
|
||||||
</br>
|
|
||||||
|
|
||||||
The default Python version that ships with Fedora 41 (3.13) is not
|
|
||||||
compatible with PySide6, which requires Python 3.12 or earlier.
|
|
||||||
|
|
||||||
You can install Python 3.12 using the `python3.12` package.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
sudo dnf install -y python3.12
|
|
||||||
```
|
|
||||||
|
|
||||||
Poetry will automatically pick up the correct version when running.
|
|
||||||
</details>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
Install Poetry using `pipx`:
|
Install Poetry using `pipx`:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
|
|
|
@ -8,6 +8,8 @@ since 0.4.1, and this project adheres to [Semantic Versioning](https://semver.or
|
||||||
## [Unreleased](https://github.com/freedomofpress/dangerzone/compare/v0.8.1...HEAD)
|
## [Unreleased](https://github.com/freedomofpress/dangerzone/compare/v0.8.1...HEAD)
|
||||||
|
|
||||||
- Platform support: Drop support for Ubuntu Focal, since it's nearing end-of-life ([#1018](https://github.com/freedomofpress/dangerzone/issues/1018))
|
- Platform support: Drop support for Ubuntu Focal, since it's nearing end-of-life ([#1018](https://github.com/freedomofpress/dangerzone/issues/1018))
|
||||||
|
- Platform support: Add support for Fedora 42 ([#1091](https://github.com/freedomofpress/dangerzone/issues/1091))
|
||||||
|
- Platform support: Add support for Ubuntu 25.04 (Plucky Puffin)([#1090](https://github.com/freedomofpress/dangerzone/issues/1090))
|
||||||
|
|
||||||
## [0.8.1](https://github.com/freedomofpress/dangerzone/compare/v0.8.1...0.8.0)
|
## [0.8.1](https://github.com/freedomofpress/dangerzone/compare/v0.8.1...0.8.0)
|
||||||
|
|
||||||
|
|
|
@ -22,6 +22,7 @@ On Linux, Dangerzone uses [Podman](https://podman.io/) instead of Docker Desktop
|
||||||
an isolated environment. It will be installed automatically when installing Dangerzone.
|
an isolated environment. It will be installed automatically when installing Dangerzone.
|
||||||
|
|
||||||
Dangerzone is available for:
|
Dangerzone is available for:
|
||||||
|
- Ubuntu 25.04 (plucky)
|
||||||
- Ubuntu 24.10 (oracular)
|
- Ubuntu 24.10 (oracular)
|
||||||
- Ubuntu 24.04 (noble)
|
- Ubuntu 24.04 (noble)
|
||||||
- Ubuntu 22.04 (jammy)
|
- Ubuntu 22.04 (jammy)
|
||||||
|
|
|
@ -3,6 +3,7 @@ import os
|
||||||
import platform
|
import platform
|
||||||
import tempfile
|
import tempfile
|
||||||
import typing
|
import typing
|
||||||
|
from multiprocessing import freeze_support
|
||||||
from multiprocessing.pool import ThreadPool
|
from multiprocessing.pool import ThreadPool
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from typing import List, Optional
|
from typing import List, Optional
|
||||||
|
@ -1220,6 +1221,9 @@ class DocumentsListWidget(QtWidgets.QListWidget):
|
||||||
def start_conversion(self) -> None:
|
def start_conversion(self) -> None:
|
||||||
if not self.thread_pool_initized:
|
if not self.thread_pool_initized:
|
||||||
max_jobs = self.dangerzone.isolation_provider.get_max_parallel_conversions()
|
max_jobs = self.dangerzone.isolation_provider.get_max_parallel_conversions()
|
||||||
|
# Call freeze_support() to avoid passing unknown options to the subprocess.
|
||||||
|
# See https://github.com/freedomofpress/dangerzone/issues/873
|
||||||
|
freeze_support()
|
||||||
self.thread_pool = ThreadPool(max_jobs)
|
self.thread_pool = ThreadPool(max_jobs)
|
||||||
|
|
||||||
for doc in self.docs_list:
|
for doc in self.docs_list:
|
||||||
|
|
|
@ -103,14 +103,6 @@ RUN apt-get update \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
"""
|
"""
|
||||||
|
|
||||||
# NOTE: Fedora 41 comes with Python 3.13 installed. Our Python project is not compatible
|
|
||||||
# yet with Python 3.13, because PySide6 cannot work with this Python version. To
|
|
||||||
# sidestep this, install Python 3.12 *only* in dev environments.
|
|
||||||
DOCKERFILE_BUILD_DEV_FEDORA_41_DEPS = r"""
|
|
||||||
# Install Python 3.12 since our project is not compatible yet with Python 3.13.
|
|
||||||
RUN dnf install -y python3.12
|
|
||||||
"""
|
|
||||||
|
|
||||||
# FIXME: Install Poetry on Fedora via package manager.
|
# FIXME: Install Poetry on Fedora via package manager.
|
||||||
DOCKERFILE_BUILD_DEV_FEDORA_DEPS = r"""
|
DOCKERFILE_BUILD_DEV_FEDORA_DEPS = r"""
|
||||||
RUN dnf install -y git rpm-build podman python3 python3-devel python3-poetry-core \
|
RUN dnf install -y git rpm-build podman python3 python3-devel python3-poetry-core \
|
||||||
|
@ -538,8 +530,6 @@ class Env:
|
||||||
|
|
||||||
if self.distro == "fedora":
|
if self.distro == "fedora":
|
||||||
install_deps = DOCKERFILE_BUILD_DEV_FEDORA_DEPS
|
install_deps = DOCKERFILE_BUILD_DEV_FEDORA_DEPS
|
||||||
if self.version == "41":
|
|
||||||
install_deps += DOCKERFILE_BUILD_DEV_FEDORA_41_DEPS
|
|
||||||
else:
|
else:
|
||||||
# Use Qt6 in all of our Linux dev environments, and add a missing
|
# Use Qt6 in all of our Linux dev environments, and add a missing
|
||||||
# libxcb-cursor0 dependency
|
# libxcb-cursor0 dependency
|
||||||
|
@ -561,6 +551,8 @@ class Env:
|
||||||
"noble",
|
"noble",
|
||||||
"24.10",
|
"24.10",
|
||||||
"ocular",
|
"ocular",
|
||||||
|
"25.04",
|
||||||
|
"plucky",
|
||||||
):
|
):
|
||||||
install_deps = (
|
install_deps = (
|
||||||
DOCKERFILE_UBUNTU_REM_USER + DOCKERFILE_BUILD_DEV_DEBIAN_DEPS
|
DOCKERFILE_UBUNTU_REM_USER + DOCKERFILE_BUILD_DEV_DEBIAN_DEPS
|
||||||
|
@ -620,6 +612,8 @@ class Env:
|
||||||
"noble",
|
"noble",
|
||||||
"24.10",
|
"24.10",
|
||||||
"ocular",
|
"ocular",
|
||||||
|
"25.04",
|
||||||
|
"plucky",
|
||||||
):
|
):
|
||||||
install_deps = DOCKERFILE_UBUNTU_REM_USER + DOCKERFILE_BUILD_DEBIAN_DEPS
|
install_deps = DOCKERFILE_UBUNTU_REM_USER + DOCKERFILE_BUILD_DEBIAN_DEPS
|
||||||
package_pattern = f"dangerzone_{version}-*_*.deb"
|
package_pattern = f"dangerzone_{version}-*_*.deb"
|
||||||
|
|
|
@ -327,28 +327,6 @@ sudo dnf install -y rpm-build podman python3 python3-devel python3-poetry-core \
|
||||||
pipx qt6-qtbase-gui
|
pipx qt6-qtbase-gui
|
||||||
```
|
```
|
||||||
|
|
||||||
<table>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
<details>
|
|
||||||
<summary><i>:memo: Expand this section if you are on Fedora 41.</i></summary>
|
|
||||||
</br>
|
|
||||||
|
|
||||||
The default Python version that ships with Fedora 41 (3.13) is not
|
|
||||||
compatible with PySide6, which requires Python 3.12 or earlier.
|
|
||||||
|
|
||||||
You can install Python 3.12 using the `python3.12` package.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
sudo dnf install -y python3.12
|
|
||||||
```
|
|
||||||
|
|
||||||
Poetry will automatically pick up the correct version when running.
|
|
||||||
</details>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
Install Poetry using `pipx`:
|
Install Poetry using `pipx`:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
|
@ -1027,6 +1005,11 @@ class QAUbuntu2410(QADebianBased):
|
||||||
VERSION = "24.10"
|
VERSION = "24.10"
|
||||||
|
|
||||||
|
|
||||||
|
class QAUbuntu2504(QADebianBased):
|
||||||
|
DISTRO = "ubuntu"
|
||||||
|
VERSION = "25.04"
|
||||||
|
|
||||||
|
|
||||||
class QAFedora(QALinux):
|
class QAFedora(QALinux):
|
||||||
"""Base class for Fedora distros.
|
"""Base class for Fedora distros.
|
||||||
|
|
||||||
|
@ -1044,6 +1027,10 @@ class QAFedora(QALinux):
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class QAFedora42(QAFedora):
|
||||||
|
VERSION = "42"
|
||||||
|
|
||||||
|
|
||||||
class QAFedora41(QAFedora):
|
class QAFedora41(QAFedora):
|
||||||
VERSION = "41"
|
VERSION = "41"
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue