Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package kfilemetadata5 for openSUSE:Factory 
checked in at 2021-02-17 18:10:48
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kfilemetadata5 (Old)
 and      /work/SRC/openSUSE:Factory/.kfilemetadata5.new.28504 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "kfilemetadata5"

Wed Feb 17 18:10:48 2021 rev:93 rq:871693 version:5.79.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/kfilemetadata5/kfilemetadata5.changes    
2021-01-13 18:17:41.689067458 +0100
+++ /work/SRC/openSUSE:Factory/.kfilemetadata5.new.28504/kfilemetadata5.changes 
2021-02-17 18:11:59.717962953 +0100
@@ -1,0 +2,10 @@
+Mon Feb  8 08:46:18 UTC 2021 - Christophe Giboudeaux <[email protected]>
+
+- Update to 5.79.0
+  * New feature release
+  * For more details please see:
+  * https://kde.org/announcements/kde-frameworks-5.79.0
+- Changes since 5.78.0:
+  * ffmpegextractor: Use av_find_default_stream_index to find video stream
+
+-------------------------------------------------------------------

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

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

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

Other differences:
------------------
++++++ kfilemetadata5.spec ++++++
--- /var/tmp/diff_new_pack.6bHX8V/_old  2021-02-17 18:12:00.389963503 +0100
+++ /var/tmp/diff_new_pack.6bHX8V/_new  2021-02-17 18:12:00.393963506 +0100
@@ -16,7 +16,7 @@
 #
 
 
-%define _tar_path 5.78
+%define _tar_path 5.79
 # Full KF5 version (e.g. 5.33.0)
 %{!?_kf5_version: %global _kf5_version %{version}}
 # Last major and minor KF5 version (e.g. 5.33)
@@ -24,7 +24,7 @@
 %bcond_without ffmpeg
 %bcond_without lang
 Name:           kfilemetadata5
-Version:        5.78.0
+Version:        5.79.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-5.78.0.tar.xz -> kfilemetadata-5.79.0.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kfilemetadata-5.78.0/.gitignore 
new/kfilemetadata-5.79.0/.gitignore
--- old/kfilemetadata-5.78.0/.gitignore 2021-01-02 14:14:24.000000000 +0100
+++ new/kfilemetadata-5.79.0/.gitignore 2021-02-06 19:16:23.000000000 +0100
@@ -21,3 +21,4 @@
 *.unc-backup*
 *.rej
 .cmake/
+/.clang-format
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kfilemetadata-5.78.0/CMakeLists.txt 
new/kfilemetadata-5.79.0/CMakeLists.txt
--- old/kfilemetadata-5.78.0/CMakeLists.txt     2021-01-02 14:14:24.000000000 
+0100
+++ new/kfilemetadata-5.79.0/CMakeLists.txt     2021-02-06 19:16:23.000000000 
+0100
@@ -1,11 +1,11 @@
 cmake_minimum_required(VERSION 3.5)
 
-set(KF5_VERSION "5.78.0") # handled by release scripts
-set(KF5_DEP_VERSION "5.78.0") # handled by release scripts
-project(KFileMetaData VERSION ${KF5_VERSION})
+set(KF_VERSION "5.79.0") # handled by release scripts
+set(KF_DEP_VERSION "5.79.0") # handled by release scripts
+project(KFileMetaData VERSION ${KF_VERSION})
 
 include(FeatureSummary)
-find_package(ECM 5.78.0  NO_MODULE)
+find_package(ECM 5.79.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)
 
@@ -42,22 +42,22 @@
 
 find_package(Qt5 ${REQUIRED_QT_VERSION} REQUIRED NO_MODULE COMPONENTS Xml)
 
