Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package libqt5-qtlocation for
openSUSE:Factory checked in at 2026-05-25 21:52:55
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libqt5-qtlocation (Old)
and /work/SRC/openSUSE:Factory/.libqt5-qtlocation.new.2084 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libqt5-qtlocation"
Mon May 25 21:52:55 2026 rev:66 rq:1354918 version:5.15.19+kde7
Changes:
--------
--- /work/SRC/openSUSE:Factory/libqt5-qtlocation/libqt5-qtlocation.changes
2025-11-05 16:17:49.728871080 +0100
+++
/work/SRC/openSUSE:Factory/.libqt5-qtlocation.new.2084/libqt5-qtlocation.changes
2026-05-25 21:54:57.496410149 +0200
@@ -1,0 +2,10 @@
+Fri May 22 15:07:21 UTC 2026 - Fabian Vogt <[email protected]>
+
+- Update to version 5.15.19+kde7, rebased upstream:
+ * QGeoAreaMonitorSource: fix read past the end of the buffer
+ * QGeoFileTileCache: handle write errors (better)
+ * QAbstractGeoTileCache: don't create files with predicatable names
+ * QCache3Q: use Q_DISABLE_COPY_MOVE
+ * Bump version to 5.15.19
+
+-------------------------------------------------------------------
Old:
----
qtlocation-everywhere-src-5.15.18+kde7.obscpio
New:
----
qtlocation-everywhere-src-5.15.19+kde7.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libqt5-qtlocation.spec ++++++
--- /var/tmp/diff_new_pack.RZkK9q/_old 2026-05-25 21:55:06.920797832 +0200
+++ /var/tmp/diff_new_pack.RZkK9q/_new 2026-05-25 21:55:06.924797997 +0200
@@ -22,11 +22,11 @@
%define qt5_snapshot 1
%define libname libQt5Positioning5
%define base_name libqt5
-%define real_version 5.15.18
-%define so_version 5.15.18
+%define real_version 5.15.19
+%define so_version 5.15.19
%define tar_version qtlocation-everywhere-src-%{version}
Name: libqt5-qtlocation
-Version: 5.15.18+kde7
+Version: 5.15.19+kde7
Release: 0
Summary: Qt 5 Location Library
License: LGPL-3.0-only OR (GPL-2.0-only OR GPL-3.0-or-later)
++++++ _service ++++++
--- /var/tmp/diff_new_pack.RZkK9q/_old 2026-05-25 21:55:06.996800958 +0200
+++ /var/tmp/diff_new_pack.RZkK9q/_new 2026-05-25 21:55:07.024802111 +0200
@@ -1,12 +1,12 @@
<services>
<service name="obs_scm" mode="disabled">
<param name="changesgenerate">enable</param>
- <param name="versionformat">5.15.18+kde@TAG_OFFSET@</param>
+ <param name="versionformat">5.15.19+kde@TAG_OFFSET@</param>
<param name="url">https://invent.kde.org/qt/qt/qtlocation.git</param>
<param name="scm">git</param>
<param name="filename">qtlocation-everywhere-src</param>
<param name="revision">kde/5.15</param>
- <param name="parent-tag">v5.15.18-lts-lgpl</param>
+ <param name="parent-tag">v5.15.19-lts-lgpl</param>
<param name="changesgenerate">enable</param>
</service>
<service name="set_version" mode="disabled"/>
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.RZkK9q/_old 2026-05-25 21:55:07.060803592 +0200
+++ /var/tmp/diff_new_pack.RZkK9q/_new 2026-05-25 21:55:07.068803921 +0200
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param
name="url">https://invent.kde.org/qt/qt/qtlocation.git</param>
- <param
name="changesrevision">ba48a8b5cedd157d972c08d371ac2581db166bf7</param></service></servicedata>
+ <param
name="changesrevision">81f560be2274958011c255efa1d2d573874bed11</param></service></servicedata>
(No newline at EOF)
++++++ qtlocation-everywhere-src-5.15.18+kde7.obscpio ->
qtlocation-everywhere-src-5.15.19+kde7.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/qtlocation-everywhere-src-5.15.18+kde7/.qmake.conf
new/qtlocation-everywhere-src-5.15.19+kde7/.qmake.conf
--- old/qtlocation-everywhere-src-5.15.18+kde7/.qmake.conf 2025-11-01
10:25:39.000000000 +0100
+++ new/qtlocation-everywhere-src-5.15.19+kde7/.qmake.conf 2026-05-20
13:45:48.000000000 +0200
@@ -3,7 +3,7 @@
DEFINES += QT_NO_JAVA_STYLE_ITERATORS QT_NO_LINKED_LIST
-MODULE_VERSION = 5.15.18
+MODULE_VERSION = 5.15.19
# Adds a way to debug location. The define is needed for multiple subprojects
as they
# include the essential headers.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtlocation-everywhere-src-5.15.18+kde7/src/location/maps/qabstractgeotilecache.cpp
new/qtlocation-everywhere-src-5.15.19+kde7/src/location/maps/qabstractgeotilecache.cpp
---
old/qtlocation-everywhere-src-5.15.18+kde7/src/location/maps/qabstractgeotilecache.cpp
2025-11-01 10:25:39.000000000 +0100
+++
new/qtlocation-everywhere-src-5.15.19+kde7/src/location/maps/qabstractgeotilecache.cpp
2026-05-20 13:45:48.000000000 +0200
@@ -44,6 +44,7 @@
#include <QMetaType>
#include <QPixmap>
#include <QDebug>
+#include <QtCore/qtemporaryfile.h>
Q_DECLARE_METATYPE(QList<QGeoTileSpec>)
Q_DECLARE_METATYPE(QSet<QGeoTileSpec>)
@@ -123,11 +124,16 @@
static bool writableChecked = false;
if (!writableChecked) {
writableChecked = true;
- QDir::root().mkpath(dir);
- QFile
writeTestFile(QDir(dir).filePath(QStringLiteral("qt_cache_check")));
- writable = writeTestFile.open(QIODevice::WriteOnly);
- if (writable)
- writeTestFile.remove();
+ auto mkpath = [] (const QString &dir) {
+ const auto rt = QDir::root();
+ return rt.mkpath(dir);
+ };
+ if (mkpath(dir)) {
+ QTemporaryFile
tmp(QDir(dir).filePath(QStringLiteral("qt_cache_check.XXXXXX")));
+ writable = tmp.open();
+ } else {
+ writable = false;
+ }
}
if (!writable)
dir = QString();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtlocation-everywhere-src-5.15.18+kde7/src/location/maps/qcache3q_p.h
new/qtlocation-everywhere-src-5.15.19+kde7/src/location/maps/qcache3q_p.h
--- old/qtlocation-everywhere-src-5.15.18+kde7/src/location/maps/qcache3q_p.h
2025-11-01 10:25:39.000000000 +0100
+++ new/qtlocation-everywhere-src-5.15.19+kde7/src/location/maps/qcache3q_p.h
2026-05-20 13:45:48.000000000 +0200
@@ -110,6 +110,7 @@
template <class Key, class T, class EvPolicy =
QCache3QDefaultEvictionPolicy<Key,T> >
class QCache3Q : public EvPolicy
{
+ Q_DISABLE_COPY_MOVE(QCache3Q)
private:
class Queue;
class Node
@@ -178,11 +179,6 @@
void rebalance();
void unlink(Node *n);
void link_front(Node *n, Queue *q);
-
-private:
- // make these private so they can't be used
- inline QCache3Q(const QCache3Q<Key,T,EvPolicy> &) {}
- inline QCache3Q<Key,T,EvPolicy> &operator=(const QCache3Q<Key,T,EvPolicy>
&) {}
};
template <class Key, class T, class EvPolicy>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtlocation-everywhere-src-5.15.18+kde7/src/location/maps/qgeofiletilecache.cpp
new/qtlocation-everywhere-src-5.15.19+kde7/src/location/maps/qgeofiletilecache.cpp
---
old/qtlocation-everywhere-src-5.15.18+kde7/src/location/maps/qgeofiletilecache.cpp
2025-11-01 10:25:39.000000000 +0100
+++
new/qtlocation-everywhere-src-5.15.19+kde7/src/location/maps/qgeofiletilecache.cpp
2026-05-20 13:45:48.000000000 +0200
@@ -45,6 +45,8 @@
#include <QPixmap>
#include <QDebug>
+#include <QtCore/qsavefile.h>
+
Q_DECLARE_METATYPE(QList<QGeoTileSpec>)
Q_DECLARE_METATYPE(QSet<QGeoTileSpec>)
@@ -494,23 +496,30 @@
bool QGeoFileTileCache::addToDiskCache(const QGeoTileSpec &spec, const QString
&filename, const QByteArray &bytes)
{
+ int cost = 1;
+ if (costStrategyDisk_ == ByteSize)
+ cost = bytes.size();
+
+ if (cost > diskCache_.maxCost())
+ return false; // insert() would fail anyway, so don't even try
+
+ QSaveFile file(filename);
+ if (!file.open(QIODevice::WriteOnly))
+ return false;
+ file.write(bytes);
+ if (!file.commit())
+ return false;
+
QSharedPointer<QGeoCachedTileDisk> td(new QGeoCachedTileDisk);
td->spec = spec;
td->filename = filename;
td->cache = this;
- int cost = 1;
- if (costStrategyDisk_ == ByteSize)
- cost = bytes.size();
+ const bool inserted = diskCache_.insert(spec, td, cost);
+ Q_ASSERT(inserted);
+ Q_UNUSED(inserted);
- if (diskCache_.insert(spec, td, cost)) {
- QFile file(filename);
- file.open(QIODevice::WriteOnly);
- file.write(bytes);
- file.close();
- return true;
- }
- return false;
+ return true;
}
void QGeoFileTileCache::addToMemoryCache(const QGeoTileSpec &spec, const
QByteArray &bytes, const QString &format)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtlocation-everywhere-src-5.15.18+kde7/src/plugins/position/positionpoll/qgeoareamonitor_polling.cpp
new/qtlocation-everywhere-src-5.15.19+kde7/src/plugins/position/positionpoll/qgeoareamonitor_polling.cpp
---
old/qtlocation-everywhere-src-5.15.18+kde7/src/plugins/position/positionpoll/qgeoareamonitor_polling.cpp
2025-11-01 10:25:39.000000000 +0100
+++
new/qtlocation-everywhere-src-5.15.19+kde7/src/plugins/position/positionpoll/qgeoareamonitor_polling.cpp
2026-05-20 13:45:48.000000000 +0200
@@ -370,6 +370,9 @@
int QGeoAreaMonitorPolling::idForSignal(const char *signal)
{
+ if (qstrlen(signal) < 2)
+ return -1;
+
const QByteArray sig = QMetaObject::normalizedSignature(signal + 1);
const QMetaObject * const mo = metaObject();
@@ -389,9 +392,7 @@
if (monitor.isPersistent())
return false;
- if (!signal)
- return false;
-
+ // signal is validated in idForSignal()
const int signalId = idForSignal(signal);
if (signalId < 0)
return false;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtlocation-everywhere-src-5.15.18+kde7/tests/auto/qgeoareamonitor/tst_qgeoareamonitor.cpp
new/qtlocation-everywhere-src-5.15.19+kde7/tests/auto/qgeoareamonitor/tst_qgeoareamonitor.cpp
---
old/qtlocation-everywhere-src-5.15.18+kde7/tests/auto/qgeoareamonitor/tst_qgeoareamonitor.cpp
2025-11-01 10:25:39.000000000 +0100
+++
new/qtlocation-everywhere-src-5.15.19+kde7/tests/auto/qgeoareamonitor/tst_qgeoareamonitor.cpp
2026-05-20 13:45:48.000000000 +0200
@@ -753,6 +753,26 @@
qInstallMessageHandler(0);
QCOMPARE(tst_qgeoareamonitorinfo_debug, debugString);
}
+
+ void randomSignalName()
+ {
+ auto src = std::unique_ptr<QGeoAreaMonitorSource>(
+
QGeoAreaMonitorSource::createSource(QStringLiteral("positionpoll"), nullptr));
+ QVERIFY(src);
+
+ QGeoAreaMonitorInfo infoCircle("Circle");
+ infoCircle.setArea(QGeoCircle(QGeoCoordinate(-27.70, 153.093), 10000));
+ QVERIFY(infoCircle.isValid());
+
+ // empty signal -> invalid
+ QVERIFY(!src->requestUpdate(infoCircle, ""));
+
+ // non-existent single-char signal -> invalid
+ QVERIFY(!src->requestUpdate(infoCircle, "a"));
+
+ // non-existent multi-char signal -> invalid
+ QVERIFY(!src->requestUpdate(infoCircle, "abcd"));
+ }
};
++++++ qtlocation-everywhere-src.obsinfo ++++++
--- /var/tmp/diff_new_pack.RZkK9q/_old 2026-05-25 21:55:13.625073623 +0200
+++ /var/tmp/diff_new_pack.RZkK9q/_new 2026-05-25 21:55:13.637074117 +0200
@@ -1,5 +1,5 @@
name: qtlocation-everywhere-src
-version: 5.15.18+kde7
-mtime: 1761989139
-commit: ba48a8b5cedd157d972c08d371ac2581db166bf7
+version: 5.15.19+kde7
+mtime: 1779277548
+commit: 81f560be2274958011c255efa1d2d573874bed11