From c2a0d75dd0358725044efcbe0cd0940a2e51d5a0 Mon Sep 17 00:00:00 2001 From: openKylinBot Date: Sat, 14 May 2022 17:41:02 +0800 Subject: [PATCH] format patches --- debian/patches/CVE-2021-38593.diff | 26 ++++++---- debian/patches/CVE-2022-25255.diff | 41 ++++++++++------ debian/patches/armv4.diff | 11 ++++- .../patches/cast_types_for_egl_x11_test.diff | 13 +++-- debian/patches/cross_build_mysql.diff | 26 +++++++--- ...valid-pointer-return-with-QGridLayout.diff | 16 +++--- ...ment-of-placeholder-text-in-QLineEdit.diff | 43 ++++++++++------ ...-text-in-QLineEdits-with-action-icons.diff | 44 +++++++++++------ debian/patches/fix_recursion_crash.diff | 28 ++++++++--- debian/patches/full_width_selection_rtl.diff | 22 ++++++--- .../patches/fusion_checkable_qpushbutton.diff | 24 ++++++--- .../gcc-11-qtconcurrentthreadengine.diff | 14 ++++-- debian/patches/gcc_11_limits.diff | 10 +++- debian/patches/gnukfreebsd.diff | 49 ++++++++++++------- .../patches/gnukfreebsd_linker_warnings.diff | 19 ++++--- debian/patches/link_fbclient.diff | 12 +++-- debian/patches/mime_globs.diff | 23 ++++++--- debian/patches/moc_handle_include.diff | 23 ++++++--- debian/patches/mysql_field_readonly.diff | 20 +++++--- .../patches/mysql_remove_version_checks.diff | 28 +++++++---- debian/patches/no_htmlinfo_example.diff | 11 ++++- debian/patches/nonlinux_utime.diff | 20 +++++--- debian/patches/openssl3.diff | 31 +++++++++--- debian/patches/path_max.diff | 17 +++++-- debian/patches/qdoc_default_incdirs.diff | 11 +++-- debian/patches/qstorageinfo_linux.diff | 25 ++++++---- debian/patches/remove_privacy_breaches.diff | 18 ++++--- debian/patches/series | 3 -- ...ut_control_when_reading_INCR_property.diff | 11 +++-- 29 files changed, 429 insertions(+), 210 deletions(-) diff --git a/debian/patches/CVE-2021-38593.diff b/debian/patches/CVE-2021-38593.diff index 6f5d9390..09c2e47b 100644 --- a/debian/patches/CVE-2021-38593.diff +++ b/debian/patches/CVE-2021-38593.diff @@ -1,19 +1,27 @@ -Description: avoid processing-intensive painting of high number of tiny dashes - When stroking a dashed path, an unnecessary amount of processing would - be spent if there is a huge number of dashes visible, e.g. because of - scaling. Since the dashes are too small to be individually visible - anyway, just replace with a semi-transparent solid line for such - cases. +From: Debian Qt/KDE Maintainers +Date: Sat, 14 May 2022 17:41:00 +0800 +Subject: avoid processing-intensive painting of high number of tiny dashes + +When stroking a dashed path, an unnecessary amount of processing would +be spent if there is a huge number of dashes visible, e.g. because of +scaling. Since the dashes are too small to be individually visible +anyway, just replace with a semi-transparent solid line for such +cases. Origin: upstream, commits: https://code.qt.io/cgit/qt/qtbase.git/commit/?id=f4d791b330d02777 https://code.qt.io/cgit/qt/qtbase.git/commit/?id=6b400e3147dcfd8c https://code.qt.io/cgit/qt/qtbase.git/commit/?id=84aba80944a2e1c3 https://code.qt.io/cgit/qt/qtbase.git/commit/?id=cca8ed0547405b1c Last-Update: 2021-11-27 +--- + src/gui/painting/qpaintengineex.cpp | 46 +++++++++++++++++++++++++++++-------- + 1 file changed, 36 insertions(+), 10 deletions(-) +diff --git a/src/gui/painting/qpaintengineex.cpp b/src/gui/painting/qpaintengineex.cpp +index 5d8f89e..a7d2e7a 100644 --- a/src/gui/painting/qpaintengineex.cpp +++ b/src/gui/painting/qpaintengineex.cpp -@@ -385,10 +385,10 @@ QPainterState *QPaintEngineEx::createSta +@@ -385,10 +385,10 @@ QPainterState *QPaintEngineEx::createState(QPainterState *orig) const Q_GUI_EXPORT extern bool qt_scaleForTransform(const QTransform &transform, qreal *scale); // qtransform.cpp @@ -26,7 +34,7 @@ Last-Update: 2021-11-27 #endif Q_D(QPaintEngineEx); -@@ -403,6 +403,38 @@ void QPaintEngineEx::stroke(const QVecto +@@ -403,6 +403,38 @@ void QPaintEngineEx::stroke(const QVectorPath &path, const QPen &pen) d->stroker.setCubicToHook(qpaintengineex_cubicTo); } @@ -65,7 +73,7 @@ Last-Update: 2021-11-27 if (!qpen_fast_equals(pen, d->strokerPen)) { d->strokerPen = pen; d->stroker.setJoinStyle(pen.joinStyle()); -@@ -430,14 +462,8 @@ void QPaintEngineEx::stroke(const QVecto +@@ -430,14 +462,8 @@ void QPaintEngineEx::stroke(const QVectorPath &path, const QPen &pen) return; } diff --git a/debian/patches/CVE-2022-25255.diff b/debian/patches/CVE-2022-25255.diff index 1aec848a..a204a4db 100644 --- a/debian/patches/CVE-2022-25255.diff +++ b/debian/patches/CVE-2022-25255.diff @@ -1,19 +1,28 @@ -Description: QProcess: ensure we don't accidentally execute something from CWD - Unless "." (or the empty string) is in $PATH, we're not supposed to find - executables in the current directory. This is how the Unix shells behave - and we match their behavior. It's also the behavior Qt had prior to 5.9 - (commit 28666d167aa8e602c0bea25ebc4d51b55005db13). On Windows, searching - the current directory is the norm, so we keep that behavior. - . - This commit does not add an explicit check for an empty return from - QStandardPaths::findExecutable(). Instead, we allow that empty string to - go all the way to execve(2), which will fail with ENOENT. We could catch - it early, before fork(2), but why add code for the error case? - . - See https://kde.org/info/security/advisory-20220131-1.txt +From: Debian Qt/KDE Maintainers +Date: Sat, 14 May 2022 17:41:01 +0800 +Subject: QProcess: ensure we don't accidentally execute something from CWD + +Unless "." (or the empty string) is in $PATH, we're not supposed to find +executables in the current directory. This is how the Unix shells behave +and we match their behavior. It's also the behavior Qt had prior to 5.9 +(commit 28666d167aa8e602c0bea25ebc4d51b55005db13). On Windows, searching +the current directory is the norm, so we keep that behavior. + +This commit does not add an explicit check for an empty return from +QStandardPaths::findExecutable(). Instead, we allow that empty string to +go all the way to execve(2), which will fail with ENOENT. We could catch +it early, before fork(2), but why add code for the error case? + +See https://kde.org/info/security/advisory-20220131-1.txt Origin: upstream, https://download.qt.io/official_releases/qt/5.15/CVE-2022-25255-qprocess5-15.diff Last-Update: 2022-02-21 +--- + src/corelib/io/qprocess_unix.cpp | 28 ++++++++++++---------- + .../kernel/qapplication/tst_qapplication.cpp | 4 ++-- + 2 files changed, 17 insertions(+), 15 deletions(-) +diff --git a/src/corelib/io/qprocess_unix.cpp b/src/corelib/io/qprocess_unix.cpp +index 50390e5..15c8f30 100644 --- a/src/corelib/io/qprocess_unix.cpp +++ b/src/corelib/io/qprocess_unix.cpp @@ -1,7 +1,7 @@ @@ -47,7 +56,7 @@ Last-Update: 2022-02-21 // Add every argument to the list for (int i = 0; i < arguments.count(); ++i) -@@ -983,15 +984,16 @@ bool QProcessPrivate::startDetached(qint +@@ -983,15 +984,16 @@ bool QProcessPrivate::startDetached(qint64 *pid) envp = _q_dupEnvironment(environment.d.constData()->vars, &envc); } @@ -70,9 +79,11 @@ Last-Update: 2022-02-21 if (envp) qt_safe_execve(argv[0], argv, envp); +diff --git a/tests/auto/widgets/kernel/qapplication/tst_qapplication.cpp b/tests/auto/widgets/kernel/qapplication/tst_qapplication.cpp +index 69a81bd..8e81425 100644 --- a/tests/auto/widgets/kernel/qapplication/tst_qapplication.cpp +++ b/tests/auto/widgets/kernel/qapplication/tst_qapplication.cpp -@@ -1493,7 +1493,7 @@ void tst_QApplication::desktopSettingsAw +@@ -1493,7 +1493,7 @@ void tst_QApplication::desktopSettingsAware() { #if QT_CONFIG(process) QProcess testProcess; diff --git a/debian/patches/armv4.diff b/debian/patches/armv4.diff index 531a29be..1082deb3 100644 --- a/debian/patches/armv4.diff +++ b/debian/patches/armv4.diff @@ -1,8 +1,15 @@ -Description: support ARMv4 architecture, needed for armel builds -Author: Dmitry Shachnev +From: Dmitry Shachnev +Date: Sat, 14 May 2022 17:41:01 +0800 +Subject: support ARMv4 architecture, needed for armel builds + Forwarded: no Last-Update: 2016-07-01 +--- + src/corelib/global/qprocessordetection.h | 5 +++++ + 1 file changed, 5 insertions(+) +diff --git a/src/corelib/global/qprocessordetection.h b/src/corelib/global/qprocessordetection.h +index 8d65720..a6ead54 100644 --- a/src/corelib/global/qprocessordetection.h +++ b/src/corelib/global/qprocessordetection.h @@ -132,6 +132,8 @@ diff --git a/debian/patches/cast_types_for_egl_x11_test.diff b/debian/patches/cast_types_for_egl_x11_test.diff index b581ca05..9e066d1c 100644 --- a/debian/patches/cast_types_for_egl_x11_test.diff +++ b/debian/patches/cast_types_for_egl_x11_test.diff @@ -1,7 +1,14 @@ -Description: properly cast types for libglvnd 1.3.4 -Origin: https://src.fedoraproject.org/rpms/qt5-qtbase/blob/rawhide/f/qtbase-everywhere-src-5.15.2-libglvnd.patch -Author: Rex Dieter +From: Rex Dieter +Date: Sat, 14 May 2022 17:41:01 +0800 +Subject: properly cast types for libglvnd 1.3.4 +Origin: https://src.fedoraproject.org/rpms/qt5-qtbase/blob/rawhide/f/qtbase-everywhere-src-5.15.2-libglvnd.patch +--- + src/gui/configure.json | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/gui/configure.json b/src/gui/configure.json +index 1f08795..f159568 100644 --- a/src/gui/configure.json +++ b/src/gui/configure.json @@ -838,9 +838,9 @@ diff --git a/debian/patches/cross_build_mysql.diff b/debian/patches/cross_build_mysql.diff index 9d5ce09c..14250be6 100644 --- a/debian/patches/cross_build_mysql.diff +++ b/debian/patches/cross_build_mysql.diff @@ -1,15 +1,25 @@ -Description: call pkgconfig in order to be able to cross build qtbase with MySql. - Qt's build system calls mysql_config... which won't work in a cross build - environment like Debian's, as it will throw an exec format error. - . - In order to solve this call pkgconfig and use mysqlclient.pc. -Author: Helmut Grohne +From: Helmut Grohne +Date: Sat, 14 May 2022 17:41:01 +0800 +Subject: call pkgconfig in order to be able to cross build qtbase with MySql. +MIME-Version: 1.0 +Content-Type: text/plain; charset="utf-8" +Content-Transfer-Encoding: 8bit + +Qt's build system calls mysql_config... which won't work in a cross build +environment like Debian's, as it will throw an exec format error. + +In order to solve this call pkgconfig and use mysqlclient.pc. Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=971604 Forwarded: not-needed Reviewed-by: Lisandro Damián Nicanor Pérez Meyer +--- + src/plugins/sqldrivers/configure.json | 1 + + 1 file changed, 1 insertion(+) ---- qtbase-opensource-src-5.14.2+dfsg.orig/src/plugins/sqldrivers/configure.json -+++ qtbase-opensource-src-5.14.2+dfsg/src/plugins/sqldrivers/configure.json +diff --git a/src/plugins/sqldrivers/configure.json b/src/plugins/sqldrivers/configure.json +index 9db93d6..5c35cd9 100644 +--- a/src/plugins/sqldrivers/configure.json ++++ b/src/plugins/sqldrivers/configure.json @@ -67,6 +67,7 @@ }, "headers": "mysql.h", diff --git a/debian/patches/fix-invalid-pointer-return-with-QGridLayout.diff b/debian/patches/fix-invalid-pointer-return-with-QGridLayout.diff index 9eac33dd..725879ad 100644 --- a/debian/patches/fix-invalid-pointer-return-with-QGridLayout.diff +++ b/debian/patches/fix-invalid-pointer-return-with-QGridLayout.diff @@ -1,4 +1,3 @@ -From c47bb4478a4c3a29c0505d7d89755f40601b326f Mon Sep 17 00:00:00 2001 From: Zhang Yu Date: Mon, 22 Feb 2021 09:25:01 +0800 Subject: [PATCH] Fix invalid pointer return with QGridLayout::itemAt(-1) @@ -11,12 +10,15 @@ Pick-to: 5.15 6.0 6.1 Change-Id: Idfb9fb6228b9707f817353b04974da16205a835c Reviewed-by: Giuseppe D'Angelo --- + src/widgets/kernel/qgridlayout.cpp | 6 +-- + .../widgets/kernel/qgridlayout/tst_qgridlayout.cpp | 51 ++++++++++++++++++++++ + 2 files changed, 54 insertions(+), 3 deletions(-) diff --git a/src/widgets/kernel/qgridlayout.cpp b/src/widgets/kernel/qgridlayout.cpp -index 121bae0..336a68c 100644 +index b4e8541..e2777b6 100644 --- a/src/widgets/kernel/qgridlayout.cpp +++ b/src/widgets/kernel/qgridlayout.cpp -@@ -149,14 +149,14 @@ +@@ -149,14 +149,14 @@ public: QRect cellRect(int row, int col) const; inline QLayoutItem *itemAt(int index) const { @@ -33,7 +35,7 @@ index 121bae0..336a68c 100644 if (QGridBox *b = things.takeAt(index)) { QLayoutItem *item = b->takeItem(); if (QLayout *l = item->layout()) { -@@ -184,7 +184,7 @@ +@@ -184,7 +184,7 @@ public: } void getItemPosition(int index, int *row, int *column, int *rowSpan, int *columnSpan) const { @@ -43,10 +45,10 @@ index 121bae0..336a68c 100644 int toRow = b->toRow(rr); int toCol = b->toCol(cc); diff --git a/tests/auto/widgets/kernel/qgridlayout/tst_qgridlayout.cpp b/tests/auto/widgets/kernel/qgridlayout/tst_qgridlayout.cpp -index e3bd1d1..2cf2462 100644 +index 1d63d14..d57da3c 100644 --- a/tests/auto/widgets/kernel/qgridlayout/tst_qgridlayout.cpp +++ b/tests/auto/widgets/kernel/qgridlayout/tst_qgridlayout.cpp -@@ -75,6 +75,7 @@ +@@ -75,6 +75,7 @@ private slots: void taskQTBUG_40609_addingWidgetToItsOwnLayout(); void taskQTBUG_40609_addingLayoutToItself(); void taskQTBUG_52357_spacingWhenItemIsHidden(); @@ -54,7 +56,7 @@ index e3bd1d1..2cf2462 100644 void replaceWidget(); void dontCrashWhenExtendsToEnd(); }; -@@ -1666,6 +1667,56 @@ +@@ -1666,6 +1667,56 @@ void tst_QGridLayout::taskQTBUG_52357_spacingWhenItemIsHidden() QTRY_COMPARE_WITH_TIMEOUT(tempWidth, button1.width() + button3.width() + layout.spacing(), 1000); } diff --git a/debian/patches/fix-misplacement-of-placeholder-text-in-QLineEdit.diff b/debian/patches/fix-misplacement-of-placeholder-text-in-QLineEdit.diff index 3a14d545..70c8cae3 100644 --- a/debian/patches/fix-misplacement-of-placeholder-text-in-QLineEdit.diff +++ b/debian/patches/fix-misplacement-of-placeholder-text-in-QLineEdit.diff @@ -1,24 +1,33 @@ -Description: fix misplacement of placeholder text in QLineEdit with RTL content - The placeholder text was rendered in the wrong position after clicking - on the clear button in a QLineEdit with right-to-left content. The - button was still taking up space while it was fading out, so the first - paintEvent rendered the placeholder with space reserved for the clear - button. Once the button gets hidden, no new update was issued, so - garbage was left behind. - . - Fix this by not giving a fading-out clear button any margin space. The - result of this is that the placeholder text is visible underneath the - fading-out clear button. This is preferable to the placeholder text - being first rendered next to the fading-out clear button, and then - popping to the edge when the clear button is hidden (which would have - been the result of issuing a complete update for the line edit at the - end of the fade-out animation). +From: Debian Qt/KDE Maintainers +Date: Sat, 14 May 2022 17:41:00 +0800 +Subject: fix misplacement of placeholder text in QLineEdit with RTL content + +The placeholder text was rendered in the wrong position after clicking +on the clear button in a QLineEdit with right-to-left content. The +button was still taking up space while it was fading out, so the first +paintEvent rendered the placeholder with space reserved for the clear +button. Once the button gets hidden, no new update was issued, so +garbage was left behind. + +Fix this by not giving a fading-out clear button any margin space. The +result of this is that the placeholder text is visible underneath the +fading-out clear button. This is preferable to the placeholder text +being first rendered next to the fading-out clear button, and then +popping to the edge when the clear button is hidden (which would have +been the result of issuing a complete update for the line edit at the +end of the fade-out animation). Origin: upstream, https://code.qt.io/cgit/qt/qtbase.git/commit/?id=dc794f7622bc00f7 Last-Update: 2021-06-16 +--- + src/widgets/widgets/qlineedit_p.cpp | 14 +++++++++++--- + src/widgets/widgets/qlineedit_p.h | 2 ++ + 2 files changed, 13 insertions(+), 3 deletions(-) +diff --git a/src/widgets/widgets/qlineedit_p.cpp b/src/widgets/widgets/qlineedit_p.cpp +index b854d9d..3eb3abc 100644 --- a/src/widgets/widgets/qlineedit_p.cpp +++ b/src/widgets/widgets/qlineedit_p.cpp -@@ -664,10 +664,18 @@ static int effectiveTextMargin(int defau +@@ -664,10 +664,18 @@ static int effectiveTextMargin(int defaultMargin, const QLineEditPrivate::SideWi if (widgets.empty()) return defaultMargin; @@ -40,6 +49,8 @@ Last-Update: 2021-06-16 } QMargins QLineEditPrivate::effectiveTextMargins() const +diff --git a/src/widgets/widgets/qlineedit_p.h b/src/widgets/widgets/qlineedit_p.h +index 5ae402b..bbe3e8e 100644 --- a/src/widgets/widgets/qlineedit_p.h +++ b/src/widgets/widgets/qlineedit_p.h @@ -95,6 +95,8 @@ public: diff --git a/debian/patches/fix-placement-of-placeholder-text-in-QLineEdits-with-action-icons.diff b/debian/patches/fix-placement-of-placeholder-text-in-QLineEdits-with-action-icons.diff index 5edbc66c..58208210 100644 --- a/debian/patches/fix-placement-of-placeholder-text-in-QLineEdits-with-action-icons.diff +++ b/debian/patches/fix-placement-of-placeholder-text-in-QLineEdits-with-action-icons.diff @@ -1,21 +1,31 @@ -Description: fix placement of placeholder text in QLineEdits with action icons - After dc794f7622bc00f7ca50fab65d6965695d6d2972, side widgets only got - space if they were not fading out, but the logic was not correctly - accounting for side widgets that never fade, such as buttons added via - QLineEdit::addAction. - . - Fix this to give visible widgets space, unless they are fading out. That - was the intent of the original change. Rename the variable to make its - purpose clearer, and reset it at the end of the fade-out animation. - . - Add a much-needed test that relies on private APIs to verify that the - effective margins are calculated correctly. +From: Debian Qt/KDE Maintainers +Date: Sat, 14 May 2022 17:41:00 +0800 +Subject: fix placement of placeholder text in QLineEdits with action icons + +After dc794f7622bc00f7ca50fab65d6965695d6d2972, side widgets only got +space if they were not fading out, but the logic was not correctly +accounting for side widgets that never fade, such as buttons added via +QLineEdit::addAction. + +Fix this to give visible widgets space, unless they are fading out. That +was the intent of the original change. Rename the variable to make its +purpose clearer, and reset it at the end of the fade-out animation. + +Add a much-needed test that relies on private APIs to verify that the +effective margins are calculated correctly. Origin: upstream, https://code.qt.io/cgit/qt/qtbase.git/commit/?id=0e6b31019f01c72e Last-Update: 2021-08-10 +--- + src/widgets/widgets/qlineedit_p.cpp | 5 +- + src/widgets/widgets/qlineedit_p.h | 9 ++- + .../widgets/widgets/qlineedit/tst_qlineedit.cpp | 66 ++++++++++++++++++++++ + 3 files changed, 75 insertions(+), 5 deletions(-) +diff --git a/src/widgets/widgets/qlineedit_p.cpp b/src/widgets/widgets/qlineedit_p.cpp +index 3eb3abc..bad36fd 100644 --- a/src/widgets/widgets/qlineedit_p.cpp +++ b/src/widgets/widgets/qlineedit_p.cpp -@@ -407,8 +407,9 @@ void QLineEditIconButton::setHideWithTex +@@ -407,8 +407,9 @@ void QLineEditIconButton::setHideWithText(bool hide) void QLineEditIconButton::onAnimationFinished() { @@ -26,7 +36,7 @@ Last-Update: 2021-08-10 // Invalidate previous geometry to take into account new size of side widgets if (auto le = lineEditPrivate()) -@@ -418,7 +419,7 @@ void QLineEditIconButton::onAnimationFin +@@ -418,7 +419,7 @@ void QLineEditIconButton::onAnimationFinished() void QLineEditIconButton::animateShow(bool visible) { @@ -35,6 +45,8 @@ Last-Update: 2021-08-10 if (shouldHideWithText() && !isVisible()) { show(); +diff --git a/src/widgets/widgets/qlineedit_p.h b/src/widgets/widgets/qlineedit_p.h +index bbe3e8e..f55210f 100644 --- a/src/widgets/widgets/qlineedit_p.h +++ b/src/widgets/widgets/qlineedit_p.h @@ -95,8 +95,11 @@ public: @@ -60,6 +72,8 @@ Last-Update: 2021-08-10 #endif }; +diff --git a/tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp b/tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp +index 6408df3..7c2203d 100644 --- a/tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp +++ b/tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp @@ -292,6 +292,7 @@ private slots: @@ -70,7 +84,7 @@ Last-Update: 2021-08-10 void shouldShowPlaceholderText_data(); void shouldShowPlaceholderText(); -@@ -4646,6 +4647,71 @@ void tst_QLineEdit::sideWidgetsActionEve +@@ -4646,6 +4647,71 @@ void tst_QLineEdit::sideWidgetsActionEvents() QCOMPARE(toolButton2->x(), toolButton1X); } diff --git a/debian/patches/fix_recursion_crash.diff b/debian/patches/fix_recursion_crash.diff index 18667ace..c98acd84 100644 --- a/debian/patches/fix_recursion_crash.diff +++ b/debian/patches/fix_recursion_crash.diff @@ -1,16 +1,26 @@ -Description: fix recursion crash when calling setStyleSheet with qproperty-styleSheet - When calling setStyleSheet with property qproperty-styleSheet, - QStyleSheetStyle::polish will call QStyleSheetStyle::setProperties, - and then QStyleSheetStyle::setProperties goes on to call setProperty. - Because there is property qproperty-styleSheet, it will update - stylesheet by calling QStyleSheetStyle::polish. - This causes the recursive call to crash. +From: Debian Qt/KDE Maintainers +Date: Sat, 14 May 2022 17:41:00 +0800 +Subject: fix recursion crash when calling setStyleSheet with + qproperty-styleSheet + +When calling setStyleSheet with property qproperty-styleSheet, +QStyleSheetStyle::polish will call QStyleSheetStyle::setProperties, +and then QStyleSheetStyle::setProperties goes on to call setProperty. +Because there is property qproperty-styleSheet, it will update +stylesheet by calling QStyleSheetStyle::polish. +This causes the recursive call to crash. Origin: upstream, https://code.qt.io/cgit/qt/qtbase.git/commit/?id=e9cdcc7cb314586a Last-Update: 2021-11-13 +--- + src/widgets/styles/qstylesheetstyle.cpp | 3 +++ + .../styles/qstylesheetstyle/tst_qstylesheetstyle.cpp | 18 ++++++++++++++++++ + 2 files changed, 21 insertions(+) +diff --git a/src/widgets/styles/qstylesheetstyle.cpp b/src/widgets/styles/qstylesheetstyle.cpp +index 53fff29..f9ab558 100644 --- a/src/widgets/styles/qstylesheetstyle.cpp +++ b/src/widgets/styles/qstylesheetstyle.cpp -@@ -2640,6 +2640,9 @@ void QStyleSheetStyle::setProperties(QWi +@@ -2640,6 +2640,9 @@ void QStyleSheetStyle::setProperties(QWidget *w) default: v = decl.d->values.at(0).variant; break; } @@ -20,6 +30,8 @@ Last-Update: 2021-11-13 w->setProperty(propertyL1, v); } } +diff --git a/tests/auto/widgets/styles/qstylesheetstyle/tst_qstylesheetstyle.cpp b/tests/auto/widgets/styles/qstylesheetstyle/tst_qstylesheetstyle.cpp +index 26868a7..5d67ce5 100644 --- a/tests/auto/widgets/styles/qstylesheetstyle/tst_qstylesheetstyle.cpp +++ b/tests/auto/widgets/styles/qstylesheetstyle/tst_qstylesheetstyle.cpp @@ -94,6 +94,7 @@ private slots: diff --git a/debian/patches/full_width_selection_rtl.diff b/debian/patches/full_width_selection_rtl.diff index 36d676cd..c166dd37 100644 --- a/debian/patches/full_width_selection_rtl.diff +++ b/debian/patches/full_width_selection_rtl.diff @@ -1,15 +1,23 @@ -Description: fix QTextFormat::FullWidthSelection for right-to-left text layouts - Using the QTextFormat::FullWidthSelection property to select a line - would previously not take into account right-to-left text layouts. - . - With this patch, the whole line should now be drawn correctly for both - left-to-right, and right-to-left layouts. +From: Debian Qt/KDE Maintainers +Date: Sat, 14 May 2022 17:41:00 +0800 +Subject: fix QTextFormat::FullWidthSelection for right-to-left text layouts + +Using the QTextFormat::FullWidthSelection property to select a line +would previously not take into account right-to-left text layouts. + +With this patch, the whole line should now be drawn correctly for both +left-to-right, and right-to-left layouts. Origin: upstream, https://code.qt.io/cgit/qt/qtbase.git/commit/?id=a7894855f2f59028 Last-Update: 2021-08-15 +--- + src/gui/text/qtextlayout.cpp | 15 +++++++++++---- + 1 file changed, 11 insertions(+), 4 deletions(-) +diff --git a/src/gui/text/qtextlayout.cpp b/src/gui/text/qtextlayout.cpp +index 5ae41d9..a82d061 100644 --- a/src/gui/text/qtextlayout.cpp +++ b/src/gui/text/qtextlayout.cpp -@@ -1173,10 +1173,17 @@ void QTextLayout::draw(QPainter *p, cons +@@ -1173,10 +1173,17 @@ void QTextLayout::draw(QPainter *p, const QPointF &pos, const QVector +Date: Sat, 14 May 2022 17:41:00 +0800 +Subject: QPushButton/fusion style: don't ignore QIcon::On icon + +The fusion style did ignore the QIcon::On icon because it reset +State_On to avoid the visual shift of a pressed button. +But it's not needed to reset this flag - the shift does not happen +because the fusion style does return 0 as offset for +PM_ButtonShiftHorizontal/PM_ButtonShiftVertical so no shifting will +happen. Origin: upstream, https://code.qt.io/cgit/qt/qtbase.git/commit/?id=e9ccdf4d84157173 Last-Update: 2021-08-10 +--- + src/widgets/styles/qfusionstyle.cpp | 8 -------- + 1 file changed, 8 deletions(-) +diff --git a/src/widgets/styles/qfusionstyle.cpp b/src/widgets/styles/qfusionstyle.cpp +index f4345d9..962912c 100644 --- a/src/widgets/styles/qfusionstyle.cpp +++ b/src/widgets/styles/qfusionstyle.cpp -@@ -1772,14 +1772,6 @@ void QFusionStyle::drawControl(ControlEl +@@ -1772,14 +1772,6 @@ void QFusionStyle::drawControl(ControlElement element, const QStyleOption *optio proxy()->drawControl(CE_PushButtonLabel, &subopt, painter, widget); } break; diff --git a/debian/patches/gcc-11-qtconcurrentthreadengine.diff b/debian/patches/gcc-11-qtconcurrentthreadengine.diff index 8cdeb076..07870068 100644 --- a/debian/patches/gcc-11-qtconcurrentthreadengine.diff +++ b/debian/patches/gcc-11-qtconcurrentthreadengine.diff @@ -1,9 +1,17 @@ -Description: Fix builds of qtconcurrentthreadengine.h with GCC 11 - Without this patch, all the code that #includes QtConcurrent headers - will fail to compile with GCC 11. +From: Debian Qt/KDE Maintainers +Date: Sat, 14 May 2022 17:41:01 +0800 +Subject: Fix builds of qtconcurrentthreadengine.h with GCC 11 + +Without this patch, all the code that #includes QtConcurrent headers +will fail to compile with GCC 11. Origin: upstream, https://codereview.qt-project.org/c/qt/qtbase/+/339417 Last-Update: 2022-04-01 +--- + src/concurrent/qtconcurrentthreadengine.h | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) +diff --git a/src/concurrent/qtconcurrentthreadengine.h b/src/concurrent/qtconcurrentthreadengine.h +index af41370..a4c8548 100644 --- a/src/concurrent/qtconcurrentthreadengine.h +++ b/src/concurrent/qtconcurrentthreadengine.h @@ -247,8 +247,8 @@ template <> diff --git a/debian/patches/gcc_11_limits.diff b/debian/patches/gcc_11_limits.diff index c254e12c..47503eaa 100644 --- a/debian/patches/gcc_11_limits.diff +++ b/debian/patches/gcc_11_limits.diff @@ -1,7 +1,15 @@ -Description: include to fix GCC 11 build +From: Debian Qt/KDE Maintainers +Date: Sat, 14 May 2022 17:41:00 +0800 +Subject: include to fix GCC 11 build + Origin: upstream, https://code.qt.io/cgit/qt/qtbase.git/commit/?id=813a928c7c3cf986 Last-Update: 2022-03-03 +--- + src/corelib/text/qbytearraymatcher.h | 2 ++ + 1 file changed, 2 insertions(+) +diff --git a/src/corelib/text/qbytearraymatcher.h b/src/corelib/text/qbytearraymatcher.h +index 0eedfc1..f5f9bef 100644 --- a/src/corelib/text/qbytearraymatcher.h +++ b/src/corelib/text/qbytearraymatcher.h @@ -42,6 +42,8 @@ diff --git a/debian/patches/gnukfreebsd.diff b/debian/patches/gnukfreebsd.diff index 079c02ff..54ede133 100644 --- a/debian/patches/gnukfreebsd.diff +++ b/debian/patches/gnukfreebsd.diff @@ -1,16 +1,35 @@ -Author: Pino Toscano -Description: Initial GNU/kFreeBSD support - - add a gnukfreebsd-g++ qmake mkspec, mostly copied from the hurd-g++ one - - properly use LD_LIBRARY_PATH on GNU/* systems +From: Pino Toscano +Date: Sat, 14 May 2022 17:41:01 +0800 +Subject: Initial GNU/kFreeBSD support + +- add a gnukfreebsd-g++ qmake mkspec, mostly copied from the hurd-g++ one +- properly use LD_LIBRARY_PATH on GNU/* systems Last-Update: 2015-06-03 Forwarded: no - --- - mkspecs/features/qt_functions.prf | 2 - mkspecs/gnukfreebsd-g++/qmake.conf | 54 ++++++++++++++++++++ - mkspecs/gnukfreebsd-g++/qplatformdefs.h | 84 ++++++++++++++++++++++++++++++++ + mkspecs/features/qt_functions.prf | 2 + + mkspecs/gnukfreebsd-g++/qmake.conf | 54 +++++++++++++++++++++ + mkspecs/gnukfreebsd-g++/qplatformdefs.h | 84 +++++++++++++++++++++++++++++++++ 3 files changed, 140 insertions(+) + create mode 100644 mkspecs/gnukfreebsd-g++/qmake.conf + create mode 100644 mkspecs/gnukfreebsd-g++/qplatformdefs.h +diff --git a/mkspecs/features/qt_functions.prf b/mkspecs/features/qt_functions.prf +index 7777e61..87f054a 100644 +--- a/mkspecs/features/qt_functions.prf ++++ b/mkspecs/features/qt_functions.prf +@@ -215,6 +215,8 @@ defineTest(qtAddTargetEnv) { + deppath.name = PATH + } else:contains(QMAKE_HOST.os, Linux|FreeBSD|OpenBSD|NetBSD|DragonFly|SunOS|HP-UX|QNX|GNU) { + deppath.name = LD_LIBRARY_PATH ++ } else:contains(QMAKE_HOST.os, ^GNU/.*) { ++ deppath.name = LD_LIBRARY_PATH + } else:contains(QMAKE_HOST.os, Haiku) { + deppath.name = LIBRARY_PATH + } else:equals(QMAKE_HOST.os, Darwin) { +diff --git a/mkspecs/gnukfreebsd-g++/qmake.conf b/mkspecs/gnukfreebsd-g++/qmake.conf +new file mode 100644 +index 0000000..5637201 --- /dev/null +++ b/mkspecs/gnukfreebsd-g++/qmake.conf @@ -0,0 +1,54 @@ @@ -68,6 +87,9 @@ Forwarded: no +include(../common/gcc-base-unix.conf) +include(../common/g++-unix.conf) +load(qt_config) +diff --git a/mkspecs/gnukfreebsd-g++/qplatformdefs.h b/mkspecs/gnukfreebsd-g++/qplatformdefs.h +new file mode 100644 +index 0000000..90aeac2 --- /dev/null +++ b/mkspecs/gnukfreebsd-g++/qplatformdefs.h @@ -0,0 +1,84 @@ @@ -155,14 +177,3 @@ Forwarded: no +#endif + +#endif // QPLATFORMDEFS_H ---- a/mkspecs/features/qt_functions.prf -+++ b/mkspecs/features/qt_functions.prf -@@ -215,6 +215,8 @@ defineTest(qtAddTargetEnv) { - deppath.name = PATH - } else:contains(QMAKE_HOST.os, Linux|FreeBSD|OpenBSD|NetBSD|DragonFly|SunOS|HP-UX|QNX|GNU) { - deppath.name = LD_LIBRARY_PATH -+ } else:contains(QMAKE_HOST.os, ^GNU/.*) { -+ deppath.name = LD_LIBRARY_PATH - } else:contains(QMAKE_HOST.os, Haiku) { - deppath.name = LIBRARY_PATH - } else:equals(QMAKE_HOST.os, Darwin) { diff --git a/debian/patches/gnukfreebsd_linker_warnings.diff b/debian/patches/gnukfreebsd_linker_warnings.diff index 9e30c4c1..5c3f5a0c 100644 --- a/debian/patches/gnukfreebsd_linker_warnings.diff +++ b/debian/patches/gnukfreebsd_linker_warnings.diff @@ -1,17 +1,20 @@ -Description: catch linker warnings in some config tests - Without this, qmake wrongly thinks that the tests succeed, for example: - . - ./config.tests/unix/futimens/futimens.cpp:44: warning: futimens is not implemented and will always fail - test config.corelib.tests.futimens succeeded -Author: Dmitry Shachnev +From: Dmitry Shachnev +Date: Sat, 14 May 2022 17:41:01 +0800 +Subject: catch linker warnings in some config tests + +Without this, qmake wrongly thinks that the tests succeed, for example: + +./config.tests/unix/futimens/futimens.cpp:44: warning: futimens is not implemented and will always fail +test config.corelib.tests.futimens succeeded Forwarded: https://codereview.qt-project.org/163214 (rejected) Bug: https://bugs.debian.org/827935 Last-Update: 2019-03-02 - --- - src/corelib/configure.json | 3 +++ + src/corelib/configure.json | 3 +++ 1 file changed, 3 insertions(+) +diff --git a/src/corelib/configure.json b/src/corelib/configure.json +index 9b5d19d..3cf77dc 100644 --- a/src/corelib/configure.json +++ b/src/corelib/configure.json @@ -331,6 +331,7 @@ diff --git a/debian/patches/link_fbclient.diff b/debian/patches/link_fbclient.diff index e2fed427..5a7c58c1 100644 --- a/debian/patches/link_fbclient.diff +++ b/debian/patches/link_fbclient.diff @@ -1,9 +1,15 @@ -Description: build ibase sql plugin against firebird -Author: Fathi Boudra -Author: Dmitry Shachnev +From: Fathi Boudra +Date: Sat, 14 May 2022 17:41:01 +0800 +Subject: build ibase sql plugin against firebird + Forwarded: no Last-Update: 2017-06-30 +--- + src/plugins/sqldrivers/configure.json | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) +diff --git a/src/plugins/sqldrivers/configure.json b/src/plugins/sqldrivers/configure.json +index 28ccbea..9db93d6 100644 --- a/src/plugins/sqldrivers/configure.json +++ b/src/plugins/sqldrivers/configure.json @@ -52,7 +52,7 @@ diff --git a/debian/patches/mime_globs.diff b/debian/patches/mime_globs.diff index 1c66eba3..36575bbf 100644 --- a/debian/patches/mime_globs.diff +++ b/debian/patches/mime_globs.diff @@ -1,13 +1,22 @@ -Description: adjust QMimeDatabase implementation - When multiple globs match, and the result from magic sniffing is - unrelated to any of those globs, globs have priority and one of them - should be picked up. +From: Debian Qt/KDE Maintainers +Date: Sat, 14 May 2022 17:41:00 +0800 +Subject: adjust QMimeDatabase implementation + +When multiple globs match, and the result from magic sniffing is +unrelated to any of those globs, globs have priority and one of them +should be picked up. Origin: upstream, https://code.qt.io/cgit/qt/qtbase.git/commit/?id=0cbbba2aa5b47224 Last-Update: 2021-06-12 +--- + src/corelib/mimetypes/qmimedatabase.cpp | 11 +++++++---- + src/corelib/mimetypes/qmimeglobpattern.cpp | 5 ++++- + 2 files changed, 11 insertions(+), 5 deletions(-) +diff --git a/src/corelib/mimetypes/qmimedatabase.cpp b/src/corelib/mimetypes/qmimedatabase.cpp +index 9de22ce..ff868a3 100644 --- a/src/corelib/mimetypes/qmimedatabase.cpp +++ b/src/corelib/mimetypes/qmimedatabase.cpp -@@ -389,20 +389,23 @@ QMimeType QMimeDatabasePrivate::mimeType +@@ -389,20 +389,23 @@ QMimeType QMimeDatabasePrivate::mimeTypeForFileNameAndData(const QString &fileNa // Disambiguate conflicting extensions (if magic matching found something) if (candidateByData.isValid() && magicAccuracy > 0) { const QString sniffedMime = candidateByData.name(); @@ -35,9 +44,11 @@ Last-Update: 2021-06-12 } } +diff --git a/src/corelib/mimetypes/qmimeglobpattern.cpp b/src/corelib/mimetypes/qmimeglobpattern.cpp +index 1016884..943eb84 100644 --- a/src/corelib/mimetypes/qmimeglobpattern.cpp +++ b/src/corelib/mimetypes/qmimeglobpattern.cpp -@@ -83,7 +83,10 @@ void QMimeGlobMatchResult::addMatch(cons +@@ -83,7 +83,10 @@ void QMimeGlobMatchResult::addMatch(const QString &mimeType, int weight, const Q } if (!m_matchingMimeTypes.contains(mimeType)) { m_matchingMimeTypes.append(mimeType); diff --git a/debian/patches/moc_handle_include.diff b/debian/patches/moc_handle_include.diff index a337b494..fd93b415 100644 --- a/debian/patches/moc_handle_include.diff +++ b/debian/patches/moc_handle_include.diff @@ -1,12 +1,21 @@ -Description: handle even more include in enum cases - The solution in d3ed7dac8aa2f4ede0c409254b9dd44842086be0 was needlessly - complicated, and broke a valid use case. - The issue of no identifier being available to parse after the include - has been processed can instead be solved by moving the test for the - closing brace after the include processing. +From: Debian Qt/KDE Maintainers +Date: Sat, 14 May 2022 17:41:01 +0800 +Subject: handle even more include in enum cases + +The solution in d3ed7dac8aa2f4ede0c409254b9dd44842086be0 was needlessly +complicated, and broke a valid use case. +The issue of no identifier being available to parse after the include +has been processed can instead be solved by moving the test for the +closing brace after the include processing. Origin: upstream, https://code.qt.io/cgit/qt/qtbase.git/commit/?id=87973325f1b99f2b Last-Update: 2022-04-07 +--- + src/tools/moc/moc.cpp | 3 +-- + tests/auto/tools/moc/enum_with_include.h | 5 +++++ + 2 files changed, 6 insertions(+), 2 deletions(-) +diff --git a/src/tools/moc/moc.cpp b/src/tools/moc/moc.cpp +index 7389919..28c7a43 100644 --- a/src/tools/moc/moc.cpp +++ b/src/tools/moc/moc.cpp @@ -305,10 +305,9 @@ bool Moc::parseEnum(EnumDef *def) @@ -21,6 +30,8 @@ Last-Update: 2022-04-07 next(IDENTIFIER); def->values += lexem(); handleInclude(); +diff --git a/tests/auto/tools/moc/enum_with_include.h b/tests/auto/tools/moc/enum_with_include.h +index b8abf77..cd53ba6 100644 --- a/tests/auto/tools/moc/enum_with_include.h +++ b/tests/auto/tools/moc/enum_with_include.h @@ -34,6 +34,11 @@ class Foo : public QObject { diff --git a/debian/patches/mysql_field_readonly.diff b/debian/patches/mysql_field_readonly.diff index c33b7524..edffbffe 100644 --- a/debian/patches/mysql_field_readonly.diff +++ b/debian/patches/mysql_field_readonly.diff @@ -1,12 +1,20 @@ -Description: treat the MYSQL_FIELD as read-only - The MariaDB-connector-c version 3.2 and MariaDB server version 10.6 - cooperate to avoid re-transferring the query metadata, so the fact that - we were modifying it was causing it to improperly decode the DATETIME - data types into string, as we had asked. We ended up with a 7-byte - string that was actually the date binary-encoded. +From: Debian Qt/KDE Maintainers +Date: Sat, 14 May 2022 17:41:00 +0800 +Subject: treat the MYSQL_FIELD as read-only + +The MariaDB-connector-c version 3.2 and MariaDB server version 10.6 +cooperate to avoid re-transferring the query metadata, so the fact that +we were modifying it was causing it to improperly decode the DATETIME +data types into string, as we had asked. We ended up with a 7-byte +string that was actually the date binary-encoded. Origin: upstream, https://code.qt.io/cgit/qt/qtbase.git/commit/?id=549ee216fd5bf2b3 Last-Update: 2021-11-13 +--- + src/plugins/sqldrivers/mysql/qsql_mysql.cpp | 28 +++++++++++++--------------- + 1 file changed, 13 insertions(+), 15 deletions(-) +diff --git a/src/plugins/sqldrivers/mysql/qsql_mysql.cpp b/src/plugins/sqldrivers/mysql/qsql_mysql.cpp +index 7ca055e..49a6ae5 100644 --- a/src/plugins/sqldrivers/mysql/qsql_mysql.cpp +++ b/src/plugins/sqldrivers/mysql/qsql_mysql.cpp @@ -223,7 +223,7 @@ public: diff --git a/debian/patches/mysql_remove_version_checks.diff b/debian/patches/mysql_remove_version_checks.diff index 40b7f1d5..5612f30a 100644 --- a/debian/patches/mysql_remove_version_checks.diff +++ b/debian/patches/mysql_remove_version_checks.diff @@ -1,17 +1,25 @@ -Description: remove the version number checks in favor of actual functionality - MariaDB library version 3.2 no longer returns the server version in the - 10.x range but the library version itself, which is lower than 4.x. That - meant we concluded the server did not support prepared statements. - . - And because of the lack of prepared statements, all QDateTime - conversions failed, because of the timezone. I don't know if this was - intended or what, but it's a side issue. +From: Debian Qt/KDE Maintainers +Date: Sat, 14 May 2022 17:41:00 +0800 +Subject: remove the version number checks in favor of actual functionality + +MariaDB library version 3.2 no longer returns the server version in the +10.x range but the library version itself, which is lower than 4.x. That +meant we concluded the server did not support prepared statements. + +And because of the lack of prepared statements, all QDateTime +conversions failed, because of the timezone. I don't know if this was +intended or what, but it's a side issue. Origin: upstream, https://code.qt.io/cgit/qt/qtbase.git/commit/?id=211369133cf40b2f Last-Update: 2021-08-10 +--- + src/plugins/sqldrivers/mysql/qsql_mysql.cpp | 17 +++++++++++++++-- + 1 file changed, 15 insertions(+), 2 deletions(-) +diff --git a/src/plugins/sqldrivers/mysql/qsql_mysql.cpp b/src/plugins/sqldrivers/mysql/qsql_mysql.cpp +index a641935..7ca055e 100644 --- a/src/plugins/sqldrivers/mysql/qsql_mysql.cpp +++ b/src/plugins/sqldrivers/mysql/qsql_mysql.cpp -@@ -158,6 +158,20 @@ static inline QVariant qDateTimeFromStri +@@ -158,6 +158,20 @@ static inline QVariant qDateTimeFromString(QString &val) #endif } @@ -32,7 +40,7 @@ Last-Update: 2021-08-10 class QMYSQLResultPrivate; class QMYSQLResult : public QSqlResult -@@ -1371,8 +1385,7 @@ bool QMYSQLDriver::open(const QString& d +@@ -1371,8 +1385,7 @@ bool QMYSQLDriver::open(const QString& db, } #endif // MYSQL_VERSION_ID >= 50007 diff --git a/debian/patches/no_htmlinfo_example.diff b/debian/patches/no_htmlinfo_example.diff index 8632c4a9..28e9fec5 100644 --- a/debian/patches/no_htmlinfo_example.diff +++ b/debian/patches/no_htmlinfo_example.diff @@ -1,8 +1,15 @@ -Description: disable htmlinfo example which contains non-free files -Author: Dmitry Shachnev +From: Dmitry Shachnev +Date: Sat, 14 May 2022 17:41:01 +0800 +Subject: disable htmlinfo example which contains non-free files + Forwarded: not-needed Last-Update: 2014-12-17 +--- + examples/xml/xml.pro | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) +diff --git a/examples/xml/xml.pro b/examples/xml/xml.pro +index b075057..1c78e6b 100644 --- a/examples/xml/xml.pro +++ b/examples/xml/xml.pro @@ -1,6 +1,5 @@ diff --git a/debian/patches/nonlinux_utime.diff b/debian/patches/nonlinux_utime.diff index ae67a471..07d643cc 100644 --- a/debian/patches/nonlinux_utime.diff +++ b/debian/patches/nonlinux_utime.diff @@ -1,17 +1,19 @@ -Description: guard UTIME_NOW/UTIME_OMIT usages -Author: Dmitry Shachnev -Author: Pino Toscano +From: Dmitry Shachnev +Date: Sat, 14 May 2022 17:41:01 +0800 +Subject: guard UTIME_NOW/UTIME_OMIT usages + Forwarded: no Last-Update: 2018-02-22 - --- - qmake/library/ioutils.cpp | 2 +- - src/corelib/io/qfilesystemengine_unix.cpp | 2 +- + qmake/library/ioutils.cpp | 2 +- + src/corelib/io/qfilesystemengine_unix.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) +diff --git a/qmake/library/ioutils.cpp b/qmake/library/ioutils.cpp +index d217127..6fada00 100644 --- a/qmake/library/ioutils.cpp +++ b/qmake/library/ioutils.cpp -@@ -228,7 +228,7 @@ bool IoUtils::touchFile(const QString &t +@@ -228,7 +228,7 @@ bool IoUtils::touchFile(const QString &targetFileName, const QString &referenceF *errorString = fL1S("Cannot stat() reference file %1: %2.").arg(referenceFileName, fL1S(strerror(errno))); return false; } @@ -20,9 +22,11 @@ Last-Update: 2018-02-22 const struct timespec times[2] = { { 0, UTIME_NOW }, st.st_mtim }; const bool utimeError = utimensat(AT_FDCWD, targetFileName.toLocal8Bit().constData(), times, 0) < 0; # else +diff --git a/src/corelib/io/qfilesystemengine_unix.cpp b/src/corelib/io/qfilesystemengine_unix.cpp +index 231e5cb..3cbf032 100644 --- a/src/corelib/io/qfilesystemengine_unix.cpp +++ b/src/corelib/io/qfilesystemengine_unix.cpp -@@ -1595,7 +1595,7 @@ bool QFileSystemEngine::setFileTime(int +@@ -1595,7 +1595,7 @@ bool QFileSystemEngine::setFileTime(int fd, const QDateTime &newDate, QAbstractF return false; } diff --git a/debian/patches/openssl3.diff b/debian/patches/openssl3.diff index c394e686..8872e104 100644 --- a/debian/patches/openssl3.diff +++ b/debian/patches/openssl3.diff @@ -1,4 +1,7 @@ -Description: upstream fixes to support OpenSSL 3.0 +From: Debian Qt/KDE Maintainers +Date: Sat, 14 May 2022 17:41:00 +0800 +Subject: upstream fixes to support OpenSSL 3.0 + Origin: upstream, commits https://code.qt.io/cgit/qt/qtbase.git/commit/?id=3186ca3e3972cf46 https://code.qt.io/cgit/qt/qtbase.git/commit/?id=408656c6f9de326c @@ -6,7 +9,15 @@ Origin: upstream, commits and a small part of https://code.qt.io/cgit/qt/qtbase.git/commit/?id=4c0f81490ba0c4ec Last-Update: 2021-12-09 +--- + src/network/ssl/qsslcontext_openssl.cpp | 4 +- + .../ssl/qssldiffiehellmanparameters_openssl.cpp | 51 ---------------------- + src/network/ssl/qsslsocket_openssl_symbols.cpp | 22 +++++++--- + src/network/ssl/qsslsocket_openssl_symbols_p.h | 16 ++++--- + 4 files changed, 29 insertions(+), 64 deletions(-) +diff --git a/src/network/ssl/qsslcontext_openssl.cpp b/src/network/ssl/qsslcontext_openssl.cpp +index c9f202f..d0a428c 100644 --- a/src/network/ssl/qsslcontext_openssl.cpp +++ b/src/network/ssl/qsslcontext_openssl.cpp @@ -409,7 +409,7 @@ init_context: @@ -27,6 +38,8 @@ Last-Update: 2021-12-09 break; case QSsl::TlsV1_3OrLater: #ifdef TLS1_3_VERSION +diff --git a/src/network/ssl/qssldiffiehellmanparameters_openssl.cpp b/src/network/ssl/qssldiffiehellmanparameters_openssl.cpp +index aaf8741..b589353 100644 --- a/src/network/ssl/qssldiffiehellmanparameters_openssl.cpp +++ b/src/network/ssl/qssldiffiehellmanparameters_openssl.cpp @@ -59,57 +59,6 @@ @@ -87,9 +100,11 @@ Last-Update: 2021-12-09 static bool isSafeDH(DH *dh) { int status = 0; +diff --git a/src/network/ssl/qsslsocket_openssl_symbols.cpp b/src/network/ssl/qsslsocket_openssl_symbols.cpp +index 94aa5a5..f89f520 100644 --- a/src/network/ssl/qsslsocket_openssl_symbols.cpp +++ b/src/network/ssl/qsslsocket_openssl_symbols.cpp -@@ -148,7 +148,6 @@ DEFINEFUNC(int, EVP_PKEY_up_ref, EVP_PKE +@@ -148,7 +148,6 @@ DEFINEFUNC(int, EVP_PKEY_up_ref, EVP_PKEY *a, a, return 0, return) DEFINEFUNC2(EVP_PKEY_CTX *, EVP_PKEY_CTX_new, EVP_PKEY *pkey, pkey, ENGINE *e, e, return nullptr, return) DEFINEFUNC(int, EVP_PKEY_param_check, EVP_PKEY_CTX *ctx, ctx, return 0, return) DEFINEFUNC(void, EVP_PKEY_CTX_free, EVP_PKEY_CTX *ctx, ctx, return, return) @@ -97,7 +112,7 @@ Last-Update: 2021-12-09 DEFINEFUNC(int, RSA_bits, RSA *a, a, return 0, return) DEFINEFUNC(int, DSA_bits, DSA *a, a, return 0, return) DEFINEFUNC(int, OPENSSL_sk_num, OPENSSL_STACK *a, a, return -1, return) -@@ -368,7 +367,15 @@ DEFINEFUNC(const SSL_CIPHER *, SSL_get_c +@@ -368,7 +367,15 @@ DEFINEFUNC(const SSL_CIPHER *, SSL_get_current_cipher, SSL *a, a, return nullptr DEFINEFUNC(int, SSL_version, const SSL *a, a, return 0, return) DEFINEFUNC2(int, SSL_get_error, SSL *a, a, int b, b, return -1, return) DEFINEFUNC(STACK_OF(X509) *, SSL_get_peer_cert_chain, SSL *a, a, return nullptr, return) @@ -113,7 +128,7 @@ Last-Update: 2021-12-09 DEFINEFUNC(long, SSL_get_verify_result, const SSL *a, a, return -1, return) DEFINEFUNC(SSL *, SSL_new, SSL_CTX *a, a, return nullptr, return) DEFINEFUNC(SSL_CTX *, SSL_get_SSL_CTX, SSL *a, a, return nullptr, return) -@@ -489,9 +496,7 @@ DEFINEFUNC(DH *, DH_new, DUMMYARG, DUMMY +@@ -489,9 +496,7 @@ DEFINEFUNC(DH *, DH_new, DUMMYARG, DUMMYARG, return nullptr, return) DEFINEFUNC(void, DH_free, DH *dh, dh, return, DUMMYARG) DEFINEFUNC3(DH *, d2i_DHparams, DH**a, a, const unsigned char **pp, pp, long length, length, return nullptr, return) DEFINEFUNC2(int, i2d_DHparams, DH *a, a, unsigned char **p, p, return -1, return) @@ -157,9 +172,11 @@ Last-Update: 2021-12-09 RESOLVEFUNC(BN_bin2bn) #ifndef OPENSSL_NO_EC +diff --git a/src/network/ssl/qsslsocket_openssl_symbols_p.h b/src/network/ssl/qsslsocket_openssl_symbols_p.h +index c46afcf..b36d0bc 100644 --- a/src/network/ssl/qsslsocket_openssl_symbols_p.h +++ b/src/network/ssl/qsslsocket_openssl_symbols_p.h -@@ -236,7 +236,6 @@ Q_AUTOTEST_EXPORT int q_EVP_PKEY_up_ref( +@@ -236,7 +236,6 @@ Q_AUTOTEST_EXPORT int q_EVP_PKEY_up_ref(EVP_PKEY *a); EVP_PKEY_CTX *q_EVP_PKEY_CTX_new(EVP_PKEY *pkey, ENGINE *e); void q_EVP_PKEY_CTX_free(EVP_PKEY_CTX *ctx); int q_EVP_PKEY_param_check(EVP_PKEY_CTX *ctx); @@ -167,7 +184,7 @@ Last-Update: 2021-12-09 int q_RSA_bits(RSA *a); Q_AUTOTEST_EXPORT int q_OPENSSL_sk_num(OPENSSL_STACK *a); Q_AUTOTEST_EXPORT void q_OPENSSL_sk_pop_free(OPENSSL_STACK *a, void (*b)(void *)); -@@ -509,7 +508,6 @@ const SSL_CIPHER *q_SSL_get_current_ciph +@@ -509,7 +508,6 @@ const SSL_CIPHER *q_SSL_get_current_cipher(SSL *a); int q_SSL_version(const SSL *a); int q_SSL_get_error(SSL *a, int b); STACK_OF(X509) *q_SSL_get_peer_cert_chain(SSL *a); @@ -186,7 +203,7 @@ Last-Update: 2021-12-09 BIGNUM *q_BN_bin2bn(const unsigned char *s, int len, BIGNUM *ret); #define q_SSL_CTX_set_tmp_dh(ctx, dh) q_SSL_CTX_ctrl((ctx), SSL_CTRL_SET_TMP_DH, 0, (char *)dh) -@@ -751,6 +746,17 @@ void *q_CRYPTO_malloc(size_t num, const +@@ -751,6 +746,17 @@ void *q_CRYPTO_malloc(size_t num, const char *file, int line); int q_SSL_CTX_get_security_level(const SSL_CTX *ctx); void q_SSL_CTX_set_security_level(SSL_CTX *ctx, int level); diff --git a/debian/patches/path_max.diff b/debian/patches/path_max.diff index b9014fac..098300c4 100644 --- a/debian/patches/path_max.diff +++ b/debian/patches/path_max.diff @@ -1,13 +1,20 @@ -Author: Pino Toscano -Description: Avoid unconditional PATH_MAX usage - Use a "safe" size in case PATH_MAX is not defined; in the end, this should not - be used, as a allocating realpath() will be used instead. +From: Pino Toscano +Date: Sat, 14 May 2022 17:41:01 +0800 +Subject: Avoid unconditional PATH_MAX usage + +Use a "safe" size in case PATH_MAX is not defined; in the end, this should not +be used, as a allocating realpath() will be used instead. Forwarded: no Last-Update: 2020-04-19 +--- + src/corelib/io/qfilesystemengine_unix.cpp | 4 ++++ + 1 file changed, 4 insertions(+) +diff --git a/src/corelib/io/qfilesystemengine_unix.cpp b/src/corelib/io/qfilesystemengine_unix.cpp +index 3cbf032..2432171 100644 --- a/src/corelib/io/qfilesystemengine_unix.cpp +++ b/src/corelib/io/qfilesystemengine_unix.cpp -@@ -689,7 +689,11 @@ QFileSystemEntry QFileSystemEngine::cano +@@ -689,7 +689,11 @@ QFileSystemEntry QFileSystemEngine::canonicalName(const QFileSystemEntry &entry, Q_UNUSED(data); return QFileSystemEntry(slowCanonicalized(absoluteName(entry).filePath())); #else diff --git a/debian/patches/qdoc_default_incdirs.diff b/debian/patches/qdoc_default_incdirs.diff index 4c559a3e..51d508f1 100644 --- a/debian/patches/qdoc_default_incdirs.diff +++ b/debian/patches/qdoc_default_incdirs.diff @@ -1,13 +1,16 @@ -Description: pass default include directories to qdoc -Author: Martin Smith +From: Martin Smith +Date: Sat, 14 May 2022 17:41:01 +0800 +Subject: pass default include directories to qdoc + Bug: https://bugs.debian.org/908328 Forwarded: no Last-Update: 2020-01-28 - --- - mkspecs/features/qt_docs.prf | 4 ++++ + mkspecs/features/qt_docs.prf | 4 ++++ 1 file changed, 4 insertions(+) +diff --git a/mkspecs/features/qt_docs.prf b/mkspecs/features/qt_docs.prf +index 095bf15..5178a7d 100644 --- a/mkspecs/features/qt_docs.prf +++ b/mkspecs/features/qt_docs.prf @@ -98,6 +98,10 @@ doc_command = $$QDOC $$QMAKE_DOCS diff --git a/debian/patches/qstorageinfo_linux.diff b/debian/patches/qstorageinfo_linux.diff index b1da1fc8..fb51f997 100644 --- a/debian/patches/qstorageinfo_linux.diff +++ b/debian/patches/qstorageinfo_linux.diff @@ -1,16 +1,23 @@ -Author: Pino Toscano -Description: Limit Linux-only code with Q_OS_LINUX - The QStorageInfo/QStorageIterator implementation used for Linux is used also - on Hurd, as it uses an interface provided by GNU libc. - QStorageIterator::device() tries to use PATH_MAX (unavailable on the Hurd) - to lookup a /dev/block/ path, which exists on Linux only; hence, perform that - check within a Q_OS_LINUX block. +From: Pino Toscano +Date: Sat, 14 May 2022 17:41:01 +0800 +Subject: Limit Linux-only code with Q_OS_LINUX + +The QStorageInfo/QStorageIterator implementation used for Linux is used also +on Hurd, as it uses an interface provided by GNU libc. +QStorageIterator::device() tries to use PATH_MAX (unavailable on the Hurd) +to lookup a /dev/block/ path, which exists on Linux only; hence, perform that +check within a Q_OS_LINUX block. Forwarded: no Last-Update: 2020-04-19 +--- + src/corelib/io/qstorageinfo_unix.cpp | 2 ++ + 1 file changed, 2 insertions(+) +diff --git a/src/corelib/io/qstorageinfo_unix.cpp b/src/corelib/io/qstorageinfo_unix.cpp +index 698c4dd..45570ee 100644 --- a/src/corelib/io/qstorageinfo_unix.cpp +++ b/src/corelib/io/qstorageinfo_unix.cpp -@@ -566,6 +566,7 @@ inline QByteArray QStorageIterator::file +@@ -566,6 +566,7 @@ inline QByteArray QStorageIterator::fileSystemType() const inline QByteArray QStorageIterator::device() const { @@ -18,7 +25,7 @@ Last-Update: 2020-04-19 // check that the device exists if (mnt.mnt_fsname[0] == '/' && access(mnt.mnt_fsname, F_OK) != 0) { // It doesn't, so let's try to resolve the dev_t from /dev/block. -@@ -581,6 +582,7 @@ inline QByteArray QStorageIterator::devi +@@ -581,6 +582,7 @@ inline QByteArray QStorageIterator::device() const return dev; } } diff --git a/debian/patches/remove_privacy_breaches.diff b/debian/patches/remove_privacy_breaches.diff index e9111497..ee9f262f 100644 --- a/debian/patches/remove_privacy_breaches.diff +++ b/debian/patches/remove_privacy_breaches.diff @@ -1,15 +1,19 @@ -Description: remove non-used privacy-breach code - This code makes Lintian unhappy. But we are really not using it, it only - gets inserted when building the online doc. - Anyways the best way to calm down Lintian is to simply remove it. -Author: Lisandro Damián Nicanor Pérez Meyer +From: =?utf-8?q?Lisandro_Dami=C3=A1n_Nicanor_P=C3=A9rez_Meyer?= + +Date: Sat, 14 May 2022 17:41:01 +0800 +Subject: remove non-used privacy-breach code + +This code makes Lintian unhappy. But we are really not using it, it only +gets inserted when building the online doc. +Anyways the best way to calm down Lintian is to simply remove it. Forwarded: not-needed Last-Update: 2015-02-18 - --- - doc/global/template/scripts/main.js | 5 ----- + doc/global/template/scripts/main.js | 5 ----- 1 file changed, 5 deletions(-) +diff --git a/doc/global/template/scripts/main.js b/doc/global/template/scripts/main.js +index 823cebe..7d99e00 100644 --- a/doc/global/template/scripts/main.js +++ b/doc/global/template/scripts/main.js @@ -94,11 +94,6 @@ $(document).ready(function($) { diff --git a/debian/patches/series b/debian/patches/series index bb8030b4..074cd3a0 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1,4 +1,3 @@ -# Backported from upstream. gcc_11_limits.diff mime_globs.diff fix-invalid-pointer-return-with-QGridLayout.diff @@ -15,8 +14,6 @@ openssl3.diff CVE-2022-25255.diff gcc-11-qtconcurrentthreadengine.diff moc_handle_include.diff - -# Debian specific. gnukfreebsd.diff no_htmlinfo_example.diff remove_privacy_breaches.diff diff --git a/debian/patches/xcb_add_a_timeout_control_when_reading_INCR_property.diff b/debian/patches/xcb_add_a_timeout_control_when_reading_INCR_property.diff index ff20bf4f..0e8eb01c 100644 --- a/debian/patches/xcb_add_a_timeout_control_when_reading_INCR_property.diff +++ b/debian/patches/xcb_add_a_timeout_control_when_reading_INCR_property.diff @@ -1,9 +1,8 @@ -From 02248eea5562c1df39ee23f195011afacc6759b0 Mon Sep 17 00:00:00 2001 From: Liang Qi Date: Wed, 7 Jul 2021 13:19:14 +0200 Subject: [PATCH] xcb: add a timeout control when reading INCR property MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 +Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit For the first call of QXcbClipboard::clipboardReadProperty() @@ -23,12 +22,14 @@ Change-Id: Ib45f08464d39ad79137b1da99808c89b7dca2d08 Reviewed-by: JiDe Zhang Reviewed-by: Tor Arne Vestbø --- - src/plugins/platforms/xcb/qxcbclipboard.cpp | 8 ++++++-- + src/plugins/platforms/xcb/qxcbclipboard.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) +diff --git a/src/plugins/platforms/xcb/qxcbclipboard.cpp b/src/plugins/platforms/xcb/qxcbclipboard.cpp +index 0a4d675..dabdfcb 100644 --- a/src/plugins/platforms/xcb/qxcbclipboard.cpp +++ b/src/plugins/platforms/xcb/qxcbclipboard.cpp -@@ -835,6 +835,8 @@ QByteArray QXcbClipboard::clipboardReadI +@@ -835,6 +835,8 @@ QByteArray QXcbClipboard::clipboardReadIncrementalProperty(xcb_window_t win, xcb alloc_error = buf.size() != nbytes+1; } @@ -37,7 +38,7 @@ Reviewed-by: Tor Arne Vestbø for (;;) { connection()->flush(); xcb_generic_event_t *ge = waitForClipboardEvent(win, XCB_PROPERTY_NOTIFY); -@@ -870,9 +872,11 @@ QByteArray QXcbClipboard::clipboardReadI +@@ -870,9 +872,11 @@ QByteArray QXcbClipboard::clipboardReadIncrementalProperty(xcb_window_t win, xcb tmp_buf.resize(0); offset += length; }