Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package gthumb for openSUSE:Factory checked 
in at 2023-07-05 16:04:58
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gthumb (Old)
 and      /work/SRC/openSUSE:Factory/.gthumb.new.23466 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "gthumb"

Wed Jul  5 16:04:58 2023 rev:113 rq:1096966 version:3.12.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/gthumb/gthumb.changes    2023-01-17 
17:35:47.553347169 +0100
+++ /work/SRC/openSUSE:Factory/.gthumb.new.23466/gthumb.changes 2023-07-05 
16:04:59.542817495 +0200
@@ -1,0 +2,6 @@
+Mon Jul  3 08:49:26 UTC 2023 - Bjørn Lie <bjorn....@gmail.com>
+
+- Add 3376550a.patch: exiv2: added support for version 0.28.
+- Refresh da0d3f22.patch from upstream git.
+
+-------------------------------------------------------------------

New:
----
  3376550a.patch

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

Other differences:
------------------
++++++ gthumb.spec ++++++
--- /var/tmp/diff_new_pack.YYOPFt/_old  2023-07-05 16:05:00.198821373 +0200
+++ /var/tmp/diff_new_pack.YYOPFt/_new  2023-07-05 16:05:00.202821396 +0200
@@ -25,8 +25,11 @@
 Group:          Productivity/Graphics/Viewers
 URL:            https://wiki.gnome.org/Apps/gthumb
 Source0:        
https://download.gnome.org/sources/gthumb/3.12/%{name}-%{version}.tar.xz
-# PATCH-FIx-UPSTREAM da0d3f22.patch dims...@opensuse.org -- Fix build with 
libraw 0.21
+# PATCH-FIX-UPSTREAM da0d3f22.patch dims...@opensuse.org -- Fix build with 
libraw 0.21
 Patch0:         https://gitlab.gnome.org/GNOME/gthumb/-/commit/da0d3f22.patch
+# PATCH-FIX-UPSTREAM 3376550a.patch -- exiv2: added support for version 0.28
+Patch1:         https://gitlab.gnome.org/GNOME/gthumb/-/commit/3376550a.patch
+
 BuildRequires:  AppStream
 BuildRequires:  bison
 BuildRequires:  fdupes

++++++ 3376550a.patch ++++++
>From 3376550ae109286de09ce5f89e05060eb80230a7 Mon Sep 17 00:00:00 2001
From: Paolo Bacchilega <pao...@src.gnome.org>
Date: Tue, 27 Jun 2023 18:56:48 +0200
Subject: [PATCH] exiv2: added support for version 0.28

Patch by Alex and Antonio Rojas from the discussion of the issue 282.

Fixes #282
---
 extensions/exiv2_tools/exiv2-utils.cpp | 141 +++++++++++++++++++++++++
 1 file changed, 141 insertions(+)

diff --git a/extensions/exiv2_tools/exiv2-utils.cpp 
b/extensions/exiv2_tools/exiv2-utils.cpp
index 56dadb4eb..20f049c2a 100644
--- a/extensions/exiv2_tools/exiv2-utils.cpp
+++ b/extensions/exiv2_tools/exiv2-utils.cpp
@@ -740,7 +740,11 @@ get_exif_default_category (const Exiv2::Exifdatum &md)
 
 
 static void
