Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package kpkpass for openSUSE:Factory checked 
in at 2021-04-24 23:07:52
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kpkpass (Old)
 and      /work/SRC/openSUSE:Factory/.kpkpass.new.12324 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "kpkpass"

Sat Apr 24 23:07:52 2021 rev:33 rq:887718 version:21.04.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/kpkpass/kpkpass.changes  2021-03-08 
15:14:07.461795581 +0100
+++ /work/SRC/openSUSE:Factory/.kpkpass.new.12324/kpkpass.changes       
2021-04-24 23:08:46.967363385 +0200
@@ -1,0 +2,28 @@
+Fri Apr 16 16:12:33 UTC 2021 - Christophe Giboudeaux <[email protected]>
+
+- Update to 21.04.0
+  * New feature release
+  * For more details please see:
+  * https://kde.org/announcements/gear/21.04
+- No code change since 21.03.90
+
+-------------------------------------------------------------------
+Fri Apr  9 17:40:59 UTC 2021 - Christophe Giboudeaux <[email protected]>
+
+- Update to 21.03.90
+  * New feature release
+- No code change since 21.03.80
+
+-------------------------------------------------------------------
+Sun Mar 21 13:28:48 UTC 2021 - Christophe Giboudeaux <[email protected]>
+
+- Update to 21.03.80
+  * New feature release
+- Changes since 20.12.3:
+  * This package doesn't have i18n
+  * Use git commit hook
+  * run git clang-format
+  * Use KDE_INSTALL_MIMEDIR instead of custom XDG_MIME_INSTALL_DIR
+  * Use non-deprecated KDE_INSTALL_CMAKEPACKAGEDIR
+
+-------------------------------------------------------------------

Old:
----
  kpkpass-20.12.3.tar.xz
  kpkpass-20.12.3.tar.xz.sig

New:
----
  kpkpass-21.04.0.tar.xz
  kpkpass-21.04.0.tar.xz.sig

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

Other differences:
------------------
++++++ kpkpass.spec ++++++
--- /var/tmp/diff_new_pack.IHWKIf/_old  2021-04-24 23:08:47.451364069 +0200
+++ /var/tmp/diff_new_pack.IHWKIf/_new  2021-04-24 23:08:47.451364069 +0200
@@ -18,23 +18,23 @@
 
 %bcond_without lang
 Name:           kpkpass
-Version:        20.12.3
+Version:        21.04.0
 Release:        0
 Summary:        Library to parse Passbook files
 License:        LGPL-2.1-or-later
 Group:          System/GUI/KDE
 URL:            https://www.kde.org
 Source:         
https://download.kde.org/stable/release-service/%{version}/src/%{name}-%{version}.tar.xz
-BuildRequires:  extra-cmake-modules >= 1.0.0
+%if %{with lang}
+Source1:        
https://download.kde.org/stable/release-service/%{version}/src/%{name}-%{version}.tar.xz.sig
+Source2:        applications.keyring
+%endif
+BuildRequires:  extra-cmake-modules
 BuildRequires:  kf5-filesystem
 BuildRequires:  shared-mime-info
 BuildRequires:  cmake(KF5Archive)
 BuildRequires:  cmake(Qt5Gui)
 BuildRequires:  cmake(Qt5Test)
-%if %{with lang}
-Source1:        
https://download.kde.org/stable/release-service/%{version}/src/%{name}-%{version}.tar.xz.sig
-Source2:        applications.keyring
-%endif
 
 %description
 kpkpass is a library to read and parse Apple Passbook files, such as the ones
@@ -61,7 +61,7 @@
 to build programs that use the kpkpass library.
 
 %prep
-%setup -q
+%autosetup -p1
 
 %build
   %cmake_kf5 -d build


