Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package kf6-kfilemetadata for 
openSUSE:Factory checked in at 2026-04-11 22:23:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kf6-kfilemetadata (Old)
 and      /work/SRC/openSUSE:Factory/.kf6-kfilemetadata.new.21863 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "kf6-kfilemetadata"

Sat Apr 11 22:23:59 2026 rev:26 rq:1345886 version:6.25.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/kf6-kfilemetadata/kf6-kfilemetadata.changes      
2026-03-16 14:18:03.843088811 +0100
+++ 
/work/SRC/openSUSE:Factory/.kf6-kfilemetadata.new.21863/kf6-kfilemetadata.changes
   2026-04-11 22:27:59.124341815 +0200
@@ -1,0 +2,15 @@
+Tue Apr  7 19:19:02 UTC 2026 - Christophe Marin <[email protected]>
+
+- Update to 6.25.0
+  * New feature release
+  * For more details please see:
+  * https://kde.org/announcements/frameworks/6/6.25.0
+- Changes since 6.24.0:
+  * Update dependency version to 6.25.0
+  * ExtractionPluginManager -> ExtractorCollection
+  * ffmpeg: use qScopeGuard to release AVFormatContext on failure
+  * extractors/exiv2: remove version check for BMFF_SUPPORT
+  * ffmpegextractor: when color_space_name is "unkwown" don't set ColorSpace
+  * Update version to 6.25.0
+
+-------------------------------------------------------------------

Old:
----
  kfilemetadata-6.24.0.tar.xz
  kfilemetadata-6.24.0.tar.xz.sig

New:
----
  kfilemetadata-6.25.0.tar.xz
  kfilemetadata-6.25.0.tar.xz.sig

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ kf6-kfilemetadata.spec ++++++
--- /var/tmp/diff_new_pack.bZUFfU/_old  2026-04-11 22:27:59.744367209 +0200
+++ /var/tmp/diff_new_pack.bZUFfU/_new  2026-04-11 22:27:59.744367209 +0200
@@ -19,12 +19,12 @@
 %define qt6_version 6.8.0
 
 %define rname kfilemetadata
-# Full KF6 version (e.g. 6.24.0)
+# Full KF6 version (e.g. 6.25.0)
 %{!?_kf6_version: %global _kf6_version %{version}}
 %bcond_without ffmpeg
 %bcond_without released
 Name:           kf6-kfilemetadata
-Version:        6.24.0
+Version:        6.25.0
 Release:        0
 Summary:        Library for extracting Metadata
 License:        GPL-2.0-or-later AND LGPL-2.1-or-later AND LGPL-3.0-only


++++++ kfilemetadata-6.24.0.tar.xz -> kfilemetadata-6.25.0.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kfilemetadata-6.24.0/CMakeLists.txt 
new/kfilemetadata-6.25.0/CMakeLists.txt
--- old/kfilemetadata-6.24.0/CMakeLists.txt     2026-03-07 21:30:28.000000000 
+0100
+++ new/kfilemetadata-6.25.0/CMakeLists.txt     2026-04-03 19:08:51.000000000 
+0200
@@ -1,11 +1,11 @@
-cmake_minimum_required(VERSION 3.27)
+cmake_minimum_required(VERSION 3.29)
 
-set(KF_VERSION "6.24.0") # handled by release scripts
-set(KF_DEP_VERSION "6.24.0") # handled by release scripts
+set(KF_VERSION "6.25.0") # handled by release scripts
+set(KF_DEP_VERSION "6.25.0") # handled by release scripts
 project(KFileMetaData VERSION ${KF_VERSION})
 
 include(FeatureSummary)
-find_package(ECM 6.24.0  NO_MODULE)
+find_package(ECM 6.25.0  NO_MODULE)
 set_package_properties(ECM PROPERTIES TYPE REQUIRED DESCRIPTION "Extra CMake 
Modules." URL "https://commits.kde.org/extra-cmake-modules";)
 feature_summary(WHAT REQUIRED_PACKAGES_NOT_FOUND 
FATAL_ON_MISSING_REQUIRED_PACKAGES)
 
@@ -33,7 +33,7 @@
                   SOVERSION 3)
 
 # Dependencies
