diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index c88664c..e6491d4 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -328,7 +328,7 @@ jobs:
run: |
./dev_scripts/env.py --distro ${{ matrix.distro }} \
--version ${{ matrix.version }} \
- build --download-pyside6
+ build
- name: Run a test command
run: |
diff --git a/BUILD.md b/BUILD.md
index eae71b5..845b8ec 100644
--- a/BUILD.md
+++ b/BUILD.md
@@ -314,18 +314,9 @@ test it.
1. Install the `.rpm` package you just copied
```sh
- sudo dnf install 'dnf-command(config-manager)'
- sudo dnf-3 config-manager --add-repo=https://packages.freedom.press/yum-tools-prod/dangerzone/dangerzone.repo
sudo dnf install ~/QubesIncoming/dz/*.rpm
```
- In the above steps, we add the Dangerzone repo because it includes the
- necessary PySide6 RPM in order to make Dangerzone work.
-
- > [!NOTE]
- > During the installation, you will be asked to
- > [verify the Dangerzone GPG key](INSTALL.md#verifying-dangerzone-gpg-key).
-
2. Shutdown the `fedora-40-dz` template
### Developing Dangerzone
diff --git a/INSTALL.md b/INSTALL.md
index 18e5920..da26471 100644
--- a/INSTALL.md
+++ b/INSTALL.md
@@ -137,23 +137,6 @@ sudo apt install -y dangerzone
### Fedora
-
-
-
-
- :information_source: Backport notice for Fedora users regarding the python3-pyside6 package
-
-
- Fedora 39+ onwards does not provide official Python bindings for Qt. For
- this reason, we provide our own `python3-pyside6` package (see
- [build instructions](https://github.com/freedomofpress/maint-dangerzone-pyside6))
- from our YUM repo. For a deeper dive on this subject, you may read
- [this issue](https://github.com/freedomofpress/dangerzone/issues/211#issuecomment-1827777122).
-
- |
-
-
-
Type the following commands in a terminal:
```
diff --git a/RELEASE.md b/RELEASE.md
index 89141cf..4d47d46 100644
--- a/RELEASE.md
+++ b/RELEASE.md
@@ -9,7 +9,6 @@ Before making a release, all of these should be complete:
- [ ] Copy the checkboxes from these instructions onto a new issue and call it **QA and Release version \**
- [ ] [Add new Linux platforms and remove obsolete ones](https://github.com/freedomofpress/dangerzone/blob/main/RELEASE.md#add-new-platforms-and-remove-obsolete-ones)
- [ ] Bump the Python dependencies using `poetry lock`
-- [ ] [Check for official PySide6 versions](https://github.com/freedomofpress/dangerzone/blob/main/RELEASE.md#check-for-official-pyside6-versions)
- [ ] Update `version` in `pyproject.toml`
- [ ] Update `share/version.txt`
- [ ] Update the "Version" field in `install/linux/dangerzone.spec`
@@ -44,16 +43,6 @@ In case of an EOL version:
* Consult the previous paragraph, but also `grep` your way around.
2. Add a notice in our `CHANGELOG.md` about the version removal.
-## Check for official PySide6 versions
-
-PySide6 6.7.0 is available from the Fedora Rawhide repo, and we expect that a
-similar version will be pushed soon to the rest of the stable releases. Prior to
-a release, we should check if this has happened already. Once this happens, we
-should update our CI tests accordingly, and remove this notice.
-
-For more info, read:
-https://github.com/freedomofpress/maint-dangerzone-pyside6/issues/5
-
## Large Document Testing
Parallel to the QA process, the release candidate should be put through the large document tests in a dedicated machine to run overnight.
diff --git a/dev_scripts/env.py b/dev_scripts/env.py
index 8fb2a8e..df2979b 100755
--- a/dev_scripts/env.py
+++ b/dev_scripts/env.py
@@ -16,42 +16,6 @@ DEFAULT_USER = "user"
DEFAULT_DRY = False
DEFAULT_DEV = False
DEFAULT_SHOW_DOCKERFILE = False
-DEFAULT_DOWNLOAD_PYSIDE6 = False
-
-PYSIDE6_VERSION = "6.7.1"
-PYSIDE6_RPM = "python3-pyside6-{pyside6_version}-1.fc{fedora_version}.x86_64.rpm"
-PYSIDE6_URL = (
- "https://packages.freedom.press/yum-tools-prod/dangerzone/f{fedora_version}/%s"
- % PYSIDE6_RPM
-)
-
-PYSIDE6_DL_MESSAGE = """\
-Downloading PySide6 RPM from:
-
- {pyside6_url}
-
-into the following local path:
-
- {pyside6_local_path}
-
-The RPM is over 100 MB, so this operation may take a while...
-"""
-
-PYSIDE6_NOT_FOUND_ERROR = """\
-The following package is not present in your system:
-
- {pyside6_local_path}
-
-You can build it locally and copy it in the expected path, following the instructions
-in:
-
- https://github.com/freedomofpress/python3-pyside6-rpm
-
-Alternatively, you can rerun the command adding the '--download-pyside6' flag, which
-will download it from:
-
- {pyside6_url}
-"""
# The Linux distributions that we currently support.
# FIXME: Add a version mapping to avoid mistakes.
@@ -232,11 +196,6 @@ RUN apt-get update \
&& rm -rf /var/lib/apt/lists/*
"""
-DOCKERFILE_BUILD_FEDORA_39_DEPS = r"""
-COPY {pyside6_rpm} /tmp/pyside6.rpm
-RUN dnf install -y /tmp/pyside6.rpm
-"""
-
DOCKERFILE_BUILD_FEDORA_DEPS = r"""
RUN dnf install -y mupdf thunar && dnf clean all
@@ -390,74 +349,6 @@ def get_files_in(*folders: list[str]) -> list[pathlib.Path]:
return files
-class PySide6Manager:
- """Provision PySide6 RPMs in our Dangerzone environments.
-
- This class holds all the logic around checking and downloading PySide RPMs. It can
- check if the required RPM version is present under "/dist", and optionally download
- it.
- """
-
- def __init__(self, distro_name, distro_version):
- if distro_name != "fedora":
- raise RuntimeError("Managing PySide6 RPMs is available only in Fedora")
- self.distro_name = distro_name
- self.distro_version = distro_version
-
- @property
- def version(self):
- """The version of the PySide6 RPM."""
- return PYSIDE6_VERSION
-
- @property
- def rpm_name(self):
- """The name of the PySide6 RPM."""
- return PYSIDE6_RPM.format(
- pyside6_version=self.version, fedora_version=self.distro_version
- )
-
- @property
- def rpm_url(self):
- """The URL of the PySide6 RPM, as hosted in FPF's RPM repo."""
- return PYSIDE6_URL.format(
- pyside6_version=self.version,
- fedora_version=self.distro_version,
- )
-
- @property
- def rpm_local_path(self):
- """The local path where this script will look for the PySide6 RPM."""
- return git_root() / "dist" / self.rpm_name
-
- @property
- def is_rpm_present(self):
- """Check if PySide6 RPM is present in the user's system."""
- return self.rpm_local_path.exists()
-
- def download_rpm(self):
- """Download PySide6 from FPF's RPM repo."""
- print(
- PYSIDE6_DL_MESSAGE.format(
- pyside6_url=self.rpm_url,
- pyside6_local_path=self.rpm_local_path,
- ),
- file=sys.stderr,
- )
- try:
- with (
- urllib.request.urlopen(self.rpm_url) as r,
- open(self.rpm_local_path, "wb") as f,
- ):
- shutil.copyfileobj(r, f)
- except:
- # NOTE: We purposefully catch all exceptions, since we want to catch Ctrl-C
- # as well.
- print("Download interrupted, removing file", file=sys.stderr)
- self.rpm_local_path.unlink()
- raise
- print("PySide6 was downloaded successfully", file=sys.stderr)
-
-
class Env:
"""A class that implements actions on Dangerzone environments"""
@@ -736,7 +627,6 @@ class Env:
def build(
self,
show_dockerfile=DEFAULT_SHOW_DOCKERFILE,
- download_pyside6=DEFAULT_DOWNLOAD_PYSIDE6,
):
"""Build a Linux environment and install Dangerzone in it."""
build_dir = distro_build(self.distro, self.version)
@@ -749,28 +639,6 @@ class Env:
package = package_src.name
package_dst = build_dir / package
install_cmd = "dnf install -y"
-
- # NOTE: For Fedora 39, we check if a PySide6 RPM package exists in
- # the user's system. If not, we either throw an error or download it from
- # FPF's repo, according to the user's choice.
- if self.version == "39":
- pyside6 = PySide6Manager(self.distro, self.version)
- if not pyside6.is_rpm_present:
- if download_pyside6:
- pyside6.download_rpm()
- else:
- print(
- PYSIDE6_NOT_FOUND_ERROR.format(
- pyside6_local_path=pyside6.rpm_local_path,
- pyside6_url=pyside6.rpm_url,
- ),
- file=sys.stderr,
- )
- return 1
- shutil.copy(pyside6.rpm_local_path, build_dir / pyside6.rpm_name)
- install_deps = (
- DOCKERFILE_BUILD_FEDORA_DEPS + DOCKERFILE_BUILD_FEDORA_39_DEPS
- ).format(pyside6_rpm=pyside6.rpm_name)
else:
install_deps = DOCKERFILE_BUILD_DEBIAN_DEPS
if self.distro == "ubuntu" and self.version in ("20.04", "focal"):
@@ -844,7 +712,6 @@ def env_build(args):
env = Env.from_args(args)
return env.build(
show_dockerfile=args.show_dockerfile,
- download_pyside6=args.download_pyside6,
)
@@ -941,12 +808,6 @@ def parse_args():
action="store_true",
help="Do not build, only show the Dockerfile",
)
- parser_build.add_argument(
- "--download-pyside6",
- default=DEFAULT_DOWNLOAD_PYSIDE6,
- action="store_true",
- help="Download PySide6 from FPF's RPM repo",
- )
return parser.parse_args()
diff --git a/dev_scripts/qa.py b/dev_scripts/qa.py
index 35fab01..8c99a76 100755
--- a/dev_scripts/qa.py
+++ b/dev_scripts/qa.py
@@ -961,7 +961,6 @@ class QALinux(QABase):
"--version",
self.VERSION,
"build",
- "--download-pyside6",
)
@classmethod