Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package kcalendarcore for openSUSE:Factory 
checked in at 2022-03-14 19:34:11
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kcalendarcore (Old)
 and      /work/SRC/openSUSE:Factory/.kcalendarcore.new.25692 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "kcalendarcore"

Mon Mar 14 19:34:11 2022 rev:30 rq:961225 version:5.92.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/kcalendarcore/kcalendarcore.changes      
2022-02-24 18:21:24.254691149 +0100
+++ /work/SRC/openSUSE:Factory/.kcalendarcore.new.25692/kcalendarcore.changes   
2022-03-14 19:35:25.566008383 +0100
@@ -1,0 +2,12 @@
+Mon Mar  7 09:26:43 UTC 2022 - Christophe Giboudeaux <[email protected]>
+
+- Update to 5.92.0
+  * New feature release
+  * For more details please see:
+  * https://kde.org/announcements/frameworks/5/5.92.0
+- Changes since 5.91.0:
+  * Compare timeSpecs when comparing incidences for equality
+  * Add Qt6 Android CI
+  * Preserve timeSpec of all-day event's dtEnd
+
+-------------------------------------------------------------------

Old:
----
  kcalendarcore-5.91.0.tar.xz
  kcalendarcore-5.91.0.tar.xz.sig

New:
----
  kcalendarcore-5.92.0.tar.xz
  kcalendarcore-5.92.0.tar.xz.sig

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

Other differences:
------------------
++++++ kcalendarcore.spec ++++++
--- /var/tmp/diff_new_pack.y6yogw/_old  2022-03-14 19:35:26.094009017 +0100
+++ /var/tmp/diff_new_pack.y6yogw/_new  2022-03-14 19:35:26.098009021 +0100
@@ -16,14 +16,14 @@
 #
 
 
-%define _tar_path 5.91
+%define _tar_path 5.92
 # Full KF5 version (e.g. 5.33.0)
 %{!?_kf5_version: %global _kf5_version %{version}}
 # Last major and minor KF5 version (e.g. 5.33)
 %{!?_kf5_bugfix_version: %define _kf5_bugfix_version %(echo %{_kf5_version} | 
awk -F. '{print $1"."$2}')}
 %bcond_without released
 Name:           kcalendarcore
-Version:        5.91.0
+Version:        5.92.0
 Release:        0
 Summary:        Library to access and handle calendar data
 License:        LGPL-2.0-or-later


++++++ kcalendarcore-5.91.0.tar.xz -> kcalendarcore-5.92.0.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kcalendarcore-5.91.0/.gitlab-ci.yml 
new/kcalendarcore-5.92.0/.gitlab-ci.yml
--- old/kcalendarcore-5.91.0/.gitlab-ci.yml     2022-02-05 16:09:59.000000000 
+0100
+++ new/kcalendarcore-5.92.0/.gitlab-ci.yml     2022-03-05 12:10:30.000000000 
+0100
@@ -6,3 +6,4 @@
   - 
https://invent.kde.org/sysadmin/ci-utilities/raw/master/gitlab-templates/android.yml
   - 
https://invent.kde.org/sysadmin/ci-utilities/raw/master/gitlab-templates/freebsd.yml
   - 
https://invent.kde.org/sysadmin/ci-utilities/raw/master/gitlab-templates/linux-qt6.yml
+  - 
https://invent.kde.org/sysadmin/ci-utilities/raw/master/gitlab-templates/android-qt6.yml
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kcalendarcore-5.91.0/CMakeLists.txt 
new/kcalendarcore-5.92.0/CMakeLists.txt
--- old/kcalendarcore-5.91.0/CMakeLists.txt     2022-02-05 16:09:59.000000000 
+0100
+++ new/kcalendarcore-5.92.0/CMakeLists.txt     2022-03-05 12:10:30.000000000 
+0100
@@ -1,11 +1,11 @@
 cmake_minimum_required(VERSION 3.16)
-set(KF_VERSION "5.91.0") # handled by release scripts
+set(KF_VERSION "5.92.0") # handled by release scripts
 
 project(KCalendarCore VERSION ${KF_VERSION})
 
 # ECM setup
 include(FeatureSummary)