-set(REQUIRED_QT_VERSION 6.8.0)
+set(REQUIRED_QT_VERSION 6.9.0)
 
 find_package(Qt6 ${REQUIRED_QT_VERSION} CONFIG OPTIONAL_COMPONENTS Gui)
 set_package_properties(Qt6Gui PROPERTIES DESCRIPTION "Qt6: Gui component"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kfilemetadata-6.24.0/README.md 
new/kfilemetadata-6.25.0/README.md
--- old/kfilemetadata-6.24.0/README.md  2026-03-07 21:30:28.000000000 +0100
+++ new/kfilemetadata-6.25.0/README.md  2026-04-03 19:08:51.000000000 +0200
@@ -21,7 +21,7 @@
 
 ## Extracting Metadata from a file
 
-This requires us to create a ExtractionPluginManager class, fetch the extractor
+This requires us to create an ExtractorCollection class, fetch the extractor
 plugins which are applicable for that file, and then pass the instance of
 ExtractionResult to each Extractor.
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kfilemetadata-6.24.0/autotests/exiv2extractortest.cpp 
new/kfilemetadata-6.25.0/autotests/exiv2extractortest.cpp
--- old/kfilemetadata-6.24.0/autotests/exiv2extractortest.cpp   2026-03-07 
21:30:28.000000000 +0100
+++ new/kfilemetadata-6.25.0/autotests/exiv2extractortest.cpp   2026-04-03 
19:08:51.000000000 +0200
@@ -117,9 +117,6 @@
 
     Exiv2Extractor plugin{this};
 
-    if ((mimeType == QStringLiteral("image/jxl")) && 
!plugin.mimetypes().contains(QStringLiteral("image/jxl"))) {
-        QSKIP("BMFF support required for JXL");
-    }
     QVERIFY(plugin.mimetypes().contains(mimeType));
 
     SimpleExtractionResult result(testFilePath(fileName), mimeType);
@@ -186,10 +183,6 @@
 {
     Exiv2Extractor plugin{this};
 
-    if (!plugin.mimetypes().contains(QStringLiteral("image/heif"))) {
-        QSKIP("BMFF support required for HEIF");
-    }
-
     SimpleExtractionResult result(testFilePath(QStringLiteral("test.heif")), 
QStringLiteral("image/heif"));
     plugin.extract(&result);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kfilemetadata-6.24.0/autotests/ffmpegextractortest.cpp 
new/kfilemetadata-6.25.0/autotests/ffmpegextractortest.cpp
--- old/kfilemetadata-6.24.0/autotests/ffmpegextractortest.cpp  2026-03-07 
21:30:28.000000000 +0100
+++ new/kfilemetadata-6.25.0/autotests/ffmpegextractortest.cpp  2026-04-03 
19:08:51.000000000 +0200
@@ -47,37 +47,37 @@
     QTest::addColumn<QString>("fileType");
     QTest::addColumn<QString>("codec");
     QTest::addColumn<QString>("audioCodec");
-    QTest::addColumn<QString>("colorSpace");
+    QTest::addColumn<QVariant>("colorSpace");
 
     QTest::addRow("WebM")
         << QStringLiteral("webm")
         << QStringLiteral("vp8")
         << QStringLiteral("vorbis")
-        << QStringLiteral("bt709");
+        << QVariant::fromValue(QStringLiteral("bt709"));
 
     QTest::addRow("Matroska Video")
         << QStringLiteral("mkv")
         << QStringLiteral("vp8")
         << QStringLiteral("vorbis")
-        << QStringLiteral("bt709");
+        << QVariant::fromValue(QStringLiteral("bt709"));
 
     QTest::addRow("Vorbis Video")
         << QStringLiteral("ogv")
         << QStringLiteral("theora")
         << QStringLiteral("vorbis")
-        << QStringLiteral("unknown");
+        << QVariant();
 
     QTest::addRow("MPEG Transport")
         << QStringLiteral("ts")
         << QStringLiteral("mpeg2video")
         << QStringLiteral("mp2")
-        << QStringLiteral("unknown");
+        << QVariant();
 
     QTest::addRow("MS AVI")
         << QStringLiteral("avi")
         << QStringLiteral("mpeg4")
         << QStringLiteral("mp3")
-        << QStringLiteral("unknown");
+        << QVariant();
 }
 
 // only for testing of intrinsic video properties
@@ -86,7 +86,7 @@
     QFETCH(QString, fileType);
     QFETCH(QString, codec);
     QFETCH(QString, audioCodec);
-    QFETCH(QString, colorSpace);
+    QFETCH(QVariant, colorSpace);
 
     QString fileName = testFilePath(QStringLiteral("test"), fileType);
     QString mimeType = MimeUtils::strictMimeType(fileName, mimeDb).name();
@@ -108,7 +108,11 @@
     QCOMPARE(result.properties().value(Property::VideoCodec), codec);
     QCOMPARE(result.properties().value(Property::AudioCodec), audioCodec);
     QCOMPARE(result.properties().value(Property::PixelFormat), 
QStringLiteral("yuv420p"));
-    QCOMPARE(result.properties().value(Property::ColorSpace), colorSpace);
+    if (colorSpace.isNull()) {
+        QVERIFY(!result.properties().contains(Property::ColorSpace));
+    } else {
+        QCOMPARE(result.properties().value(Property::ColorSpace), 
colorSpace.toString());
+    }
 }
 
 void ffmpegExtractorTest::testMetaData_data()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kfilemetadata-6.24.0/src/extractors/CMakeLists.txt 
