Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package kf6-kcalendarcore for openSUSE:Factory checked in at 2024-04-15 20:11:43 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kf6-kcalendarcore (Old) and /work/SRC/openSUSE:Factory/.kf6-kcalendarcore.new.26366 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kf6-kcalendarcore" Mon Apr 15 20:11:43 2024 rev:2 rq:1167169 version:6.1.0 Changes: -------- --- /work/SRC/openSUSE:Factory/kf6-kcalendarcore/kf6-kcalendarcore.changes 2024-03-11 15:25:13.999222464 +0100 +++ /work/SRC/openSUSE:Factory/.kf6-kcalendarcore.new.26366/kf6-kcalendarcore.changes 2024-04-15 20:14:21.767507360 +0200 @@ -1,0 +2,11 @@ +Fri Apr 5 12:52:24 UTC 2024 - Christophe Marin <[email protected]> + +- Update to 6.1.0 + * New feature release +- Changes since 6.0.0: + * update version for new release + * Fix check whether RRULE UNTIL datetime is UTC + * Fix conversion of date-only icaltimetype to UTC QDateTime (kde#483707) + * MemoryCalendar: log details about duplicate events before asserting + +------------------------------------------------------------------- Old: ---- kcalendarcore-6.0.0.tar.xz kcalendarcore-6.0.0.tar.xz.sig New: ---- kcalendarcore-6.1.0.tar.xz kcalendarcore-6.1.0.tar.xz.sig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kf6-kcalendarcore.spec ++++++ --- /var/tmp/diff_new_pack.rfSS4X/_old 2024-04-15 20:14:22.267525763 +0200 +++ /var/tmp/diff_new_pack.rfSS4X/_new 2024-04-15 20:14:22.267525763 +0200 @@ -1,7 +1,7 @@ # # spec file for package kf6-kcalendarcore # -# Copyright (c) 2023 SUSE LLC +# Copyright (c) 2024 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -20,13 +20,13 @@ %define sonum 6 %define rname kcalendarcore -# Full KF6 version (e.g. 6.0.0) +# Full KF6 version (e.g. 6.1.0) %{!?_kf6_version: %global _kf6_version %{version}} # Last major and minor KF6 version (e.g. 6.0) %{!?_kf6_bugfix_version: %define _kf6_bugfix_version %(echo %{_kf6_version} | awk -F. '{print $1"."$2}')} %bcond_without released Name: kf6-kcalendarcore -Version: 6.0.0 +Version: 6.1.0 Release: 0 Summary: Library to access and handle calendar data License: LGPL-2.0-or-later ++++++ kcalendarcore-6.0.0.tar.xz -> kcalendarcore-6.1.0.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kcalendarcore-6.0.0/CMakeLists.txt new/kcalendarcore-6.1.0/CMakeLists.txt --- old/kcalendarcore-6.0.0/CMakeLists.txt 2024-02-21 12:23:30.000000000 +0100 +++ new/kcalendarcore-6.1.0/CMakeLists.txt 2024-04-05 12:54:50.000000000 +0200 @@ -1,11 +1,11 @@ cmake_minimum_required(VERSION 3.16) -set(KF_VERSION "6.0.0") # handled by release scripts +set(KF_VERSION "6.1.0") # handled by release scripts project(KCalendarCore VERSION ${KF_VERSION}) # ECM setup include(FeatureSummary) -find_package(ECM 6.0.0 NO_MODULE) +find_package(ECM 6.1.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-6.0.0/autotests/testicalformat.cpp new/kcalendarcore-6.1.0/autotests/testicalformat.cpp --- old/kcalendarcore-6.0.0/autotests/testicalformat.cpp 2024-02-21 12:23:30.000000000 +0100 +++ new/kcalendarcore-6.1.0/autotests/testicalformat.cpp 2024-04-05 12:54:50.000000000 +0200 @@ -521,4 +521,35 @@ QCOMPARE(parsedEvent->dtEnd().date(), event->dtEnd().date()); } +void ICalFormatTest::testAllDayRecurringUntil() +{ + const auto input = QLatin1String( + "BEGIN:VCALENDAR\n" + "VERSION:2.0\n" + "BEGIN:VEVENT\n" + "DTSTAMP:20240327T220619Z\n" + "CREATED:20240327T191625Z\n" + "UID:c89d88b9-810f-4275-9155-8eea2345386b\n" + "SEQUENCE:2\n" + "LAST-MODIFIED:20240327T220619Z\n" + "SUMMARY:Test\n" + "RRULE:FREQ=WEEKLY;UNTIL=20240401;BYDAY=WE\n" + "EXDATE;VALUE=DATE:20240327\n" + "DTSTART;VALUE=DATE:20240327\n" + "DTEND;VALUE=DATE:20240328\n" + "TRANSP:OPAQUE\n" + "END:VEVENT\n" + "END:VCALENDAR\n"); + ICalFormat format; + MemoryCalendar::Ptr cal(new MemoryCalendar(QTimeZone::utc())); + QVERIFY(format.fromString(cal, input)); + const auto events = cal->events(); + QCOMPARE(events.size(), 1); + + const auto event = events[0]; + auto recurrence = event->recurrence(); + QVERIFY(recurrence); + QCOMPARE(recurrence->endDate(), QDate(2024, 4, 1)); +} + #include "moc_testicalformat.cpp" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kcalendarcore-6.0.0/autotests/testicalformat.h new/kcalendarcore-6.1.0/autotests/testicalformat.h --- old/kcalendarcore-6.0.0/autotests/testicalformat.h 2024-02-21 12:23:30.000000000 +0100 +++ new/kcalendarcore-6.1.0/autotests/testicalformat.h 2024-04-05 12:54:50.000000000 +0200 @@ -32,6 +32,7 @@ void testIcalFormat(); void testNonTextCustomProperties(); void testAllDaySchedulingMessage(); + void testAllDayRecurringUntil(); }; #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kcalendarcore-6.0.0/src/icalformat_p.cpp new/kcalendarcore-6.1.0/src/icalformat_p.cpp --- old/kcalendarcore-6.0.0/src/icalformat_p.cpp 2024-02-21 12:23:30.000000000 +0100 +++ new/kcalendarcore-6.1.0/src/icalformat_p.cpp 2024-04-05 12:54:50.000000000 +0200 @@ -2390,6 +2390,9 @@ { // qCDebug(KCALCORE_LOG); // _dumpIcaltime( t ); + if (t.is_date) { + return QDateTime(QDate(t.year, t.month, t.day), QTime(), utc ? QTimeZone::UTC : QTimeZone::LocalTime); + } QTimeZone timeZone; if (icaltime_is_utc(t) || t.zone == icaltimezone_get_utc_timezone()) { @@ -2417,10 +2420,7 @@ } // If Time zone is still invalid, we will use LocalTime as TimeSpec. } - QTime resultTime; - if (!t.is_date) { - resultTime = QTime(t.hour, t.minute, t.second); - } + QTime resultTime(t.hour, t.minute, t.second); QDateTime result; if (timeZone.isValid()) { result = QDateTime(QDate(t.year, t.month, t.day), resultTime, timeZone); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kcalendarcore-6.0.0/src/icaltimezones.cpp new/kcalendarcore-6.1.0/src/icaltimezones.cpp --- old/kcalendarcore-6.0.0/src/icaltimezones.cpp 2024-02-21 12:23:30.000000000 +0100 +++ new/kcalendarcore-6.1.0/src/icaltimezones.cpp 2024-04-05 12:54:50.000000000 +0200 @@ -629,9 +629,9 @@ r.setStartDt(utcStart); // The end date time specified in an RRULE must be in UTC. // We can not guarantee correctness if this is not the case. - if (r.duration() == 0 && r.endDt().timeSpec() != Qt::UTC) { - qCWarning(KCALCORE_LOG) << "UNTIL in RRULE must be specified in UTC"; - break; + if (r.duration() == 0 && r.endDt().timeZone() != QTimeZone::utc()) { + qCWarning(KCALCORE_LOG) << "UNTIL in RRULE must be specified in UTC"; + break; } const auto dts = r.timesInInterval(utcStart, maxTime); for (int i = 0, end = dts.count(); i < end; ++i) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kcalendarcore-6.0.0/src/memorycalendar.cpp new/kcalendarcore-6.1.0/src/memorycalendar.cpp --- old/kcalendarcore-6.0.0/src/memorycalendar.cpp 2024-02-21 12:23:30.000000000 +0100 +++ new/kcalendarcore-6.1.0/src/memorycalendar.cpp 2024-04-05 12:54:50.000000000 +0200 @@ -285,11 +285,16 @@ } } else { -#ifndef NDEBUG // if we already have an to-do with this UID, it must be the same incidence, // otherwise something's really broken - Q_ASSERT(mIncidences[type].value(uid) == incidence); -#endif + qCWarning(KCALCORE_LOG) << "Calendar already contains an incidence of type" << type << "with UID" << uid << ", not inserting it again"; + const auto existing = mIncidences[type].value(uid); + if (existing != incidence) { + qCWarning(KCALCORE_LOG) << "The new incidence is not the same as the existing incidence!"; + qCWarning(KCALCORE_LOG) << "The existing incidence is summary=" << existing->summary() << ", start=" << existing->dtStart(); + qCWarning(KCALCORE_LOG) << "The new incidence is summary=" << incidence->summary() << ", start=" << incidence->dtStart(); + } + Q_ASSERT(existing == incidence); } } //@endcond
