music pushed to rpms/gi-docgen (f36). "Use tomllib (tomli) instated
of deprecated python3-toml (..more)"
by notifications@fedoraproject.org
Notification time stamped 2022-12-31 15:54:54 UTC
From 49f753ce2ea936671d56b4993dfffb8bdfed36cc Mon Sep 17 00:00:00 2001
From: Miro Hrončok <miro(a)hroncok.cz>
Date: Dec 31 2022 15:53:01 +0000
Subject: Use tomllib (tomli) instated of deprecated python3-toml
https://fedoraproject.org/wiki/Changes/DeprecatePythonToml
---
diff --git a/gi-docgen-2022.2-tomllib.patch b/gi-docgen-2022.2-tomllib.patch
new file mode 100644
index 0000000..75f2bd6
--- /dev/null
+++ b/gi-docgen-2022.2-tomllib.patch
@@ -0,0 +1,340 @@
+From 298e37032ddec9a07e6cb396df3327200134230c Mon Sep 17 00:00:00 2001
+From: Seppo Yli-Olli <seppo.yliolli(a)gmail.com>
+Date: Sat, 8 Oct 2022 22:36:49 +0300
+Subject: [PATCH] Use tomllib in gi-docgen with fallback to tomli on older
+ Python
+
+---
+ .gitlab-ci.yml | 11 ++++++++++-
+ gidocgen/config.py | 15 ++++++++++-----
+ meson.build | 10 +++++++++-
+ pyproject.toml | 2 +-
+ setup.cfg | 2 +-
+ 5 files changed, 31 insertions(+), 9 deletions(-)
+
+diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
+index 780d46f..b55f150 100644
+--- a/.gitlab-ci.yml
++++ b/.gitlab-ci.yml
+@@ -33,7 +33,16 @@ pytest:
+ needs: []
+ image: fedora:latest
+ script:
+- - dnf install -y pytest python3-markdown python3-jinja2 python3-pygments python3-toml python3-typogrify
++ - dnf install -y pytest python3-markdown python3-jinja2 python3-pygments python3-typogrify
++ - pytest --verbose
++
++pytest-tomli:
++ # Validates that tomli configuration works correctly
++ stage: check
++ needs: []
++ image: fedora:36
++ script:
++ - dnf install -y pytest python3-markdown python3-jinja2 python3-pygments python3-tomli python3-typogrify
+ - pytest --verbose
+
+ flake8:
+diff --git a/gidocgen/config.py b/gidocgen/config.py
+index 0047568..ca79428 100644
+--- a/gidocgen/config.py
++++ b/gidocgen/config.py
+@@ -3,7 +3,10 @@
+
+ import os
+ import re
+-import toml
++try:
++ import tomllib
++except ImportError:
++ import tomli as tomllib
+
+ from urllib.parse import urljoin
+
+@@ -19,8 +22,9 @@ class GIDocConfig:
+ if self._config_file is not None:
+ try:
+ log.debug(f"Reading configuration file: {self._config_file}")
+- self._config = toml.load(self._config_file)
+- except toml.TomlDecodeError as err:
++ with open(self._config_file, "rb") as f:
++ self._config = tomllib.load(f)
++ except tomllib.TOMLDecodeError as err:
+ log.error(f"Invalid configuration file: {self._config_file}: {err}")
+
+ @property
+@@ -243,8 +247,9 @@ class GITemplateConfig:
+ self._config = {}
+ try:
+ log.debug(f"Reading template configuration file: {self._config_file}")
+- self._config = toml.load(self._config_file)
+- except toml.TomlDecodeError as err:
++ with open(self._config_file, "rb") as f:
++ self._config = tomllib.load(f)
++ except tomllib.TOMLDecodeError as err:
+ log.error(f"Invalid template configuration file: {self._config_file}: {err}")
+
+ @property
+diff --git a/meson.build b/meson.build
+index bee1558..d967fd3 100644
+--- a/meson.build
++++ b/meson.build
+@@ -13,7 +13,6 @@ py = import('python').find_installation('python3',
+ 'markdown',
+ 'markupsafe',
+ 'pygments',
+- 'toml',
+ 'typogrify',
+ ],
+ )
+@@ -27,6 +26,15 @@ if not markdown_version.version_compare('>=3.2')
+ error('gi-docgen requires at least markdown >= 3.2')
+ endif
+
++if py.language_version().version_compare('<3.11')
++ tomli_version = run_command(
++ py, '-c', 'import tomli; print(tomli.__version__)',
++ ).stdout().strip()
++ if not tomli_version.version_compare('>=1.0')
++ error('tomli 1.0 or newer required on Python 3.10 and older')
++ endif
++endif
++
+ configure_file(
+ input: 'gi-docgen.py',
+ output: 'gi-docgen',
+diff --git a/pyproject.toml b/pyproject.toml
+index 2b88735..b0b18e4 100644
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -39,7 +39,7 @@ Markdown = "^3.2"
+ MarkupSafe = "^1"
+ Pygments = "^2"
+ Jinja2 = "^2"
+-toml = "^0"
++tomli = { version = ">=1,<3" markers = "python_version < '3.11'" }
+ typogrify = "^2"
+
+ [tool.poetry.dev-dependencies]
+diff --git a/setup.cfg b/setup.cfg
+index e7afae1..141d5e1 100644
+--- a/setup.cfg
++++ b/setup.cfg
+@@ -56,7 +56,7 @@ install_requires =
+ MarkupSafe
+ Pygments
+ jinja2
+- toml
++ tomli; python_version < '3.11'
+ typogrify
+
+ [options.entry_points]
+--
+GitLab
+
+From 247818203cd948763349b42b9723d76ec637f91c Mon Sep 17 00:00:00 2001
+From: Emmanuele Bassi <ebassi(a)gnome.org>
+Date: Tue, 29 Nov 2022 12:11:49 +0000
+Subject: [PATCH] Add a fallback for the old toml module
+
+Even if it's deprecated, to ease the porting away from it inside CI
+pipelines.
+---
+ gidocgen/config.py | 49 +++++++++++++++++++++++++++++++++-------------
+ 1 file changed, 35 insertions(+), 14 deletions(-)
+
+diff --git a/gidocgen/config.py b/gidocgen/config.py
+index ca79428..8863ac1 100644
+--- a/gidocgen/config.py
++++ b/gidocgen/config.py
+@@ -3,16 +3,45 @@
+
+ import os
+ import re
++
++toml_module = None
+ try:
+- import tomllib
++ import tomllib as toml_lib
++ toml_module = 'tomlib'
+ except ImportError:
+- import tomli as tomllib
++ try:
++ import tomli as toml_lib
++ toml_module = 'tomli'
++ except ImportError:
++ import toml as toml_lib
++ toml_module = 'toml'
+
+ from urllib.parse import urljoin
+
+ from . import core, log, utils
+
+
++class TomlConfig:
++ """Wrapper class for TOML loading"""
++
++ @staticmethod
++ def load(toml):
++ log.debug(f"Using TOML module: {toml_module}")
++ if toml_module is None:
++ log.error("No toml module found")
++ elif toml_module in ['tomlib', 'tomli']:
++ try:
++ with open(toml, "rb") as f:
++ return toml_lib.load(f)
++ except toml_lib.TOMLDecodeError as err:
++ log.error(f"Invalid configuration file: {toml}: {err}")
++ elif toml_module in ['toml']:
++ try:
++ return toml_lib.load(toml)
++ except toml_lib.TomlDecodeError as err:
++ log.error(f"Invalid configuration file: {toml}: {err}")
++
++
+ class GIDocConfig:
+ """Load and represent the configuration for gidocgen"""
+ def __init__(self, config_file=None):
+@@ -20,12 +49,8 @@ class GIDocConfig:
+
+ self._config = {}
+ if self._config_file is not None:
+- try:
+- log.debug(f"Reading configuration file: {self._config_file}")
+- with open(self._config_file, "rb") as f:
+- self._config = tomllib.load(f)
+- except tomllib.TOMLDecodeError as err:
+- log.error(f"Invalid configuration file: {self._config_file}: {err}")
++ log.debug(f"Reading configuration file: {self._config_file}")
++ self._config = TomlConfig.load(self._config_file)
+
+ @property
+ def library(self):
+@@ -245,12 +270,8 @@ class GITemplateConfig:
+ self._config_file = os.path.join(templates_dir, template_name, f"{template_name}.toml")
+
+ self._config = {}
+- try:
+- log.debug(f"Reading template configuration file: {self._config_file}")
+- with open(self._config_file, "rb") as f:
+- self._config = tomllib.load(f)
+- except tomllib.TOMLDecodeError as err:
+- log.error(f"Invalid template configuration file: {self._config_file}: {err}")
++ log.debug(f"Reading template configuration file: {self._config_file}")
++ self._config = TomlConfig.load(self._config_file)
+
+ @property
+ def name(self):
+--
+GitLab
+
+From add62bee3df2418fc13543023c3c6eca3e025d65 Mon Sep 17 00:00:00 2001
+From: Emmanuele Bassi <ebassi(a)gnome.org>
+Date: Tue, 29 Nov 2022 12:43:09 +0000
+Subject: [PATCH 1/2] build: Check for toml fallback module
+
+Emit a message when using tomli, and a warning when using toml.
+---
+ meson.build | 15 +++++++++++++--
+ 1 file changed, 13 insertions(+), 2 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index d967fd3..f48f19e 100644
+--- a/meson.build
++++ b/meson.build
+@@ -29,9 +29,20 @@ endif
+ if py.language_version().version_compare('<3.11')
+ tomli_version = run_command(
+ py, '-c', 'import tomli; print(tomli.__version__)',
++ check: true,
+ ).stdout().strip()
+- if not tomli_version.version_compare('>=1.0')
+- error('tomli 1.0 or newer required on Python 3.10 and older')
++ if tomli_version.version_compare('>=1.0')
++ message('Falling back to toml on Python <3.11')
++ else
++ toml_version = run_command(
++ py, '-c', 'import toml; print(toml.__version__)',
++ check: true,
++ ).stdout().strip()
++ if toml_version.version_compare('>=0.10.2')
++ warning('Falling back to deprecated toml module; please update to tomli')
++ else
++ error('tomli 1.0 or newer required on Python 3.10 and older')
++ endif
+ endif
+ endif
+
+--
+GitLab
+
+
+From 40212aaab05ef4d211ced0b54b4fe358626392bc Mon Sep 17 00:00:00 2001
+From: Emmanuele Bassi <ebassi(a)gnome.org>
+Date: Tue, 29 Nov 2022 12:48:54 +0000
+Subject: [PATCH 2/2] ci: Add Meson build job to the pipeline
+
+---
+ .gitlab-ci.yml | 17 +++++++++--------
+ 1 file changed, 9 insertions(+), 8 deletions(-)
+
+diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
+index b55f150..1538424 100644
+--- a/.gitlab-ci.yml
++++ b/.gitlab-ci.yml
+@@ -7,14 +7,15 @@ stages:
+ - check
+ - deploy
+
+-#meson-build:
+-# stage: build
+-# needs: []
+-# script:
+-# - dnf install -y meson ninja-build pytest python3-flake8 python3-mypy python3-markdown python3-jinja2 python3-toml python3-typogrify
+-# - meson _build .
+-# - meson test -C _build
+-#
++meson-build:
++ image: fedora:latest
++ stage: build
++ needs: []
++ script:
++ - dnf install -y meson ninja-build pytest python3-markdown python3-jinja2 python3-pygments python3-typogrify python3-flake8 python3-mypy
++ - meson _build .
++ - meson test -C _build
++
+ #pip-build:
+ # stage: build
+ # needs: []
+--
+GitLab
+
+From de9d716d8919f1f8434539b5974fc0b86b5aa5c3 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= <miro(a)hroncok.cz>
+Date: Fri, 30 Dec 2022 17:48:30 +0100
+Subject: [PATCH] Make pyproject.toml valid TOML
+
+This avoids:
+
+ TOMLDecodeError: Unclosed inline table (at line 42, column 30)
+
+When parsing the file with tomllib.
+---
+ pyproject.toml | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/pyproject.toml b/pyproject.toml
+index b0b18e4..4bf0712 100644
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -39,7 +39,7 @@ Markdown = "^3.2"
+ MarkupSafe = "^1"
+ Pygments = "^2"
+ Jinja2 = "^2"
+-tomli = { version = ">=1,<3" markers = "python_version < '3.11'" }
++tomli = { version = ">=1,<3", markers = "python_version < '3.11'" }
+ typogrify = "^2"
+
+ [tool.poetry.dev-dependencies]
+--
+GitLab
+
diff --git a/gi-docgen.spec b/gi-docgen.spec
index ccfe44f..bf0f66e 100644
--- a/gi-docgen.spec
+++ b/gi-docgen.spec
@@ -70,6 +70,18 @@ Source0: %{url}/-/archive/%{version}/gi-docgen-%{version}.tar.bz2
# local system fonts.
Patch: gi-docgen-2022.2-no-web-fonts.patch
+# python3-toml is deprecated
+# https://fedoraproject.org/wiki/Changes/DeprecatePythonToml
+# Backport upstream changes to migrate to tomllib and fallback to tomli and toml
+# We technically only need the following two:
+# https://gitlab.gnome.org/GNOME/gi-docgen/-/merge_requests/168
+# https://gitlab.gnome.org/GNOME/gi-docgen/-/merge_requests/174 (fixup of 168)
+# But the following two were deemed necessary upstream as well:
+# https://gitlab.gnome.org/GNOME/gi-docgen/-/merge_requests/172
+# https://gitlab.gnome.org/GNOME/gi-docgen/-/merge_requests/173
+# Patches trivially joined to one file with cat.
+Patch: gi-docgen-2022.2-tomllib.patch
+
BuildArch: noarch
BuildRequires: python3-devel
https://src.fedoraproject.org/rpms/gi-docgen/c/49f753ce2ea936671d56b4993d...
1 year, 4 months
music pushed to rpms/gi-docgen (f37). "Use tomllib (tomli) instated
of deprecated python3-toml (..more)"
by notifications@fedoraproject.org
Notification time stamped 2022-12-31 15:10:01 UTC
From 44c30c16e6c05a7bc6fe131239fbf033409ea37f Mon Sep 17 00:00:00 2001
From: Miro Hrončok <miro(a)hroncok.cz>
Date: Dec 30 2022 16:53:10 +0000
Subject: Use tomllib (tomli) instated of deprecated python3-toml
https://fedoraproject.org/wiki/Changes/DeprecatePythonToml
---
diff --git a/gi-docgen-2022.2-tomllib.patch b/gi-docgen-2022.2-tomllib.patch
new file mode 100644
index 0000000..75f2bd6
--- /dev/null
+++ b/gi-docgen-2022.2-tomllib.patch
@@ -0,0 +1,340 @@
+From 298e37032ddec9a07e6cb396df3327200134230c Mon Sep 17 00:00:00 2001
+From: Seppo Yli-Olli <seppo.yliolli(a)gmail.com>
+Date: Sat, 8 Oct 2022 22:36:49 +0300
+Subject: [PATCH] Use tomllib in gi-docgen with fallback to tomli on older
+ Python
+
+---
+ .gitlab-ci.yml | 11 ++++++++++-
+ gidocgen/config.py | 15 ++++++++++-----
+ meson.build | 10 +++++++++-
+ pyproject.toml | 2 +-
+ setup.cfg | 2 +-
+ 5 files changed, 31 insertions(+), 9 deletions(-)
+
+diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
+index 780d46f..b55f150 100644
+--- a/.gitlab-ci.yml
++++ b/.gitlab-ci.yml
+@@ -33,7 +33,16 @@ pytest:
+ needs: []
+ image: fedora:latest
+ script:
+- - dnf install -y pytest python3-markdown python3-jinja2 python3-pygments python3-toml python3-typogrify
++ - dnf install -y pytest python3-markdown python3-jinja2 python3-pygments python3-typogrify
++ - pytest --verbose
++
++pytest-tomli:
++ # Validates that tomli configuration works correctly
++ stage: check
++ needs: []
++ image: fedora:36
++ script:
++ - dnf install -y pytest python3-markdown python3-jinja2 python3-pygments python3-tomli python3-typogrify
+ - pytest --verbose
+
+ flake8:
+diff --git a/gidocgen/config.py b/gidocgen/config.py
+index 0047568..ca79428 100644
+--- a/gidocgen/config.py
++++ b/gidocgen/config.py
+@@ -3,7 +3,10 @@
+
+ import os
+ import re
+-import toml
++try:
++ import tomllib
++except ImportError:
++ import tomli as tomllib
+
+ from urllib.parse import urljoin
+
+@@ -19,8 +22,9 @@ class GIDocConfig:
+ if self._config_file is not None:
+ try:
+ log.debug(f"Reading configuration file: {self._config_file}")
+- self._config = toml.load(self._config_file)
+- except toml.TomlDecodeError as err:
++ with open(self._config_file, "rb") as f:
++ self._config = tomllib.load(f)
++ except tomllib.TOMLDecodeError as err:
+ log.error(f"Invalid configuration file: {self._config_file}: {err}")
+
+ @property
+@@ -243,8 +247,9 @@ class GITemplateConfig:
+ self._config = {}
+ try:
+ log.debug(f"Reading template configuration file: {self._config_file}")
+- self._config = toml.load(self._config_file)
+- except toml.TomlDecodeError as err:
++ with open(self._config_file, "rb") as f:
++ self._config = tomllib.load(f)
++ except tomllib.TOMLDecodeError as err:
+ log.error(f"Invalid template configuration file: {self._config_file}: {err}")
+
+ @property
+diff --git a/meson.build b/meson.build
+index bee1558..d967fd3 100644
+--- a/meson.build
++++ b/meson.build
+@@ -13,7 +13,6 @@ py = import('python').find_installation('python3',
+ 'markdown',
+ 'markupsafe',
+ 'pygments',
+- 'toml',
+ 'typogrify',
+ ],
+ )
+@@ -27,6 +26,15 @@ if not markdown_version.version_compare('>=3.2')
+ error('gi-docgen requires at least markdown >= 3.2')
+ endif
+
++if py.language_version().version_compare('<3.11')
++ tomli_version = run_command(
++ py, '-c', 'import tomli; print(tomli.__version__)',
++ ).stdout().strip()
++ if not tomli_version.version_compare('>=1.0')
++ error('tomli 1.0 or newer required on Python 3.10 and older')
++ endif
++endif
++
+ configure_file(
+ input: 'gi-docgen.py',
+ output: 'gi-docgen',
+diff --git a/pyproject.toml b/pyproject.toml
+index 2b88735..b0b18e4 100644
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -39,7 +39,7 @@ Markdown = "^3.2"
+ MarkupSafe = "^1"
+ Pygments = "^2"
+ Jinja2 = "^2"
+-toml = "^0"
++tomli = { version = ">=1,<3" markers = "python_version < '3.11'" }
+ typogrify = "^2"
+
+ [tool.poetry.dev-dependencies]
+diff --git a/setup.cfg b/setup.cfg
+index e7afae1..141d5e1 100644
+--- a/setup.cfg
++++ b/setup.cfg
+@@ -56,7 +56,7 @@ install_requires =
+ MarkupSafe
+ Pygments
+ jinja2
+- toml
++ tomli; python_version < '3.11'
+ typogrify
+
+ [options.entry_points]
+--
+GitLab
+
+From 247818203cd948763349b42b9723d76ec637f91c Mon Sep 17 00:00:00 2001
+From: Emmanuele Bassi <ebassi(a)gnome.org>
+Date: Tue, 29 Nov 2022 12:11:49 +0000
+Subject: [PATCH] Add a fallback for the old toml module
+
+Even if it's deprecated, to ease the porting away from it inside CI
+pipelines.
+---
+ gidocgen/config.py | 49 +++++++++++++++++++++++++++++++++-------------
+ 1 file changed, 35 insertions(+), 14 deletions(-)
+
+diff --git a/gidocgen/config.py b/gidocgen/config.py
+index ca79428..8863ac1 100644
+--- a/gidocgen/config.py
++++ b/gidocgen/config.py
+@@ -3,16 +3,45 @@
+
+ import os
+ import re
++
++toml_module = None
+ try:
+- import tomllib
++ import tomllib as toml_lib
++ toml_module = 'tomlib'
+ except ImportError:
+- import tomli as tomllib
++ try:
++ import tomli as toml_lib
++ toml_module = 'tomli'
++ except ImportError:
++ import toml as toml_lib
++ toml_module = 'toml'
+
+ from urllib.parse import urljoin
+
+ from . import core, log, utils
+
+
++class TomlConfig:
++ """Wrapper class for TOML loading"""
++
++ @staticmethod
++ def load(toml):
++ log.debug(f"Using TOML module: {toml_module}")
++ if toml_module is None:
++ log.error("No toml module found")
++ elif toml_module in ['tomlib', 'tomli']:
++ try:
++ with open(toml, "rb") as f:
++ return toml_lib.load(f)
++ except toml_lib.TOMLDecodeError as err:
++ log.error(f"Invalid configuration file: {toml}: {err}")
++ elif toml_module in ['toml']:
++ try:
++ return toml_lib.load(toml)
++ except toml_lib.TomlDecodeError as err:
++ log.error(f"Invalid configuration file: {toml}: {err}")
++
++
+ class GIDocConfig:
+ """Load and represent the configuration for gidocgen"""
+ def __init__(self, config_file=None):
+@@ -20,12 +49,8 @@ class GIDocConfig:
+
+ self._config = {}
+ if self._config_file is not None:
+- try:
+- log.debug(f"Reading configuration file: {self._config_file}")
+- with open(self._config_file, "rb") as f:
+- self._config = tomllib.load(f)
+- except tomllib.TOMLDecodeError as err:
+- log.error(f"Invalid configuration file: {self._config_file}: {err}")
++ log.debug(f"Reading configuration file: {self._config_file}")
++ self._config = TomlConfig.load(self._config_file)
+
+ @property
+ def library(self):
+@@ -245,12 +270,8 @@ class GITemplateConfig:
+ self._config_file = os.path.join(templates_dir, template_name, f"{template_name}.toml")
+
+ self._config = {}
+- try:
+- log.debug(f"Reading template configuration file: {self._config_file}")
+- with open(self._config_file, "rb") as f:
+- self._config = tomllib.load(f)
+- except tomllib.TOMLDecodeError as err:
+- log.error(f"Invalid template configuration file: {self._config_file}: {err}")
++ log.debug(f"Reading template configuration file: {self._config_file}")
++ self._config = TomlConfig.load(self._config_file)
+
+ @property
+ def name(self):
+--
+GitLab
+
+From add62bee3df2418fc13543023c3c6eca3e025d65 Mon Sep 17 00:00:00 2001
+From: Emmanuele Bassi <ebassi(a)gnome.org>
+Date: Tue, 29 Nov 2022 12:43:09 +0000
+Subject: [PATCH 1/2] build: Check for toml fallback module
+
+Emit a message when using tomli, and a warning when using toml.
+---
+ meson.build | 15 +++++++++++++--
+ 1 file changed, 13 insertions(+), 2 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index d967fd3..f48f19e 100644
+--- a/meson.build
++++ b/meson.build
+@@ -29,9 +29,20 @@ endif
+ if py.language_version().version_compare('<3.11')
+ tomli_version = run_command(
+ py, '-c', 'import tomli; print(tomli.__version__)',
++ check: true,
+ ).stdout().strip()
+- if not tomli_version.version_compare('>=1.0')
+- error('tomli 1.0 or newer required on Python 3.10 and older')
++ if tomli_version.version_compare('>=1.0')
++ message('Falling back to toml on Python <3.11')
++ else
++ toml_version = run_command(
++ py, '-c', 'import toml; print(toml.__version__)',
++ check: true,
++ ).stdout().strip()
++ if toml_version.version_compare('>=0.10.2')
++ warning('Falling back to deprecated toml module; please update to tomli')
++ else
++ error('tomli 1.0 or newer required on Python 3.10 and older')
++ endif
+ endif
+ endif
+
+--
+GitLab
+
+
+From 40212aaab05ef4d211ced0b54b4fe358626392bc Mon Sep 17 00:00:00 2001
+From: Emmanuele Bassi <ebassi(a)gnome.org>
+Date: Tue, 29 Nov 2022 12:48:54 +0000
+Subject: [PATCH 2/2] ci: Add Meson build job to the pipeline
+
+---
+ .gitlab-ci.yml | 17 +++++++++--------
+ 1 file changed, 9 insertions(+), 8 deletions(-)
+
+diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
+index b55f150..1538424 100644
+--- a/.gitlab-ci.yml
++++ b/.gitlab-ci.yml
+@@ -7,14 +7,15 @@ stages:
+ - check
+ - deploy
+
+-#meson-build:
+-# stage: build
+-# needs: []
+-# script:
+-# - dnf install -y meson ninja-build pytest python3-flake8 python3-mypy python3-markdown python3-jinja2 python3-toml python3-typogrify
+-# - meson _build .
+-# - meson test -C _build
+-#
++meson-build:
++ image: fedora:latest
++ stage: build
++ needs: []
++ script:
++ - dnf install -y meson ninja-build pytest python3-markdown python3-jinja2 python3-pygments python3-typogrify python3-flake8 python3-mypy
++ - meson _build .
++ - meson test -C _build
++
+ #pip-build:
+ # stage: build
+ # needs: []
+--
+GitLab
+
+From de9d716d8919f1f8434539b5974fc0b86b5aa5c3 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= <miro(a)hroncok.cz>
+Date: Fri, 30 Dec 2022 17:48:30 +0100
+Subject: [PATCH] Make pyproject.toml valid TOML
+
+This avoids:
+
+ TOMLDecodeError: Unclosed inline table (at line 42, column 30)
+
+When parsing the file with tomllib.
+---
+ pyproject.toml | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/pyproject.toml b/pyproject.toml
+index b0b18e4..4bf0712 100644
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -39,7 +39,7 @@ Markdown = "^3.2"
+ MarkupSafe = "^1"
+ Pygments = "^2"
+ Jinja2 = "^2"
+-tomli = { version = ">=1,<3" markers = "python_version < '3.11'" }
++tomli = { version = ">=1,<3", markers = "python_version < '3.11'" }
+ typogrify = "^2"
+
+ [tool.poetry.dev-dependencies]
+--
+GitLab
+
diff --git a/gi-docgen.spec b/gi-docgen.spec
index ccfe44f..bf0f66e 100644
--- a/gi-docgen.spec
+++ b/gi-docgen.spec
@@ -70,6 +70,18 @@ Source0: %{url}/-/archive/%{version}/gi-docgen-%{version}.tar.bz2
# local system fonts.
Patch: gi-docgen-2022.2-no-web-fonts.patch
+# python3-toml is deprecated
+# https://fedoraproject.org/wiki/Changes/DeprecatePythonToml
+# Backport upstream changes to migrate to tomllib and fallback to tomli and toml
+# We technically only need the following two:
+# https://gitlab.gnome.org/GNOME/gi-docgen/-/merge_requests/168
+# https://gitlab.gnome.org/GNOME/gi-docgen/-/merge_requests/174 (fixup of 168)
+# But the following two were deemed necessary upstream as well:
+# https://gitlab.gnome.org/GNOME/gi-docgen/-/merge_requests/172
+# https://gitlab.gnome.org/GNOME/gi-docgen/-/merge_requests/173
+# Patches trivially joined to one file with cat.
+Patch: gi-docgen-2022.2-tomllib.patch
+
BuildArch: noarch
BuildRequires: python3-devel
https://src.fedoraproject.org/rpms/gi-docgen/c/44c30c16e6c05a7bc6fe131239...
1 year, 4 months
pagure pushed to rpms/gi-docgen (rawhide). "Use tomllib (tomli)
instated of deprecated python3-toml (..more)"
by notifications@fedoraproject.org
Notification time stamped 2022-12-31 14:43:43 UTC
From 44c30c16e6c05a7bc6fe131239fbf033409ea37f Mon Sep 17 00:00:00 2001
From: Miro Hrončok <miro(a)hroncok.cz>
Date: Dec 30 2022 16:53:10 +0000
Subject: Use tomllib (tomli) instated of deprecated python3-toml
https://fedoraproject.org/wiki/Changes/DeprecatePythonToml
---
diff --git a/gi-docgen-2022.2-tomllib.patch b/gi-docgen-2022.2-tomllib.patch
new file mode 100644
index 0000000..75f2bd6
--- /dev/null
+++ b/gi-docgen-2022.2-tomllib.patch
@@ -0,0 +1,340 @@
+From 298e37032ddec9a07e6cb396df3327200134230c Mon Sep 17 00:00:00 2001
+From: Seppo Yli-Olli <seppo.yliolli(a)gmail.com>
+Date: Sat, 8 Oct 2022 22:36:49 +0300
+Subject: [PATCH] Use tomllib in gi-docgen with fallback to tomli on older
+ Python
+
+---
+ .gitlab-ci.yml | 11 ++++++++++-
+ gidocgen/config.py | 15 ++++++++++-----
+ meson.build | 10 +++++++++-
+ pyproject.toml | 2 +-
+ setup.cfg | 2 +-
+ 5 files changed, 31 insertions(+), 9 deletions(-)
+
+diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
+index 780d46f..b55f150 100644
+--- a/.gitlab-ci.yml
++++ b/.gitlab-ci.yml
+@@ -33,7 +33,16 @@ pytest:
+ needs: []
+ image: fedora:latest
+ script:
+- - dnf install -y pytest python3-markdown python3-jinja2 python3-pygments python3-toml python3-typogrify
++ - dnf install -y pytest python3-markdown python3-jinja2 python3-pygments python3-typogrify
++ - pytest --verbose
++
++pytest-tomli:
++ # Validates that tomli configuration works correctly
++ stage: check
++ needs: []
++ image: fedora:36
++ script:
++ - dnf install -y pytest python3-markdown python3-jinja2 python3-pygments python3-tomli python3-typogrify
+ - pytest --verbose
+
+ flake8:
+diff --git a/gidocgen/config.py b/gidocgen/config.py
+index 0047568..ca79428 100644
+--- a/gidocgen/config.py
++++ b/gidocgen/config.py
+@@ -3,7 +3,10 @@
+
+ import os
+ import re
+-import toml
++try:
++ import tomllib
++except ImportError:
++ import tomli as tomllib
+
+ from urllib.parse import urljoin
+
+@@ -19,8 +22,9 @@ class GIDocConfig:
+ if self._config_file is not None:
+ try:
+ log.debug(f"Reading configuration file: {self._config_file}")
+- self._config = toml.load(self._config_file)
+- except toml.TomlDecodeError as err:
++ with open(self._config_file, "rb") as f:
++ self._config = tomllib.load(f)
++ except tomllib.TOMLDecodeError as err:
+ log.error(f"Invalid configuration file: {self._config_file}: {err}")
+
+ @property
+@@ -243,8 +247,9 @@ class GITemplateConfig:
+ self._config = {}
+ try:
+ log.debug(f"Reading template configuration file: {self._config_file}")
+- self._config = toml.load(self._config_file)
+- except toml.TomlDecodeError as err:
++ with open(self._config_file, "rb") as f:
++ self._config = tomllib.load(f)
++ except tomllib.TOMLDecodeError as err:
+ log.error(f"Invalid template configuration file: {self._config_file}: {err}")
+
+ @property
+diff --git a/meson.build b/meson.build
+index bee1558..d967fd3 100644
+--- a/meson.build
++++ b/meson.build
+@@ -13,7 +13,6 @@ py = import('python').find_installation('python3',
+ 'markdown',
+ 'markupsafe',
+ 'pygments',
+- 'toml',
+ 'typogrify',
+ ],
+ )
+@@ -27,6 +26,15 @@ if not markdown_version.version_compare('>=3.2')
+ error('gi-docgen requires at least markdown >= 3.2')
+ endif
+
++if py.language_version().version_compare('<3.11')
++ tomli_version = run_command(
++ py, '-c', 'import tomli; print(tomli.__version__)',
++ ).stdout().strip()
++ if not tomli_version.version_compare('>=1.0')
++ error('tomli 1.0 or newer required on Python 3.10 and older')
++ endif
++endif
++
+ configure_file(
+ input: 'gi-docgen.py',
+ output: 'gi-docgen',
+diff --git a/pyproject.toml b/pyproject.toml
+index 2b88735..b0b18e4 100644
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -39,7 +39,7 @@ Markdown = "^3.2"
+ MarkupSafe = "^1"
+ Pygments = "^2"
+ Jinja2 = "^2"
+-toml = "^0"
++tomli = { version = ">=1,<3" markers = "python_version < '3.11'" }
+ typogrify = "^2"
+
+ [tool.poetry.dev-dependencies]
+diff --git a/setup.cfg b/setup.cfg
+index e7afae1..141d5e1 100644
+--- a/setup.cfg
++++ b/setup.cfg
+@@ -56,7 +56,7 @@ install_requires =
+ MarkupSafe
+ Pygments
+ jinja2
+- toml
++ tomli; python_version < '3.11'
+ typogrify
+
+ [options.entry_points]
+--
+GitLab
+
+From 247818203cd948763349b42b9723d76ec637f91c Mon Sep 17 00:00:00 2001
+From: Emmanuele Bassi <ebassi(a)gnome.org>
+Date: Tue, 29 Nov 2022 12:11:49 +0000
+Subject: [PATCH] Add a fallback for the old toml module
+
+Even if it's deprecated, to ease the porting away from it inside CI
+pipelines.
+---
+ gidocgen/config.py | 49 +++++++++++++++++++++++++++++++++-------------
+ 1 file changed, 35 insertions(+), 14 deletions(-)
+
+diff --git a/gidocgen/config.py b/gidocgen/config.py
+index ca79428..8863ac1 100644
+--- a/gidocgen/config.py
++++ b/gidocgen/config.py
+@@ -3,16 +3,45 @@
+
+ import os
+ import re
++
++toml_module = None
+ try:
+- import tomllib
++ import tomllib as toml_lib
++ toml_module = 'tomlib'
+ except ImportError:
+- import tomli as tomllib
++ try:
++ import tomli as toml_lib
++ toml_module = 'tomli'
++ except ImportError:
++ import toml as toml_lib
++ toml_module = 'toml'
+
+ from urllib.parse import urljoin
+
+ from . import core, log, utils
+
+
++class TomlConfig:
++ """Wrapper class for TOML loading"""
++
++ @staticmethod
++ def load(toml):
++ log.debug(f"Using TOML module: {toml_module}")
++ if toml_module is None:
++ log.error("No toml module found")
++ elif toml_module in ['tomlib', 'tomli']:
++ try:
++ with open(toml, "rb") as f:
++ return toml_lib.load(f)
++ except toml_lib.TOMLDecodeError as err:
++ log.error(f"Invalid configuration file: {toml}: {err}")
++ elif toml_module in ['toml']:
++ try:
++ return toml_lib.load(toml)
++ except toml_lib.TomlDecodeError as err:
++ log.error(f"Invalid configuration file: {toml}: {err}")
++
++
+ class GIDocConfig:
+ """Load and represent the configuration for gidocgen"""
+ def __init__(self, config_file=None):
+@@ -20,12 +49,8 @@ class GIDocConfig:
+
+ self._config = {}
+ if self._config_file is not None:
+- try:
+- log.debug(f"Reading configuration file: {self._config_file}")
+- with open(self._config_file, "rb") as f:
+- self._config = tomllib.load(f)
+- except tomllib.TOMLDecodeError as err:
+- log.error(f"Invalid configuration file: {self._config_file}: {err}")
++ log.debug(f"Reading configuration file: {self._config_file}")
++ self._config = TomlConfig.load(self._config_file)
+
+ @property
+ def library(self):
+@@ -245,12 +270,8 @@ class GITemplateConfig:
+ self._config_file = os.path.join(templates_dir, template_name, f"{template_name}.toml")
+
+ self._config = {}
+- try:
+- log.debug(f"Reading template configuration file: {self._config_file}")
+- with open(self._config_file, "rb") as f:
+- self._config = tomllib.load(f)
+- except tomllib.TOMLDecodeError as err:
+- log.error(f"Invalid template configuration file: {self._config_file}: {err}")
++ log.debug(f"Reading template configuration file: {self._config_file}")
++ self._config = TomlConfig.load(self._config_file)
+
+ @property
+ def name(self):
+--
+GitLab
+
+From add62bee3df2418fc13543023c3c6eca3e025d65 Mon Sep 17 00:00:00 2001
+From: Emmanuele Bassi <ebassi(a)gnome.org>
+Date: Tue, 29 Nov 2022 12:43:09 +0000
+Subject: [PATCH 1/2] build: Check for toml fallback module
+
+Emit a message when using tomli, and a warning when using toml.
+---
+ meson.build | 15 +++++++++++++--
+ 1 file changed, 13 insertions(+), 2 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index d967fd3..f48f19e 100644
+--- a/meson.build
++++ b/meson.build
+@@ -29,9 +29,20 @@ endif
+ if py.language_version().version_compare('<3.11')
+ tomli_version = run_command(
+ py, '-c', 'import tomli; print(tomli.__version__)',
++ check: true,
+ ).stdout().strip()
+- if not tomli_version.version_compare('>=1.0')
+- error('tomli 1.0 or newer required on Python 3.10 and older')
++ if tomli_version.version_compare('>=1.0')
++ message('Falling back to toml on Python <3.11')
++ else
++ toml_version = run_command(
++ py, '-c', 'import toml; print(toml.__version__)',
++ check: true,
++ ).stdout().strip()
++ if toml_version.version_compare('>=0.10.2')
++ warning('Falling back to deprecated toml module; please update to tomli')
++ else
++ error('tomli 1.0 or newer required on Python 3.10 and older')
++ endif
+ endif
+ endif
+
+--
+GitLab
+
+
+From 40212aaab05ef4d211ced0b54b4fe358626392bc Mon Sep 17 00:00:00 2001
+From: Emmanuele Bassi <ebassi(a)gnome.org>
+Date: Tue, 29 Nov 2022 12:48:54 +0000
+Subject: [PATCH 2/2] ci: Add Meson build job to the pipeline
+
+---
+ .gitlab-ci.yml | 17 +++++++++--------
+ 1 file changed, 9 insertions(+), 8 deletions(-)
+
+diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
+index b55f150..1538424 100644
+--- a/.gitlab-ci.yml
++++ b/.gitlab-ci.yml
+@@ -7,14 +7,15 @@ stages:
+ - check
+ - deploy
+
+-#meson-build:
+-# stage: build
+-# needs: []
+-# script:
+-# - dnf install -y meson ninja-build pytest python3-flake8 python3-mypy python3-markdown python3-jinja2 python3-toml python3-typogrify
+-# - meson _build .
+-# - meson test -C _build
+-#
++meson-build:
++ image: fedora:latest
++ stage: build
++ needs: []
++ script:
++ - dnf install -y meson ninja-build pytest python3-markdown python3-jinja2 python3-pygments python3-typogrify python3-flake8 python3-mypy
++ - meson _build .
++ - meson test -C _build
++
+ #pip-build:
+ # stage: build
+ # needs: []
+--
+GitLab
+
+From de9d716d8919f1f8434539b5974fc0b86b5aa5c3 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= <miro(a)hroncok.cz>
+Date: Fri, 30 Dec 2022 17:48:30 +0100
+Subject: [PATCH] Make pyproject.toml valid TOML
+
+This avoids:
+
+ TOMLDecodeError: Unclosed inline table (at line 42, column 30)
+
+When parsing the file with tomllib.
+---
+ pyproject.toml | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/pyproject.toml b/pyproject.toml
+index b0b18e4..4bf0712 100644
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -39,7 +39,7 @@ Markdown = "^3.2"
+ MarkupSafe = "^1"
+ Pygments = "^2"
+ Jinja2 = "^2"
+-tomli = { version = ">=1,<3" markers = "python_version < '3.11'" }
++tomli = { version = ">=1,<3", markers = "python_version < '3.11'" }
+ typogrify = "^2"
+
+ [tool.poetry.dev-dependencies]
+--
+GitLab
+
diff --git a/gi-docgen.spec b/gi-docgen.spec
index ccfe44f..bf0f66e 100644
--- a/gi-docgen.spec
+++ b/gi-docgen.spec
@@ -70,6 +70,18 @@ Source0: %{url}/-/archive/%{version}/gi-docgen-%{version}.tar.bz2
# local system fonts.
Patch: gi-docgen-2022.2-no-web-fonts.patch
+# python3-toml is deprecated
+# https://fedoraproject.org/wiki/Changes/DeprecatePythonToml
+# Backport upstream changes to migrate to tomllib and fallback to tomli and toml
+# We technically only need the following two:
+# https://gitlab.gnome.org/GNOME/gi-docgen/-/merge_requests/168
+# https://gitlab.gnome.org/GNOME/gi-docgen/-/merge_requests/174 (fixup of 168)
+# But the following two were deemed necessary upstream as well:
+# https://gitlab.gnome.org/GNOME/gi-docgen/-/merge_requests/172
+# https://gitlab.gnome.org/GNOME/gi-docgen/-/merge_requests/173
+# Patches trivially joined to one file with cat.
+Patch: gi-docgen-2022.2-tomllib.patch
+
BuildArch: noarch
BuildRequires: python3-devel
https://src.fedoraproject.org/rpms/gi-docgen/c/44c30c16e6c05a7bc6fe131239...
1 year, 4 months
mtasaka pushed to rpms/postfix (rawhide). "Backport upstream fix for
uname -r detection with kernel 6.x"
by notifications@fedoraproject.org
Notification time stamped 2022-12-31 14:40:11 UTC
From 15516bff0d8af58f2c2154f9b68938668cc35737 Mon Sep 17 00:00:00 2001
From: Mamoru TASAKA <mtasaka(a)fedoraproject.org>
Date: Dec 31 2022 14:40:02 +0000
Subject: Backport upstream fix for uname -r detection with kernel 6.x
---
diff --git a/postfix.spec b/postfix.spec
index 616ed66..26086e3 100644
--- a/postfix.spec
+++ b/postfix.spec
@@ -49,7 +49,7 @@
Name: postfix
Summary: Postfix Mail Transport Agent
Version: 3.7.3
-Release: 2%{?dist}
+Release: 3%{?dist}
Epoch: 2
URL: http://www.postfix.org
License: (IBM and GPLv2+) or (EPL-2.0 and GPLv2+)
@@ -254,6 +254,10 @@ popd
%patch12 -p1 -b .whitespace-name-fix
%patch13 -p1 -b .pflogsumm-1.1.5-syslog-name-underscore-fix
+# Backport 3.8-20221006 fix for uname -r detection
+sed -i makedefs -e '\@Linux\.(a)s|345|3456|'
+sed -i src/util/sys_defs.h -e 's@defined(LINUX5)@defined(LINUX5) || defined(LINUX6)@'
+
for f in README_FILES/TLS_{LEGACY_,}README TLS_ACKNOWLEDGEMENTS; do
iconv -f iso8859-1 -t utf8 -o ${f}{_,} &&
touch -r ${f}{,_} && mv -f ${f}{_,}
@@ -802,6 +806,9 @@ fi
%endif
%changelog
+* Sat Dec 31 2022 Mamoru TASAKA <mtasaka(a)fedoraproject.org> - 2:3.7.3-3
+- Backport upstream fix for uname -r detection with kernel 6.x
+
* Sat Dec 31 2022 Pete Walter <pwalter(a)fedoraproject.org> - 2:3.7.3-2
- Rebuild for ICU 72
https://src.fedoraproject.org/rpms/postfix/c/15516bff0d8af58f2c2154f9b689...
1 year, 4 months
kathenas pushed to rpms/rednotebook (epel8). "New upstream version 2.29."
by notifications@fedoraproject.org
Notification time stamped 2022-12-31 14:19:32 UTC
From 317999a9a4f1698f108eda85c30d7c470eca7ec4 Mon Sep 17 00:00:00 2001
From: Phil Wyett <philip.wyett(a)kathenas.org>
Date: Dec 31 2022 13:52:53 +0000
Subject: New upstream version 2.29.
---
diff --git a/.gitignore b/.gitignore
index 3c3fb4d..9c43a00 100644
--- a/.gitignore
+++ b/.gitignore
@@ -49,3 +49,4 @@ rednotebook-1.1.0.tar.gz
/rednotebook-2.27.2.tar.gz
/rednotebook-2.28.tar.gz
/rednotebook-2.28.1.tar.gz
+/rednotebook-2.29.tar.gz
diff --git a/rednotebook.spec b/rednotebook.spec
index 89e8e7c..95978e6 100644
--- a/rednotebook.spec
+++ b/rednotebook.spec
@@ -1,5 +1,5 @@
Name: rednotebook
-Version: 2.28.1
+Version: 2.29
Release: 1%{?dist}
Summary: Daily journal with calendar, templates and keyword searching
@@ -65,6 +65,9 @@ mv %{buildroot}/%{_datadir}/metainfo/%{name}.appdata.xml %{buildroot}/%{_datadir
%{python3_sitelib}/%{name}/__pycache__
%changelog
+* Sat Dec 31 2022 Phil Wyett <philip.wyett(a)kathenas.org> - 2.29-1
+- New upstream version 2.29
+
* Thu Dec 29 2022 Phil Wyett <philip.wyett(a)kathenas.org> - 2.28.1-1
- New upstream version 2.28.1
diff --git a/sources b/sources
index a7f078c..1654660 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (rednotebook-2.28.1.tar.gz) = adb0a2cb5f13ccfdb308305f361a9cc1c8d451eb1d4bda494c340cc5a8cf307a5b31946d3e12246ac1f803af609f7b8895033991152b42cbd107b72654316dbe
+SHA512 (rednotebook-2.29.tar.gz) = 615b3502c758c569edcb20385f6bb18127bf019b0002b49240a9c378e6f75d85a6244d474efbd846e0d5de58696d6d14d6c656a995504fa665f86578ecfab5e7
https://src.fedoraproject.org/rpms/rednotebook/c/317999a9a4f1698f108eda85...
1 year, 4 months
kathenas pushed to rpms/rednotebook (epel9). "New upstream version 2.29."
by notifications@fedoraproject.org
Notification time stamped 2022-12-31 14:14:54 UTC
From 317999a9a4f1698f108eda85c30d7c470eca7ec4 Mon Sep 17 00:00:00 2001
From: Phil Wyett <philip.wyett(a)kathenas.org>
Date: Dec 31 2022 13:52:53 +0000
Subject: New upstream version 2.29.
---
diff --git a/.gitignore b/.gitignore
index 3c3fb4d..9c43a00 100644
--- a/.gitignore
+++ b/.gitignore
@@ -49,3 +49,4 @@ rednotebook-1.1.0.tar.gz
/rednotebook-2.27.2.tar.gz
/rednotebook-2.28.tar.gz
/rednotebook-2.28.1.tar.gz
+/rednotebook-2.29.tar.gz
diff --git a/rednotebook.spec b/rednotebook.spec
index 89e8e7c..95978e6 100644
--- a/rednotebook.spec
+++ b/rednotebook.spec
@@ -1,5 +1,5 @@
Name: rednotebook
-Version: 2.28.1
+Version: 2.29
Release: 1%{?dist}
Summary: Daily journal with calendar, templates and keyword searching
@@ -65,6 +65,9 @@ mv %{buildroot}/%{_datadir}/metainfo/%{name}.appdata.xml %{buildroot}/%{_datadir
%{python3_sitelib}/%{name}/__pycache__
%changelog
+* Sat Dec 31 2022 Phil Wyett <philip.wyett(a)kathenas.org> - 2.29-1
+- New upstream version 2.29
+
* Thu Dec 29 2022 Phil Wyett <philip.wyett(a)kathenas.org> - 2.28.1-1
- New upstream version 2.28.1
diff --git a/sources b/sources
index a7f078c..1654660 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (rednotebook-2.28.1.tar.gz) = adb0a2cb5f13ccfdb308305f361a9cc1c8d451eb1d4bda494c340cc5a8cf307a5b31946d3e12246ac1f803af609f7b8895033991152b42cbd107b72654316dbe
+SHA512 (rednotebook-2.29.tar.gz) = 615b3502c758c569edcb20385f6bb18127bf019b0002b49240a9c378e6f75d85a6244d474efbd846e0d5de58696d6d14d6c656a995504fa665f86578ecfab5e7
https://src.fedoraproject.org/rpms/rednotebook/c/317999a9a4f1698f108eda85...
1 year, 4 months