++++++ kpkpass-20.12.3.tar.xz -> kpkpass-21.04.0.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpkpass-20.12.3/.clang-format 
new/kpkpass-21.04.0/.clang-format
--- old/kpkpass-20.12.3/.clang-format   1970-01-01 01:00:00.000000000 +0100
+++ new/kpkpass-21.04.0/.clang-format   2021-04-10 08:02:32.000000000 +0200
@@ -0,0 +1,76 @@
+---
+# SPDX-FileCopyrightText: 2019 Christoph Cullmann <[email protected]>
+# SPDX-FileCopyrightText: 2019 Gernot Gebhard <[email protected]>
+#
+# SPDX-License-Identifier: MIT
+
+# Style for C++
+Language: Cpp
+
+# base is WebKit coding style: https://webkit.org/code-style-guidelines/
+# below are only things set that diverge from this style!
+BasedOnStyle: WebKit
+
+# enforce C++11 (e.g. for std::vector<std::vector<lala>>
+Standard: Cpp11
+
+# 4 spaces indent
+TabWidth: 4
+
+# 2 * 80 wide lines
+ColumnLimit: 160
+
+# sort includes inside line separated groups
+SortIncludes: true
+
+# break before braces on function, namespace and class definitions.
+BreakBeforeBraces: Linux
+
+# CrlInstruction *a;
+PointerAlignment: Right
+
+# horizontally aligns arguments after an open bracket.
+AlignAfterOpenBracket: Align
+
+# don't move all parameters to new line
+AllowAllParametersOfDeclarationOnNextLine: false
+
+# no single line functions
+AllowShortFunctionsOnASingleLine: None
+
+# always break before you encounter multi line strings
+AlwaysBreakBeforeMultilineStrings: true
+
+# don't move arguments to own lines if they are not all on the same
+BinPackArguments: false
+
+# don't move parameters to own lines if they are not all on the same
+BinPackParameters: false
+
+# In case we have an if statement whith multiple lines the operator should be 
at the beginning of the line
+# but we do not want to break assignments
+BreakBeforeBinaryOperators: NonAssignment
+
+# format C++11 braced lists like function calls
+Cpp11BracedListStyle: true
+
+# do not put a space before C++11 braced lists
+SpaceBeforeCpp11BracedList: false
+
+# remove empty lines
+KeepEmptyLinesAtTheStartOfBlocks: false
+
+# no namespace indentation to keep indent level low
+NamespaceIndentation: None
+
+# we use template< without space.
+SpaceAfterTemplateKeyword: false
+
+# macros for which the opening brace stays attached.
+ForEachMacros: [ foreach, Q_FOREACH, BOOST_FOREACH, forever, Q_FOREVER, 
QBENCHMARK, QBENCHMARK_ONCE ]
+
+# keep lambda formatting multi-line if not empty
+AllowShortLambdasOnASingleLine: Empty
+
+# We do not want clang-format to put all arguments on a new line
+AllowAllArgumentsOnNextLine: false
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpkpass-20.12.3/.git-blame-ignore-revs 
new/kpkpass-21.04.0/.git-blame-ignore-revs
--- old/kpkpass-20.12.3/.git-blame-ignore-revs  1970-01-01 01:00:00.000000000 
+0100
+++ new/kpkpass-21.04.0/.git-blame-ignore-revs  2021-04-10 08:02:32.000000000 
+0200
@@ -0,0 +1,2 @@
+# clang-format
+fbb28b70194761f7023f03b1b3eb073e5d804261
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpkpass-20.12.3/.gitignore 
new/kpkpass-21.04.0/.gitignore
--- old/kpkpass-20.12.3/.gitignore      2021-02-04 14:01:52.000000000 +0100
+++ new/kpkpass-21.04.0/.gitignore      2021-04-10 08:02:32.000000000 +0200
@@ -18,3 +18,4 @@
 .cmake/
 CMakeLists.txt.user*
 *.unc-backup*
+compile_commands.json
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpkpass-20.12.3/.gitlab-ci.yml 
new/kpkpass-21.04.0/.gitlab-ci.yml
--- old/kpkpass-20.12.3/.gitlab-ci.yml  2021-02-04 14:01:52.000000000 +0100
+++ new/kpkpass-21.04.0/.gitlab-ci.yml  2021-04-10 08:02:32.000000000 +0200
@@ -1,10 +1,14 @@
+# SPDX-FileCopyrightText: 2020-2021 Laurent Montel <[email protected]>
+# SPDX-FileCopyrightText: 2021 Laurent Montel <[email protected]>
+# SPDX-License-Identifier: CC0-1.0
+
 include:
   - https://invent.kde.org/sysadmin/ci-tooling/raw/master/invent/ci-before.yml
   - 
https://invent.kde.org/sysadmin/ci-tooling/raw/master/invent/ci-applications-linux.yml
 
 build_clazy_clang_tidy:
   stage: build
-  image: kdeorg/ci-suse-qt514
+  image: kdeorg/ci-suse-qt515
   extends: .linux
   #only:
   #  - merge_requests
@@ -26,5 +30,5 @@
     - python3 -u $CI_TOOLING/helpers/compile-build.py --product $PRODUCT 
--project $PROJECT --branchGroup $BRANCH_GROUP --platform $PLATFORM 
--usingInstall $INSTALL_PREFIX
     - cd build && run-clang-tidy
   variables:
-    PLATFORM: SUSEQt5.14
+    PLATFORM: SUSEQt5.15
     BRANCH_GROUP: kf5-qt5
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpkpass-20.12.3/CMakeLists.txt 
new/kpkpass-21.04.0/CMakeLists.txt
--- old/kpkpass-20.12.3/CMakeLists.txt  2021-02-04 14:01:52.000000000 +0100
+++ new/kpkpass-21.04.0/CMakeLists.txt  2021-04-10 08:02:32.000000000 +0200
@@ -1,8 +1,8 @@
-cmake_minimum_required(VERSION 3.5)
-set(PIM_VERSION "5.16.3")
+cmake_minimum_required(VERSION 3.5 FATAL_ERROR)
+set(PIM_VERSION "5.17.0")
 project(KPkPass VERSION ${PIM_VERSION})
 