+#if EXIV2_TEST_VERSION(0,28,0)
+exiv2_read_metadata (Exiv2::Image::UniquePtr  image,
+#else
 exiv2_read_metadata (Exiv2::Image::AutoPtr  image,
+#endif
                     GFileInfo             *info,
                     gboolean               update_general_attributes)
 {
@@ -875,7 +879,11 @@ exiv2_read_metadata_from_file (GFile         *file,
                        return FALSE;
                }
 
+#if EXIV2_TEST_VERSION(0,28,0)
+               Exiv2::Image::UniquePtr image = Exiv2::ImageFactory::open(path);
+#else
                Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(path);
+#endif
                g_free (path);
 
                if (image.get() == 0) {
@@ -885,9 +893,17 @@ exiv2_read_metadata_from_file (GFile         *file,
                }
                // Set the log level to only show errors (and suppress 
warnings, informational and debug messages)
                Exiv2::LogMsg::setLevel(Exiv2::LogMsg::error);
+#if EXIV2_TEST_VERSION(0,28,0)
+               exiv2_read_metadata (std::move(image), info, 
update_general_attributes);
+#else
                exiv2_read_metadata (image, info, update_general_attributes);
+#endif
        }
+#if EXIV2_TEST_VERSION(0,28,0)
+       catch (Exiv2::Error& e) {
+#else
        catch (Exiv2::AnyError& e) {
+#endif
                if (error != NULL)
                        *error = g_error_new_literal (G_IO_ERROR, 
G_IO_ERROR_FAILED, e.what());
                return FALSE;
@@ -906,7 +922,11 @@ exiv2_read_metadata_from_buffer (void       *buffer,
                                 GError    **error)
 {
        try {
+#if EXIV2_TEST_VERSION(0,28,0)
+               Exiv2::Image::UniquePtr image = Exiv2::ImageFactory::open 
((Exiv2::byte*) buffer, buffer_size);
+#else
                Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open 
((Exiv2::byte*) buffer, buffer_size);
+#endif
 
                if (image.get() == 0) {
                        if (error != NULL)
@@ -914,9 +934,17 @@ exiv2_read_metadata_from_buffer (void       *buffer,
                        return FALSE;
                }
 
+#if EXIV2_TEST_VERSION(0,28,0)
+               exiv2_read_metadata (std::move(image), info, 
update_general_attributes);
+#else
                exiv2_read_metadata (image, info, update_general_attributes);
+#endif
        }
+#if EXIV2_TEST_VERSION(0,28,0)
+       catch (Exiv2::Error& e) {
+#else
        catch (Exiv2::AnyError& e) {
+#endif
                if (error != NULL)
                        *error = g_error_new_literal (G_IO_ERROR, 
G_IO_ERROR_FAILED, e.what());
                return FALSE;
@@ -965,7 +993,11 @@ exiv2_read_sidecar (GFile     *file,
                g_free (path);
 
                std::string xmpPacket;
+#if EXIV2_TEST_VERSION(0,28,0)
+               xmpPacket.assign(reinterpret_cast<char*>(buf.data()), 
buf.size());
+#else
                xmpPacket.assign(reinterpret_cast<char*>(buf.pData_), 
buf.size_);
+#endif
                Exiv2::XmpData xmpData;
 
                if (0 != Exiv2::XmpParser::decode(xmpData, xmpPacket))
@@ -1011,7 +1043,11 @@ exiv2_read_sidecar (GFile     *file,
 
                set_attributes_from_tagsets (info, update_general_attributes);
        }
+#if EXIV2_TEST_VERSION(0,28,0)
+       catch (Exiv2::Error& e) {
+#else
        catch (Exiv2::AnyError& e) {
+#endif
                std::cerr << "Caught Exiv2 exception '" << e << "'\n";
                return FALSE;
        }
@@ -1111,7 +1147,11 @@ dump_exif_data (Exiv2::ExifData &exifData,
 
 
 static Exiv2::DataBuf
+#if EXIV2_TEST_VERSION(0,28,0)
+exiv2_write_metadata_private (Exiv2::Image::UniquePtr  image,
+#else
 exiv2_write_metadata_private (Exiv2::Image::AutoPtr  image,
+#endif
                              GFileInfo             *info,
                              GthImage              *image_data)
 {
@@ -1148,13 +1188,21 @@ exiv2_write_metadata_private (Exiv2::Image::AutoPtr  
image,
                        const char *value_type = gth_main_get_metadata_type 
(metadatum, attributes[i]);
 
                        if ((raw_value != NULL) && (strcmp (raw_value, "") != 
0) && (value_type != NULL)) {
+#if EXIV2_TEST_VERSION(0,28,0)
+                               Exiv2::Value::UniquePtr value = 
Exiv2::Value::create (Exiv2::TypeInfo::typeId (value_type));
+#else
                                Exiv2::Value::AutoPtr value = 
Exiv2::Value::create (Exiv2::TypeInfo::typeId (value_type));
+#endif
                                value->read (raw_value);
                                Exiv2::ExifKey exif_key(key);
                                ed.add (exif_key, value.get());
                        }
                }
+#if EXIV2_TEST_VERSION(0,28,0)
+               catch (Exiv2::Error& e) {
+#else
                catch (Exiv2::AnyError& e) {
+#endif
                        /* we don't care about invalid key errors */
                        g_warning ("%s", e.what());
                }
@@ -1270,7 +1318,11 @@ exiv2_write_metadata_private (Exiv2::Image::AutoPtr  
image,
                        value_type = gth_main_get_metadata_type (metadatum, 
attributes[i]);
                        if (value_type != NULL) {
                                /* See the exif data code above for an 
explanation. */
+#if EXIV2_TEST_VERSION(0,28,0)
+                               Exiv2::Value::UniquePtr value = 
Exiv2::Value::create (Exiv2::TypeInfo::typeId (value_type));
+#else
                                Exiv2::Value::AutoPtr value = 
Exiv2::Value::create (Exiv2::TypeInfo::typeId (value_type));
+#endif
                                Exiv2::IptcKey iptc_key(key);
 
                                const char *raw_value;
@@ -1296,7 +1348,11 @@ exiv2_write_metadata_private (Exiv2::Image::AutoPtr  
image,
                                }
                        }
                }
+#if EXIV2_TEST_VERSION(0,28,0)
+               catch (Exiv2::Error& e) {
+#else
                catch (Exiv2::AnyError& e) {
+#endif
                        /* we don't care about invalid key errors */
                        g_warning ("%s", e.what());
                }
@@ -1320,7 +1376,11 @@ exiv2_write_metadata_private (Exiv2::Image::AutoPtr  
image,
                        value_type = gth_main_get_metadata_type (metadatum, 
attributes[i]);
                        if (value_type != NULL) {
                                /* See the exif data code above for an 
explanation. */
+#if EXIV2_TEST_VERSION(0,28,0)
+                               Exiv2::Value::UniquePtr value = 
Exiv2::Value::create (Exiv2::TypeInfo::typeId (value_type));
+#else
                                Exiv2::Value::AutoPtr value = 
Exiv2::Value::create (Exiv2::TypeInfo::typeId (value_type));
+#endif
                                Exiv2::XmpKey xmp_key(key);
 
                                const char *raw_value;
@@ -1346,7 +1406,11 @@ exiv2_write_metadata_private (Exiv2::Image::AutoPtr  
image,
                                }
                        }
                }
+#if EXIV2_TEST_VERSION(0,28,0)
+               catch (Exiv2::Error& e) {
+#else
                catch (Exiv2::AnyError& e) {
+#endif
                        /* we don't care about invalid key errors */
                        g_warning ("%s", e.what());
                }
@@ -1362,7 +1426,11 @@ exiv2_write_metadata_private (Exiv2::Image::AutoPtr  
image,
                image->setXmpData(xd);
                image->writeMetadata();
        }
+#if EXIV2_TEST_VERSION(0,28,0)
+       catch (Exiv2::Error& e) {
+#else
        catch (Exiv2::AnyError& e) {
+#endif
                g_warning ("%s", e.what());
        }
 
@@ -1389,16 +1457,33 @@ exiv2_write_metadata (GthImageSaveData *data)
 {
        if (exiv2_supports_writes (data->mime_type) && (data->file_data != 
NULL)) {
                try {
+#if EXIV2_TEST_VERSION(0,28,0)
+                       Exiv2::Image::UniquePtr image = 
Exiv2::ImageFactory::open ((Exiv2::byte*) data->buffer, data->buffer_size);
+#else
                        Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open 
((Exiv2::byte*) data->buffer, data->buffer_size);
+#endif
                        g_assert (image.get() != 0);
 
+#if EXIV2_TEST_VERSION(0,28,0)
+                       Exiv2::DataBuf buf = exiv2_write_metadata_private 
(std::move(image), data->file_data->info, data->image);
+#else
                        Exiv2::DataBuf buf = exiv2_write_metadata_private 
(image, data->file_data->info, data->image);
+#endif
 
                        g_free (data->buffer);
+#if EXIV2_TEST_VERSION(0,28,0)
+                       data->buffer = g_memdup (buf.data(), buf.size());
+                       data->buffer_size = buf.size();
+#else
                        data->buffer = g_memdup (buf.pData_, buf.size_);
                        data->buffer_size = buf.size_;
+#endif
                }
+#if EXIV2_TEST_VERSION(0,28,0)
+               catch (Exiv2::Error& e) {
+#else
                catch (Exiv2::AnyError& e) {
+#endif
                        if (data->error != NULL)
                                *data->error = g_error_new_literal (G_IO_ERROR, 
G_IO_ERROR_FAILED, e.what());
                        g_warning ("%s\n", e.what());
@@ -1419,16 +1504,33 @@ exiv2_write_metadata_to_buffer (void      **buffer,
                                GError    **error)
 {
        try {
+#if EXIV2_TEST_VERSION(0,28,0)
+               Exiv2::Image::UniquePtr image = Exiv2::ImageFactory::open 
((Exiv2::byte*) *buffer, *buffer_size);
+#else
                Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open 
((Exiv2::byte*) *buffer, *buffer_size);
+#endif
                g_assert (image.get() != 0);
 
+#if EXIV2_TEST_VERSION(0,28,0)
+               Exiv2::DataBuf buf = exiv2_write_metadata_private 
(std::move(image), info, image_data);
+#else
                Exiv2::DataBuf buf = exiv2_write_metadata_private (image, info, 
image_data);
+#endif
 
                g_free (*buffer);
+#if EXIV2_TEST_VERSION(0,28,0)
+               *buffer = g_memdup (buf.data(), buf.size());
+               *buffer_size = buf.size();
+#else
                *buffer = g_memdup (buf.pData_, buf.size_);
                *buffer_size = buf.size_;
+#endif
        }
+#if EXIV2_TEST_VERSION(0,28,0)
+       catch (Exiv2::Error& e) {
+#else
        catch (Exiv2::AnyError& e) {
+#endif
                if (error != NULL)
                        *error = g_error_new_literal (G_IO_ERROR, 
G_IO_ERROR_FAILED, e.what());
                return FALSE;
@@ -1445,7 +1547,11 @@ exiv2_clear_metadata (void   **buffer,
                      GError **error)
 {
        try {
+#if EXIV2_TEST_VERSION(0,28,0)
+               Exiv2::Image::UniquePtr image = Exiv2::ImageFactory::open 
((Exiv2::byte*) *buffer, *buffer_size);
+#else
                Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open 
((Exiv2::byte*) *buffer, *buffer_size);
+#endif
 
                if (image.get() == 0) {
                        if (error != NULL)
@@ -1457,7 +1563,11 @@ exiv2_clear_metadata (void   **buffer,
                        image->clearMetadata();
                        image->writeMetadata();
                }
+#if EXIV2_TEST_VERSION(0,28,0)
+               catch (Exiv2::Error& e) {
+#else
                catch (Exiv2::AnyError& e) {
+#endif
                        g_warning ("%s", e.what());
                }
 
@@ -1466,10 +1576,19 @@ exiv2_clear_metadata (void   **buffer,
                Exiv2::DataBuf buf = io.read(io.size());
 
                g_free (*buffer);
+#if EXIV2_TEST_VERSION(0,28,0)
+               *buffer = g_memdup (buf.data(), buf.size());
+               *buffer_size = buf.size();
+#else
                *buffer = g_memdup (buf.pData_, buf.size_);
                *buffer_size = buf.size_;
+#endif
        }
+#if EXIV2_TEST_VERSION(0,28,0)
+       catch (Exiv2::Error& e) {
+#else
        catch (Exiv2::AnyError& e) {
+#endif
                if (error != NULL)
                        *error = g_error_new_literal (G_IO_ERROR, 
G_IO_ERROR_FAILED, e.what());
                return FALSE;
@@ -1502,26 +1621,44 @@ exiv2_generate_thumbnail (const char *uri,
                if (path == NULL)
                        return NULL;
 
+#if EXIV2_TEST_VERSION(0,28,0)
+               Exiv2::Image::UniquePtr image = Exiv2::ImageFactory::open 
(path);
+#else
                Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open (path);
+#endif
                image->readMetadata ();
                Exiv2::ExifThumbC exifThumb (image->exifData ());
                Exiv2::DataBuf thumb = exifThumb.copy ();
 
                g_free (path);
 
+#if EXIV2_TEST_VERSION(0,28,0)
+               if (thumb.data() == NULL)
+#else
                if (thumb.pData_ == NULL)
+#endif
                        return NULL;
 
                Exiv2::ExifData &ed = image->exifData();
 
+#if EXIV2_TEST_VERSION(0,28,0)
+               long orientation = (ed["Exif.Image.Orientation"].count() > 0) ? 
ed["Exif.Image.Orientation"].toUint32() : 1;
+               long image_width = (ed["Exif.Photo.PixelXDimension"].count() > 
0) ? ed["Exif.Photo.PixelXDimension"].toUint32() : -1;
+               long image_height = (ed["Exif.Photo.PixelYDimension"].count() > 
0) ? ed["Exif.Photo.PixelYDimension"].toUint32() : -1;
+#else
                long orientation = (ed["Exif.Image.Orientation"].count() > 0) ? 
ed["Exif.Image.Orientation"].toLong() : 1;
                long image_width = (ed["Exif.Photo.PixelXDimension"].count() > 
0) ? ed["Exif.Photo.PixelXDimension"].toLong() : -1;
                long image_height = (ed["Exif.Photo.PixelYDimension"].count() > 
0) ? ed["Exif.Photo.PixelYDimension"].toLong() : -1;
+#endif
 
                if ((orientation != 1) || (image_width <= 0) || (image_height 
<= 0))
                        return NULL;
 
+#if EXIV2_TEST_VERSION(0,28,0)
+               GInputStream *stream = g_memory_input_stream_new_from_data 
(thumb.data(), thumb.size(), NULL);
+#else
                GInputStream *stream = g_memory_input_stream_new_from_data 
(thumb.pData_, thumb.size_, NULL);
+#endif
                pixbuf = gdk_pixbuf_new_from_stream (stream, NULL, NULL);
                g_object_unref (stream);
 
@@ -1575,7 +1712,11 @@ exiv2_generate_thumbnail (const char *uri,
                gdk_pixbuf_set_option (pixbuf, "orientation", orientation_s);
                g_free (orientation_s);
        }
+#if EXIV2_TEST_VERSION(0,28,0)
+       catch (Exiv2::Error& e) {
+#else
        catch (Exiv2::AnyError& e) {
+#endif
        }
 
        return pixbuf;
-- 
GitLab


++++++ da0d3f22.patch ++++++
--- /var/tmp/diff_new_pack.YYOPFt/_old  2023-07-05 16:05:00.238821608 +0200
+++ /var/tmp/diff_new_pack.YYOPFt/_new  2023-07-05 16:05:00.242821632 +0200
@@ -10,7 +10,7 @@
  3 files changed, 10 insertions(+), 3 deletions(-)
 
 diff --git a/extensions/raw_files/gth-metadata-provider-raw.c 
b/extensions/raw_files/gth-metadata-provider-raw.c
-index 2d9f5020..1aa8a727 100644
+index 2d9f5020c..1aa8a727e 100644
 --- a/extensions/raw_files/gth-metadata-provider-raw.c
 +++ b/extensions/raw_files/gth-metadata-provider-raw.c
 @@ -62,7 +62,7 @@ gth_metadata_provider_raw_read (GthMetadataProvider *self,
@@ -23,7 +23,7 @@
                goto fatal_error;
  
 diff --git a/extensions/raw_files/gth-metadata-provider-raw.h 
b/extensions/raw_files/gth-metadata-provider-raw.h
-index 6406c68b..cf19434d 100644
+index 6406c68bf..cf19434df 100644
 --- a/extensions/raw_files/gth-metadata-provider-raw.h
 +++ b/extensions/raw_files/gth-metadata-provider-raw.h
 @@ -25,6 +25,13 @@
@@ -41,7 +41,7 @@
  #define GTH_TYPE_METADATA_PROVIDER_RAW         
(gth_metadata_provider_raw_get_type ())
  #define GTH_METADATA_PROVIDER_RAW(o)           (G_TYPE_CHECK_INSTANCE_CAST 
((o), GTH_TYPE_METADATA_PROVIDER_RAW, GthMetadataProviderRaw))
 diff --git a/extensions/raw_files/main.c b/extensions/raw_files/main.c
-index 25829c12..0673c2c7 100644
+index 25829c120..0673c2c75 100644
 --- a/extensions/raw_files/main.c
 +++ b/extensions/raw_files/main.c
 @@ -213,7 +213,7 @@ _cairo_image_surface_create_from_raw (GInputStream  
*istream,

Reply via email to