Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package kphotoalbum for openSUSE:Factory checked in at 2023-07-04 15:22:39 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kphotoalbum (Old) and /work/SRC/openSUSE:Factory/.kphotoalbum.new.23466 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kphotoalbum" Tue Jul 4 15:22:39 2023 rev:13 rq:1096670 version:5.10.0 Changes: -------- --- /work/SRC/openSUSE:Factory/kphotoalbum/kphotoalbum.changes 2023-04-18 15:52:44.449367616 +0200 +++ /work/SRC/openSUSE:Factory/.kphotoalbum.new.23466/kphotoalbum.changes 2023-07-04 15:23:34.758638093 +0200 @@ -1,0 +2,8 @@ +Tue Jul 4 06:47:31 UTC 2023 - Christophe Marin <christo...@krop.fr> + +- Add patches: + * 0001-Fixed-compilation-with-exiv2-0.28.patch + * 0002-Less-macros-by-simply-using-auto.patch + * 0003-Use-Exifdatum-toInt64-instead-of-toUint32.patch + +------------------------------------------------------------------- New: ---- 0001-Fixed-compilation-with-exiv2-0.28.patch 0002-Less-macros-by-simply-using-auto.patch 0003-Use-Exifdatum-toInt64-instead-of-toUint32.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kphotoalbum.spec ++++++ --- /var/tmp/diff_new_pack.zoW5g7/_old 2023-07-04 15:23:35.406641987 +0200 +++ /var/tmp/diff_new_pack.zoW5g7/_new 2023-07-04 15:23:35.410642011 +0200 @@ -29,6 +29,10 @@ Source1: https://download.kde.org/stable/%{name}/%{version}/%{name}-%{version}.tar.xz.sig Source2: kphotoalbum.keyring %endif +# Exiv 0.28 fixes +Patch0: 0001-Fixed-compilation-with-exiv2-0.28.patch +Patch1: 0002-Less-macros-by-simply-using-auto.patch +Patch2: 0003-Use-Exifdatum-toInt64-instead-of-toUint32.patch BuildRequires: QtAV-devel BuildRequires: cmake >= 3.18.0 BuildRequires: fdupes ++++++ 0001-Fixed-compilation-with-exiv2-0.28.patch ++++++ >From b1719d6b337059e070b2db812eb3b747a3e5a627 Mon Sep 17 00:00:00 2001 From: Tobias Leupold <t...@stonemx.de> Date: Sat, 20 May 2023 22:33:44 +0200 Subject: [PATCH 1/3] Fixed compilation with exiv2 0.28 --- DB/FileInfo.cpp | 11 ++++++++++- lib/kpaexif/Database.cpp | 13 +++++++++++-- lib/kpaexif/DatabaseElement.cpp | 21 ++++++++++++++------- lib/kpaexif/Info.cpp | 9 +++++++++ 4 files changed, 44 insertions(+), 10 deletions(-) diff --git a/DB/FileInfo.cpp b/DB/FileInfo.cpp index dc4c9819..ca18ddc2 100644 --- a/DB/FileInfo.cpp +++ b/DB/FileInfo.cpp @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2003-2010 Jesper K. Pedersen <blac...@kde.org> // SPDX-FileCopyrightText: 2021 Johannes Zarl-Zierl <johan...@zarl-zierl.at> +// SPDX-FileCopyrightText: 2023 Tobias Leupold <tl at stonemx dot de> // // SPDX-License-Identifier: GPL-2.0-or-later @@ -13,6 +14,8 @@ #include <QFileInfo> #include <QRegularExpression> +#include <exiv2/version.hpp> + using namespace DB; FileInfo FileInfo::read(const DB::FileName &fileName, DB::ExifMode mode) @@ -79,8 +82,14 @@ void DB::FileInfo::parseEXIV2(const DB::FileName &fileName) const Exiv2::Exifdatum &datum = m_exifMap["Exif.Image.Orientation"]; int orientation = 0; - if (datum.count() > 0) + if (datum.count() > 0) { +#if EXIV2_TEST_VERSION(0, 28, 0) + orientation = datum.toUint32(); +#else orientation = datum.toLong(); +#endif + } + m_angle = orientationToAngle(orientation); } diff --git a/lib/kpaexif/Database.cpp b/lib/kpaexif/Database.cpp index 4d0e228c..930d1c8e 100644 --- a/lib/kpaexif/Database.cpp +++ b/lib/kpaexif/Database.cpp @@ -1,6 +1,6 @@ // SPDX-FileCopyrightText: 2003-2020 The KPhotoAlbum Development Team -// SPDX-FileCopyrightText: 2021 Johannes Zarl-Zierl <johan...@zarl-zierl.at> -// SPDX-FileCopyrightText: 2022 Johannes Zarl-Zierl <johan...@zarl-zierl.at> +// SPDX-FileCopyrightText: 2021-2022 Johannes Zarl-Zierl <johan...@zarl-zierl.at> +// SPDX-FileCopyrightText: 2023 Tobias Leupold <tl at stonemx dot de> // // SPDX-License-Identifier: GPL-2.0-or-later @@ -21,6 +21,7 @@ #include <QSqlQuery> #include <exiv2/exif.hpp> #include <exiv2/image.hpp> +#include <exiv2/version.hpp> using namespace Exif; @@ -320,7 +321,11 @@ bool Exif::Database::add(const DB::FileName &fileName) return false; try { +#if EXIV2_TEST_VERSION(0, 28, 0) + Exiv2::Image::UniquePtr image = Exiv2::ImageFactory::open(fileName.absolute().toLocal8Bit().data()); +#else Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(fileName.absolute().toLocal8Bit().data()); +#endif Q_ASSERT(image.get() != nullptr); image->readMetadata(); Exiv2::ExifData &exifData = image->exifData(); @@ -341,7 +346,11 @@ bool Exif::Database::add(const DB::FileNameList &list) for (const DB::FileName &fileName : list) { try { +#if EXIV2_TEST_VERSION(0, 28, 0) + Exiv2::Image::UniquePtr image = Exiv2::ImageFactory::open(fileName.absolute().toLocal8Bit().data()); +#else Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(fileName.absolute().toLocal8Bit().data()); +#endif Q_ASSERT(image.get() != nullptr); image->readMetadata(); map << DBExifInfo(fileName, image->exifData()); diff --git a/lib/kpaexif/DatabaseElement.cpp b/lib/kpaexif/DatabaseElement.cpp index 4e7ba198..e218bb5e 100644 --- a/lib/kpaexif/DatabaseElement.cpp +++ b/lib/kpaexif/DatabaseElement.cpp @@ -1,13 +1,15 @@ -/* SPDX-FileCopyrightText: 2003-2010 Jesper K. Pedersen <blac...@kde.org> +// SPDX-FileCopyrightText: 2003-2010 Jesper K. Pedersen <blac...@kde.org> +// SPDX-FileCopyrightText: 2023 Tobias Leupold <tl at stonemx dot de> +// +// SPDX-License-Identifier: GPL-2.0-or-later - SPDX-License-Identifier: GPL-2.0-or-later -*/ #include "DatabaseElement.h" #include <kpabase/Logging.h> #include <QVariant> #include <exiv2/exif.hpp> +#include <exiv2/version.hpp> static QString replaceDotWithUnderscore(const char *cstr) { @@ -76,10 +78,15 @@ QString Exif::IntExifElement::queryString() const QVariant Exif::IntExifElement::valueFromExif(Exiv2::ExifData &data) const { - if (data[m_tag].count() > 0) - return QVariant { (int)data[m_tag].toLong() }; - else - return QVariant { (int)0 }; + if (data[m_tag].count() > 0) { +#if EXIV2_TEST_VERSION(0, 28, 0) + return QVariant((int) data[m_tag].toUint32()); +#else + return QVariant((int) data[m_tag].toLong()); +#endif + } else { + return QVariant(0); + } } Exif::RationalExifElement::RationalExifElement(const char *tag) diff --git a/lib/kpaexif/Info.cpp b/lib/kpaexif/Info.cpp index 5f77fc81..d72d88b3 100644 --- a/lib/kpaexif/Info.cpp +++ b/lib/kpaexif/Info.cpp @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2003-2020 The KPhotoAlbum Development Team // SPDX-FileCopyrightText: 2021 Johannes Zarl-Zierl <johan...@zarl-zierl.at> +// SPDX-FileCopyrightText: 2023 Tobias Leupold <tl at stonemx dot de> // // SPDX-License-Identifier: GPL-2.0-or-later @@ -166,7 +167,11 @@ Info::Info() void Exif::writeExifInfoToFile(const DB::FileName &srcName, const QString &destName, const QString &imageDescription) { // Load Exif from source image +#if EXIV2_TEST_VERSION(0, 28, 0) + Exiv2::Image::UniquePtr image = Exiv2::ImageFactory::open(QFile::encodeName(srcName.absolute()).data()); +#else Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(QFile::encodeName(srcName.absolute()).data()); +#endif image->readMetadata(); Exiv2::ExifData data = image->exifData(); @@ -201,7 +206,11 @@ Exif::Metadata Exif::Info::metadata(const DB::FileName &fileName) { try { Exif::Metadata result; +#if EXIV2_TEST_VERSION(0, 28, 0) + Exiv2::Image::UniquePtr image = Exiv2::ImageFactory::open(QFile::encodeName(fileName.absolute()).data()); +#else Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(QFile::encodeName(fileName.absolute()).data()); +#endif Q_ASSERT(image.get() != nullptr); image->readMetadata(); result.exif = image->exifData(); -- 2.41.0 ++++++ 0002-Less-macros-by-simply-using-auto.patch ++++++ >From 82520a00bb8ca3f6400c7cc053066072e5055594 Mon Sep 17 00:00:00 2001 From: Tobias Leupold <t...@stonemx.de> Date: Sat, 20 May 2023 23:00:42 +0200 Subject: [PATCH 2/3] Less macros by simply using "auto" Also added const where possible --- lib/kpaexif/Database.cpp | 13 ++----------- lib/kpaexif/Info.cpp | 13 ++----------- 2 files changed, 4 insertions(+), 22 deletions(-) diff --git a/lib/kpaexif/Database.cpp b/lib/kpaexif/Database.cpp index 930d1c8e..985713ce 100644 --- a/lib/kpaexif/Database.cpp +++ b/lib/kpaexif/Database.cpp @@ -21,7 +21,6 @@ #include <QSqlQuery> #include <exiv2/exif.hpp> #include <exiv2/image.hpp> -#include <exiv2/version.hpp> using namespace Exif; @@ -321,11 +320,7 @@ bool Exif::Database::add(const DB::FileName &fileName) return false; try { -#if EXIV2_TEST_VERSION(0, 28, 0) - Exiv2::Image::UniquePtr image = Exiv2::ImageFactory::open(fileName.absolute().toLocal8Bit().data()); -#else - Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(fileName.absolute().toLocal8Bit().data()); -#endif + const auto image = Exiv2::ImageFactory::open(fileName.absolute().toLocal8Bit().data()); Q_ASSERT(image.get() != nullptr); image->readMetadata(); Exiv2::ExifData &exifData = image->exifData(); @@ -346,11 +341,7 @@ bool Exif::Database::add(const DB::FileNameList &list) for (const DB::FileName &fileName : list) { try { -#if EXIV2_TEST_VERSION(0, 28, 0) - Exiv2::Image::UniquePtr image = Exiv2::ImageFactory::open(fileName.absolute().toLocal8Bit().data()); -#else - Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(fileName.absolute().toLocal8Bit().data()); -#endif + const auto image = Exiv2::ImageFactory::open(fileName.absolute().toLocal8Bit().data()); Q_ASSERT(image.get() != nullptr); image->readMetadata(); map << DBExifInfo(fileName, image->exifData()); diff --git a/lib/kpaexif/Info.cpp b/lib/kpaexif/Info.cpp index d72d88b3..162a05d1 100644 --- a/lib/kpaexif/Info.cpp +++ b/lib/kpaexif/Info.cpp @@ -17,7 +17,6 @@ #include <QTextCodec> #include <exiv2/exv_conf.h> #include <exiv2/image.hpp> -#include <exiv2/version.hpp> using namespace Exif; @@ -167,11 +166,7 @@ Info::Info() void Exif::writeExifInfoToFile(const DB::FileName &srcName, const QString &destName, const QString &imageDescription) { // Load Exif from source image -#if EXIV2_TEST_VERSION(0, 28, 0) - Exiv2::Image::UniquePtr image = Exiv2::ImageFactory::open(QFile::encodeName(srcName.absolute()).data()); -#else - Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(QFile::encodeName(srcName.absolute()).data()); -#endif + auto image = Exiv2::ImageFactory::open(QFile::encodeName(srcName.absolute()).data()); image->readMetadata(); Exiv2::ExifData data = image->exifData(); @@ -206,11 +201,7 @@ Exif::Metadata Exif::Info::metadata(const DB::FileName &fileName) { try { Exif::Metadata result; -#if EXIV2_TEST_VERSION(0, 28, 0) - Exiv2::Image::UniquePtr image = Exiv2::ImageFactory::open(QFile::encodeName(fileName.absolute()).data()); -#else - Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(QFile::encodeName(fileName.absolute()).data()); -#endif + auto image = Exiv2::ImageFactory::open(QFile::encodeName(fileName.absolute()).data()); Q_ASSERT(image.get() != nullptr); image->readMetadata(); result.exif = image->exifData(); -- 2.41.0 ++++++ 0003-Use-Exifdatum-toInt64-instead-of-toUint32.patch ++++++ >From c81e5793496f52713e6eef037d1f412b9113fcbc Mon Sep 17 00:00:00 2001 From: Tobias Leupold <t...@stonemx.de> Date: Tue, 30 May 2023 12:36:18 +0200 Subject: [PATCH 3/3] Use Exifdatum::toInt64 instead of toUint32 --- DB/FileInfo.cpp | 2 +- lib/kpaexif/DatabaseElement.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/DB/FileInfo.cpp b/DB/FileInfo.cpp index ca18ddc2..8b4e275c 100644 --- a/DB/FileInfo.cpp +++ b/DB/FileInfo.cpp @@ -84,7 +84,7 @@ void DB::FileInfo::parseEXIV2(const DB::FileName &fileName) int orientation = 0; if (datum.count() > 0) { #if EXIV2_TEST_VERSION(0, 28, 0) - orientation = datum.toUint32(); + orientation = datum.toInt64(); #else orientation = datum.toLong(); #endif diff --git a/lib/kpaexif/DatabaseElement.cpp b/lib/kpaexif/DatabaseElement.cpp index e218bb5e..3d5d56cf 100644 --- a/lib/kpaexif/DatabaseElement.cpp +++ b/lib/kpaexif/DatabaseElement.cpp @@ -80,7 +80,7 @@ QVariant Exif::IntExifElement::valueFromExif(Exiv2::ExifData &data) const { if (data[m_tag].count() > 0) { #if EXIV2_TEST_VERSION(0, 28, 0) - return QVariant((int) data[m_tag].toUint32()); + return QVariant((int) data[m_tag].toInt64()); #else return QVariant((int) data[m_tag].toLong()); #endif -- 2.41.0