-set(KF5_MIN_VERSION "5.75.0")
+set(KF5_MIN_VERSION "5.79.0")
 
 find_package(ECM ${KF5_MIN_VERSION} REQUIRED NO_MODULE)
 set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH})
@@ -13,6 +13,7 @@
 include(ECMQtDeclareLoggingCategory)
 include(ECMSetupVersion)
 include(FeatureSummary)
+include(KDEGitCommitHooks)
 include(KDEInstallDirs)
 include(KDECMakeSettings)
 include(GenerateExportHeader)
@@ -22,30 +23,39 @@
     PACKAGE_VERSION_FILE 
"${CMAKE_CURRENT_BINARY_DIR}/KPimPkPassConfigVersion.cmake"
 )
 
-set(QT_REQUIRED_VERSION "5.13.0")
+set(QT_REQUIRED_VERSION "5.14.0")
 
 find_package(Qt5 ${QT_REQUIRED_VERSION} REQUIRED COMPONENTS Gui)
 find_package(KF5 ${KF5_MIN_VERSION} REQUIRED COMPONENTS Archive)
 find_package(SharedMimeInfo 1.3 REQUIRED)
 
 add_definitions(-DQT_DISABLE_DEPRECATED_BEFORE=0x050f00)
-add_definitions(-DKF_DISABLE_DEPRECATED_BEFORE_AND_AT=0x054C00)
+add_definitions(-DKF_DISABLE_DEPRECATED_BEFORE_AND_AT=0x055000)
 
-add_definitions(-DQT_NO_FOREACH)
-add_definitions(-DQT_NO_KEYWORDS)
 set(CMAKE_CXX_STANDARD 14)
 set(CMAKE_CXX_STANDARD_REQUIRED ON)
 
+option(USE_UNITY_CMAKE_SUPPORT "Use UNITY cmake support (speedup compile 
time)" FALSE)
+
+set(COMPILE_WITH_UNITY_CMAKE_SUPPORT false)
+if (USE_UNITY_CMAKE_SUPPORT)
+    if(${CMAKE_VERSION} VERSION_LESS "3.16.0")
+        message(STATUS "CMAKE version is less than 3.16.0 . We can't use cmake 
unify build support")
+    else()
+        set(COMPILE_WITH_UNITY_CMAKE_SUPPORT true)
+    endif()
+endif()
 
 add_subdirectory(src)
 if (BUILD_TESTING)
     add_subdirectory(autotests)
 endif()
 
+kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT)
 feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES 