-find_package(ECM 5.91.0  NO_MODULE)
+find_package(ECM 5.92.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/kcalendarcore-5.91.0/autotests/testevent.cpp 
new/kcalendarcore-5.92.0/autotests/testevent.cpp
--- old/kcalendarcore-5.91.0/autotests/testevent.cpp    2022-02-05 
16:09:59.000000000 +0100
+++ new/kcalendarcore-5.92.0/autotests/testevent.cpp    2022-03-05 
12:10:30.000000000 +0100
@@ -17,11 +17,11 @@
 
 using namespace KCalendarCore;
 
-const auto LOCAL_TZ = "Europe/Paris";
+const auto TEST_TZ = "Europe/Paris";
 
 void EventTest::initTestCase()
 {
-    qputenv("TZ", LOCAL_TZ);
+    qputenv("TZ", TEST_TZ);
 }
 
 void EventTest::testSetRoles_data()
@@ -100,6 +100,26 @@
     QCOMPARE(event2.summary(), QStringLiteral("Event2 Summary"));
 }
 
+void EventTest::testDtEndEqual()
+{
+    QDateTime dt {QDate::currentDate(), QTime::currentTime(), 
QTimeZone(TEST_TZ)};
+    QVERIFY(dt.timeSpec() == Qt::TimeZone);
+
+    Event e1;
+    e1.setDtEnd(dt);
+    auto e2 = e1.clone();
+    QVERIFY(e1 == *e2);
+
+    // Create a "floating" datetime, which represents the same instant in real 
time
+    // because we're still running in the test's time zone.
+    dt.setTimeSpec(Qt::LocalTime);
+
+    e1.setDtEnd(dt);
+    QVERIFY(e1 != *e2);
+    e2->setDtEnd(dt);
+    QVERIFY(e1 == *e2);
+}
+
 void EventTest::testCompareAlarms()
 {
     Event event1;
@@ -259,14 +279,14 @@
 {
     QDate dt = QDate::currentDate();
     Event event1;
-    event1.setDtStart(QDateTime(dt, QTime(1, 0, 0), QTimeZone(LOCAL_TZ)));
+    event1.setDtStart(QDateTime(dt, QTime(1, 0, 0), QTimeZone(TEST_TZ)));
     event1.resetDirtyFields();
 
     event1.setDtStart(QDateTime(dt, QTime(1, 0, 0)));
     QCOMPARE(event1.dirtyFields(), 
QSet<IncidenceBase::Field>{IncidenceBase::FieldDtStart});
     event1.resetDirtyFields();
 
-    event1.setDtStart(QDateTime(dt, QTime(1, 0, 0), QTimeZone(LOCAL_TZ)));
+    event1.setDtStart(QDateTime(dt, QTime(1, 0, 0), QTimeZone(TEST_TZ)));
     QCOMPARE(event1.dirtyFields(), 
QSet<IncidenceBase::Field>{IncidenceBase::FieldDtStart});
     event1.resetDirtyFields();
 }
@@ -294,7 +314,7 @@
     QCOMPARE(event1.dirtyFields(), 
QSet<IncidenceBase::Field>{IncidenceBase::FieldDtEnd});
     event1.resetDirtyFields();
 
-    event1.setDtEnd(QDateTime(dt, QTime(1, 0, 0), QTimeZone(LOCAL_TZ)));
+    event1.setDtEnd(QDateTime(dt, QTime(1, 0, 0), QTimeZone(TEST_TZ)));
     QCOMPARE(event1.dirtyFields(), 
QSet<IncidenceBase::Field>{IncidenceBase::FieldDtEnd});
     event1.resetDirtyFields();
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kcalendarcore-5.91.0/autotests/testevent.h 
new/kcalendarcore-5.92.0/autotests/testevent.h
--- old/kcalendarcore-5.91.0/autotests/testevent.h      2022-02-05 
16:09:59.000000000 +0100
+++ new/kcalendarcore-5.92.0/autotests/testevent.h      2022-03-05 
12:10:30.000000000 +0100
@@ -21,6 +21,7 @@
     void testSetRoles();
     void testValidity();
     void testCompare();
+    void testDtEndEqual();
     void testCompareAlarms();
     void testClone();
     void testCopyConstructor();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kcalendarcore-5.91.0/autotests/testincidence.cpp 
new/kcalendarcore-5.92.0/autotests/testincidence.cpp
--- old/kcalendarcore-5.91.0/autotests/testincidence.cpp        2022-02-05 
16:09:59.000000000 +0100
+++ new/kcalendarcore-5.92.0/autotests/testincidence.cpp        2022-03-05 
12:10:30.000000000 +0100
@@ -17,6 +17,13 @@
 
 using namespace KCalendarCore;
 
+const auto TEST_TZ = "Europe/Paris";
+
+void IncidenceTest::initTestCase()
+{
+    qputenv("TZ", TEST_TZ);
+}
+
 void IncidenceTest::testDtStartChange()
 {
     QDate dt = QDate::currentDate();
@@ -50,6 +57,26 @@
     QCOMPARE(inc.recurrence()->startDateTime(), QDateTime(dt, {}).addDays(1));
 }
 
+void IncidenceTest::testDtStartEqual()
+{
+    QDateTime dt {QDate::currentDate(), QTime::currentTime(), 
QTimeZone(TEST_TZ)};
+    QVERIFY(dt.timeSpec() == Qt::TimeZone);
+
+    Event i1;
+    i1.setDtStart(dt);
+    auto i2 = i1.clone();
+    QVERIFY(i1 == *i2);
+
+    // Create a "floating" datetime, which represents the same instant in real 
time
+    // because we're still running in the test's time zone.
+    dt.setTimeSpec(Qt::LocalTime);
+
+    i1.setDtStart(dt);
+    QVERIFY(i1 != *i2);
+    i2->setDtStart(dt);
+    QVERIFY(i1 == *i2);
+}
+
 void IncidenceTest::testSummaryChange()
 {
     Event inc;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kcalendarcore-5.91.0/autotests/testincidence.h 
new/kcalendarcore-5.92.0/autotests/testincidence.h
--- old/kcalendarcore-5.91.0/autotests/testincidence.h  2022-02-05 
16:09:59.000000000 +0100
+++ new/kcalendarcore-5.92.0/autotests/testincidence.h  2022-03-05 
12:10:30.000000000 +0100
@@ -15,7 +15,10 @@
 {
     Q_OBJECT
 private Q_SLOTS:
+    void initTestCase();
+
     void testDtStartChange();
+    void testDtStartEqual();
     void testSummaryChange();
     void testLocationChange();
     void testGeo();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kcalendarcore-5.91.0/autotests/testtodo.cpp 
new/kcalendarcore-5.92.0/autotests/testtodo.cpp
--- old/kcalendarcore-5.91.0/autotests/testtodo.cpp     2022-02-05 
16:09:59.000000000 +0100
+++ new/kcalendarcore-5.92.0/autotests/testtodo.cpp     2022-03-05 
12:10:30.000000000 +0100
@@ -16,11 +16,11 @@
 
 using namespace KCalendarCore;
 
-const auto LOCAL_TZ = "UTC";
+const auto TEST_TZ = "UTC";
 
 void TodoTest::initTestCase()
 {
-    qputenv("TZ", LOCAL_TZ);
+    qputenv("TZ", TEST_TZ);
 }
 
 void TodoTest::testValidity()
@@ -64,6 +64,26 @@
     QVERIFY(!(todo1.isCompleted() == todo2.isCompleted()));
 }
 
+void TodoTest::testDtDueEqual()
+{
+    QDateTime dt {QDate::currentDate(), QTime::currentTime(), 
QTimeZone(TEST_TZ)};
+    QVERIFY(dt.timeSpec() == Qt::TimeZone);
+
+    Todo t1;
+    t1.setDtDue(dt);
+    auto t2 = t1.clone();
+    QVERIFY(t1 == *t2);
+
+    // Create a "floating" datetime, which represents the same instant in real 
time
+    // because we're still running in the test's time zone.
+    dt.setTimeSpec(Qt::LocalTime);
+
+    t1.setDtDue(dt);
+    QVERIFY(t1 != *t2);
+    t2->setDtDue(dt);
+    QVERIFY(t1 == *t2);
+}
+
 void TodoTest::testClone()
 {
     QDate dt = QDate::currentDate();
@@ -505,7 +525,7 @@
 
     // Change from a floating time to the same time in a fixed time zone.
     todo.resetDirtyFields();
-    todo.setDtDue(QDateTime(date, time, QTimeZone(LOCAL_TZ)));
+    todo.setDtDue(QDateTime(date, time, QTimeZone(TEST_TZ)));
     QCOMPARE(todo.dirtyFields(), 
QSet<IncidenceBase::Field>{IncidenceBase::FieldDtDue});
 
     // Change from a time in a fixed time zone to a floating time.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kcalendarcore-5.91.0/autotests/testtodo.h 
new/kcalendarcore-5.92.0/autotests/testtodo.h
--- old/kcalendarcore-5.91.0/autotests/testtodo.h       2022-02-05 
16:09:59.000000000 +0100
+++ new/kcalendarcore-5.92.0/autotests/testtodo.h       2022-03-05 
12:10:30.000000000 +0100
@@ -19,6 +19,7 @@
 
     void testValidity();
     void testCompare();
+    void testDtDueEqual();
     void testClone();
     void testCopyIncidence();
     void testCopyConstructor();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kcalendarcore-5.91.0/src/event.cpp 
new/kcalendarcore-5.92.0/src/event.cpp
--- old/kcalendarcore-5.91.0/src/event.cpp      2022-02-05 16:09:59.000000000 
+0100
+++ new/kcalendarcore-5.92.0/src/event.cpp      2022-03-05 12:10:30.000000000 
+0100
@@ -94,7 +94,8 @@
     } else {
         // If they weren't the same type IncidenceBase::equals would had 
returned false already
         const Event *e = static_cast<const Event *>(&event);
-        return ((dtEnd() == e->dtEnd()) || (!dtEnd().isValid() && 
!e->dtEnd().isValid())) && transparency() == e->transparency();
+        return ((dtEnd() == e->dtEnd() && dtEnd().timeSpec() == 
e->dtEnd().timeSpec()) || (!dtEnd().isValid() && !e->dtEnd().isValid()))
+            && transparency() == e->transparency();
     }
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kcalendarcore-5.91.0/src/icalformat_p.cpp 
new/kcalendarcore-5.92.0/src/icalformat_p.cpp
--- old/kcalendarcore-5.91.0/src/icalformat_p.cpp       2022-02-05 
16:09:59.000000000 +0100
+++ new/kcalendarcore-5.92.0/src/icalformat_p.cpp       2022-03-05 
12:10:30.000000000 +0100
@@ -1199,7 +1199,7 @@
                 if (endDate < event->dtStart().date()) {
                     endDate = event->dtStart().date();
                 }
-                event->setDtEnd(QDateTime(endDate, {}, 
event->dtStart().timeZone()));
+                event->setDtEnd(QDateTime(endDate, {}, Qt::LocalTime));
                 event->setAllDay(true);
             } else {
                 event->setDtEnd(kdt);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kcalendarcore-5.91.0/src/incidencebase.cpp 
new/kcalendarcore-5.92.0/src/incidencebase.cpp
--- old/kcalendarcore-5.91.0/src/incidencebase.cpp      2022-02-05 
16:09:59.000000000 +0100
+++ new/kcalendarcore-5.92.0/src/incidencebase.cpp      2022-03-05 
12:10:30.000000000 +0100
@@ -164,7 +164,7 @@
     // of much use. We are not comparing for identity, after all.
     // no need to compare mObserver
 
-    bool a = ((dtStart() == other.dtStart()) || (!dtStart().isValid() && 
!other.dtStart().isValid()));
+    bool a = ((dtStart() == other.dtStart() && dtStart().timeSpec() == 
other.dtStart().timeSpec()) || (!dtStart().isValid() && 
!other.dtStart().isValid()));
     bool b = organizer() == other.organizer();
     bool c = uid() == other.uid();
     bool d = allDay() == other.allDay();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kcalendarcore-5.91.0/src/todo.cpp 
new/kcalendarcore-5.92.0/src/todo.cpp
--- old/kcalendarcore-5.91.0/src/todo.cpp       2022-02-05 16:09:59.000000000 
+0100
+++ new/kcalendarcore-5.92.0/src/todo.cpp       2022-03-05 12:10:30.000000000 
+0100
@@ -171,7 +171,8 @@
     } else {
         // If they weren't the same type IncidenceBase::equals would had 
returned false already
         const Todo *t = static_cast<const Todo *>(&todo);
-        return ((dtDue() == t->dtDue()) || (!dtDue().isValid() && 
!t->dtDue().isValid())) && hasDueDate() == t->hasDueDate()
+        return ((dtDue() == t->dtDue() && dtDue().timeSpec() == 
t->dtDue().timeSpec()) || (!dtDue().isValid() && !t->dtDue().isValid()))
+            && hasDueDate() == t->hasDueDate()
             && hasStartDate() == t->hasStartDate() && ((completed() == 
t->completed()) || (!completed().isValid() && !t->completed().isValid()))
             && hasCompletedDate() == t->hasCompletedDate() && 
percentComplete() == t->percentComplete();
     }

Reply via email to