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(

Reply via email to