FATAL_ON_MISSING_REQUIRED_PACKAGES)
 
 
-set(CMAKECONFIG_INSTALL_DIR "${CMAKECONFIG_INSTALL_PREFIX}/KPimPkPass")
+set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KPimPkPass")
 
 configure_package_config_file(
     "${CMAKE_CURRENT_SOURCE_DIR}/KPimPkPassConfig.cmake.in"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpkpass-20.12.3/CMakePresets.json 
new/kpkpass-21.04.0/CMakePresets.json
--- old/kpkpass-20.12.3/CMakePresets.json       1970-01-01 01:00:00.000000000 
+0100
+++ new/kpkpass-21.04.0/CMakePresets.json       2021-04-10 08:02:32.000000000 
+0200
@@ -0,0 +1,56 @@
+{
+    "version": 1,
+    "configurePresets": [
+        {
+            "name": "dev",
+            "displayName": "Build as debug",
+            "generator": "Ninja",
+            "binaryDir": "${sourceDir}/build",
+            "cacheVariables": {
+                "CMAKE_BUILD_TYPE": "Debug",
+               "CMAKE_EXPORT_COMPILE_COMMANDS": "ON"
+            }
+        },
+        {
+            "name": "asan",
+            "displayName": "Build with Asan support.",
+            "generator": "Ninja",
+            "binaryDir": "${sourceDir}/build-asan",
+            "cacheVariables": {
+                "CMAKE_BUILD_TYPE": "Debug",
+                "ECM_ENABLE_SANITIZERS" : "'address;undefined'",
+               "CMAKE_EXPORT_COMPILE_COMMANDS": "ON"
+            }
+        },
+        {
+            "name": "unity",
+            "displayName": "Build with CMake unity support.",
+            "generator": "Ninja",
+            "binaryDir": "${sourceDir}/build-unity",
+            "cacheVariables": {
+                "CMAKE_BUILD_TYPE": "Debug",
+               "USE_UNITY_CMAKE_SUPPORT": "ON",
+               "CMAKE_EXPORT_COMPILE_COMMANDS": "ON"
+            }
+        },
+        {
+            "name": "release",
+            "displayName": "Build as release mode.",
+            "generator": "Ninja",
+            "binaryDir": "${sourceDir}/build-release",
+            "cacheVariables": {
+                "CMAKE_BUILD_TYPE": "Release"
+            }
+        },
+        {
+            "name": "profile",
+            "displayName": "profile",
+            "generator": "Ninja",
+            "binaryDir": "${sourceDir}/build-profile",
+            "cacheVariables": {
+                "CMAKE_BUILD_TYPE": "RelWithDebInfo",
+               "CMAKE_EXPORT_COMPILE_COMMANDS": "ON"
+            }
+        }
+    ]
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpkpass-20.12.3/CMakePresets.json.license 
new/kpkpass-21.04.0/CMakePresets.json.license
--- old/kpkpass-20.12.3/CMakePresets.json.license       1970-01-01 
01:00:00.000000000 +0100
+++ new/kpkpass-21.04.0/CMakePresets.json.license       2021-04-10 
08:02:32.000000000 +0200
@@ -0,0 +1,2 @@
+# SPDX-FileCopyrightText: 2021 Laurent Montel <[email protected]>
+# SPDX-License-Identifier: BSD-3-Clause
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpkpass-20.12.3/LICENSES/CC0-1.0.txt 
new/kpkpass-21.04.0/LICENSES/CC0-1.0.txt
--- old/kpkpass-20.12.3/LICENSES/CC0-1.0.txt    1970-01-01 01:00:00.000000000 
+0100
+++ new/kpkpass-21.04.0/LICENSES/CC0-1.0.txt    2021-04-10 08:02:32.000000000 
+0200
@@ -0,0 +1,119 @@
+Creative Commons Legal Code
+
+CC0 1.0 Universal CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES
+NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE
+AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION
+ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE USE
+OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER, AND DISCLAIMS
+LIABILITY FOR DAMAGES RESULTING FROM THE USE OF THIS DOCUMENT OR THE 
INFORMATION
+OR WORKS PROVIDED HEREUNDER.
+
+Statement of Purpose
+
+The laws of most jurisdictions throughout the world automatically confer 
exclusive
+Copyright and Related Rights (defined below) upon the creator and subsequent
+owner(s) (each and all, an "owner") of an original work of authorship and/or
+a database (each, a "Work").
+
+Certain owners wish to permanently relinquish those rights to a Work for the
+purpose of contributing to a commons of creative, cultural and scientific
+works ("Commons") that the public can reliably and without fear of later claims
+of infringement build upon, modify, incorporate in other works, reuse and
+redistribute as freely as possible in any form whatsoever and for any purposes,
+including without limitation commercial purposes. These owners may contribute
+to the Commons to promote the ideal of a free culture and the further 
production
+of creative, cultural and scientific works, or to gain reputation or greater
+distribution for their Work in part through the use and efforts of others.
+
+For these and/or other purposes and motivations, and without any expectation
+of additional consideration or compensation, the person associating CC0 with
+a Work (the "Affirmer"), to the extent that he or she is an owner of Copyright
+and Related Rights in the Work, voluntarily elects to apply CC0 to the Work
+and publicly distribute the Work under its terms, with knowledge of his or
+her Copyright and Related Rights in the Work and the meaning and intended
+legal effect of CC0 on those rights.
+
+1. Copyright and Related Rights. A Work made available under CC0 may be 
protected
+by copyright and related or neighboring rights ("Copyright and Related 
Rights").
+Copyright and Related Rights include, but are not limited to, the following:
+
+i. the right to reproduce, adapt, distribute, perform, display, communicate,
+and translate a Work;
+
+      ii. moral rights retained by the original author(s) and/or performer(s);
+
+iii. publicity and privacy rights pertaining to a person's image or likeness
+depicted in a Work;
+
+iv. rights protecting against unfair competition in regards to a Work, subject
+to the limitations in paragraph 4(a), below;
+
+v. rights protecting the extraction, dissemination, use and reuse of data
+in a Work;
+
+vi. database rights (such as those arising under Directive 96/9/EC of the
+European Parliament and of the Council of 11 March 1996 on the legal protection
+of databases, and under any national implementation thereof, including any
+amended or successor version of such directive); and
+
+vii. other similar, equivalent or corresponding rights throughout the world
+based on applicable law or treaty, and any national implementations thereof.
+
+2. Waiver. To the greatest extent permitted by, but not in contravention of,
+applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and
+unconditionally waives, abandons, and surrenders all of Affirmer's Copyright
+and Related Rights and associated claims and causes of action, whether now
+known or unknown (including existing as well as future claims and causes of
+action), in the Work (i) in all territories worldwide, (ii) for the maximum
+duration provided by applicable law or treaty (including future time 
extensions),
+(iii) in any current or future medium and for any number of copies, and (iv)
+for any purpose whatsoever, including without limitation commercial, 
advertising
+or promotional purposes (the "Waiver"). Affirmer makes the Waiver for the
+benefit of each member of the public at large and to the detriment of 
Affirmer's
+heirs and successors, fully intending that such Waiver shall not be subject
+to revocation, rescission, cancellation, termination, or any other legal or
+equitable action to disrupt the quiet enjoyment of the Work by the public
+as contemplated by Affirmer's express Statement of Purpose.
+
+3. Public License Fallback. Should any part of the Waiver for any reason be
+judged legally invalid or ineffective under applicable law, then the Waiver
+shall be preserved to the maximum extent permitted taking into account 
Affirmer's
+express Statement of Purpose. In addition, to the extent the Waiver is so
+judged Affirmer hereby grants to each affected person a royalty-free, non
+transferable, non sublicensable, non exclusive, irrevocable and unconditional
+license to exercise Affirmer's Copyright and Related Rights in the Work (i)
+in all territories worldwide, (ii) for the maximum duration provided by 
applicable
+law or treaty (including future time extensions), (iii) in any current or
+future medium and for any number of copies, and (iv) for any purpose 
whatsoever,
+including without limitation commercial, advertising or promotional purposes
+(the "License"). The License shall be deemed effective as of the date CC0
+was applied by Affirmer to the Work. Should any part of the License for any
+reason be judged legally invalid or ineffective under applicable law, such
+partial invalidity or ineffectiveness shall not invalidate the remainder of
+the License, and in such case Affirmer hereby affirms that he or she will
+not (i) exercise any of his or her remaining Copyright and Related Rights
+in the Work or (ii) assert any associated claims and causes of action with
+respect to the Work, in either case contrary to Affirmer's express Statement
+of Purpose.
+
+   4. Limitations and Disclaimers.
+
+a. No trademark or patent rights held by Affirmer are waived, abandoned, 
surrendered,
+licensed or otherwise affected by this document.
+
+b. Affirmer offers the Work as-is and makes no representations or warranties
+of any kind concerning the Work, express, implied, statutory or otherwise,
+including without limitation warranties of title, merchantability, fitness
+for a particular purpose, non infringement, or the absence of latent or other
+defects, accuracy, or the present or absence of errors, whether or not 
discoverable,
+all to the greatest extent permissible under applicable law.
+
+c. Affirmer disclaims responsibility for clearing rights of other persons
+that may apply to the Work or any use thereof, including without limitation
+any person's Copyright and Related Rights in the Work. Further, Affirmer 
disclaims
+responsibility for obtaining any necessary consents, permissions or other
+rights required for any use of the Work.
+
+d. Affirmer understands and acknowledges that Creative Commons is not a party
+to this document and has no duty or obligation with respect to this CC0 or
+use of the Work.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpkpass-20.12.3/autotests/pkpasstest.cpp 
new/kpkpass-21.04.0/autotests/pkpasstest.cpp
--- old/kpkpass-20.12.3/autotests/pkpasstest.cpp        2021-02-04 
14:01:52.000000000 +0100
+++ new/kpkpass-21.04.0/autotests/pkpasstest.cpp        2021-04-10 
08:02:32.000000000 +0200
@@ -24,8 +24,7 @@
 
     void testBoardingPass()
     {
-        std::unique_ptr<KPkPass::Pass> pass(
-            KPkPass::Pass::fromFile(QStringLiteral(SOURCE_DIR 
"/data/boardingpass-v1.pkpass")));
+        std::unique_ptr<KPkPass::Pass> 
pass(KPkPass::Pass::fromFile(QStringLiteral(SOURCE_DIR 
"/data/boardingpass-v1.pkpass")));
         QVERIFY(pass);
 
         QCOMPARE(pass->type(), KPkPass::Pass::BoardingPass);
@@ -55,7 +54,7 @@
         QCOMPARE(field.value().toString(), QLatin1String("20:25"));
         QCOMPARE(field.textAlignment(), Qt::AlignLeft);
 
-        auto boardingPass = dynamic_cast<KPkPass::BoardingPass*>(pass.get());
+        auto boardingPass = dynamic_cast<KPkPass::BoardingPass *>(pass.get());
         QVERIFY(boardingPass);
         QCOMPARE(boardingPass->transitType(), KPkPass::BoardingPass::Air);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpkpass-20.12.3/sanitizers.supp 
new/kpkpass-21.04.0/sanitizers.supp
--- old/kpkpass-20.12.3/sanitizers.supp 1970-01-01 01:00:00.000000000 +0100
+++ new/kpkpass-21.04.0/sanitizers.supp 2021-04-10 08:02:32.000000000 +0200
@@ -0,0 +1,14 @@
+# Suppression file for ASAN/LSAN
+
+leak:libspeechd
+leak:getdelim
+leak:g_malloc
+leak:libfontconfig
+leak:libdbus
+leak:QEasingCurve::
+leak:QtSharedPointer::ExternalRefCountData::getAndRef
+leak:QArrayData::allocate
+leak:QObject::QObject
+leak:QObjectPrivate::addConnection
+leak:QObjectPrivate::connectImpl
+leak:QPropertyAnimation::QPropertyAnimation
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpkpass-20.12.3/src/CMakeLists.txt 
new/kpkpass-21.04.0/src/CMakeLists.txt
--- old/kpkpass-20.12.3/src/CMakeLists.txt      2021-02-04 14:01:52.000000000 
+0100
+++ new/kpkpass-21.04.0/src/CMakeLists.txt      2021-04-10 08:02:32.000000000 
+0200
@@ -31,6 +31,10 @@
         KF5::Archive
 )
 
+if (COMPILE_WITH_UNITY_CMAKE_SUPPORT)
+    set_target_properties(KPimPkPass PROPERTIES UNITY_BUILD ON)
+endif()
+
 ecm_generate_headers(KPkPass_HEADERS
     HEADER_NAMES
         Barcode
@@ -41,7 +45,7 @@
     REQUIRED_HEADERS KPkPass_HEADERS
 )
 
-install(TARGETS KPimPkPass EXPORT KPimPkPassTargets 
${INSTALL_TARGETS_DEFAULT_ARGS})
+install(TARGETS KPimPkPass EXPORT KPimPkPassTargets 
${KDE_INSTALL_TARGETS_DEFAULT_ARGS})
 install(FILES
     ${KPkPass_HEADERS}
     ${CMAKE_CURRENT_BINARY_DIR}/kpkpass_export.h
@@ -49,8 +53,8 @@
 )
 
 if (NOT ANDROID)
-    install(FILES application-vnd-apple-pkpass.xml DESTINATION 
${XDG_MIME_INSTALL_DIR})
-    update_xdg_mimetypes(${XDG_MIME_INSTALL_DIR})
+    install(FILES application-vnd-apple-pkpass.xml DESTINATION 
${KDE_INSTALL_MIMEDIR})
+    update_xdg_mimetypes(${KDE_INSTALL_MIMEDIR})
 endif()
 
 ecm_qt_install_logging_categories(EXPORT KPKPASS FILE 
org_kde_kpkpass.categories DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR})
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpkpass-20.12.3/src/barcode.cpp 
new/kpkpass-21.04.0/src/barcode.cpp
--- old/kpkpass-20.12.3/src/barcode.cpp 2021-02-04 14:01:52.000000000 +0100
+++ new/kpkpass-21.04.0/src/barcode.cpp 2021-04-10 08:02:32.000000000 +0200
@@ -12,7 +12,8 @@
 
 using namespace KPkPass;
 
-namespace KPkPass {
+namespace KPkPass
+{
 class BarcodePrivate
 {
 public:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpkpass-20.12.3/src/barcode.h 
new/kpkpass-21.04.0/src/barcode.h
--- old/kpkpass-20.12.3/src/barcode.h   2021-02-04 14:01:52.000000000 +0100
+++ new/kpkpass-21.04.0/src/barcode.h   2021-04-10 08:02:32.000000000 +0200
@@ -16,8 +16,8 @@
 
 class QJsonObject;
 
-namespace KPkPass {
-
+namespace KPkPass
+{
 class BarcodePrivate;
 class Pass;
 
@@ -33,13 +33,7 @@
     Q_PROPERTY(QString messageEncoding READ messageEncoding CONSTANT)
 
 public:
-    enum Format {
-        Invalid,
-        QR,
-        PDF417,
-        Aztec,
-        Code128
-    };
+    enum Format { Invalid, QR, PDF417, Aztec, Code128 };
     Q_ENUM(Format)
 
     Barcode();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpkpass-20.12.3/src/boardingpass.h 
new/kpkpass-21.04.0/src/boardingpass.h
--- old/kpkpass-20.12.3/src/boardingpass.h      2021-02-04 14:01:52.000000000 
+0100
+++ new/kpkpass-21.04.0/src/boardingpass.h      2021-04-10 08:02:32.000000000 
+0200
@@ -9,21 +9,15 @@
 
 #include "pass.h"
 
-namespace KPkPass {
-
+namespace KPkPass
+{
 /** Boarding pass */
 class KPKPASS_EXPORT BoardingPass : public Pass
 {
     Q_OBJECT
     Q_PROPERTY(TransitType transitType READ transitType CONSTANT)
 public:
-    enum TransitType {
-        Air,
-        Boat,
-        Bus,
-        Train,
-        Generic
-    };
+    enum TransitType { Air, Boat, Bus, Train, Generic };
     Q_ENUM(TransitType)
 
     explicit BoardingPass(QObject *parent = nullptr);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpkpass-20.12.3/src/field.cpp 
new/kpkpass-21.04.0/src/field.cpp
--- old/kpkpass-20.12.3/src/field.cpp   2021-02-04 14:01:52.000000000 +0100
+++ new/kpkpass-21.04.0/src/field.cpp   2021-04-10 08:02:32.000000000 +0200
@@ -13,8 +13,10 @@
 
 using namespace KPkPass;
 
-namespace KPkPass {
-class FieldPrivate {
+namespace KPkPass
+{
+class FieldPrivate
+{
 public:
     const Pass *pass = nullptr;
     QJsonObject obj;
@@ -26,10 +28,10 @@
 {
 }
 
-Field::Field(const Field&) = default;
-Field::Field(Field&&) = default;
+Field::Field(const Field &) = default;
+Field::Field(Field &&) = default;
 Field::~Field() = default;
-Field& Field::operator=(const Field&) = default;
+Field &Field::operator=(const Field &) = default;
 
 Field::Field(const QJsonObject &obj, const Pass *pass)
     : d(new FieldPrivate)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpkpass-20.12.3/src/field.h 
new/kpkpass-21.04.0/src/field.h
--- old/kpkpass-20.12.3/src/field.h     2021-02-04 14:01:52.000000000 +0100
+++ new/kpkpass-21.04.0/src/field.h     2021-04-10 08:02:32.000000000 +0200
@@ -16,8 +16,8 @@
 
 class QJsonObject;
 
-namespace KPkPass {
-
+namespace KPkPass
+{
 class Pass;
 class PassPrivate;
 class FieldPrivate;
@@ -37,10 +37,10 @@
 
 public:
     Field();
-    Field(const Field&);
-    Field(Field&&);
+    Field(const Field &);
+    Field(Field &&);
     ~Field();
-    Field& operator=(const Field&);
+    Field &operator=(const Field &);
 
     /** Field key, unique in the pass but not meant for display. */
     Q_REQUIRED_RESULT QString key() const;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpkpass-20.12.3/src/location.cpp 
new/kpkpass-21.04.0/src/location.cpp
--- old/kpkpass-20.12.3/src/location.cpp        2021-02-04 14:01:52.000000000 
+0100
+++ new/kpkpass-21.04.0/src/location.cpp        2021-04-10 08:02:32.000000000 
+0200
@@ -12,8 +12,10 @@
 
 using namespace KPkPass;
 
-namespace KPkPass {
-class LocationPrivate {
+namespace KPkPass
+{
+class LocationPrivate
+{
 public:
     QJsonObject obj;
 };
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpkpass-20.12.3/src/location.h 
new/kpkpass-21.04.0/src/location.h
--- old/kpkpass-20.12.3/src/location.h  2021-02-04 14:01:52.000000000 +0100
+++ new/kpkpass-21.04.0/src/location.h  2021-04-10 08:02:32.000000000 +0200
@@ -15,8 +15,8 @@
 
 class QJsonObject;
 
-namespace KPkPass {
-
+namespace KPkPass
+{
 class LocationPrivate;
 
 /** A pass location element.
@@ -41,6 +41,7 @@
     Q_REQUIRED_RESULT double longitude() const;
     /** Text to display when location is reached. */
     Q_REQUIRED_RESULT QString relevantText() const;
+
 private:
     friend class Pass;
     explicit Location(const QJsonObject &obj);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpkpass-20.12.3/src/pass.cpp 
new/kpkpass-21.04.0/src/pass.cpp
--- old/kpkpass-20.12.3/src/pass.cpp    2021-02-04 14:01:52.000000000 +0100
+++ new/kpkpass-21.04.0/src/pass.cpp    2021-04-10 08:02:32.000000000 +0200
@@ -5,29 +5,29 @@
 */
 
 #include "pass.h"
-#include "pass_p.h"
 #include "barcode.h"
 #include "boardingpass.h"
 #include "location.h"
 #include "logging.h"
+#include "pass_p.h"
 
 #include <KZip>
 
 #include <QBuffer>
 #include <QColor>
 #include <QFile>
+#include <QImage>
 #include <QJsonArray>
 #include <QJsonDocument>
 #include <QJsonObject>
 #include <QLocale>
+#include <QRegularExpression>
 #include <QTextCodec>
-#include <QImage>
 #include <QUrl>
-#include <QRegularExpression>
 
 using namespace KPkPass;
 
-static const char * const passTypes[] = { "boardingPass", "coupon", 
"eventTicket", "generic", "storeCard" };
+static const char *const passTypes[] = {"boardingPass", "coupon", 
"eventTicket", "generic", "storeCard"};
 static const auto passTypesCount = sizeof(passTypes) / sizeof(passTypes[0]);
 
 QJsonObject PassPrivate::passData() const
@@ -216,12 +216,12 @@
 
     Pass *pass = nullptr;
     switch (passTypeIdx) {
-        case Pass::BoardingPass:
-            pass = new KPkPass::BoardingPass(parent);
-            break;
-        default:
-            pass = new Pass(static_cast<Pass::Type>(passTypeIdx), parent);
-            break;
+    case Pass::BoardingPass:
+        pass = new KPkPass::BoardingPass(parent);
+        break;
+    default:
+        pass = new Pass(static_cast<Pass::Type>(passTypeIdx), parent);
+        break;
     }
 
     pass->d->buffer = std::move(device);
@@ -231,7 +231,6 @@
     return pass;
 }
 
-
 Pass::Pass(Type passType, QObject *parent)
     : QObject(parent)
     , d(new PassPrivate)
@@ -338,7 +337,7 @@
     return d->message(d->passObj.value(QLatin1String("logoText")).toString());
 }
 
-QImage Pass::image(const QString& baseName, unsigned int devicePixelRatio) 
const
+QImage Pass::image(const QString &baseName, unsigned int devicePixelRatio) 
const
 {
     const KArchiveFile *file = nullptr;
     for (; devicePixelRatio > 1; --devicePixelRatio) {
@@ -426,13 +425,7 @@
     return codes;
 }
 
-static const char * const fieldNames[] = {
-    "auxiliaryFields",
-    "backFields",
-    "headerFields",
-    "primaryFields",
-    "secondaryFields"
-};
+static const char *const fieldNames[] = {"auxiliaryFields", "backFields", 
"headerFields", "primaryFields", "secondaryFields"};
 static const auto fieldNameCount = sizeof(fieldNames) / sizeof(fieldNames[0]);
 
 QVector<Field> Pass::auxiliaryFields() const
@@ -460,7 +453,7 @@
     return d->fields(QLatin1String(fieldNames[4]), this);
 }
 
-Field Pass::field(const QString& key) const
+Field Pass::field(const QString &key) const
 {
     for (unsigned int i = 0; i < fieldNameCount; ++i) {
         const auto fs = d->fields(QLatin1String(fieldNames[i]), this);
@@ -500,12 +493,13 @@
     return nullptr;
 }
 
-template <typename T>
-static QVariantList toVariantList(const QVector<T> &elems)
+template<typename T> static QVariantList toVariantList(const QVector<T> &elems)
 {
     QVariantList l;
     l.reserve(elems.size());
-    std::for_each(elems.begin(), elems.end(), [&l](const T &e) { 
l.push_back(QVariant::fromValue(e)); });
+    std::for_each(elems.begin(), elems.end(), [&l](const T &e) {
+        l.push_back(QVariant::fromValue(e));
+    });
     return l;
 }
 
@@ -548,7 +542,9 @@
 {
     QVariantMap m;
     const auto elems = fields();
-    std::for_each(elems.begin(), elems.end(), [&m](const Field &f) { 
m.insert(f.key(), QVariant::fromValue(f)); });
+    std::for_each(elems.begin(), elems.end(), [&m](const Field &f) {
+        m.insert(f.key(), QVariant::fromValue(f));
+    });
     return m;
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpkpass-20.12.3/src/pass.h 
new/kpkpass-21.04.0/src/pass.h
--- old/kpkpass-20.12.3/src/pass.h      2021-02-04 14:01:52.000000000 +0100
+++ new/kpkpass-21.04.0/src/pass.h      2021-04-10 08:02:32.000000000 +0200
@@ -7,8 +7,8 @@
 #ifndef KPKPASS_PASS_H
 #define KPKPASS_PASS_H
 
-#include "kpkpass_export.h"
 #include "field.h"
+#include "kpkpass_export.h"
 
 #include <QObject>
 #include <QVector>
@@ -22,8 +22,8 @@
 class QUrl;
 class QVariant;
 
-namespace KPkPass {
-
+namespace KPkPass
+{
 class Barcode;
 class Location;
 class PassPrivate;
@@ -67,13 +67,7 @@
     virtual ~Pass();
 
     /** Type of the pass. */
-    enum Type {
-        BoardingPass,
-        Coupon,
-        EventTicket,
-        Generic,
-        StoreCard
-    };
+    enum Type { BoardingPass, Coupon, EventTicket, Generic, StoreCard };
     Q_ENUM(Type)
     Q_REQUIRED_RESULT Type type() const;
 
@@ -150,7 +144,7 @@
     friend class Barcode;
     friend class Field;
     friend class PassPrivate;
-    explicit Pass (Type passType, QObject *parent = nullptr);
+    explicit Pass(Type passType, QObject *parent = nullptr);
     std::unique_ptr<PassPrivate> d;
     ///@endcond
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kpkpass-20.12.3/src/pass_p.h 
new/kpkpass-21.04.0/src/pass_p.h
--- old/kpkpass-20.12.3/src/pass_p.h    2021-02-04 14:01:52.000000000 +0100
+++ new/kpkpass-21.04.0/src/pass_p.h    2021-04-10 08:02:32.000000000 +0200
@@ -16,8 +16,10 @@
 class KZip;
 class QIODevice;
 
-namespace KPkPass {
-class PassPrivate {
+namespace KPkPass
+{
+class PassPrivate
+{
 public:
     /** The pass data structure of the pass.json file. */
     QJsonObject passData() const;
@@ -40,4 +42,3 @@
 }
 
 #endif // KPKPASS_PASS_H
-

Reply via email to