Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package kitinerary for openSUSE:Factory 
checked in at 2026-06-08 14:07:16
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kitinerary (Old)
 and      /work/SRC/openSUSE:Factory/.kitinerary.new.2375 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "kitinerary"

Mon Jun  8 14:07:16 2026 rev:98 rq:1357381 version:26.04.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/kitinerary/kitinerary.changes    2026-05-11 
16:50:26.471696108 +0200
+++ /work/SRC/openSUSE:Factory/.kitinerary.new.2375/kitinerary.changes  
2026-06-08 14:08:36.347476541 +0200
@@ -1,0 +2,14 @@
+Thu Jun  4 08:43:58 UTC 2026 - Christophe Marin <[email protected]>
+
+- Update to 26.04.2
+  * New bugfix release
+  * For more details please see:
+  * https://kde.org/announcements/gear/26.04.2/
+- Changes since 26.04.1:
+  * Add extractor script for BDŽ (Bulgarian State Railways) PDF tickets
+  * Adapt to Poppler 26.06 API changes
+  * Fix required Qt version
+  * Reflect the move of KMime to Frameworks in the dependency data
+  * Add Condor PKPass extractor
+
+-------------------------------------------------------------------

Old:
----
  kitinerary-26.04.1.tar.xz
  kitinerary-26.04.1.tar.xz.sig

New:
----
  kitinerary-26.04.2.tar.xz
  kitinerary-26.04.2.tar.xz.sig

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

Other differences:
------------------
++++++ kitinerary.spec ++++++
--- /var/tmp/diff_new_pack.bthl1I/_old  2026-06-08 14:08:38.255555651 +0200
+++ /var/tmp/diff_new_pack.bthl1I/_new  2026-06-08 14:08:38.271556314 +0200
@@ -18,11 +18,11 @@
 
 %define kf6_version 6.19.0
 %define qt6_version 6.9.0
-%define kpim6_version 6.7.1
+%define kpim6_version 6.7.2
 
 %bcond_without released
 Name:           kitinerary
-Version:        26.04.1
+Version:        26.04.2
 Release:        0
 Summary:        Data model and extraction system for travel reservations
 License:        LGPL-2.1-or-later


++++++ kitinerary-26.04.1.tar.xz -> kitinerary-26.04.2.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kitinerary-26.04.1/.kde-ci.yml 
new/kitinerary-26.04.2/.kde-ci.yml
--- old/kitinerary-26.04.1/.kde-ci.yml  2026-05-04 09:22:41.000000000 +0200
+++ new/kitinerary-26.04.2/.kde-ci.yml  2026-05-31 16:44:52.000000000 +0200
@@ -9,7 +9,7 @@
     'frameworks/kcontacts' : '@latest-kf6'
     'frameworks/kcalendarcore' : '@latest-kf6'
     'frameworks/kcodecs' : '@latest-kf6'
-    'pim/kmime' : '@same'
+    'frameworks/kmime': '@same'
     'pim/kpkpass' : '@same'
     'third-party/zxing-cpp': '@latest'
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kitinerary-26.04.1/CMakeLists.txt 
new/kitinerary-26.04.2/CMakeLists.txt
--- old/kitinerary-26.04.1/CMakeLists.txt       2026-05-04 09:22:41.000000000 
+0200
+++ new/kitinerary-26.04.2/CMakeLists.txt       2026-05-31 16:44:52.000000000 
+0200
@@ -7,13 +7,13 @@
 # KDE Application Version, managed by release script
 set (RELEASE_SERVICE_VERSION_MAJOR "26")
 set (RELEASE_SERVICE_VERSION_MINOR "04")
-set (RELEASE_SERVICE_VERSION_MICRO "1")
+set (RELEASE_SERVICE_VERSION_MICRO "2")
 set (RELEASE_SERVICE_VERSION 
"${RELEASE_SERVICE_VERSION_MAJOR}.${RELEASE_SERVICE_VERSION_MINOR}.${RELEASE_SERVICE_VERSION_MICRO}")
 
-set(PIM_VERSION "6.7.1")
+set(PIM_VERSION "6.7.2")
 project(KItinerary VERSION ${PIM_VERSION})
 
