Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package libkexiv2 for openSUSE:Factory 
checked in at 2023-08-31 13:43:33
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libkexiv2 (Old)
 and      /work/SRC/openSUSE:Factory/.libkexiv2.new.1766 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libkexiv2"

Thu Aug 31 13:43:33 2023 rev:158 rq:1105791 version:23.08.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/libkexiv2/libkexiv2.changes      2023-07-07 
15:48:19.972557856 +0200
+++ /work/SRC/openSUSE:Factory/.libkexiv2.new.1766/libkexiv2.changes    
2023-08-31 13:45:48.560419188 +0200
@@ -1,0 +2,31 @@
+Sun Aug 20 14:00:13 UTC 2023 - Christophe Marin <christo...@krop.fr>
+
+- Update to 23.08.0
+  * New feature release
+  * For more details please see:
+  * https://kde.org/announcements/gear/23.08.0/
+- No code change since 23.07.90
+
+-------------------------------------------------------------------
+Mon Aug 14 08:03:30 UTC 2023 - Christophe Marin <christo...@krop.fr>
+
+- Update to 23.07.90
+  * New feature release
+- No code change since 23.07.80
+
+-------------------------------------------------------------------
+Tue Aug  1 10:14:27 UTC 2023 - Christophe Marin <christo...@krop.fr>
+
+- Update to 23.07.80
+  * New feature release
+- Changes since 23.04.3:
+  * Default EXCLUDE_DEPRECATED_BEFORE_AND_AT to 5.1.0 for Qt6 build
+  * Fix build with exiv2 >= 0.28
+  * Simplify 7bit ASCII detection
+  * .gitignore ignore CMakeLists.txt.user
+  * Have export macros header include version header (Qt6-only)
+  * Fix KF6 CI dependencies
+  * Rename to KF6 when building against Qt6
+  * Explicitly disable deprecated API when building against Qt6
+
+-------------------------------------------------------------------

Old:
----
  libkexiv2-23.04.3.tar.xz
  libkexiv2-23.04.3.tar.xz.sig

New:
----
  libkexiv2-23.08.0.tar.xz
  libkexiv2-23.08.0.tar.xz.sig

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

Other differences:
------------------
++++++ libkexiv2.spec ++++++
--- /var/tmp/diff_new_pack.CcIJ1l/_old  2023-08-31 13:45:49.712460365 +0200
+++ /var/tmp/diff_new_pack.CcIJ1l/_new  2023-08-31 13:45:49.716460508 +0200
@@ -20,7 +20,7 @@
 %define lname   libKF5KExiv2
 %bcond_without released
 Name:           libkexiv2
-Version:        23.04.3
+Version:        23.08.0
 Release:        0
 Summary:        Library to manipulate picture meta data
 License:        GPL-2.0-or-later


++++++ libkexiv2-23.04.3.tar.xz -> libkexiv2-23.08.0.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libkexiv2-23.04.3/.gitignore 
new/libkexiv2-23.08.0/.gitignore
--- old/libkexiv2-23.04.3/.gitignore    2023-06-04 00:34:17.000000000 +0200
+++ new/libkexiv2-23.08.0/.gitignore    2023-07-06 06:36:01.000000000 +0200
@@ -1,9 +1,10 @@
 *.kate-swp
-tests/databases/*/*.db
+CMakeLists.txt.user*
 /.clang-format
 /compile_commands.json
 .clangd
-.cache
 .idea
 /cmake-build*
+.cache
 build*
+tests/databases/*/*.db
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libkexiv2-23.04.3/.kde-ci.yml 
new/libkexiv2-23.08.0/.kde-ci.yml
--- old/libkexiv2-23.04.3/.kde-ci.yml   2023-06-04 00:34:17.000000000 +0200
+++ new/libkexiv2-23.08.0/.kde-ci.yml   2023-07-06 06:36:01.000000000 +0200
@@ -2,6 +2,10 @@
 # SPDX-License-Identifier: CC0-1.0
 
 Dependencies:
-- 'on': ['@all']
+- 'on': ['Linux/Qt5', 'FreeBSD/Qt5', 'Windows/Qt5']
   'require':
     'frameworks/extra-cmake-modules': '@stable'
+
+- 'on': ['Linux/Qt6', 'FreeBSD/Qt6', 'Windows/Qt6']
+  'require':
+    'frameworks/extra-cmake-modules': '@latest-kf6'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libkexiv2-23.04.3/CMakeLists.txt 
new/libkexiv2-23.08.0/CMakeLists.txt
--- old/libkexiv2-23.04.3/CMakeLists.txt        2023-06-04 00:34:17.000000000 
+0200
+++ new/libkexiv2-23.08.0/CMakeLists.txt        2023-07-06 06:36:01.000000000 
+0200
@@ -77,7 +77,12 @@
 include(CMakePackageConfigHelpers)
 include(FeatureSummary)
 
+# reset to 0 once all deprecated API has been removed on full switch to Qt6
+if (QT_MAJOR_VERSION STREQUAL "6")
+set(EXCLUDE_DEPRECATED_BEFORE_AND_AT 5.1.0 CACHE STRING "Control the range of 
deprecated API excluded from the build [default=5.1.0].")
+else()
 set(EXCLUDE_DEPRECATED_BEFORE_AND_AT 0 CACHE STRING "Control the range of 
deprecated API excluded from the build [default=0].")
+endif()
 
 ############## Find Packages ###################
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libkexiv2-23.04.3/cmake/templates/KF6KExiv2Config.cmake.in 
new/libkexiv2-23.08.0/cmake/templates/KF6KExiv2Config.cmake.in
--- old/libkexiv2-23.04.3/cmake/templates/KF6KExiv2Config.cmake.in      
1970-01-01 01:00:00.000000000 +0100
+++ new/libkexiv2-23.08.0/cmake/templates/KF6KExiv2Config.cmake.in      
2023-07-06 06:36:01.000000000 +0200
@@ -0,0 +1,20 @@
+# KExiv2Config.cmake provides information about the installed KExiv2 library.
+# It can be used directly from CMake via find_package(KExiv2 NO_MODULE)
+#
+# The following CMake variables are provided:
+#   KExiv2_VERSION_MAJOR - the major version number of KExiv2
+#   KExiv2_VERSION_MINOR - the minor version number of KExiv2
+#   KExiv2_VERSION_PATCH - the patch version number of KExiv2
+#   KExiv2_INCLUDE_DIRS  - the include directories to use
+#
+# Additionally, the following imported library targets are created, which may 
be used directly
+# with target_link_libraries():
+#   KF6::KExiv2 - the kexiv2 library
+
+@PACKAGE_INIT@
+
+include(CMakeFindDependencyMacro)
+find_dependency(Qt@QT_MAJOR_VERSION@Core @QT_MIN_VERSION@)
+find_dependency(Qt@QT_MAJOR_VERSION@Gui @QT_MIN_VERSION@)
+
+include("${CMAKE_CURRENT_LIST_DIR}/KF6KExiv2Targets.cmake")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libkexiv2-23.04.3/src/CMakeLists.txt 
new/libkexiv2-23.08.0/src/CMakeLists.txt
--- old/libkexiv2-23.04.3/src/CMakeLists.txt    2023-06-04 00:34:17.000000000 
+0200
+++ new/libkexiv2-23.08.0/src/CMakeLists.txt    2023-07-06 06:36:01.000000000 
+0200
@@ -5,7 +5,7 @@
 #
 
 set(KEXIV2_INSTALL_INCLUDEDIR "${KDE_INSTALL_INCLUDEDIR_KF}/KExiv2")
-set(KEXIV2_CMAKECONFIG_NAME "KF5KExiv2")
+set(KEXIV2_CMAKECONFIG_NAME "KF${QT_MAJOR_VERSION}KExiv2")
 
 ecm_setup_version(${libkexiv2_VERSION}
     VARIABLE_PREFIX      KEXIV2
@@ -18,6 +18,12 @@
 
 add_library(KExiv2 SHARED)
 
+set_target_properties(KExiv2  PROPERTIES
+    OUTPUT_NAME KF${QT_MAJOR_VERSION}KExiv2
+    VERSION     ${KEXIV2_VERSION}
+    SOVERSION   ${KEXIV2_SOVERSION}
+)
+
 if( WIN32 )
     target_compile_definitions(KExiv2 PRIVATE -DEXV_HAVE_DLL)
 endif()
@@ -53,9 +59,19 @@
     REQUIRED_HEADERS kexiv2_HEADERS
 )
 
+if (QT_MAJOR_VERSION STREQUAL "5")
+    set(_generate_export_header_version_args)
+else()
+    # For Qt6/KF6 world transitively include the version header
+    if(ECM_VERSION VERSION_LESS "5.106")
+        set(include_version_header_code "#include <libkexiv2_version.h>\n")
+        set(_generate_export_header_version_args CUSTOM_CONTENT_FROM_VARIABLE 
include_version_header_code)
+    else()
+        set(_generate_export_header_version_args USE_VERSION_HEADER 
libkexiv2_version.h)
+    endif()
+endif()
+
 ecm_generate_export_header(KExiv2
-    #BASE_NAME libkexiv2
-    #VERSION ${KF_VERSION}
     BASE_NAME kexiv2
     EXPORT_FILE_NAME libkexiv2_export.h
     EXPORT_MACRO_NAME LIBKEXIV2_EXPORT
@@ -63,6 +79,7 @@
     DEPRECATED_BASE_VERSION 0
     DEPRECATION_VERSIONS 5.1
     EXCLUDE_DEPRECATED_BEFORE_AND_AT ${EXCLUDE_DEPRECATED_BEFORE_AND_AT}
+    ${_generate_export_header_version_args}
 )
 
 target_include_directories(KExiv2
@@ -86,12 +103,6 @@
     target_link_libraries(KExiv2 ${EXPAT_LIBRARIES})
 endif()
 
-set_target_properties(KExiv2  PROPERTIES
-    OUTPUT_NAME KF5KExiv2
-    VERSION     ${KEXIV2_VERSION}
-    SOVERSION   ${KEXIV2_SOVERSION}
-)
-
 install(TARGETS KExiv2
     EXPORT  KExiv2Targets ${KF_INSTALL_TARGETS_DEFAULT_ARGS}
 )
@@ -140,7 +151,7 @@
 
 install(EXPORT KExiv2Targets
     FILE        ${KEXIV2_CMAKECONFIG_NAME}Targets.cmake
-    NAMESPACE   KF5::
+    NAMESPACE   KF${QT_MAJOR_VERSION}::
     DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
     COMPONENT   Devel
 )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libkexiv2-23.04.3/src/kexiv2exif.cpp 
new/libkexiv2-23.08.0/src/kexiv2exif.cpp
--- old/libkexiv2-23.04.3/src/kexiv2exif.cpp    2023-06-04 00:34:17.000000000 
+0200
+++ new/libkexiv2-23.08.0/src/kexiv2exif.cpp    2023-07-06 06:36:01.000000000 
+0200
@@ -14,7 +14,6 @@
 
 // Qt includes
 
-#include <QTextCodec>
 #include <QBuffer>
 
 // Local includes
@@ -276,19 +275,9 @@
     return QString();
 }
 
-static bool is7BitAscii(const QByteArray& s)
+static bool is7BitAscii(const QString& s)
 {
-    const int size = s.size();
-
-    for (int i=0; i<size; i++)
-    {
-        if (!isascii(s[i]))
-        {
-            return false;
-        }
-    }
-
-    return true;
+    return std::all_of(s.begin(), s.end(), [](QChar c) { return c.unicode() <= 
0x7f; });
 }
 
 bool KExiv2::setExifComment(const QString& comment, bool setProgramName) const
@@ -306,19 +295,13 @@
             setExifTagString("Exif.Image.ImageDescription", comment, 
setProgramName);
 
             // Write as Unicode only when necessary.
-            QTextCodec* latin1Codec = QTextCodec::codecForName("iso8859-1");
-            if (latin1Codec->canEncode(comment))
+            if (is7BitAscii(comment))
             {
-                // We know it's in the ISO-8859-1 8bit range.
-                // Check if it's in the ASCII 7bit range
-                if (is7BitAscii(comment.toLatin1()))
-                {
-                    // write as ASCII
-                    std::string exifComment("charset=\"Ascii\" ");
-                    exifComment += comment.toLatin1().constData();
-                    d->exifMetadata()["Exif.Photo.UserComment"] = exifComment;
-                    return true;
-                }
+                // write as ASCII
+                std::string exifComment("charset=\"Ascii\" ");
+                exifComment += comment.toLatin1().constData();
+                d->exifMetadata()["Exif.Photo.UserComment"] = exifComment;
+                return true;
             }
             // write as Unicode (UCS-2)
             std::string exifComment("charset=\"Unicode\" ");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libkexiv2-23.04.3/src/rotationmatrix.cpp 
new/libkexiv2-23.08.0/src/rotationmatrix.cpp
--- old/libkexiv2-23.04.3/src/rotationmatrix.cpp        2023-06-04 
00:34:17.000000000 +0200
+++ new/libkexiv2-23.08.0/src/rotationmatrix.cpp        2023-07-06 
06:36:01.000000000 +0200
@@ -316,18 +316,22 @@
     return matrix;
 }
 
+#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
 #if KEXIV2_BUILD_DEPRECATED_SINCE(5, 1)
 QMatrix RotationMatrix::toMatrix() const
 {
     return toMatrix(exifOrientation());
 }
 #endif
+#endif
 
+#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
 #if KEXIV2_BUILD_DEPRECATED_SINCE(5, 1)
 QMatrix RotationMatrix::toMatrix(KExiv2::ImageOrientation orientation)
 {
     return toTransform(orientation).toAffine();
 }
 #endif
+#endif
 
 }  // namespace KExiv2Iface
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libkexiv2-23.04.3/src/rotationmatrix.h 
new/libkexiv2-23.08.0/src/rotationmatrix.h
--- old/libkexiv2-23.04.3/src/rotationmatrix.h  2023-06-04 00:34:17.000000000 
+0200
+++ new/libkexiv2-23.08.0/src/rotationmatrix.h  2023-07-06 06:36:01.000000000 
+0200
@@ -15,10 +15,13 @@
 #include "libkexiv2_export.h"
 
 // Qt includes
+#include <QtGlobal>
 
+#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
 #if KEXIV2_ENABLE_DEPRECATED_SINCE(5, 1)
 #include <QMatrix>
 #endif
+#endif
 #include <QTransform>
 
 namespace KExiv2Iface
@@ -99,18 +102,22 @@
      */
     static QTransform toTransform(KExiv2::ImageOrientation orientation);
 
+#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
 #if KEXIV2_ENABLE_DEPRECATED_SINCE(5, 1)
     /// Returns a QMatrix representing this matrix
     /// @deprecated Since 5.1, use toTransform().
     KEXIV2_DEPRECATED_VERSION(5, 1, "Use toTransform()")
     QMatrix toMatrix() const;
 #endif
+#endif
 
+#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
 #if KEXIV2_ENABLE_DEPRECATED_SINCE(5, 1)
     /// Returns a QMatrix for the given Exif orientation
     KEXIV2_DEPRECATED_VERSION(5, 1, "Use 
toTransform(KExiv2::ImageOrientation)")
     static QMatrix toMatrix(KExiv2::ImageOrientation orientation);
 #endif
+#endif
 
     RotationMatrix(int m11, int m12, int m21, int m22);
 

Reply via email to