Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-glean-parser for
openSUSE:Factory checked in at 2026-10-01 16:42:13
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-glean-parser (Old)
and /work/SRC/openSUSE:Factory/.python-glean-parser.new.1253 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-glean-parser"
Thu Oct 1 16:42:13 2026 rev:5 rq:1381563 version:21.0.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-glean-parser/python-glean-parser.changes
2025-06-11 16:23:31.792971922 +0200
+++
/work/SRC/openSUSE:Factory/.python-glean-parser.new.1253/python-glean-parser.changes
2026-10-01 16:44:00.638409161 +0200
@@ -1,0 +2,39 @@
+Wed Sep 30 04:46:41 UTC 2026 - Steve Kowalik <[email protected]>
+
+- Update to 21.0.1:
+ * BUGFIX: Correct event timestamp values in server language templates
+ * BREAKING CHANGE: Dropped support for Python 3.8
+ * Switch to pyproject.toml and uv
+ * Add new metric type: DualLabeledCounter
+ * BUGFIX: Fix missing ping_arg "uploader_capabilities" in util.py
+ * BREAKING CHANGE: Support uploader_capabilities for pings
+ * Require array or object as the root type in object metrics
+ * BREAKING CHANGE: Support follows_collection_enabled for pings
+ * Allow earlier versions of platformdirs
+ * New Metric Type: labeled_quantity
+ * ping schedule: Gracefully handle missing ping
+ * BREAKING CHANGE: Expose the optional enabled property on pings,
+ defaulting to enabled: true
+ * BREAKING CHANGE: Support metadata field include_info_sections
+ * Add Python log outputter
+ * Allow unit field for custom distribution again
+ * BREAKING CHANE: ping lifetime metrics on the events ping are now
+ disallowed
+ * BREAKING CHANGE: Remove exposed lint_yaml_files function
+ * Remove yamllint integration
+ * ENHANCEMENT: Labels in labels: fields may now contain any printable ASCII
+ characters
+ * BUGFIX: Enforce ordering of generation of Pings, Metrics and Tags such
+ that order is deterministic
+ * BUGFIX: Remove internal-only fields from serialized metrics data
+ * FEATURE: New subcommand: dump to dump the metrics data as JSON
+ * BREAKING CHANGE: Fully remove support for the old events API
+- Drop patches
+ * remove-pytest.patch
+ * fix-yaml-lint.patch
+- Add patch dont-use-bare-python.patch:
+ * Use sys.exectuable, rather than "python"
+- Add patch support-source-date-epoch.patch:
+ * Don't fail expiry tests if SOURCE_DATE_EPOCH is set.
+
+-------------------------------------------------------------------
Old:
----
fix-yaml-lint.patch
glean_parser-6.3.0.tar.gz
remove-pytest.patch
New:
----
dont-use-bare-python.patch
glean_parser-21.0.1.tar.gz
support-source-date-epoch.patch
----------(Old B)----------
Old: * remove-pytest.patch
* fix-yaml-lint.patch
- Add patch dont-use-bare-python.patch:
Old:- Drop patches
* remove-pytest.patch
* fix-yaml-lint.patch
----------(Old E)----------
----------(New B)----------
New: * fix-yaml-lint.patch
- Add patch dont-use-bare-python.patch:
* Use sys.exectuable, rather than "python"
New: * Use sys.exectuable, rather than "python"
- Add patch support-source-date-epoch.patch:
* Don't fail expiry tests if SOURCE_DATE_EPOCH is set.
----------(New E)----------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-glean-parser.spec ++++++
--- /var/tmp/diff_new_pack.euaz3A/_old 2026-10-01 16:44:01.860460390 +0200
+++ /var/tmp/diff_new_pack.euaz3A/_new 2026-10-01 16:44:01.861460432 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-glean-parser
#
-# Copyright (c) 2025 SUSE LLC
+# Copyright (c) 2026 SUSE LLC and contributors
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,42 +18,40 @@
%bcond_without libalternatives
Name: python-glean-parser
-Version: 6.3.0
+Version: 21.0.1
Release: 0
Summary: Parser tools for Mozilla's Glean telemetry
License: MPL-2.0
URL: https://github.com/mozilla/glean_parser
Source:
https://files.pythonhosted.org/packages/source/g/glean_parser/glean_parser-%{version}.tar.gz
-Patch1: remove-pytest.patch
-Patch2: fix-yaml-lint.patch
+# PATCH-FIX-UPSTREAM gh#mozilla/glean_parser#862
+Patch0: dont-use-bare-python.patch
+# PATCH-FIX-UPSTREAM gh#mozilla/glean_parser#863
+Patch1: support-source-date-epoch.patch
+BuildRequires: %{python_module base >= 3.9}
+BuildRequires: %{python_module hatch-vcs}
+BuildRequires: %{python_module hatchling}
BuildRequires: %{python_module pip}
-BuildRequires: %{python_module setuptools_scm >= 7}
-BuildRequires: %{python_module setuptools}
-BuildRequires: %{python_module wheel}
BuildRequires: alts
BuildRequires: fdupes
BuildRequires: python-rpm-macros
Requires: alts
Requires: python-Jinja2 >= 2.10.1
-Requires: python-MarkupSafe >= 1.1.1
Requires: python-PyYAML >= 5.3.1
-Requires: python-appdirs >= 1.4
Requires: python-click >= 7
Requires: python-diskcache >= 4
Requires: python-jsonschema >= 3.0.2
-Requires: python-yamllint >= 1.18.0
+Requires: python-platformdirs >= 2.4
Suggests: python-iso8601 >= 0.1.10
BuildArch: noarch
# SECTION test requirements
BuildRequires: %{python_module Jinja2 >= 2.10.1}
-BuildRequires: %{python_module MarkupSafe >= 1.1.1}
BuildRequires: %{python_module PyYAML >= 5.3.1}
-BuildRequires: %{python_module appdirs >= 1.4}
BuildRequires: %{python_module click >= 7}
BuildRequires: %{python_module diskcache >= 4}
BuildRequires: %{python_module jsonschema >= 3.0.2}
+BuildRequires: %{python_module platformdirs >= 2.4}
BuildRequires: %{python_module pytest}
-BuildRequires: %{python_module yamllint >= 1.18.0}
# /SECTION
%python_subpackages
@@ -72,7 +70,8 @@
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%check
-%pytest
+# Requires network
+%pytest -k 'not test_logging'
%pre
%python_libalternatives_reset_alternative glean_parser
@@ -80,5 +79,5 @@
%files %{python_files}
%python_alternative %{_bindir}/glean_parser
%{python_sitelib}/glean_parser
-%{python_sitelib}/glean_parser-%{version}*-info
+%{python_sitelib}/glean_parser-%{version}.dist-info
++++++ dont-use-bare-python.patch ++++++
>From ba2ce5e4ab3c66aa2522b8d7e2f33b6130e22cc3 Mon Sep 17 00:00:00 2001
From: Steve Kowalik <[email protected]>
Date: Wed, 30 Sep 2026 14:19:17 +1000
Subject: [PATCH] Don't use bare "python" in a testcase
Some systems may have multiple interpreters installed, and they may not
called python -- use sys.executable instead.
---
tests/test_python_server.py | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/tests/test_python_server.py b/tests/test_python_server.py
index b47d6a6b..a002f52a 100644
--- a/tests/test_python_server.py
+++ b/tests/test_python_server.py
@@ -9,6 +9,7 @@
import shutil
import subprocess
+import sys
from glean_parser import translate
@@ -48,9 +49,9 @@ def test_logging(tmp_path):
shutil.copy(ROOT / "test-py" / "test.py", tmp_path)
# run test script
- logged_output = subprocess.check_output(["python", "test.py"],
cwd=tmp_path).decode(
- "utf-8"
- )
+ logged_output = subprocess.check_output(
+ [sys.executable, "test.py"], cwd=tmp_path
+ ).decode("utf-8")
for log_line in logged_output.splitlines():
json_line = json.loads(log_line)
++++++ glean_parser-6.3.0.tar.gz -> glean_parser-21.0.1.tar.gz ++++++
++++ 22685 lines of diff (skipped)
++++++ support-source-date-epoch.patch ++++++
>From 4b7e8bfff147cb18b92e60c59a2efecf96425a10 Mon Sep 17 00:00:00 2001
From: Steve Kowalik <[email protected]>
Date: Wed, 30 Sep 2026 14:22:00 +1000
Subject: [PATCH] Use util.epoch_now() instead of datetime.now()
The test_expires() testcase in test_metrics is susceptible to forced
failure by setting SOURCE_DATE_EPOCH earlier than the current date,
since util.time_epoch() will always use that environment variable if
it's set.
---
tests/test_metrics.py | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/tests/test_metrics.py b/tests/test_metrics.py
index 8b142001..af68d20b 100644
--- a/tests/test_metrics.py
+++ b/tests/test_metrics.py
@@ -3,12 +3,11 @@
# Any copyright is dedicated to the Public Domain.
# http://creativecommons.org/publicdomain/zero/1.0/
-import datetime
-
import pytest
from glean_parser import parser
from glean_parser import metrics
+from glean_parser import util
def test_metrics_match_schema():
@@ -52,7 +51,7 @@ def test_expires():
"""
for date, expired in [
("2018-06-10", True),
- (datetime.datetime.now(datetime.timezone.utc).date().isoformat(),
True),
+ (util.now_epoch().date().isoformat(), True),
("3000-01-01", False),
]:
m = metrics.Boolean(