-find_package(KF5 ${KF5_DEP_VERSION} COMPONENTS Archive)
+find_package(KF5 ${KF_DEP_VERSION} COMPONENTS Archive)
 set_package_properties(KF5Archive PROPERTIES DESCRIPTION "KDE Frameworks 5: 
Archive Framework"
                        URL "https://download.kde.org/stable/frameworks/"; TYPE 
OPTIONAL
                        PURPOSE "Archive is needed to build ODF and OOXML 2007 
extractors")
 
-find_package(KF5 ${KF5_DEP_VERSION} COMPONENTS CoreAddons)
+find_package(KF5 ${KF_DEP_VERSION} COMPONENTS CoreAddons)
 set_package_properties(KF5CoreAddons PROPERTIES DESCRIPTION "KDE Frameworks 5: 
Core Addons Framework"
                        URL "https://download.kde.org/stable/frameworks/"; TYPE 
REQUIRED
                        PURPOSE "Needed for the formatting of properties for 
display purposes")
 
-find_package(KF5 ${KF5_DEP_VERSION} COMPONENTS Config)
+find_package(KF5 ${KF_DEP_VERSION} COMPONENTS Config)
 set_package_properties(KF5Config PROPERTIES DESCRIPTION "KDE Frameworks 5: 
Config Framework"
                        URL "https://download.kde.org/stable/frameworks/"; TYPE 
OPTIONAL
                        PURPOSE "Config is needed to build the AppImage 
extractor")
 
-find_package(KF5 ${KF5_DEP_VERSION} REQUIRED COMPONENTS I18n)
+find_package(KF5 ${KF_DEP_VERSION} REQUIRED COMPONENTS I18n)
 
 find_package(Poppler 0.12.1 COMPONENTS Qt5)
 set_package_properties(Poppler PROPERTIES DESCRIPTION "A PDF rendering library"
@@ -127,7 +127,7 @@
 endif()
 
 # Config files
-set(CMAKECONFIG_INSTALL_DIR "${CMAKECONFIG_INSTALL_PREFIX}/KF5FileMetaData")
+set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KF5FileMetaData")
 
 if (IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/po")
     ki18n_install(po)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kfilemetadata-5.78.0/autotests/CMakeLists.txt 
new/kfilemetadata-5.79.0/autotests/CMakeLists.txt
--- old/kfilemetadata-5.78.0/autotests/CMakeLists.txt   2021-01-02 
14:14:24.000000000 +0100
+++ new/kfilemetadata-5.79.0/autotests/CMakeLists.txt   2021-02-06 
19:16:23.000000000 +0100
@@ -77,7 +77,10 @@
 if(EPUB_FOUND)
     include_directories(${EPUB_INCLUDE_DIR})
 
-    ecm_add_test(epubextractortest.cpp ../src/extractors/epubextractor.cpp
+    ecm_add_test(
+        epubextractortest.cpp
+       ../src/extractors/epubextractor.cpp
+       ../src/kfilemetadata_debug.cpp
         TEST_NAME "epubextractortest"
         LINK_LIBRARIES Qt5::Test KF5::FileMetaData ${EPUB_LIBRARIES}
     )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kfilemetadata-5.78.0/autotests/epubextractortest.cpp 
new/kfilemetadata-5.79.0/autotests/epubextractortest.cpp
--- old/kfilemetadata-5.78.0/autotests/epubextractortest.cpp    2021-01-02 
14:14:24.000000000 +0100
+++ new/kfilemetadata-5.79.0/autotests/epubextractortest.cpp    2021-02-06 
19:16:23.000000000 +0100
@@ -69,6 +69,37 @@
     QCOMPARE(result.properties().size(), 7);
 }
 
+void EPubExtractorTest::testRepeated()
+{
+    EPubExtractor plugin{this};
+
+    QString fileName = testFilePath(QStringLiteral("test_repeated.epub"));
+    QMimeDatabase mimeDb;
+    QString mimeType = MimeUtils::strictMimeType(fileName, mimeDb).name();
+    QVERIFY(plugin.mimetypes().contains(mimeType));
+
+    SimpleExtractionResult result(fileName, mimeType);
+    plugin.extract(&result);
+
+    QCOMPARE(result.types().size(), 1);
+    QCOMPARE(result.types().constFirst(), Type::Document);
+
+    QCOMPARE(result.properties().value(Property::Author), 
QVariant(QStringLiteral("Happy Man")));
+    QCOMPARE(result.properties().value(Property::Publisher), 
QVariant(QStringLiteral("Happy Publisher")));
+    QCOMPARE(result.properties().value(Property::Title), 
QVariant(QStringLiteral("The Big Brown Bear")));
+    QCOMPARE(result.properties().values(Property::Subject),
+        QVariantList({QStringLiteral("Test with repeated keys"), 
QStringLiteral("Baloo KFileMetaData")})
+    );
+    QCOMPARE(result.properties().value(Property::Description), 
QVariant(QStringLiteral("Honey")));
+
+    QDateTime dt(QDate(2012, 1, 1), QTime(0, 0, 0));
+    dt.setTimeSpec(Qt::UTC);
+    QCOMPARE(result.properties().value(Property::CreationDate), QVariant(dt));
+    QCOMPARE(result.properties().value(Property::ReleaseYear), QVariant(2012));
+
+    QCOMPARE(result.properties().size(), 9);
+}
+
 void EPubExtractorTest::testMetaDataOnly()
 {
     EPubExtractor plugin{this};
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kfilemetadata-5.78.0/autotests/epubextractortest.h 
new/kfilemetadata-5.79.0/autotests/epubextractortest.h
--- old/kfilemetadata-5.78.0/autotests/epubextractortest.h      2021-01-02 
14:14:24.000000000 +0100
+++ new/kfilemetadata-5.79.0/autotests/epubextractortest.h      2021-02-06 
19:16:23.000000000 +0100
@@ -18,6 +18,7 @@
 private Q_SLOTS:
     void testNoExtraction();
     void test();
+    void testRepeated();
     void testMetaDataOnly();
 };
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kfilemetadata-5.78.0/autotests/extractorcoveragetest.cpp 
new/kfilemetadata-5.79.0/autotests/extractorcoveragetest.cpp
--- old/kfilemetadata-5.78.0/autotests/extractorcoveragetest.cpp        
2021-01-02 14:14:24.000000000 +0100
+++ new/kfilemetadata-5.79.0/autotests/extractorcoveragetest.cpp        
2021-02-06 19:16:23.000000000 +0100
@@ -62,6 +62,7 @@
             { "test.pl",                       "application/x-perl"},
             { "test.ps",                       "application/postscript"},
             { "test_public_key.gpg",           "application/pgp-encrypted"},
+            { "test_repeated.epub",            "application/epub+zip"},
             { "test.spx",                      "audio/x-speex+ogg"},
             { "test.ts",                       "video/mp2t"},
             { "test.wav",                      "audio/x-wav"},
Binary files old/kfilemetadata-5.78.0/autotests/samplefiles/test_repeated.epub 
and new/kfilemetadata-5.79.0/autotests/samplefiles/test_repeated.epub differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kfilemetadata-5.78.0/po/zh_CN/kfilemetadata5.po 
new/kfilemetadata-5.79.0/po/zh_CN/kfilemetadata5.po
--- old/kfilemetadata-5.78.0/po/zh_CN/kfilemetadata5.po 2021-01-02 
14:14:24.000000000 +0100
+++ new/kfilemetadata-5.79.0/po/zh_CN/kfilemetadata5.po 2021-02-06 
19:16:23.000000000 +0100
@@ -10,7 +10,7 @@
 "Project-Id-Version: kdeorg\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
 "POT-Creation-Date: 2020-06-09 02:02+0200\n"
-"PO-Revision-Date: 2021-01-01 14:21\n"
+"PO-Revision-Date: 2021-02-04 11:58\n"
 "Last-Translator: \n"
 "Language-Team: Chinese Simplified\n"
 "Language: zh_CN\n"
@@ -34,7 +34,7 @@
 #, kde-format
 msgctxt "Description of image orientation"
 msgid "Unchanged"
-msgstr "?????????"
+msgstr "?????????"
 
 #: src/formatstrings.cpp:79
 #, kde-format
@@ -64,7 +64,7 @@
 #, kde-format
 msgctxt "Description of image orientation, counter clock-wise rotated"
 msgid "90?? rotated CCW "
-msgstr "??????????????? 90??"
+msgstr "??????????????? 90?? "
 
 #: src/formatstrings.cpp:84
 #, kde-format
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kfilemetadata-5.78.0/src/CMakeLists.txt 
new/kfilemetadata-5.79.0/src/CMakeLists.txt
--- old/kfilemetadata-5.78.0/src/CMakeLists.txt 2021-01-02 14:14:24.000000000 
+0100
+++ new/kfilemetadata-5.79.0/src/CMakeLists.txt 2021-02-06 19:16:23.000000000 
+0100
@@ -46,7 +46,7 @@
     EXPORT_FILE_NAME kfilemetadata_export.h
     BASE_NAME KFileMetaData
     GROUP_BASE_NAME KF
-    VERSION ${KF5_VERSION}
+    VERSION ${KF_VERSION}
     DEPRECATED_BASE_VERSION 0
     DEPRECATION_VERSIONS 5.50 5.60 5.76
     EXCLUDE_DEPRECATED_BEFORE_AND_AT ${EXCLUDE_DEPRECATED_BEFORE_AND_AT}
@@ -58,7 +58,7 @@
     EXPORT_NAME FileMetaData
 )
 
-target_include_directories(KF5FileMetaData INTERFACE 
"$<INSTALL_INTERFACE:${KF5_INCLUDE_INSTALL_DIR}/KFileMetaData>")
+target_include_directories(KF5FileMetaData INTERFACE 
"$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR_KF5}/KFileMetaData>")
 
 ecm_generate_headers(KF5FileMetaData_CamelCase_HEADERS
     HEADER_NAMES
@@ -87,18 +87,18 @@
 
 install(EXPORT KF5FileMetaDataTargets
         NAMESPACE KF5::
-        DESTINATION ${LIB_INSTALL_DIR}/cmake/KF5FileMetaData
+        DESTINATION ${KDE_INSTALL_LIBDIR}/cmake/KF5FileMetaData
         FILE KF5FileMetaDataTargets.cmake)
 
 install(FILES
     ${CMAKE_CURRENT_BINARY_DIR}/kfilemetadata_export.h
     ${KF5FileMetaData_HEADERS}
-    DESTINATION ${KF5_INCLUDE_INSTALL_DIR}/KFileMetaData/kfilemetadata 
COMPONENT Devel
+    DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF5}/KFileMetaData/kfilemetadata 
COMPONENT Devel
 )
 
 install(FILES
     ${KF5FileMetaData_CamelCase_HEADERS}
-    DESTINATION ${KF5_INCLUDE_INSTALL_DIR}/KFileMetaData/KFileMetaData 
COMPONENT Devel
+    DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF5}/KFileMetaData/KFileMetaData 
COMPONENT Devel
 )
 
 configure_file(config-kfilemetadata.h.in 
${CMAKE_CURRENT_BINARY_DIR}/config-kfilemetadata.h)
@@ -108,7 +108,7 @@
         KF5FileMetaData_QCH
         NAME KFileMetaData
         BASE_NAME KF5FileMetaData
-        VERSION ${KF5_VERSION}
+        VERSION ${KF_VERSION}
         ORG_DOMAIN org.kde
         SOURCES # using only public headers, to cover only public API
             ${KF5FileMetaData_HEADERS}
@@ -134,7 +134,7 @@
     LIB_NAME KF5FileMetaData
     DEPS "core"
     FILENAME_VAR PRI_FILENAME
-    INCLUDE_INSTALL_DIR ${KF5_INCLUDE_INSTALL_DIR}/KFileMetaData
+    INCLUDE_INSTALL_DIR ${KDE_INSTALL_INCLUDEDIR_KF5}/KFileMetaData
 )
 install(FILES ${PRI_FILENAME} DESTINATION ${ECM_MKSPECS_INSTALL_DIR})
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kfilemetadata-5.78.0/src/config-kfilemetadata.h.in 
new/kfilemetadata-5.79.0/src/config-kfilemetadata.h.in
--- old/kfilemetadata-5.78.0/src/config-kfilemetadata.h.in      2021-01-02 
14:14:24.000000000 +0100
+++ new/kfilemetadata-5.79.0/src/config-kfilemetadata.h.in      2021-02-06 
19:16:23.000000000 +0100
@@ -6,7 +6,7 @@
 
 #ifndef CONFIGKFILEMETADATA_H
 #define CONFIGKFILEMETADATA_H
-#define LIBEXEC_INSTALL_DIR 
"${CMAKE_INSTALL_PREFIX}/${KF5_LIBEXEC_INSTALL_DIR}"
+#define LIBEXEC_INSTALL_DIR 
"${CMAKE_INSTALL_PREFIX}/${KDE_INSTALL_LIBEXECDIR_KF5}"
 
 #cmakedefine01 HAVE_AVSTREAM_CODECPAR
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kfilemetadata-5.78.0/src/extractorplugin.cpp 
new/kfilemetadata-5.79.0/src/extractorplugin.cpp
--- old/kfilemetadata-5.78.0/src/extractorplugin.cpp    2021-01-02 
14:14:24.000000000 +0100
+++ new/kfilemetadata-5.79.0/src/extractorplugin.cpp    2021-02-06 
19:16:23.000000000 +0100
@@ -110,38 +110,18 @@
     cleanedString = cleanedString.remove(QLatin1Char('{'));
     cleanedString = cleanedString.remove(QLatin1Char('}'));
 
-#if QT_VERSION < QT_VERSION_CHECK(5, 15, 0)
-    QStringList contactStrings = string.split(QLatin1Char(','), 
QString::SkipEmptyParts);
-#else
     QStringList contactStrings = string.split(QLatin1Char(','), 
Qt::SkipEmptyParts);
-#endif
     if (contactStrings.size() == 1)
-#if QT_VERSION < QT_VERSION_CHECK(5, 15, 0)
-        contactStrings = string.split(QLatin1Char(';'), 
QString::SkipEmptyParts);
-#else
         contactStrings = string.split(QLatin1Char(';'), Qt::SkipEmptyParts);
-#endif
 
     if (contactStrings.size() == 1)
-#if QT_VERSION < QT_VERSION_CHECK(5, 15, 0)
-        contactStrings = string.split(QStringLiteral(" ft "), 
QString::SkipEmptyParts);
-#else
         contactStrings = string.split(QStringLiteral(" ft "), 
Qt::SkipEmptyParts);
-#endif
 
     if (contactStrings.size() == 1)
-#if QT_VERSION < QT_VERSION_CHECK(5, 15, 0)
-        contactStrings = string.split(QStringLiteral(" feat. "), 
QString::SkipEmptyParts);
-#else
         contactStrings = string.split(QStringLiteral(" feat. "), 
Qt::SkipEmptyParts);
-#endif
 
     if (contactStrings.size() == 1)
-#if QT_VERSION < QT_VERSION_CHECK(5, 15, 0)
-        contactStrings = string.split(QStringLiteral(" feat "), 
QString::SkipEmptyParts);
-#else
         contactStrings = string.split(QStringLiteral(" feat "), 
Qt::SkipEmptyParts);
-#endif
 
     QStringList list;
     list.reserve(contactStrings.count());
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kfilemetadata-5.78.0/src/extractors/CMakeLists.txt 
new/kfilemetadata-5.79.0/src/extractors/CMakeLists.txt
--- old/kfilemetadata-5.78.0/src/extractors/CMakeLists.txt      2021-01-02 
14:14:24.000000000 +0100
+++ new/kfilemetadata-5.79.0/src/extractors/CMakeLists.txt      2021-02-06 
19:16:23.000000000 +0100
@@ -11,7 +11,7 @@
     set_target_properties(kfilemetadata_popplerextractor PROPERTIES 
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin/kf5/kfilemetadata")
     install(
     TARGETS kfilemetadata_popplerextractor
-    DESTINATION ${PLUGIN_INSTALL_DIR}/kf5/kfilemetadata)
+    DESTINATION ${KDE_INSTALL_PLUGINDIR}/kf5/kfilemetadata)
 
 endif()
 
@@ -25,7 +25,7 @@
     set_target_properties(kfilemetadata_taglibextractor PROPERTIES 
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin/kf5/kfilemetadata")
     install(
     TARGETS kfilemetadata_taglibextractor
-    DESTINATION ${PLUGIN_INSTALL_DIR}/kf5/kfilemetadata)
+    DESTINATION ${KDE_INSTALL_PLUGINDIR}/kf5/kfilemetadata)
 endif()
 
 if(LibExiv2_FOUND)
@@ -44,7 +44,7 @@
     set_target_properties(kfilemetadata_exiv2extractor PROPERTIES 
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin/kf5/kfilemetadata")
     install(
     TARGETS kfilemetadata_exiv2extractor
-    DESTINATION ${PLUGIN_INSTALL_DIR}/kf5/kfilemetadata)
+    DESTINATION ${KDE_INSTALL_PLUGINDIR}/kf5/kfilemetadata)
 
 endif()
 
@@ -61,13 +61,16 @@
     set_target_properties(kfilemetadata_ffmpegextractor PROPERTIES 
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin/kf5/kfilemetadata")
     install(
     TARGETS kfilemetadata_ffmpegextractor
-    DESTINATION ${PLUGIN_INSTALL_DIR}/kf5/kfilemetadata)
+    DESTINATION ${KDE_INSTALL_PLUGINDIR}/kf5/kfilemetadata)
 
 endif()
 
 
 if(EPUB_FOUND)
-    add_library(kfilemetadata_epubextractor MODULE epubextractor.cpp)
+    add_library(kfilemetadata_epubextractor MODULE
+        epubextractor.cpp
+        ../kfilemetadata_debug.cpp
+    )
     target_include_directories(kfilemetadata_epubextractor SYSTEM PRIVATE 
${EPUB_INCLUDE_DIR})
     target_link_libraries(kfilemetadata_epubextractor
         KF5::FileMetaData
@@ -77,7 +80,7 @@
     set_target_properties(kfilemetadata_epubextractor PROPERTIES 
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin/kf5/kfilemetadata")
     install(
     TARGETS kfilemetadata_epubextractor
-    DESTINATION ${PLUGIN_INSTALL_DIR}/kf5/kfilemetadata)
+    DESTINATION ${KDE_INSTALL_PLUGINDIR}/kf5/kfilemetadata)
 
 endif()
 
@@ -93,7 +96,7 @@
 set_target_properties(kfilemetadata_plaintextextractor PROPERTIES 
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin/kf5/kfilemetadata")
 install(
 TARGETS kfilemetadata_plaintextextractor
-DESTINATION ${PLUGIN_INSTALL_DIR}/kf5/kfilemetadata)
+DESTINATION ${KDE_INSTALL_PLUGINDIR}/kf5/kfilemetadata)
 
 #
 # PO
@@ -106,7 +109,7 @@
 set_target_properties(kfilemetadata_poextractor PROPERTIES 
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin/kf5/kfilemetadata")
 install(
 TARGETS kfilemetadata_poextractor
-DESTINATION ${PLUGIN_INSTALL_DIR}/kf5/kfilemetadata)
+DESTINATION ${KDE_INSTALL_PLUGINDIR}/kf5/kfilemetadata)
 
 #
 # XML
@@ -125,7 +128,7 @@
 set_target_properties(kfilemetadata_xmlextractor PROPERTIES 
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin/kf5/kfilemetadata")
 install(
     TARGETS kfilemetadata_xmlextractor
-    DESTINATION ${PLUGIN_INSTALL_DIR}/kf5/kfilemetadata
+    DESTINATION ${KDE_INSTALL_PLUGINDIR}/kf5/kfilemetadata
 )
 
 #
@@ -143,7 +146,7 @@
 set_target_properties(kfilemetadata_postscriptdscextractor PROPERTIES 
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin/kf5/kfilemetadata")
 install(
     TARGETS kfilemetadata_postscriptdscextractor
-    DESTINATION ${PLUGIN_INSTALL_DIR}/kf5/kfilemetadata
+    DESTINATION ${KDE_INSTALL_PLUGINDIR}/kf5/kfilemetadata
 )
 
 #
@@ -163,7 +166,7 @@
     set_target_properties(kfilemetadata_odfextractor PROPERTIES 
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin/kf5/kfilemetadata")
     install(
     TARGETS kfilemetadata_odfextractor
-    DESTINATION ${PLUGIN_INSTALL_DIR}/kf5/kfilemetadata)
+    DESTINATION ${KDE_INSTALL_PLUGINDIR}/kf5/kfilemetadata)
 endif()
 
 #
@@ -183,7 +186,7 @@
     set_target_properties(kfilemetadata_office2007extractor PROPERTIES 
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin/kf5/kfilemetadata")
     install(
     TARGETS kfilemetadata_office2007extractor
-    DESTINATION ${PLUGIN_INSTALL_DIR}/kf5/kfilemetadata)
+    DESTINATION ${KDE_INSTALL_PLUGINDIR}/kf5/kfilemetadata)
 endif()
 
 #
@@ -199,7 +202,7 @@
 set_target_properties(kfilemetadata_officeextractor PROPERTIES 
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin/kf5/kfilemetadata")
 install(
 TARGETS kfilemetadata_officeextractor
-DESTINATION ${PLUGIN_INSTALL_DIR}/kf5/kfilemetadata)
+DESTINATION ${KDE_INSTALL_PLUGINDIR}/kf5/kfilemetadata)
 
 #
 # Mobipocket
@@ -214,7 +217,7 @@
     set_target_properties(kfilemetadata_mobiextractor PROPERTIES 
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin/kf5/kfilemetadata")
     install(
     TARGETS kfilemetadata_mobiextractor
-    DESTINATION ${PLUGIN_INSTALL_DIR}/kf5/kfilemetadata)
+    DESTINATION ${KDE_INSTALL_PLUGINDIR}/kf5/kfilemetadata)
 
 endif()
 
@@ -231,5 +234,5 @@
     set_target_properties(kfilemetadata_appimageextractor PROPERTIES 
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin/kf5/kfilemetadata")
     install(
     TARGETS kfilemetadata_appimageextractor
-    DESTINATION ${PLUGIN_INSTALL_DIR}/kf5/kfilemetadata)
+    DESTINATION ${KDE_INSTALL_PLUGINDIR}/kf5/kfilemetadata)
 endif()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kfilemetadata-5.78.0/src/extractors/epubextractor.cpp 
new/kfilemetadata-5.79.0/src/extractors/epubextractor.cpp
--- old/kfilemetadata-5.78.0/src/extractors/epubextractor.cpp   2021-01-02 
14:14:24.000000000 +0100
+++ new/kfilemetadata-5.79.0/src/extractors/epubextractor.cpp   2021-02-06 
19:16:23.000000000 +0100
@@ -7,12 +7,12 @@
 
 
 #include "epubextractor.h"
+#include "kfilemetadata_debug.h"
 
 #include <epub.h>
 
 #include <QDateTime>
 #include <QRegularExpression>
-#include <QDebug>
 
 using namespace KFileMetaData;
 
@@ -28,15 +28,17 @@
     QStringLiteral("application/epub+zip"),
 };
 
-QString fetchMetadata(struct epub* e, const epub_metadata& type)
+const QStringList fetchMetadata(struct epub* e, const epub_metadata& type)
 {
     int size = 0;
     unsigned char** data = epub_get_metadata(e, type, &size);
     if (data) {
         QStringList strList;
+        strList.reserve(size);
         for (int i = 0; i < size; i++) {
             // skip nullptr entries, can happen for broken xml files
-            if (!data[i])
+            // also skip empty entries
+            if (!data[i] || !data[i][0])
                 continue;
 
             strList << QString::fromUtf8((char*)data[i]);
@@ -44,9 +46,9 @@
         }
         free(data);
 
-        return strList.join(QLatin1String(", "));
+        return strList;
     }
-    return QString();
+    return QStringList();
 }
 }
 
@@ -60,7 +62,7 @@
     // open epub, return on exit, file will be closed again at end of function
     auto ePubDoc = epub_open(result->inputUrl().toUtf8().constData(), 1);
     if (!ePubDoc) {
-        qWarning() << "Invalid document";
+        qCWarning(KFILEMETADATA_LOG) << "Invalid document";
         return;
     }
 
@@ -68,27 +70,30 @@
 
     if (result->inputFlags() & ExtractionResult::ExtractMetaData) {
 
-        QString value = fetchMetadata(ePubDoc, EPUB_TITLE);
-        if (!value.isEmpty()) {
+        for (const QString& value : fetchMetadata(ePubDoc, EPUB_TITLE)) {
             result->add(Property::Title, value);
         }
 
-        value = fetchMetadata(ePubDoc, EPUB_SUBJECT);
-        if (!value.isEmpty()) {
+        for (const QString& value : fetchMetadata(ePubDoc, EPUB_SUBJECT)) {
             result->add(Property::Subject, value);
         }
 
-        value = fetchMetadata(ePubDoc, EPUB_CREATOR);
-        if (!value.isEmpty()) {
-            if (value.startsWith(QLatin1String("aut:"), Qt::CaseInsensitive)) {
-                value = value.mid(4).simplified();
-            } else if (value.startsWith(QLatin1String("author:"), 
Qt::CaseInsensitive)) {
-                value = value.mid(7).simplified();
+        for (QString value : fetchMetadata(ePubDoc, EPUB_CREATOR)) {
+            // Prefix added by libepub when no opf:role is specified
+            if (value.startsWith(QLatin1String("Author: "), 
Qt::CaseSensitive)) {
+                value = value.mid(8).simplified();
+            } else {
+                // Find 'opf:role' prefix added by libepub
+                int index = value.indexOf(QLatin1String(": "), 
Qt::CaseSensitive);
+                if (index > 0) {
+                    value = value.mid(index + 2).simplified();
+                }
             }
 
-            // A lot of authors have their name written in () again. We 
discard that part
+            // Name is provided as "<name>(<file-as>)" when opf:file-as 
property
+            // is specified, "<name>(<name>)" otherwise. Strip the last part
             int index = value.indexOf(QLatin1Char('('));
-            if (index)
+            if (index > 0)
                 value = value.mid(0, index);
 
             result->add(Property::Author, value);
@@ -106,24 +111,21 @@
         graph << con;
     }*/
 
-        value = fetchMetadata(ePubDoc, EPUB_PUBLISHER);
-        if (!value.isEmpty()) {
+        for (const QString& value : fetchMetadata(ePubDoc, EPUB_PUBLISHER)) {
             result->add(Property::Publisher, value);
         }
 
-        value = fetchMetadata(ePubDoc, EPUB_DESCRIPTION);
-        if (!value.isEmpty()) {
+        for (const QString& value : fetchMetadata(ePubDoc, EPUB_DESCRIPTION)) {
             result->add(Property::Description, value);
         }
 
-        value = fetchMetadata(ePubDoc, EPUB_DATE);
-        if (!value.isEmpty()) {
+        for (QString value : fetchMetadata(ePubDoc, EPUB_DATE)) {
             if (value.startsWith(QLatin1String("Unspecified:"), 
Qt::CaseInsensitive)) {
-                value = 
value.mid(QByteArray("Unspecified:").size()).simplified();
-            }
-            int ind = value.indexOf(QLatin1String("publication:"), 
Qt::CaseInsensitive);
-            if (ind != -1) {
-                value = value.mid(ind + 
QByteArray("publication:").size()).simplified();
+                value = value.mid(12).simplified();
+            } else if (value.startsWith(QLatin1String("publication:"), 
Qt::CaseInsensitive)) {
+                value = value.mid(12).simplified();
+            } else {
+                continue;
             }
             QDateTime dt = ExtractorPlugin::dateTimeFromString(value);
             if (!dt.isNull()) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kfilemetadata-5.78.0/src/extractors/ffmpegextractor.cpp 
new/kfilemetadata-5.79.0/src/extractors/ffmpegextractor.cpp
--- old/kfilemetadata-5.78.0/src/extractors/ffmpegextractor.cpp 2021-01-02 
14:14:24.000000000 +0100
+++ new/kfilemetadata-5.79.0/src/extractors/ffmpegextractor.cpp 2021-02-06 
19:16:23.000000000 +0100
@@ -84,8 +84,10 @@
         result->add(Property::Duration, totalSecs);
         result->add(Property::BitRate, bitrate);
 
-        for (uint i = 0; i < fmt_ctx->nb_streams; i++) {
-            AVStream* stream = fmt_ctx->streams[i];
+        const int index_stream = av_find_default_stream_index(fmt_ctx);
+        if (index_stream >= 0) {
+            AVStream* stream = fmt_ctx->streams[index_stream];
+
 #if defined HAVE_AVSTREAM_CODECPAR && HAVE_AVSTREAM_CODECPAR
             const AVCodecParameters* codec = stream->codecpar;
 #else
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kfilemetadata-5.78.0/src/usermetadata.cpp 
new/kfilemetadata-5.79.0/src/usermetadata.cpp
--- old/kfilemetadata-5.78.0/src/usermetadata.cpp       2021-01-02 
14:14:24.000000000 +0100
+++ new/kfilemetadata-5.79.0/src/usermetadata.cpp       2021-02-06 
19:16:23.000000000 +0100
@@ -59,11 +59,7 @@
     QString value;
 
     k_getxattr(d->filePath, QStringLiteral("user.xdg.tags"), &value);
-#if QT_VERSION < QT_VERSION_CHECK(5, 15, 0)
-    return value.split(QLatin1Char(','), QString::SkipEmptyParts);
-#else
     return value.split(QLatin1Char(','), Qt::SkipEmptyParts);
-#endif
 }
 
 int UserMetaData::rating() const
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kfilemetadata-5.78.0/src/writers/CMakeLists.txt 
new/kfilemetadata-5.79.0/src/writers/CMakeLists.txt
--- old/kfilemetadata-5.78.0/src/writers/CMakeLists.txt 2021-01-02 
14:14:24.000000000 +0100
+++ new/kfilemetadata-5.79.0/src/writers/CMakeLists.txt 2021-02-06 
19:16:23.000000000 +0100
@@ -9,6 +9,6 @@
     set_target_properties(kfilemetadata_taglibwriter PROPERTIES 
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin/kf5/kfilemetadata/writers")
     install(
     TARGETS kfilemetadata_taglibwriter
-    DESTINATION ${PLUGIN_INSTALL_DIR}/kf5/kfilemetadata/writers)
+    DESTINATION ${KDE_INSTALL_PLUGINDIR}/kf5/kfilemetadata/writers)
 
 endif()

Reply via email to