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(); }
