Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package kfilemetadata5 for openSUSE:Factory checked in at 2022-08-15 19:57:19 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kfilemetadata5 (Old) and /work/SRC/openSUSE:Factory/.kfilemetadata5.new.1521 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kfilemetadata5" Mon Aug 15 19:57:19 2022 rev:112 rq:994972 version:5.97.0 Changes: -------- --- /work/SRC/openSUSE:Factory/kfilemetadata5/kfilemetadata5.changes 2022-07-11 19:09:56.507656154 +0200 +++ /work/SRC/openSUSE:Factory/.kfilemetadata5.new.1521/kfilemetadata5.changes 2022-08-15 19:59:18.309241624 +0200 @@ -1,0 +2,12 @@ +Sun Aug 7 22:27:23 UTC 2022 - Christophe Giboudeaux <christo...@krop.fr> + +- Update to 5.97.0 + * New feature release + * For more details please see: + * https://kde.org/announcements/frameworks/5/5.97.0 +- Changes since 5.96.0: + * Remove reviewboardrc + * Add PNG extractor + * dump tool: Print extractor name + +------------------------------------------------------------------- Old: ---- kfilemetadata-5.96.0.tar.xz kfilemetadata-5.96.0.tar.xz.sig New: ---- kfilemetadata-5.97.0.tar.xz kfilemetadata-5.97.0.tar.xz.sig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kfilemetadata5.spec ++++++ --- /var/tmp/diff_new_pack.W3KE3R/_old 2022-08-15 19:59:18.733242807 +0200 +++ /var/tmp/diff_new_pack.W3KE3R/_new 2022-08-15 19:59:18.733242807 +0200 @@ -16,7 +16,7 @@ # -%define _tar_path 5.96 +%define _tar_path 5.97 # 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 released Name: kfilemetadata5 -Version: 5.96.0 +Version: 5.97.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.96.0.tar.xz -> kfilemetadata-5.97.0.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kfilemetadata-5.96.0/.reviewboardrc new/kfilemetadata-5.97.0/.reviewboardrc --- old/kfilemetadata-5.96.0/.reviewboardrc 2022-07-02 17:51:52.000000000 +0200 +++ new/kfilemetadata-5.97.0/.reviewboardrc 1970-01-01 01:00:00.000000000 +0100 @@ -1,3 +0,0 @@ -REVIEWBOARD_URL = "https://git.reviewboard.kde.org" -TARGET_GROUPS = "baloo" -REPOSITORY = "kfilemetadata" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kfilemetadata-5.96.0/CMakeLists.txt new/kfilemetadata-5.97.0/CMakeLists.txt --- old/kfilemetadata-5.96.0/CMakeLists.txt 2022-07-02 17:51:52.000000000 +0200 +++ new/kfilemetadata-5.97.0/CMakeLists.txt 2022-08-07 15:23:58.000000000 +0200 @@ -1,11 +1,11 @@ cmake_minimum_required(VERSION 3.16) -set(KF_VERSION "5.96.0") # handled by release scripts -set(KF_DEP_VERSION "5.96.0") # handled by release scripts +set(KF_VERSION "5.97.0") # handled by release scripts +set(KF_DEP_VERSION "5.97.0") # handled by release scripts project(KFileMetaData VERSION ${KF_VERSION}) include(FeatureSummary) -find_package(ECM 5.96.0 NO_MODULE) +find_package(ECM 5.97.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) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kfilemetadata-5.96.0/po/bg/kfilemetadata5.po new/kfilemetadata-5.97.0/po/bg/kfilemetadata5.po --- old/kfilemetadata-5.96.0/po/bg/kfilemetadata5.po 2022-07-02 17:51:52.000000000 +0200 +++ new/kfilemetadata-5.97.0/po/bg/kfilemetadata5.po 2022-08-07 15:23:58.000000000 +0200 @@ -8,7 +8,7 @@ "Project-Id-Version: kfilemetadata\n" "Report-Msgid-Bugs-To: https://bugs.kde.org\n" "POT-Creation-Date: 2020-06-09 02:02+0200\n" -"PO-Revision-Date: 2022-05-20 22:07+0200\n" +"PO-Revision-Date: 2022-07-10 11:59+0200\n" "Last-Translator: Mincho Kondarev <mkonda...@yahoo.de>\n" "Language-Team: Bulgarian <kde-i18n-...@kde.org>\n" "Language: bg\n" @@ -16,7 +16,7 @@ "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Lokalize 22.04.0\n" +"X-Generator: Lokalize 22.04.2\n" "X-Poedit-SourceCharset: UTF-8\n" #: src/formatstrings.cpp:64 @@ -683,25 +683,25 @@ #, kde-format msgctxt "@label" msgid "Replay Gain Album Peak" -msgstr "" +msgstr "Replay Gain Album Peak" #: src/propertyinfo.cpp:461 #, kde-format msgctxt "@label" msgid "Replay Gain Album Gain" -msgstr "" +msgstr "Replay Gain Album Gain" #: src/propertyinfo.cpp:468 #, kde-format msgctxt "@label" msgid "Replay Gain Track Peak" -msgstr "" +msgstr "Replay Gain Track Peak" #: src/propertyinfo.cpp:475 #, kde-format msgctxt "@label" msgid "Replay Gain Track Gain" -msgstr "" +msgstr "Replay Gain Track Gain" #: src/propertyinfo.cpp:482 #, kde-format diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kfilemetadata-5.96.0/po/de/kfilemetadata5.po new/kfilemetadata-5.97.0/po/de/kfilemetadata5.po --- old/kfilemetadata-5.96.0/po/de/kfilemetadata5.po 2022-07-02 17:51:52.000000000 +0200 +++ new/kfilemetadata-5.97.0/po/de/kfilemetadata5.po 2022-08-07 15:23:58.000000000 +0200 @@ -5,7 +5,7 @@ "Project-Id-Version: \n" "Report-Msgid-Bugs-To: https://bugs.kde.org\n" "POT-Creation-Date: 2020-06-09 02:02+0200\n" -"PO-Revision-Date: 2022-06-10 00:05+0200\n" +"PO-Revision-Date: 2022-07-11 23:25+0200\n" "Last-Translator: Frederik Schwarzer <schwar...@kde.org>\n" "Language-Team: German <kde-i18n...@kde.org>\n" "Language: de\n" @@ -13,7 +13,7 @@ "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Lokalize 21.12.2\n" +"X-Generator: Lokalize 22.04.1\n" #: src/formatstrings.cpp:64 #, kde-format @@ -631,7 +631,7 @@ #, kde-format msgctxt "@label" msgid "Arranger" -msgstr "" +msgstr "Arrangeur" #: src/propertyinfo.cpp:418 #, kde-format diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kfilemetadata-5.96.0/po/fi/kfilemetadata5.po new/kfilemetadata-5.97.0/po/fi/kfilemetadata5.po --- old/kfilemetadata-5.96.0/po/fi/kfilemetadata5.po 2022-07-02 17:51:52.000000000 +0200 +++ new/kfilemetadata-5.97.0/po/fi/kfilemetadata5.po 2022-08-07 15:23:58.000000000 +0200 @@ -1,7 +1,7 @@ # Copyright (C) YEAR This_file_is_part_of_KDE # This file is distributed under the same license as the PACKAGE package. # Lasse Liehu <lasse.li...@gmail.com>, 2014, 2015, 2016, 2017. -# Tommi Nieminen <transla...@legisign.org>, 2017, 2018, 2019. +# Tommi Nieminen <transla...@legisign.org>, 2017, 2018, 2019, 2022. # # msgid "" @@ -9,7 +9,7 @@ "Project-Id-Version: \n" "Report-Msgid-Bugs-To: https://bugs.kde.org\n" "POT-Creation-Date: 2020-06-09 02:02+0200\n" -"PO-Revision-Date: 2019-08-27 20:37+0300\n" +"PO-Revision-Date: 2022-07-02 17:21+0300\n" "Last-Translator: Tommi Nieminen <transla...@legisign.org>\n" "Language-Team: Finnish <kde-i18n-...@kde.org>\n" "Language: fi\n" @@ -17,7 +17,7 @@ "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Lokalize 18.12.3\n" +"X-Generator: Lokalize 20.12.0\n" #: src/formatstrings.cpp:64 #, kde-format @@ -686,7 +686,7 @@ #, kde-format msgctxt "@label" msgid "Replay Gain Album Gain" -msgstr "" +msgstr "Albumin ????nenvoimakkuudentasaus" #: src/propertyinfo.cpp:468 #, kde-format @@ -698,7 +698,7 @@ #, kde-format msgctxt "@label" msgid "Replay Gain Track Gain" -msgstr "" +msgstr "Raidan ????nenvoimakkuudentasaus" #: src/propertyinfo.cpp:482 #, kde-format diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kfilemetadata-5.96.0/po/zh_CN/kfilemetadata5.po new/kfilemetadata-5.97.0/po/zh_CN/kfilemetadata5.po --- old/kfilemetadata-5.96.0/po/zh_CN/kfilemetadata5.po 2022-07-02 17:51:52.000000000 +0200 +++ new/kfilemetadata-5.97.0/po/zh_CN/kfilemetadata5.po 2022-08-07 15:23:58.000000000 +0200 @@ -1,16 +1,9 @@ -# Copyright (C) YEAR This_file_is_part_of_KDE -# This file is distributed under the same license as the PACKAGE package. -# -# Feng Chao <chaofeng...@gmail.com>, 2014. -# Lie Ex <lilith...@gmail.com>, 2014. -# Xuetian Weng <xw...@cs.stonybrook.edu>, 2014. -# Weng Xuetian <wen...@gmail.com>, 2014, 2015, 2016, 2017. msgid "" msgstr "" "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: 2022-07-02 10:59\n" +"PO-Revision-Date: 2022-07-30 15:54\n" "Last-Translator: \n" "Language-Team: Chinese Simplified\n" "Language: zh_CN\n" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kfilemetadata-5.96.0/src/extractors/CMakeLists.txt new/kfilemetadata-5.97.0/src/extractors/CMakeLists.txt --- old/kfilemetadata-5.96.0/src/extractors/CMakeLists.txt 2022-07-02 17:51:52.000000000 +0200 +++ new/kfilemetadata-5.97.0/src/extractors/CMakeLists.txt 2022-08-07 15:23:58.000000000 +0200 @@ -255,3 +255,14 @@ TARGETS kfilemetadata_appimageextractor DESTINATION ${KDE_INSTALL_PLUGINDIR}/kf${QT_MAJOR_VERSION}/kfilemetadata) endif() + +add_library(kfilemetadata_pngextractor MODULE pngextractor.cpp ) +target_link_libraries(kfilemetadata_pngextractor + KF5::FileMetaData + Qt${QT_MAJOR_VERSION}::Gui +) + +set_target_properties(kfilemetadata_pngextractor PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin/kf${QT_MAJOR_VERSION}/kfilemetadata") +install( +TARGETS kfilemetadata_pngextractor +DESTINATION ${KDE_INSTALL_PLUGINDIR}/kf${QT_MAJOR_VERSION}/kfilemetadata) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kfilemetadata-5.96.0/src/extractors/pngextractor.cpp new/kfilemetadata-5.97.0/src/extractors/pngextractor.cpp --- old/kfilemetadata-5.96.0/src/extractors/pngextractor.cpp 1970-01-01 01:00:00.000000000 +0100 +++ new/kfilemetadata-5.97.0/src/extractors/pngextractor.cpp 2022-08-07 15:23:58.000000000 +0200 @@ -0,0 +1,90 @@ +/* + SPDX-FileCopyrightText: 2022 Kai Uwe Broulik <k...@broulik.de> + + SPDX-License-Identifier: LGPL-2.1-or-later +*/ + +#include "pngextractor.h" +#include "propertyinfo.h" + +#include <QImageReader> + +using namespace KFileMetaData; + +// Keywords specified in https://www.w3.org/TR/PNG/#11keywords +static const struct { + QString key; + Property::Property property; +} s_textMapping[] = { + // Short (one line) title or caption for image + {QStringLiteral("Title"), Property::Title}, + // Name of image's creator + {QStringLiteral("Author"), Property::Author}, + // Description of image (possibly long) + // Unfortunately, QImage puts all text keys with spaces, such as + // "Raw profile type exif", into the "Description" key, + // (cf. qt_getImageTextFromDescription), overriding the actual + // PNG description, and making it useless. + //{QStringLiteral("Description"), Property::Description}, + // Copyright notice + {QStringLiteral("Copyright"), Property::Copyright}, + // Time of original image creation + {QStringLiteral("Creation Time"), Property::CreationDate}, + // Software used to create the image + {QStringLiteral("Software"), Property::Generator}, + // Disclaimer - Legal disclaimer + // Warning - Warning of nature of content + // Source - Device used to create the image + // Miscellaneous comment + {QStringLiteral("Comment"), Property::Comment}, +}; + +PngExtractor::PngExtractor(QObject* parent) + : ExtractorPlugin(parent) +{ +} + +QStringList PngExtractor::mimetypes() const +{ + return { + QStringLiteral("image/png") + }; +} + +void PngExtractor::extract(ExtractionResult* result) +{ + QImageReader reader(result->inputUrl(), "png"); + if (!reader.canRead()) { + return; + } + + result->addType(Type::Image); + + for (const auto &mapping : s_textMapping) { + QString text = reader.text(mapping.key); + if (text.isEmpty()) { + // Spec says, keywords are case-sensitive but of course the real world looks different. + text = reader.text(mapping.key.toLower()); + } + if (text.isEmpty()) { + continue; + } + + const auto propertyInfo = PropertyInfo(mapping.property); + + if (propertyInfo.valueType() == QVariant::DateTime) { + // "For the Creation Time keyword, the date format defined in section 5.2.14 of RFC 1123 is suggested" + // which in turn references RFC822... + const QDateTime dt = QDateTime::fromString(text, Qt::RFC2822Date); + + if (!dt.isValid()) { + continue; + } + + result->add(mapping.property, dt); + continue; + } + + result->add(mapping.property, text); + } +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kfilemetadata-5.96.0/src/extractors/pngextractor.h new/kfilemetadata-5.97.0/src/extractors/pngextractor.h --- old/kfilemetadata-5.96.0/src/extractors/pngextractor.h 1970-01-01 01:00:00.000000000 +0100 +++ new/kfilemetadata-5.97.0/src/extractors/pngextractor.h 2022-08-07 15:23:58.000000000 +0200 @@ -0,0 +1,31 @@ +/* + SPDX-FileCopyrightText: 2022 Kai Uwe Broulik <k...@broulik.de> + + SPDX-License-Identifier: LGPL-2.1-or-later +*/ + +#ifndef PNGEXTRACTOR_H +#define PNGEXTRACTOR_H + +#include "extractorplugin.h" + +namespace KFileMetaData +{ + +class PngExtractor : public ExtractorPlugin +{ + Q_OBJECT + Q_PLUGIN_METADATA(IID "org.kde.kf5.kfilemetadata.ExtractorPlugin" + FILE "pngextractor.json") + Q_INTERFACES(KFileMetaData::ExtractorPlugin) + +public: + explicit PngExtractor(QObject *parent = nullptr); + + void extract(ExtractionResult *result) override; + QStringList mimetypes() const override; +}; + +} // namespace KFileMetaData + +#endif // PNGEXTRACTOR_H diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kfilemetadata-5.96.0/src/extractors/pngextractor.json new/kfilemetadata-5.97.0/src/extractors/pngextractor.json --- old/kfilemetadata-5.96.0/src/extractors/pngextractor.json 1970-01-01 01:00:00.000000000 +0100 +++ new/kfilemetadata-5.97.0/src/extractors/pngextractor.json 2022-08-07 15:23:58.000000000 +0200 @@ -0,0 +1,7 @@ +{ + "Name" : "PngExtractor", + "Id" : "org.kde.pngextractor", + "MimeTypes" : { + "image/png" : { "version" : "0.0" } + } +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kfilemetadata-5.96.0/tests/dump.cpp new/kfilemetadata-5.97.0/tests/dump.cpp --- old/kfilemetadata-5.96.0/tests/dump.cpp 2022-07-02 17:51:52.000000000 +0200 +++ new/kfilemetadata-5.97.0/tests/dump.cpp 2022-08-07 15:23:58.000000000 +0200 @@ -50,7 +50,14 @@ out << url << " " << mimetype << "\n"; for (KFileMetaData::Extractor* ex : std::as_const(exList)) { - out << "\tExtractor For: " << ex->mimetypes().join(QLatin1Char(' ')) << "\n"; + const QString extractorName = ex->extractorProperties().value(QStringLiteral("Name")).toString(); + out << "\t"; + if (!extractorName.isEmpty()) { + out << extractorName; + } else { + out << "Extractor"; + } + out << " For " << ex->mimetypes().join(QLatin1Char(' ')) << "\n"; KFileMetaData::SimpleExtractionResult result(url, mimetype, extractionLevel); ex->extract(&result);