-set(QT_REQUIRED_VERSION "6.7.1")
+set(QT_REQUIRED_VERSION "6.7.0")
 set(KF_MIN_VERSION "6.22.0")
 
 find_package(ECM ${KF_MIN_VERSION} REQUIRED NO_MODULE)
@@ -49,8 +49,8 @@
     find_package(SharedMimeInfo 1.3 REQUIRED)
 endif()
 
-set(KMIME_VERSION "6.7.1")
-set(PIM_PKPASS "6.7.1")
+set(KMIME_VERSION "6.7.2")
+set(PIM_PKPASS "6.7.2")
 
 find_package(KPim6Mime ${KMIME_VERSION} CONFIG REQUIRED)
 find_package(KPim6PkPass ${PIM_PKPASS} CONFIG REQUIRED)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kitinerary-26.04.1/src/cli/org.kde.kitinerary-extractor.appdata.xml 
new/kitinerary-26.04.2/src/cli/org.kde.kitinerary-extractor.appdata.xml
--- old/kitinerary-26.04.1/src/cli/org.kde.kitinerary-extractor.appdata.xml     
2026-05-04 09:22:41.000000000 +0200
+++ new/kitinerary-26.04.2/src/cli/org.kde.kitinerary-extractor.appdata.xml     
2026-05-31 16:44:52.000000000 +0200
@@ -133,6 +133,7 @@
   </categories>
   <launchable 
type="desktop-id">org.kde.kitinerary-extractor.desktop</launchable>
   <releases>
+    <release version="6.7.2" date="2026-06-04"/>
     <release version="6.7.1" date="2026-05-07"/>
     <release version="6.7.0" date="2026-04-16"/>
     <release version="6.6.3" date="2026-03-05"/>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kitinerary-26.04.1/src/lib/pdf/pdfdocument.cpp 
new/kitinerary-26.04.2/src/lib/pdf/pdfdocument.cpp
--- old/kitinerary-26.04.1/src/lib/pdf/pdfdocument.cpp  2026-05-04 
09:22:41.000000000 +0200
+++ new/kitinerary-26.04.2/src/lib/pdf/pdfdocument.cpp  2026-05-31 
16:44:52.000000000 +0200
@@ -44,12 +44,15 @@
 #if KPOPPLER_VERSION < QT_VERSION_CHECK(25, 1, 0)
     std::unique_ptr<GooString> s(device.getText(pageRect->x1, pageRect->y1, 
pageRect->x2, pageRect->y2));
     m_text = QString::fromUtf8(s->c_str());
-#elif KPOPPLER_VERSION <QT_VERSION_CHECK(25, 12, 90)
+#elif KPOPPLER_VERSION < QT_VERSION_CHECK(25, 12, 90)
     const auto s = device.getText(pageRect->x1, pageRect->y1, pageRect->x2, 
pageRect->y2);
     m_text = QString::fromUtf8(s.c_str());
-#else
+#elif KPOPPLER_VERSION < QT_VERSION_CHECK(26, 5, 90)
     const auto s = device.getText(PDFRectangle(pageRect->x1, pageRect->y1, 
pageRect->x2, pageRect->y2));
     m_text = QString::fromUtf8(s.c_str());
+#else
+    const auto s = device.getText(pageRect);
+    m_text = QString::fromUtf8(s.c_str());
 #endif
 
     m_images = std::move(device.m_images);
@@ -59,7 +62,11 @@
 
     m_links = std::move(device.m_links);
     for (auto &link : m_links) {
+#if KPOPPLER_VERSION < QT_VERSION_CHECK(26, 5, 90)
         link.convertToPageRect(pageRect);
+#else
+        link.convertToPageRect(&pageRect);
+#endif
     }
 
     m_loaded = true;