new/kfilemetadata-6.25.0/src/extractors/CMakeLists.txt
--- old/kfilemetadata-6.24.0/src/extractors/CMakeLists.txt      2026-03-07 
21:30:28.000000000 +0100
+++ new/kfilemetadata-6.25.0/src/extractors/CMakeLists.txt      2026-04-03 
19:08:51.000000000 +0200
@@ -34,10 +34,6 @@
         KF6::FileMetaData
         LibExiv2::LibExiv2
     )
-    if(${LibExiv2_VERSION} VERSION_GREATER_EQUAL 0.27.4)
-        set(EXIV2_HAVE_BMFF_SUPPORT "1")
-    endif()
-    configure_file(exiv2extractor.json.in exiv2extractor.json)
 
     set_target_properties(kfilemetadata_exiv2extractor PROPERTIES 
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin/kf6/kfilemetadata")
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kfilemetadata-6.24.0/src/extractors/exiv2extractor.json 
new/kfilemetadata-6.25.0/src/extractors/exiv2extractor.json
--- old/kfilemetadata-6.24.0/src/extractors/exiv2extractor.json 1970-01-01 
01:00:00.000000000 +0100
+++ new/kfilemetadata-6.25.0/src/extractors/exiv2extractor.json 2026-04-03 
19:08:51.000000000 +0200
@@ -0,0 +1,30 @@
+{
+    "Name" : "Exiv2Extractor",
+    "Id"   : "org.kde.exiv2extractor",
+    "MimeTypes" : {
+        "image/bmp"             : { "version" : "0.0" },
+        "image/gif"             : { "version" : "0.0" },
+        "image/jp2"             : { "version" : "0.0" },
+        "image/jpeg"            : { "version" : "0.0" },
+        "image/pgf"             : { "version" : "0.0" },
+        "image/png"             : { "version" : "0.0" },
+        "image/tiff"            : { "version" : "0.0" },
+        "image/webp"            : { "version" : "0.0" },
+        "image/avif"            : { "version" : "0.0"},
+        "image/heif"            : { "version" : "0.0"},
+        "image/jxl"             : { "version" : "0.0"},
+        "image/x-canon-cr3"     : { "version" : "0.0"},
+        "image/x-exv"           : { "version" : "0.0" },
+        "image/x-canon-cr2"     : { "version" : "0.0" },
+        "image/x-canon-crw"     : { "version" : "0.0" },
+        "image/x-fuji-raf"      : { "version" : "0.0" },
+        "image/x-minolta-mrw"   : { "version" : "0.0" },
+        "image/x-nikon-nef"     : { "version" : "0.0" },
+        "image/x-olympus-orf"   : { "version" : "0.0" },
+        "image/x-panasonic-rw2" : { "version" : "0.0" },
+        "image/x-pentax-pef"    : { "version" : "0.0" },
+        "image/x-photoshop"     : { "version" : "0.0" },
+        "image/x-samsung-srw"   : { "version" : "0.0" },
+        "image/x-tga"           : { "version" : "0.0" }
+    }
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kfilemetadata-6.24.0/src/extractors/exiv2extractor.json.in 
new/kfilemetadata-6.25.0/src/extractors/exiv2extractor.json.in
--- old/kfilemetadata-6.24.0/src/extractors/exiv2extractor.json.in      
2026-03-07 21:30:28.000000000 +0100
+++ new/kfilemetadata-6.25.0/src/extractors/exiv2extractor.json.in      
1970-01-01 01:00:00.000000000 +0100
@@ -1,42 +0,0 @@
-{
-    "Name" : "Exiv2Extractor",
-    "Id"   : "org.kde.exiv2extractor",
-    "MimeTypes" : {
-        "image/bmp"             : { "version" : "0.0" },
-        "image/gif"             : { "version" : "0.0" },
-        "image/jp2"             : { "version" : "0.0" },
-        "image/jpeg"            : { "version" : "0.0" },
-        "image/pgf"             : { "version" : "0.0" },
-        "image/png"             : { "version" : "0.0" },
-        "image/tiff"            : { "version" : "0.0" },
-        "image/webp"            : { "version" : "0.0" },
-        "image/avif"            : {
-            "version"  : "0.0",
-            "enabled"  : "@EXIV2_HAVE_BMFF_SUPPORT@"
-        },
-        "image/heif"            : {
-            "version"  : "0.0",
-            "enabled"  : "@EXIV2_HAVE_BMFF_SUPPORT@"
-        },
-        "image/jxl"             : {
-            "version"  : "0.0",
-            "enabled"  : "@EXIV2_HAVE_BMFF_SUPPORT@"
-        },
-        "image/x-canon-cr3"     : {
-            "version"  : "0.0",
-            "enabled"  : "@EXIV2_HAVE_BMFF_SUPPORT@"
-        },
-        "image/x-exv"           : { "version" : "0.0" },
-        "image/x-canon-cr2"     : { "version" : "0.0" },
-        "image/x-canon-crw"     : { "version" : "0.0" },
-        "image/x-fuji-raf"      : { "version" : "0.0" },
-        "image/x-minolta-mrw"   : { "version" : "0.0" },
-        "image/x-nikon-nef"     : { "version" : "0.0" },
-        "image/x-olympus-orf"   : { "version" : "0.0" },
-        "image/x-panasonic-rw2" : { "version" : "0.0" },
-        "image/x-pentax-pef"    : { "version" : "0.0" },
-        "image/x-photoshop"     : { "version" : "0.0" },
-        "image/x-samsung-srw"   : { "version" : "0.0" },
-        "image/x-tga"           : { "version" : "0.0" }
-    }
-}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kfilemetadata-6.24.0/src/extractors/ffmpegextractor.cpp 
new/kfilemetadata-6.25.0/src/extractors/ffmpegextractor.cpp
--- old/kfilemetadata-6.24.0/src/extractors/ffmpegextractor.cpp 2026-03-07 
21:30:28.000000000 +0100
+++ new/kfilemetadata-6.25.0/src/extractors/ffmpegextractor.cpp 2026-04-03 
19:08:51.000000000 +0200
@@ -63,14 +63,23 @@
     av_register_all();
 #endif
 
-    QByteArray arr = result->inputUrl().toUtf8();
-
     fmt_ctx = avformat_alloc_context();
+    if (!fmt_ctx) {
+        qCWarning(KFILEMETADATA_LOG) << "Failed to allocate format context";
+        return;
+    }
+
+    QByteArray arr = result->inputUrl().toUtf8();
     if (int ret = avformat_open_input(&fmt_ctx, arr.data(), nullptr, nullptr)) 
{
         qCWarning(KFILEMETADATA_LOG) << "avformat_open_input error: " << ret;
+        // The AVFormatContext will be freed on failure, no need to release it 
explicitly
         return;
     }
 
+    auto guard = qScopeGuard([&fmt_ctx]() {
+        avformat_close_input(&fmt_ctx);
+    });
+
     int ret = avformat_find_stream_info(fmt_ctx, nullptr);
     if (ret < 0) {
         qCWarning(KFILEMETADATA_LOG) << "avform_find_stream_info error: " << 
ret;
@@ -126,7 +135,9 @@
                     result->add(Property::PixelFormat, 
QString::fromUtf8(desc->name));
                 }
 
-                result->add(Property::ColorSpace, 
QString::fromUtf8(av_color_space_name(codec->color_space)));
+                if (codec->color_space != AVCOL_SPC_UNSPECIFIED) {
+                    result->add(Property::ColorSpace, 
QString::fromUtf8(av_color_space_name(codec->color_space)));
+                }
             }
         }
 
@@ -200,8 +211,6 @@
             result->add(Property::ReleaseYear, year);
         }
     }
-
-    avformat_close_input(&fmt_ctx);
 }
 
 #include "moc_ffmpegextractor.cpp"

Reply via email to