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()
