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) {

Reply via email to