Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package picard for openSUSE:Factory checked in at 2026-10-20 12:40:40 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/picard (Old) and /work/SRC/openSUSE:Factory/.picard.new.3698736 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "picard" Tue Oct 20 12:40:40 2026 rev:75 rq:1386283 version:3.0.2 Changes: -------- --- /work/SRC/openSUSE:Factory/picard/picard.changes 2025-02-24 15:49:57.586246192 +0100 +++ /work/SRC/openSUSE:Factory/.picard.new.3698736/picard.changes 2026-10-20 12:42:03.539872726 +0200 @@ -1,0 +2,40 @@ +Mon Oct 19 13:03:53 UTC 2026 - Antonio Larrosa <[email protected]> + +- Add patch to actually fix the test_article_insensitive_adapter + test. The problem was that Qt 6.12 changed the way texts are + collated: + * fix-test_article_insensitive_adapter.patch + +------------------------------------------------------------------- +Mon Oct 19 11:41:56 UTC 2026 - Antonio Larrosa <[email protected]> + +- After talking with upstream, disable the + test_article_insensitive_adapter test in ppc64le where for some + reason the article insensitive sort sorts words without a + preceding article before words with an article. + +------------------------------------------------------------------- +Sat Oct 17 16:49:14 UTC 2026 - Martin Pluskal <[email protected]> + +- Update to version 3.0.2, the Qt6 major release: + * Ported from PyQt5 to PyQt6, requires Python 3.10 or newer. + * New features: ISRC lookup and submission from CD, ListenBrainz + listens submission, TOML-based exportable profiles, albumartists + tag, new tagger script functions, regex testing playground and + shell completion generation for picard-cli. + * Fixes upgrade from Picard 2: config migration no longer crashes + on launch and the metadata panel works with legacy naming + scripts; large-collection memory use and save performance + improved. + * Drop picard-requirements.patch, obsolete with the move of + dependencies to pyproject.toml. +- Packaging changes: + * Switch build and runtime dependencies from PyQt5 to PyQt6. + * Add python3-pygit2 and python3-tomlkit requirements, raise + mutagen to >= 1.45 and drop fasteners and python-dateutil, + no longer used upstream. + * Drop the picard-lang subpackage: translations now ship inside + the main package (upstream no longer installs to + /usr/share/locale). + +------------------------------------------------------------------- Old: ---- picard-2.13.3.tar.gz picard-requirements.patch New: ---- fix-test_article_insensitive_adapter.patch picard-3.0.2.tar.gz ----------(Old B)---------- Old: improved. * Drop picard-requirements.patch, obsolete with the move of dependencies to pyproject.toml. ----------(Old E)---------- ----------(New B)---------- New: collated: * fix-test_article_insensitive_adapter.patch ----------(New E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ picard.spec ++++++ --- /var/tmp/diff_new_pack.Xr8p6D/_old 2026-10-20 12:42:05.132939399 +0200 +++ /var/tmp/diff_new_pack.Xr8p6D/_new 2026-10-20 12:42:05.139939692 +0200 @@ -1,7 +1,7 @@ # # spec file for package picard # -# 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 @@ -17,48 +17,49 @@ Name: picard -Version: 2.13.3 +Version: 3.0.2 Release: 0 Summary: The Next Generation MusicBrainz Tagger License: GPL-2.0-or-later -Group: Productivity/Multimedia/Sound/Utilities URL: https://picard.musicbrainz.org Source0: https://codeload.github.com/metabrainz/picard/tar.gz/release-%{version}#/%{name}-%{version}.tar.gz -# PATCH-FIX-SUSE picard-requirements.patch, [email protected] -- clean python requirements metadata -Patch0: picard-requirements.patch +Patch0: fix-test_article_insensitive_adapter.patch BuildRequires: desktop-file-utils BuildRequires: fdupes BuildRequires: gcc-c++ BuildRequires: hicolor-icon-theme BuildRequires: libofa-devel BuildRequires: python-rpm-macros -BuildRequires: python3-devel >= 3.8 +BuildRequires: python3-devel >= 3.10 BuildRequires: python3-pip BuildRequires: python3-setuptools BuildRequires: python3-wheel BuildRequires: update-desktop-files Requires: python3-Markdown >= 3.2 Requires: python3-PyJWT >= 2.0 -Requires: python3-PyQt5 >= 5.11 +Requires: python3-PyQt6 >= 6.6.1 Requires: python3-PyYAML >= 5.1 Requires: python3-charset-normalizer >= 3.3 Requires: python3-discid >= 1.0 -Requires: python3-fasteners >= 0.14 -Requires: python3-mutagen >= 1.37 -Requires: python3-python-dateutil >= 2.7 +Requires: python3-mutagen >= 1.45 +Requires: python3-pygit2 >= 1.19 +Requires: python3-tomlkit >= 0.12.4 Recommends: chromaprint-fpcalc # SECTION test +# pygit2 initializes TLS cert locations at import (via picard.tagger); +# the build root ships no CA bundle, so provide one for %check +BuildRequires: ca-certificates-mozilla BuildRequires: python3-Markdown >= 3.2 BuildRequires: python3-PyJWT >= 2.0 -BuildRequires: python3-PyQt5 >= 5.11 +BuildRequires: python3-PyQt6 >= 6.6.1 BuildRequires: python3-PyYAML >= 5.1 BuildRequires: python3-charset-normalizer >= 3.3 BuildRequires: python3-discid >= 1.0 -BuildRequires: python3-fasteners >= 0.14 -BuildRequires: python3-mutagen >= 1.37 +BuildRequires: python3-mutagen >= 1.45 +BuildRequires: python3-pygit2 >= 1.19 BuildRequires: python3-pytest BuildRequires: python3-pytest-xvfb -BuildRequires: python3-python-dateutil >= 2.7 +BuildRequires: python3-tomlkit >= 0.12.4 # /SECTION %description @@ -66,8 +67,6 @@ Picard Tagger focuses on album-oriented tagging as opposed to track-based tagging. -%lang_package - %prep %autosetup -p1 -n %{name}-release-%{version} @@ -81,20 +80,17 @@ %suse_update_desktop_file -G "Music Tagger" -N "picard" org.musicbrainz.Picard -rm -rfv %{buildroot}%{_datadir}/locale/sco - -%find_lang %{name} %{name}.lang -%find_lang %{name}-countries %{name}.lang -%find_lang %{name}-attributes %{name}.lang %fdupes %{buildroot}%{python3_sitearch} %check +export LANG=en_US.UTF-8 pytest -v %files %doc AUTHORS.txt NEWS.md %license COPYING.txt %{_bindir}/picard +%{_bindir}/picard-cli %{_datadir}/applications/org.musicbrainz.Picard.desktop %{python3_sitearch}/picard %{python3_sitearch}/picard-%{version}.dist-info @@ -102,6 +98,3 @@ %{_datadir}/icons/hicolor/*/apps/org.musicbrainz.Picard.svg %{_datadir}/metainfo/org.musicbrainz.Picard.appdata.xml -%files lang -f %{name}.lang -%{_datadir}/locale/*/LC_MESSAGES/picard-constants.mo - ++++++ fix-test_article_insensitive_adapter.patch ++++++ From: Antonio Larrosa <[email protected]> Subject: Fix test_article_insensitive_adapter with Qt 6.12 When building with Qt 6.12, test_article_insensitive_adapter fails with: ``` @pytest.mark.skipif(IS_WIN, reason="QCollator not used on Windows") def test_article_insensitive_adapter() -> None: setup_i18n(None, 'en') values = ["The Beatles", "Beatles", "An Artist", "Artist"] expected = ["An Artist", "Artist", "The Beatles", "Beatles"] result = _sorted_values(ArticleInsensitiveAdapter, values) > assert result == expected E AssertionError: assert ['Artist', 'An Artist', 'Beatles', 'The Beatles'] == ['An Artist', 'Artist', 'The Beatles', 'Beatles'] E E At index 0 diff: 'Artist' != 'An Artist' E E Full diff: E [ E + 'Artist', E 'An Artist', E - 'Artist', E + 'Beatles', E 'The Beatles', E - 'Beatles', E ] test/ui/test_custom_columns_sorting_adapters.py:161: AssertionError ``` This fixes it by changing the expected ordered list depending on the Qt version Index: picard-release-3.0.2/test/ui/test_custom_columns_sorting_adapters.py =================================================================== --- picard-release-3.0.2.orig/test/ui/test_custom_columns_sorting_adapters.py +++ picard-release-3.0.2/test/ui/test_custom_columns_sorting_adapters.py @@ -25,6 +25,8 @@ from unittest.mock import MagicMock from picard.const.sys import IS_WIN from picard.i18n import setup_i18n +from PyQt6.QtCore import QT_VERSION + import pytest from picard.ui.columns import ( @@ -156,7 +158,11 @@ def test_length_sort_adapter() -> None: def test_article_insensitive_adapter() -> None: setup_i18n(None, 'en') values = ["The Beatles", "Beatles", "An Artist", "Artist"] - expected = ["An Artist", "Artist", "The Beatles", "Beatles"] + # Qt 6.12 changed the way texts are collated so the sort order is different + if QT_VERSION >= ((6 << 16) | (12 << 8)): + expected = ["Artist", "An Artist", "Beatles", "The Beatles"] + else: + expected = ["An Artist", "Artist", "The Beatles", "Beatles"] result = _sorted_values(ArticleInsensitiveAdapter, values) assert result == expected ++++++ picard-2.13.3.tar.gz -> picard-3.0.2.tar.gz ++++++ /work/SRC/openSUSE:Factory/picard/picard-2.13.3.tar.gz /work/SRC/openSUSE:Factory/.picard.new.3698736/picard-3.0.2.tar.gz differ: char 13, line 1
