Skip to content

Commit

Permalink
ci: Bump PySide6 version in Fedora end-user envs
Browse files Browse the repository at this point in the history
Our end-user Fedora environments, that we create for testing how
Dangerzone would operate on a clean Fedora system, require PySide6 to be
installed. This package is not available from the official Fedora repos
yet.

We have a way instead to check the poetry.lock file, grab the latest
PySide6 version from there, and install it from a URL. This is no longer
necessary, now that PySide6 6.7.0 will soon be available in all stable
Fedora releases. Since the last release maintained by FPF will be
6.6.3.1, we should pin this version in our env.py script. This way, we
can bump poetry.lock independently, and let Windows/macOS users get
different versions.

Refs freedomofpress/maint-dangerzone-pyside6#5
  • Loading branch information
apyrgio committed Apr 16, 2024
1 parent 7c4e629 commit eeab1d5
Showing 1 changed file with 4 additions and 15 deletions.
19 changes: 4 additions & 15 deletions dev_scripts/env.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,11 @@
DEFAULT_SHOW_DOCKERFILE = False
DEFAULT_DOWNLOAD_PYSIDE6 = False

PYSIDE6_VERSION ="6.6.3.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"
#"https://packages.freedom.press/yum-tools-prod/dangerzone/f{fedora_version}/%s"
"https://github.com/freedomofpress/yum-tools-prod/raw/db4a1faecc4835c8f38580cb50f53f6d81bcaf40/dangerzone/f{fedora_version}/%s"
% PYSIDE6_RPM
)

Expand Down Expand Up @@ -322,20 +324,7 @@ def __init__(self, distro_name, distro_version):
@property
@functools.lru_cache
def version(self):
"""Retrieve the PySide6 version from poetry.lock.
Read the poetry.lock file, and grep the version of the PySide6 library. The
results of this method call are cached, so we can call it repeatedly without any
performance cost.
"""
# FIXME: I don't like regexes, but problem is that `tomllib` is not present in
# Python < 3.11. So, since we don't want to rely on an external library yet, we
# have to resort to regexes. Note that the regex we choose uses Shiboken6,
# mainly because the PySide6 package and its version are in different lines.
with open(git_root() / "poetry.lock") as f:
toml = f.read()
match = re.search(r'^shiboken6 = "([\d.]+)"$', toml, re.MULTILINE)
return match.groups()[0]
return PYSIDE6_VERSION

@property
def rpm_name(self):
Expand Down

0 comments on commit eeab1d5

Please sign in to comment.