Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package libqt5-qtserialport for
openSUSE:Factory checked in at 2026-05-25 21:53:06
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libqt5-qtserialport (Old)
and /work/SRC/openSUSE:Factory/.libqt5-qtserialport.new.2084 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libqt5-qtserialport"
Mon May 25 21:53:06 2026 rev:59 rq:1354931 version:5.15.19+kde0
Changes:
--------
--- /work/SRC/openSUSE:Factory/libqt5-qtserialport/libqt5-qtserialport.changes
2025-11-05 16:18:13.757881103 +0100
+++
/work/SRC/openSUSE:Factory/.libqt5-qtserialport.new.2084/libqt5-qtserialport.changes
2026-05-25 21:55:41.130205091 +0200
@@ -1,0 +2,13 @@
+Fri May 22 15:16:44 UTC 2026 - Fabian Vogt <[email protected]>
+
+- Update to version 5.15.19+kde0, rebased upstream:
+ * qserialportinfo_unix.cpp: do not return an incomplete list from udev
+ * QSerialPortInfo: handle {QString,QBA}::indexOf() returning -1
+ * Doc: fix wording in QSerialPort::open()
+ * Doc: clarify QSerialPort::open() error reporting
+ * Unix: fix Mark/Space parity emulation
+ * QSerialPortInfo::isNull(): fix the usage of inline keyword
+ * Docs: improve the example of reading from port
+ * Bump version to 5.15.19
+
+-------------------------------------------------------------------
Old:
----
qtserialport-everywhere-src-5.15.18+kde0.obscpio
New:
----
qtserialport-everywhere-src-5.15.19+kde0.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libqt5-qtserialport.spec ++++++
--- /var/tmp/diff_new_pack.JmEsjI/_old 2026-05-25 21:55:41.998240799 +0200
+++ /var/tmp/diff_new_pack.JmEsjI/_new 2026-05-25 21:55:42.002240963 +0200
@@ -19,11 +19,11 @@
%define qt5_snapshot 1
%define libname libQt5SerialPort5
%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 qtserialport-everywhere-src-%{version}
Name: libqt5-qtserialport
-Version: 5.15.18+kde0
+Version: 5.15.19+kde0
Release: 0
Summary: Qt 5 Serial Port Addon
License: LGPL-3.0-only OR (GPL-2.0-only OR GPL-3.0-or-later)
++++++ _service ++++++
--- /var/tmp/diff_new_pack.JmEsjI/_old 2026-05-25 21:55:42.050242938 +0200
+++ /var/tmp/diff_new_pack.JmEsjI/_new 2026-05-25 21:55:42.054243102 +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/qtserialport.git</param>
<param name="scm">git</param>
<param name="filename">qtserialport-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.JmEsjI/_old 2026-05-25 21:55:42.074243925 +0200
+++ /var/tmp/diff_new_pack.JmEsjI/_new 2026-05-25 21:55:42.078244090 +0200
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param
name="url">https://invent.kde.org/qt/qt/qtserialport.git</param>
- <param
name="changesrevision">b64a7eeda9b6a65b5ed01b1b40b07177f0aa4c0f</param></service></servicedata>
+ <param
name="changesrevision">ca1f2486527e7acf87d466062c035845f9774573</param></service></servicedata>
(No newline at EOF)
++++++ qtserialport-everywhere-src-5.15.18+kde0.obscpio ->
qtserialport-everywhere-src-5.15.19+kde0.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/qtserialport-everywhere-src-5.15.18+kde0/.qmake.conf
new/qtserialport-everywhere-src-5.15.19+kde0/.qmake.conf
--- old/qtserialport-everywhere-src-5.15.18+kde0/.qmake.conf 2025-03-30
13:49:54.000000000 +0200
+++ new/qtserialport-everywhere-src-5.15.19+kde0/.qmake.conf 2025-11-19
21:21:21.000000000 +0100
@@ -2,4 +2,4 @@
DEFINES += QT_NO_FOREACH QT_NO_JAVA_STYLE_ITERATORS QT_NO_LINKED_LIST
-MODULE_VERSION = 5.15.18
+MODULE_VERSION = 5.15.19
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtserialport-everywhere-src-5.15.18+kde0/src/serialport/qserialport.cpp
new/qtserialport-everywhere-src-5.15.19+kde0/src/serialport/qserialport.cpp
--- old/qtserialport-everywhere-src-5.15.18+kde0/src/serialport/qserialport.cpp
2025-03-30 13:49:54.000000000 +0200
+++ new/qtserialport-everywhere-src-5.15.19+kde0/src/serialport/qserialport.cpp
2025-11-19 21:21:21.000000000 +0100
@@ -167,11 +167,11 @@
See the following example:
\code
- int numRead = 0, numReadTotal = 0;
+ qint64 numReadTotal = 0;
char buffer[50];
for (;;) {
- numRead = serial.read(buffer, 50);
+ const qint64 numRead = serial.read(buffer, 50);
// Do whatever with the array
@@ -533,13 +533,16 @@
successful; otherwise returns \c false and sets an error code which can be
obtained by calling the error() method.
- \note The method returns \c false if opening the port is successful, but
could
- not set any of the port settings successfully. In that case, the port is
- closed automatically not to leave the port around with incorrect settings.
+ If the port is opened, but setting the desired port parameters fails, the
+ method returns \c false and closes the port automatically.
\warning The \a mode has to be QIODevice::ReadOnly, QIODevice::WriteOnly,
or QIODevice::ReadWrite. Other modes are unsupported.
+ \note Due to historical reasons, upon a successful open the
+ \l errorOccurred() signal is emitted with the \l {QSerialPort::}{NoError}
+ error code. This behavior is preserved to keep backwards compatibility.
+
\sa QIODevice::OpenMode, setPort()
*/
bool QSerialPort::open(OpenMode mode)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtserialport-everywhere-src-5.15.18+kde0/src/serialport/qserialport_unix.cpp
new/qtserialport-everywhere-src-5.15.19+kde0/src/serialport/qserialport_unix.cpp
---
old/qtserialport-everywhere-src-5.15.18+kde0/src/serialport/qserialport_unix.cpp
2025-03-30 13:49:54.000000000 +0200
+++
new/qtserialport-everywhere-src-5.15.19+kde0/src/serialport/qserialport_unix.cpp
2025-11-19 21:21:21.000000000 +0100
@@ -1097,7 +1097,11 @@
par ^= parity == QSerialPort::MarkParity;
if (par ^ (tio.c_cflag & PARODD)) { // Need switch parity mode?
tio.c_cflag ^= PARODD;
- flush(); //force sending already buffered data, because
setTermios(&tio); cleares buffers
+ //force sending already buffered data, because setTermios(&tio);
cleares buffers
+ if (::tcdrain(descriptor) == -1) {
+ setError(getSystemError());
+ break;
+ }
//todo: add receiving buffered data!!!
if (!setTermios(&tio))
break;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtserialport-everywhere-src-5.15.18+kde0/src/serialport/qserialportinfo.h
new/qtserialport-everywhere-src-5.15.19+kde0/src/serialport/qserialportinfo.h
---
old/qtserialport-everywhere-src-5.15.18+kde0/src/serialport/qserialportinfo.h
2025-03-30 13:49:54.000000000 +0200
+++
new/qtserialport-everywhere-src-5.15.19+kde0/src/serialport/qserialportinfo.h
2025-11-19 21:21:21.000000000 +0100
@@ -77,7 +77,7 @@
bool hasVendorIdentifier() const;
bool hasProductIdentifier() const;
- bool isNull() const;
+ bool isNull() const { return !d_ptr; }
#if QT_DEPRECATED_SINCE(5, 6)
bool isBusy() const;
#endif
@@ -96,9 +96,6 @@
QScopedPointer<QSerialPortInfoPrivate, QSerialPortInfoPrivateDeleter>
d_ptr;
};
-inline bool QSerialPortInfo::isNull() const
-{ return !d_ptr; }
-
QT_END_NAMESPACE
#endif // QSERIALPORTINFO_H
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtserialport-everywhere-src-5.15.18+kde0/src/serialport/qserialportinfo_freebsd.cpp
new/qtserialport-everywhere-src-5.15.19+kde0/src/serialport/qserialportinfo_freebsd.cpp
---
old/qtserialport-everywhere-src-5.15.18+kde0/src/serialport/qserialportinfo_freebsd.cpp
2025-03-30 13:49:54.000000000 +0200
+++
new/qtserialport-everywhere-src-5.15.19+kde0/src/serialport/qserialportinfo_freebsd.cpp
2025-11-19 21:21:21.000000000 +0100
@@ -58,7 +58,9 @@
const int firstbound = source.indexOf(QLatin1String(pattern));
if (firstbound == -1)
return QString();
- const int lastbound = source.indexOf(QLatin1Char(' '), firstbound);
+ int lastbound = source.indexOf(QLatin1Char(' '), firstbound);
+ if (lastbound == -1)
+ lastbound = source.size();
return source.mid(firstbound + pattern.size(), lastbound - firstbound -
pattern.size());
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtserialport-everywhere-src-5.15.18+kde0/src/serialport/qserialportinfo_unix.cpp
new/qtserialport-everywhere-src-5.15.19+kde0/src/serialport/qserialportinfo_unix.cpp
---
old/qtserialport-everywhere-src-5.15.18+kde0/src/serialport/qserialportinfo_unix.cpp
2025-03-30 13:49:54.000000000 +0200
+++
new/qtserialport-everywhere-src-5.15.19+kde0/src/serialport/qserialportinfo_unix.cpp
2025-11-19 21:21:21.000000000 +0100
@@ -187,7 +187,9 @@
if (firstbound == -1)
return QString();
- const int lastbound = content.indexOf('\n', firstbound);
+ int lastbound = content.indexOf('\n', firstbound);
+ if (lastbound == -1)
+ lastbound = content.size();
return QString::fromLatin1(
content.mid(firstbound + pattern.size(),
lastbound - firstbound - pattern.size()))
@@ -423,7 +425,7 @@
udev.data(),
::udev_list_entry_get_name(dev_list_entry)));
if (!dev)
- return serialPortInfoList;
+ continue;
QSerialPortInfoPrivate priv;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtserialport-everywhere-src-5.15.18+kde0/tests/auto/qserialport/tst_qserialport.cpp
new/qtserialport-everywhere-src-5.15.19+kde0/tests/auto/qserialport/tst_qserialport.cpp
---
old/qtserialport-everywhere-src-5.15.18+kde0/tests/auto/qserialport/tst_qserialport.cpp
2025-03-30 13:49:54.000000000 +0200
+++
new/qtserialport-everywhere-src-5.15.19+kde0/tests/auto/qserialport/tst_qserialport.cpp
2025-11-19 21:21:21.000000000 +0100
@@ -132,6 +132,9 @@
void readWriteWithDifferentBaudRate_data();
void readWriteWithDifferentBaudRate();
+ void readWriteWithMarkSpaceParity_data();
+ void readWriteWithMarkSpaceParity();
+
protected slots:
void handleBytesWrittenAndExitLoopSlot(qint64 bytesWritten);
void handleBytesWrittenAndExitLoopSlot2(qint64 bytesWritten);
@@ -1284,5 +1287,51 @@
}
}
+void tst_QSerialPort::readWriteWithMarkSpaceParity_data()
+{
+ QTest::addColumn<QSerialPort::Parity>("parity");
+
+ QTest::newRow("parity_space") << QSerialPort::SpaceParity;
+ QTest::newRow("parity_mark") << QSerialPort::MarkParity;
+}
+
+void tst_QSerialPort::readWriteWithMarkSpaceParity()
+{
+ QFETCH(const QSerialPort::Parity, parity);
+
+ auto setupPort = [&parity](QSerialPort &port) {
+ port.setBaudRate(QSerialPort::Baud9600);
+ port.setParity(parity);
+ port.setDataBits(QSerialPort::Data8);
+ port.setStopBits(QSerialPort::OneStop);
+ };
+
+ QSerialPort sender(m_senderPortName);
+ QSignalSpy senderSpy(&sender, &QSerialPort::bytesWritten);
+ setupPort(sender);
+ QVERIFY(sender.open(QIODevice::ReadWrite));
+
+ QSerialPort receiver(m_receiverPortName);
+ QSignalSpy receiverSpy(&receiver, &QSerialPort::readyRead);
+ setupPort(receiver);
+ QVERIFY(receiver.open(QIODevice::ReadWrite));
+
+ const QByteArray data("some data");
+ const qint64 written = sender.write(data);
+ QCOMPARE(written, qint64(data.size()));
+ QTRY_COMPARE(senderSpy.size(), 1);
+ QCOMPARE(senderSpy.at(0).at(0).value<qint64>(), written);
+
+ QTRY_VERIFY(receiver.bytesAvailable() >= written);
+ QVERIFY(receiverSpy.size() >= 1); // we should get *at least one* signal
+
+#if !defined(Q_OS_UNIX) || defined(CMSPAR)
+ // On UNIX with no CMSPAR the result is flaky, so we cannot even use
+ // QEXPECT_FAIL(). See QTBUG-131679.
+ const QByteArray receivedData = receiver.readAll();
+ QCOMPARE(receivedData, data);
+#endif
+}
+
QTEST_MAIN(tst_QSerialPort)
#include "tst_qserialport.moc"
++++++ qtserialport-everywhere-src.obsinfo ++++++
--- /var/tmp/diff_new_pack.JmEsjI/_old 2026-05-25 21:55:42.434258735 +0200
+++ /var/tmp/diff_new_pack.JmEsjI/_new 2026-05-25 21:55:42.442259064 +0200
@@ -1,5 +1,5 @@
name: qtserialport-everywhere-src
-version: 5.15.18+kde0
-mtime: 1743335394
-commit: b64a7eeda9b6a65b5ed01b1b40b07177f0aa4c0f
+version: 5.15.19+kde0
+mtime: 1763583681
+commit: ca1f2486527e7acf87d466062c035845f9774573