@@ -98,16 +105,30 @@
     double b;
     switch (page->getRotate()) {
         case 0:
+#if KPOPPLER_VERSION < QT_VERSION_CHECK(26, 5, 90)
             l = ratio(pageRect->x1, pageRect->x2, left);
             t = ratio(pageRect->y1, pageRect->y2, top);
             r = ratio(pageRect->x1, pageRect->x2, right);
             b = ratio(pageRect->y1, pageRect->y2, bottom);
+#else
+            l = ratio(pageRect.x1, pageRect.x2, left);
+            t = ratio(pageRect.y1, pageRect.y2, top);
+            r = ratio(pageRect.x1, pageRect.x2, right);
+            b = ratio(pageRect.y1, pageRect.y2, bottom);
+#endif
             break;
         case 90:
+#if KPOPPLER_VERSION < QT_VERSION_CHECK(26, 5, 90)
             l = ratio(pageRect->y1, pageRect->y2, left);
             t = ratio(pageRect->x1, pageRect->x2, top);
             r = ratio(pageRect->y1, pageRect->y2, right);
             b = ratio(pageRect->x1, pageRect->x2, bottom);
+#else
+            l = ratio(pageRect.y1, pageRect.y2, left);
+            t = ratio(pageRect.x1, pageRect.x2, top);
+            r = ratio(pageRect.y1, pageRect.y2, right);
+            b = ratio(pageRect.x1, pageRect.x2, bottom);
+#endif
             break;
         default:
             qCWarning(Log) << "Unsupported page rotation!" << 
page->getRotate();
@@ -158,8 +179,13 @@
     const auto pageRect = d->m_doc->m_popplerDoc->getPage(d->m_pageNum + 
1)->getCropBox();
 
     for (const auto &img : d->m_images) {
+#if KPOPPLER_VERSION < QT_VERSION_CHECK(26, 5, 90)
         if ((img.d->m_transform.dx() >= ratio(pageRect->x1, pageRect->x2, 
left) && img.d->m_transform.dx() <= ratio(pageRect->x1, pageRect->x2, right)) &&
             (img.d->m_transform.dy() >= ratio(pageRect->y1, pageRect->y2, top) 
 && img.d->m_transform.dy() <= ratio(pageRect->y1, pageRect->y2, bottom)))
+#else
+        if ((img.d->m_transform.dx() >= ratio(pageRect.x1, pageRect.x2, left) 
&& img.d->m_transform.dx() <= ratio(pageRect.x1, pageRect.x2, right)) &&
+            (img.d->m_transform.dy() >= ratio(pageRect.y1, pageRect.y2, top)  
&& img.d->m_transform.dy() <= ratio(pageRect.y1, pageRect.y2, bottom)))
+#endif
         {
             l.push_back(QVariant::fromValue(img));
         }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kitinerary-26.04.1/src/lib/scripts/bdz.js 
new/kitinerary-26.04.2/src/lib/scripts/bdz.js
--- old/kitinerary-26.04.1/src/lib/scripts/bdz.js       1970-01-01 
01:00:00.000000000 +0100
+++ new/kitinerary-26.04.2/src/lib/scripts/bdz.js       2026-05-31 
16:44:52.000000000 +0200
@@ -0,0 +1,29 @@
+// SPDX-FileCopyrightText: 2026 Volker Krause <[email protected]>
+// SPDX-License-Identifier: LGPL-2.0-or-later
+
+function extractPdfTicket(pdf, node) {
+    let reservations = [];
+    for (page of pdf.pages) {
+        const text = page.text;
+        let res = JsonLd.newTrainReservation();
+        const hdr = text.match(/\S  +(\S.*)\n *№: (\d+) .*: (.*)\n/);
+        res.underName.name = hdr[1];
+        res.reservationNumber = hdr[2];
+        res.reservedTicket.name = hdr[3];
+
+        const leg = text.match(/(\d\d\.\d\d.\d\d) - (\d\d:\d\d) (.*) - (.*) 
\((.*)\) +(\d\d\.\d\d\.\d\d) - (\d\d:\d\d) +(\d)(?: +(\d+) +(\d+))?/);
+
+        res.reservationFor.departureTime = JsonLd.toDateTime(leg[1] + leg[2], 
'dd.MM.yyHH:mm', 'bg');
+        res.reservationFor.departureStation.name = leg[3];
+        res.reservationFor.arrivalStation.name = leg[4];
+        res.reservationFor.trainNumber = leg[5];
+        res.reservationFor.arrivalTime = JsonLd.toDateTime(leg[6] + leg[7], 
'dd.MM.yyHH:mm', 'bg');
+        res.reservedTicket.ticketedSeat.seatingType = leg[8];
+        res.reservedTicket.ticketedSeat.seatSection = leg[9];
+        res.reservedTicket.ticketedSeat.seatNumber = leg[10];
+        const barcode = node.findChildNodes({ scope: "Descendants", mimeType: 
"application/octet-stream" })[0];
+        res.reservedTicket.ticketToken = 'qrcodebin:' + 
ByteArray.toBase64(barcode.content);
+        reservations.push(res);
+    }
+    return reservations;
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kitinerary-26.04.1/src/lib/scripts/bdz.json 
new/kitinerary-26.04.2/src/lib/scripts/bdz.json
--- old/kitinerary-26.04.1/src/lib/scripts/bdz.json     1970-01-01 
01:00:00.000000000 +0100
+++ new/kitinerary-26.04.2/src/lib/scripts/bdz.json     2026-05-31 
16:44:52.000000000 +0200
@@ -0,0 +1,13 @@
+{
+    "filter": [
+        {
+            "field": "title",
+            "match": "^tickets print$",
+            "mimeType": "application/pdf",
+            "scope": "Current"
+        }
+    ],
+    "function": "extractPdfTicket",
+    "mimeType": "application/pdf",
+    "script": "bdz.js"
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kitinerary-26.04.1/src/lib/scripts/condor.js 
new/kitinerary-26.04.2/src/lib/scripts/condor.js
--- old/kitinerary-26.04.1/src/lib/scripts/condor.js    1970-01-01 
01:00:00.000000000 +0100
+++ new/kitinerary-26.04.2/src/lib/scripts/condor.js    2026-05-31 
16:44:52.000000000 +0200
@@ -0,0 +1,22 @@
+/*
+ * SPDX-FileCopyrightText: 2026 Kai Uwe Broulik <[email protected]>
+ *
+ * SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+function main(pass, node) {
+    let res = node.result[0];
+
+    const boardingZoneField = pass.field["boardingZone"];
+    if (boardingZoneField) {
+        res.boardingGroup = boardingZoneField.value;
+    }
+
+    if (res.reservationFor.departureTerminal) {
+        const departureIata = res.reservationFor.departureAirport.iataCode;
+        // Condor puts airport code in terminal string, e.g. "STR | 3"
+        res.reservationFor.departureTerminal = 
res.reservationFor.departureTerminal.replace(new RegExp("^" + departureIata + " 
\\| "), "");
+    }
+
+    return res;
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kitinerary-26.04.1/src/lib/scripts/condor.json 
new/kitinerary-26.04.2/src/lib/scripts/condor.json
--- old/kitinerary-26.04.1/src/lib/scripts/condor.json  1970-01-01 
01:00:00.000000000 +0100
+++ new/kitinerary-26.04.2/src/lib/scripts/condor.json  2026-05-31 
16:44:52.000000000 +0200
@@ -0,0 +1,14 @@
+[
+    {
+        "filter": [
+            {
+                "field": "passTypeIdentifier",
+                "match": "pass.com.condor.buchung",
+                "mimeType": "application/vnd.apple.pkpass",
+                "scope": "Current"
+            }
+        ],
+        "mimeType": "application/vnd.apple.pkpass",
+        "script": "condor.js"
+    }
+]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kitinerary-26.04.1/src/lib/scripts/extractors.qrc 
new/kitinerary-26.04.2/src/lib/scripts/extractors.qrc
--- old/kitinerary-26.04.1/src/lib/scripts/extractors.qrc       2026-05-04 
09:22:41.000000000 +0200
+++ new/kitinerary-26.04.2/src/lib/scripts/extractors.qrc       2026-05-31 
16:44:52.000000000 +0200
@@ -52,6 +52,8 @@
         <file>bb-hotel.js</file>
         <file>bestwestern.json</file>
         <file>bestwestern.js</file>
+        <file>bdz.json</file>
+        <file>bdz.js</file>
         <file>bilkom.json</file>
         <file>bilkom.js</file>
         <file>blablacar-bus.json</file>
@@ -93,6 +95,8 @@
         <file>coloseumticket.js</file>
         <file>comboios-de-portugal.json</file>
         <file>comboios-de-portugal.js</file>
+        <file>condor.json</file>
+        <file>condor.js</file>
         <file>cooltix.json</file>
         <file>cooltix.js</file>
         <file>cvent.json</file>

Reply via email to