Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package knighttime6 for openSUSE:Factory checked in at 2025-11-06 18:11:59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/knighttime6 (Old) and /work/SRC/openSUSE:Factory/.knighttime6.new.1980 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "knighttime6" Thu Nov 6 18:11:59 2025 rev:3 rq:1315800 version:6.5.2 Changes: -------- --- /work/SRC/openSUSE:Factory/knighttime6/knighttime6.changes 2025-10-29 21:06:18.361741835 +0100 +++ /work/SRC/openSUSE:Factory/.knighttime6.new.1980/knighttime6.changes 2025-11-06 18:12:15.481010212 +0100 @@ -1,0 +2,11 @@ +Tue Nov 4 23:04:47 UTC 2025 - Fabian Vogt <[email protected]> + +- Update to 6.5.2: + * New bugfix release + * For more details see https://kde.org/announcements/plasma/6/6.5.2 +- Changes since 6.5.1: + * Update version for new release 6.5.2 + * Fix daylight duration with flipped morning and evening times (kde#511293) + * Update version for new release 6.5.2 + +------------------------------------------------------------------- Old: ---- knighttime-6.5.1.tar.xz knighttime-6.5.1.tar.xz.sig New: ---- knighttime-6.5.2.tar.xz knighttime-6.5.2.tar.xz.sig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ knighttime6.spec ++++++ --- /var/tmp/diff_new_pack.ae4A2X/_old 2025-11-06 18:12:16.121037181 +0100 +++ /var/tmp/diff_new_pack.ae4A2X/_new 2025-11-06 18:12:16.121037181 +0100 @@ -25,7 +25,7 @@ %{!?_plasma6_version: %define _plasma6_version %(echo %{_plasma6_bugfix} | awk -F. '{print $1"."$2}')} %bcond_without released Name: knighttime6 -Version: 6.5.1 +Version: 6.5.2 Release: 0 Summary: Day-night cycle helper library License: LGPL-2.1-or-later ++++++ knighttime-6.5.1.tar.xz -> knighttime-6.5.2.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/knighttime-6.5.1/CMakeLists.txt new/knighttime-6.5.2/CMakeLists.txt --- old/knighttime-6.5.1/CMakeLists.txt 2025-10-28 10:18:26.000000000 +0100 +++ new/knighttime-6.5.2/CMakeLists.txt 2025-11-04 15:59:24.000000000 +0100 @@ -4,13 +4,13 @@ cmake_minimum_required(VERSION 3.16) -set(PROJECT_VERSION "6.5.1") +set(PROJECT_VERSION "6.5.2") project(KNightTime VERSION ${PROJECT_VERSION}) set(CMAKE_CXX_STANDARD 23) set(CMAKE_CXX_STANDARD_REQUIRED ON) -set(PROJECT_DEP_VERSION "6.5.1") +set(PROJECT_DEP_VERSION "6.5.2") set(QT_MIN_VERSION "6.9.0") set(KF6_MIN_VERSION "6.18.0") set(KDE_COMPILERSETTINGS_LEVEL "5.82") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/knighttime-6.5.1/autotests/schedule_test.cpp new/knighttime-6.5.2/autotests/schedule_test.cpp --- old/knighttime-6.5.1/autotests/schedule_test.cpp 2025-10-28 10:18:26.000000000 +0100 +++ new/knighttime-6.5.2/autotests/schedule_test.cpp 2025-11-04 15:59:24.000000000 +0100 @@ -26,23 +26,46 @@ void ScheduleTest::timedForecast() { - const KDarkLightSchedule schedule = KDarkLightSchedule::forecast(QDateTime(QDate(2025, 5, 25), QTime(12, 0)), QTime(6, 0), QTime(18, 0), 30min, 3); - const QList<KDarkLightCycle> cycles{ - KDarkLightCycle(QDateTime(QDate(2025, 5, 24), QTime(12, 0)), - KDarkLightTransition(KDarkLightTransition::Morning, QDateTime(QDate(2025, 5, 24), QTime(6, 0)), QDateTime(QDate(2025, 5, 24), QTime(6, 30))), - KDarkLightTransition(KDarkLightTransition::Evening, QDateTime(QDate(2025, 5, 24), QTime(18, 0)), QDateTime(QDate(2025, 5, 24), QTime(18, 30)))), - KDarkLightCycle(QDateTime(QDate(2025, 5, 25), QTime(12, 0)), - KDarkLightTransition(KDarkLightTransition::Morning, QDateTime(QDate(2025, 5, 25), QTime(6, 0)), QDateTime(QDate(2025, 5, 25), QTime(6, 30))), - KDarkLightTransition(KDarkLightTransition::Evening, QDateTime(QDate(2025, 5, 25), QTime(18, 0)), QDateTime(QDate(2025, 5, 25), QTime(18, 30)))), - KDarkLightCycle(QDateTime(QDate(2025, 5, 26), QTime(12, 0)), - KDarkLightTransition(KDarkLightTransition::Morning, QDateTime(QDate(2025, 5, 26), QTime(6, 0)), QDateTime(QDate(2025, 5, 26), QTime(6, 30))), - KDarkLightTransition(KDarkLightTransition::Evening, QDateTime(QDate(2025, 5, 26), QTime(18, 0)), QDateTime(QDate(2025, 5, 26), QTime(18, 30)))), - KDarkLightCycle(QDateTime(QDate(2025, 5, 27), QTime(12, 0)), - KDarkLightTransition(KDarkLightTransition::Morning, QDateTime(QDate(2025, 5, 27), QTime(6, 0)), QDateTime(QDate(2025, 5, 27), QTime(6, 30))), - KDarkLightTransition(KDarkLightTransition::Evening, QDateTime(QDate(2025, 5, 27), QTime(18, 0)), QDateTime(QDate(2025, 5, 27), QTime(18, 30)))), - }; + { + const KDarkLightSchedule schedule = KDarkLightSchedule::forecast(QDateTime(QDate(2025, 5, 25), QTime(12, 0)), QTime(6, 0), QTime(18, 0), 30min, 3); + const QList<KDarkLightCycle> cycles{ + KDarkLightCycle(QDateTime(QDate(2025, 5, 24), QTime(12, 0)), + KDarkLightTransition(KDarkLightTransition::Morning, QDateTime(QDate(2025, 5, 24), QTime(6, 0)), QDateTime(QDate(2025, 5, 24), QTime(6, 30))), + KDarkLightTransition(KDarkLightTransition::Evening, QDateTime(QDate(2025, 5, 24), QTime(18, 0)), QDateTime(QDate(2025, 5, 24), QTime(18, 30)))), + KDarkLightCycle(QDateTime(QDate(2025, 5, 25), QTime(12, 0)), + KDarkLightTransition(KDarkLightTransition::Morning, QDateTime(QDate(2025, 5, 25), QTime(6, 0)), QDateTime(QDate(2025, 5, 25), QTime(6, 30))), + KDarkLightTransition(KDarkLightTransition::Evening, QDateTime(QDate(2025, 5, 25), QTime(18, 0)), QDateTime(QDate(2025, 5, 25), QTime(18, 30)))), + KDarkLightCycle(QDateTime(QDate(2025, 5, 26), QTime(12, 0)), + KDarkLightTransition(KDarkLightTransition::Morning, QDateTime(QDate(2025, 5, 26), QTime(6, 0)), QDateTime(QDate(2025, 5, 26), QTime(6, 30))), + KDarkLightTransition(KDarkLightTransition::Evening, QDateTime(QDate(2025, 5, 26), QTime(18, 0)), QDateTime(QDate(2025, 5, 26), QTime(18, 30)))), + KDarkLightCycle(QDateTime(QDate(2025, 5, 27), QTime(12, 0)), + KDarkLightTransition(KDarkLightTransition::Morning, QDateTime(QDate(2025, 5, 27), QTime(6, 0)), QDateTime(QDate(2025, 5, 27), QTime(6, 30))), + KDarkLightTransition(KDarkLightTransition::Evening, QDateTime(QDate(2025, 5, 27), QTime(18, 0)), QDateTime(QDate(2025, 5, 27), QTime(18, 30)))), + }; - QCOMPARE(schedule.cycles(), cycles); + QCOMPARE(schedule.cycles(), cycles); + } + + // with morning and evening times vice versa + { + const KDarkLightSchedule schedule = KDarkLightSchedule::forecast(QDateTime(QDate(2025, 5, 25), QTime(12, 0)), QTime(18, 0), QTime(6, 0), 30min, 3); + const QList<KDarkLightCycle> cycles{ + KDarkLightCycle(QDateTime(QDate(2025, 5, 24), QTime(0, 0)), + KDarkLightTransition(KDarkLightTransition::Morning, QDateTime(QDate(2025, 5, 23), QTime(18, 0)), QDateTime(QDate(2025, 5, 23), QTime(18, 30))), + KDarkLightTransition(KDarkLightTransition::Evening, QDateTime(QDate(2025, 5, 24), QTime(6, 0)), QDateTime(QDate(2025, 5, 24), QTime(6, 30)))), + KDarkLightCycle(QDateTime(QDate(2025, 5, 25), QTime(0, 0)), + KDarkLightTransition(KDarkLightTransition::Morning, QDateTime(QDate(2025, 5, 24), QTime(18, 0)), QDateTime(QDate(2025, 5, 24), QTime(18, 30))), + KDarkLightTransition(KDarkLightTransition::Evening, QDateTime(QDate(2025, 5, 25), QTime(6, 0)), QDateTime(QDate(2025, 5, 25), QTime(6, 30)))), + KDarkLightCycle(QDateTime(QDate(2025, 5, 26), QTime(0, 0)), + KDarkLightTransition(KDarkLightTransition::Morning, QDateTime(QDate(2025, 5, 25), QTime(18, 0)), QDateTime(QDate(2025, 5, 25), QTime(18, 30))), + KDarkLightTransition(KDarkLightTransition::Evening, QDateTime(QDate(2025, 5, 26), QTime(6, 0)), QDateTime(QDate(2025, 5, 26), QTime(6, 30)))), + KDarkLightCycle(QDateTime(QDate(2025, 5, 27), QTime(0, 0)), + KDarkLightTransition(KDarkLightTransition::Morning, QDateTime(QDate(2025, 5, 26), QTime(18, 0)), QDateTime(QDate(2025, 5, 26), QTime(18, 30))), + KDarkLightTransition(KDarkLightTransition::Evening, QDateTime(QDate(2025, 5, 27), QTime(6, 0)), QDateTime(QDate(2025, 5, 27), QTime(6, 30)))), + }; + + QCOMPARE(schedule.cycles(), cycles); + } } void ScheduleTest::solarForecast() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/knighttime-6.5.1/src/kdarklightschedule.cpp new/knighttime-6.5.2/src/kdarklightschedule.cpp --- old/knighttime-6.5.1/src/kdarklightschedule.cpp 2025-10-28 10:18:26.000000000 +0100 +++ new/knighttime-6.5.2/src/kdarklightschedule.cpp 2025-11-04 15:59:24.000000000 +0100 @@ -376,12 +376,22 @@ return deserializeSchedule(stream); } +static int daylightDurationInSeconds(QTime morning, QTime evening) +{ + if (morning < evening) { + return morning.secsTo(evening); + } else { + const int secondsInDay = 86400; + return secondsInDay - evening.secsTo(morning); + } +} + KDarkLightSchedule KDarkLightSchedule::forecast(const QDateTime &dateTime, QTime morning, QTime evening, std::chrono::milliseconds transitionDuration, int cycleCount) { QList<KDarkLightCycle> cycles; cycles.reserve(cycleCount + 1); - const int halfOfDaylight = morning.secsTo(evening) / 2; + const int halfOfDaylight = daylightDurationInSeconds(morning, evening) / 2; const QTime noon = morning.addSecs(halfOfDaylight); const QDateTime localDateTime = dateTime.toLocalTime(); for (int day = -1; day < cycleCount; ++day) {
