qtbase-opensource-src.git
3 years agoMerge qtbase-opensource-src (5.15.6+dfsg-4) import into refs/heads/workingbranch
Dmitry Shachnev [Thu, 24 Nov 2022 17:38:09 +0000 (17:38 +0000)]
Merge qtbase-opensource-src (5.15.6+dfsg-4) import into refs/heads/workingbranch

3 years agorevert "Remove the dead code for blocking methods from QtConcurrent"
Debian Qt/KDE Maintainers [Thu, 24 Nov 2022 17:38:09 +0000 (17:38 +0000)]
revert "Remove the dead code for blocking methods from QtConcurrent"

Origin: KDE, https://invent.kde.org/qt/qt/qtbase/-/commit/eeadc036d77b75be
 Also submitted to upstream 5.15 branch according to
 https://lists.qt-project.org/pipermail/development/2022-September/042951.html.
Last-Update: 2022-09-10

It's a binary incompatible change.

Gbp-Pq: Name revert_startBlocking_removal.diff

3 years agoproperly cast types for libglvnd 1.3.4
Rex Dieter [Thu, 24 Nov 2022 17:38:09 +0000 (17:38 +0000)]
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

Gbp-Pq: Name cast_types_for_egl_x11_test.diff

3 years agocall pkgconfig in order to be able to cross build qtbase with MySql.
Helmut Grohne [Thu, 24 Nov 2022 17:38:09 +0000 (17:38 +0000)]
call pkgconfig in order to be able to cross build qtbase with MySql.

Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=971604
Forwarded: not-needed
Reviewed-by: Lisandro Damián Nicanor Pérez Meyer <lisandro@debian.org>
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.

Gbp-Pq: Name cross_build_mysql.diff

3 years agoLimit Linux-only code with Q_OS_LINUX
Pino Toscano [Thu, 24 Nov 2022 17:38:09 +0000 (17:38 +0000)]
Limit Linux-only code with Q_OS_LINUX

Forwarded: no
Last-Update: 2020-04-19

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.

Gbp-Pq: Name qstorageinfo_linux.diff

3 years agoAvoid unconditional PATH_MAX usage
Pino Toscano [Thu, 24 Nov 2022 17:38:09 +0000 (17:38 +0000)]
Avoid unconditional PATH_MAX usage

Forwarded: no
Last-Update: 2020-04-19

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.

Gbp-Pq: Name path_max.diff

3 years agopass default include directories to qdoc
Martin Smith [Thu, 24 Nov 2022 17:38:09 +0000 (17:38 +0000)]
pass default include directories to qdoc

Bug: https://bugs.debian.org/908328
Forwarded: no
Last-Update: 2020-01-28

Gbp-Pq: Name qdoc_default_incdirs.diff

3 years agoguard UTIME_NOW/UTIME_OMIT usages
Dmitry Shachnev [Thu, 24 Nov 2022 17:38:09 +0000 (17:38 +0000)]
guard UTIME_NOW/UTIME_OMIT usages

Forwarded: no
Last-Update: 2018-02-22

Gbp-Pq: Name nonlinux_utime.diff

3 years agosupport ARMv4 architecture, needed for armel builds
Dmitry Shachnev [Thu, 24 Nov 2022 17:38:09 +0000 (17:38 +0000)]
support ARMv4 architecture, needed for armel builds

Forwarded: no
Last-Update: 2016-07-01

Gbp-Pq: Name armv4.diff

3 years agocatch linker warnings in some config tests
Dmitry Shachnev [Thu, 24 Nov 2022 17:38:09 +0000 (17:38 +0000)]
catch linker warnings in some config tests

Forwarded: https://codereview.qt-project.org/163214 (rejected)
Bug: https://bugs.debian.org/827935
Last-Update: 2019-03-02

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

Gbp-Pq: Name gnukfreebsd_linker_warnings.diff

3 years agobuild ibase sql plugin against firebird
Fathi Boudra [Thu, 24 Nov 2022 17:38:09 +0000 (17:38 +0000)]
build ibase sql plugin against firebird

Forwarded: no
Last-Update: 2017-06-30

Gbp-Pq: Name link_fbclient.diff

3 years agoremove non-used privacy-breach code
Lisandro Damián Nicanor Pérez Meyer [Thu, 24 Nov 2022 17:38:09 +0000 (17:38 +0000)]
remove non-used privacy-breach code

Forwarded: not-needed
Last-Update: 2015-02-18

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.

Gbp-Pq: Name remove_privacy_breaches.diff

3 years agodisable htmlinfo example which contains non-free files
Dmitry Shachnev [Thu, 24 Nov 2022 17:38:09 +0000 (17:38 +0000)]
disable htmlinfo example which contains non-free files

Forwarded: not-needed
Last-Update: 2014-12-17

Gbp-Pq: Name no_htmlinfo_example.diff

3 years agoInitial GNU/kFreeBSD support
Pino Toscano [Thu, 24 Nov 2022 17:38:09 +0000 (17:38 +0000)]
Initial GNU/kFreeBSD support

Last-Update: 2015-06-03
Forwarded: no

- add a gnukfreebsd-g++ qmake mkspec, mostly copied from the hurd-g++ one
- properly use LD_LIBRARY_PATH on GNU/* systems

Gbp-Pq: Name gnukfreebsd.diff

3 years agoxcb: recreate xcb window under some conditions
Debian Qt/KDE Maintainers [Thu, 24 Nov 2022 17:38:09 +0000 (17:38 +0000)]
xcb: recreate xcb window under some conditions

Origin: upstream, https://code.qt.io/cgit/qt/qtbase.git/commit/?id=f9e4402ffeef791e
Last-Update: 2022-11-24

Some netWmState needs to be set during unmap/hide(), which is too
difficult to follow, and causes m_mapped status out of sync very easily
sometimes, which we had tried in
e946e6895a8517a887ac246905e0769edd766fcc .

Destroy the xcb window and recreate new could make the thing
much easier. This practice is also used in other platforms, such
as cocoa plugin.

In Qt 4, the platform window was destroyed and re-created in this
situation on all platforms, which was not ported into Qt5.

See also the code between setWinId(0) and createWinId() in
QWidgetPrivate::setParent_sys() in qwidget_x11.cpp/qwidget_win.cpp/
qwidget_mac.mm.

Gbp-Pq: Name recreate_xcb_window.diff

3 years agorevert "xcb: implement missing bits from ICCCM 4.1.4 WM_STATE handling"
Debian Qt/KDE Maintainers [Thu, 24 Nov 2022 17:38:09 +0000 (17:38 +0000)]
revert "xcb: implement missing bits from ICCCM 4.1.4 WM_STATE handling"

Origin: upstream, https://code.qt.io/cgit/qt/qtbase.git/commit/?id=d27a6235246764be
Last-Update: 2022-11-24

This reverts commit e946e6895a8517a887ac246905e0769edd766fcc.

It clears the duplicate show() and hide() too aggressive in
handleDeferredTasks() and can cause visible states out of sync between
qt and system(x11) when user switches visible on and off very
frequently.

This change also reverts 28138aa80a14279a72af2818f5bbbaa670283964.

Gbp-Pq: Name revert_wm_state.diff

3 years agouse wayland platform plugin on GNOME wayland sessions by default
Debian Qt/KDE Maintainers [Thu, 24 Nov 2022 17:38:09 +0000 (17:38 +0000)]
use wayland platform plugin on GNOME wayland sessions by default

Origin: upstream, https://code.qt.io/cgit/qt/qtbase.git/commit/?id=dda7dab8274991e4
Last-Update: 2022-10-16

Qt wayland platform plugin has improved quite a lot and it is now pretty
much usable on Gnome. It also improves user experience a lot on HiDPI
displays.

Gbp-Pq: Name gnome_wayland.diff

3 years agowidgets: setTransientParent() when a QMenu is a window
Debian Qt/KDE Maintainers [Thu, 24 Nov 2022 17:38:09 +0000 (17:38 +0000)]
widgets: setTransientParent() when a QMenu is a window

Origin: upstream, https://code.qt.io/cgit/qt/qtbase.git/commit/?id=493a85a9e4688744
Last-Update: 2022-10-16

On some platforms, such as X11 and Wayland with some compositors,
QMenu could be a popup window, which should be set a transient parent
to get relative position, which is requested by Wayland.

Added transientParentWindow() for QMenuPrivate like QDialogPrivate.

Gbp-Pq: Name qmenu_set_transient_parent.diff

3 years agoupdate function argument of SSL_CTX_set_options
Debian Qt/KDE Maintainers [Thu, 24 Nov 2022 17:38:09 +0000 (17:38 +0000)]
update function argument of SSL_CTX_set_options

Origin: upstream, https://code.qt.io/cgit/qt/qtbase.git/commit/?id=e995bfc0ea783c15
 Backported for 5.15 by the patch author, Michael Saxl.
Last-Update: 2022-08-07

openssl3 uses uint64_t for the options argument in SSL_CTX_set_options,
older ones used long.
sizeof(long) is not the same on any platform as sizeof(uint64_t)

Gbp-Pq: Name openssl_set_options.diff

3 years agoQProcess: ensure we don't accidentally execute something from CWD
Debian Qt/KDE Maintainers [Thu, 24 Nov 2022 17:38:09 +0000 (17:38 +0000)]
QProcess: ensure we don't accidentally execute something from CWD

Origin: upstream, https://download.qt.io/official_releases/qt/5.15/CVE-2022-25255-qprocess5-15.diff
Last-Update: 2022-02-21

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

Gbp-Pq: Name CVE-2022-25255.diff

3 years agoupstream fixes to support OpenSSL 3.0
Debian Qt/KDE Maintainers [Thu, 24 Nov 2022 17:38:09 +0000 (17:38 +0000)]
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
 https://code.qt.io/cgit/qt/qtbase.git/commit/?id=ae6590e360fbb04d
 and a small part of
 https://code.qt.io/cgit/qt/qtbase.git/commit/?id=4c0f81490ba0c4ec
Last-Update: 2021-12-09

Gbp-Pq: Name openssl3.diff

3 years agotreat the MYSQL_FIELD as read-only
Debian Qt/KDE Maintainers [Thu, 24 Nov 2022 17:38:09 +0000 (17:38 +0000)]
treat the MYSQL_FIELD as read-only

Origin: upstream, https://code.qt.io/cgit/qt/qtbase.git/commit/?id=549ee216fd5bf2b3
Last-Update: 2021-11-13

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.

Gbp-Pq: Name mysql_field_readonly.diff

3 years agofix recursion crash when calling setStyleSheet with qproperty-styleSheet
Debian Qt/KDE Maintainers [Thu, 24 Nov 2022 17:38:09 +0000 (17:38 +0000)]
fix recursion crash when calling setStyleSheet with qproperty-styleSheet

Origin: upstream, https://code.qt.io/cgit/qt/qtbase.git/commit/?id=e9cdcc7cb314586a
Last-Update: 2021-11-13

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.

Gbp-Pq: Name fix_recursion_crash.diff

3 years agoQPushButton/fusion style: don't ignore QIcon::On icon
Debian Qt/KDE Maintainers [Thu, 24 Nov 2022 17:38:09 +0000 (17:38 +0000)]
QPushButton/fusion style: don't ignore QIcon::On icon

Origin: upstream, https://code.qt.io/cgit/qt/qtbase.git/commit/?id=e9ccdf4d84157173
Last-Update: 2021-08-10

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.

Gbp-Pq: Name fusion_checkable_qpushbutton.diff

3 years agoadjust QMimeDatabase implementation
Debian Qt/KDE Maintainers [Thu, 24 Nov 2022 17:38:09 +0000 (17:38 +0000)]
adjust QMimeDatabase implementation

Origin: upstream, https://code.qt.io/cgit/qt/qtbase.git/commit/?id=0cbbba2aa5b47224
Last-Update: 2021-06-12

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.

Gbp-Pq: Name mime_globs.diff

3 years agoqtbase-opensource-src (5.15.6+dfsg-4) unstable; urgency=medium
Dmitry Shachnev [Thu, 24 Nov 2022 17:38:09 +0000 (17:38 +0000)]
qtbase-opensource-src (5.15.6+dfsg-4) unstable; urgency=medium

  * Revert upstream commit which caused graphical glitches in some apps.
    Backport upstream patch to fix the original issue in a better way.
    Thanks to Alexander Kernozhitsky and Alexis Murzeau for the pointers!
    (closes: #1022748, #1023580)
  * Upload to unstable.

[dgit import unpatched qtbase-opensource-src 5.15.6+dfsg-4]

3 years agoImport qtbase-opensource-src_5.15.6+dfsg-4.debian.tar.xz
Dmitry Shachnev [Thu, 24 Nov 2022 17:38:09 +0000 (17:38 +0000)]
Import qtbase-opensource-src_5.15.6+dfsg-4.debian.tar.xz

[dgit import tarball qtbase-opensource-src 5.15.6+dfsg-4 qtbase-opensource-src_5.15.6+dfsg-4.debian.tar.xz]

3 years agoMerge qtbase-opensource-src (5.15.6+dfsg-2) import into refs/heads/workingbranch
Dmitry Shachnev [Thu, 29 Sep 2022 08:41:52 +0000 (09:41 +0100)]
Merge qtbase-opensource-src (5.15.6+dfsg-2) import into refs/heads/workingbranch

3 years agorevert "Remove the dead code for blocking methods from QtConcurrent"
Debian Qt/KDE Maintainers [Thu, 29 Sep 2022 08:41:52 +0000 (09:41 +0100)]
revert "Remove the dead code for blocking methods from QtConcurrent"

Origin: KDE, https://invent.kde.org/qt/qt/qtbase/-/commit/eeadc036d77b75be
 Also submitted to upstream 5.15 branch according to
 https://lists.qt-project.org/pipermail/development/2022-September/042951.html.
Last-Update: 2022-09-10

It's a binary incompatible change.

Gbp-Pq: Name revert_startBlocking_removal.diff

3 years agoproperly cast types for libglvnd 1.3.4
Rex Dieter [Thu, 29 Sep 2022 08:41:52 +0000 (09:41 +0100)]
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

Gbp-Pq: Name cast_types_for_egl_x11_test.diff

3 years agocall pkgconfig in order to be able to cross build qtbase with MySql.
Helmut Grohne [Thu, 29 Sep 2022 08:41:52 +0000 (09:41 +0100)]
call pkgconfig in order to be able to cross build qtbase with MySql.

Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=971604
Forwarded: not-needed
Reviewed-by: Lisandro Damián Nicanor Pérez Meyer <lisandro@debian.org>
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.

Gbp-Pq: Name cross_build_mysql.diff

3 years agoLimit Linux-only code with Q_OS_LINUX
Pino Toscano [Thu, 29 Sep 2022 08:41:52 +0000 (09:41 +0100)]
Limit Linux-only code with Q_OS_LINUX

Forwarded: no
Last-Update: 2020-04-19

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.

Gbp-Pq: Name qstorageinfo_linux.diff

3 years agoAvoid unconditional PATH_MAX usage
Pino Toscano [Thu, 29 Sep 2022 08:41:52 +0000 (09:41 +0100)]
Avoid unconditional PATH_MAX usage

Forwarded: no
Last-Update: 2020-04-19

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.

Gbp-Pq: Name path_max.diff

3 years agopass default include directories to qdoc
Martin Smith [Thu, 29 Sep 2022 08:41:52 +0000 (09:41 +0100)]
pass default include directories to qdoc

Bug: https://bugs.debian.org/908328
Forwarded: no
Last-Update: 2020-01-28

Gbp-Pq: Name qdoc_default_incdirs.diff

3 years agoguard UTIME_NOW/UTIME_OMIT usages
Dmitry Shachnev [Thu, 29 Sep 2022 08:41:52 +0000 (09:41 +0100)]
guard UTIME_NOW/UTIME_OMIT usages

Forwarded: no
Last-Update: 2018-02-22

Gbp-Pq: Name nonlinux_utime.diff

3 years agosupport ARMv4 architecture, needed for armel builds
Dmitry Shachnev [Thu, 29 Sep 2022 08:41:52 +0000 (09:41 +0100)]
support ARMv4 architecture, needed for armel builds

Forwarded: no
Last-Update: 2016-07-01

Gbp-Pq: Name armv4.diff

3 years agocatch linker warnings in some config tests
Dmitry Shachnev [Thu, 29 Sep 2022 08:41:52 +0000 (09:41 +0100)]
catch linker warnings in some config tests

Forwarded: https://codereview.qt-project.org/163214 (rejected)
Bug: https://bugs.debian.org/827935
Last-Update: 2019-03-02

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

Gbp-Pq: Name gnukfreebsd_linker_warnings.diff

3 years agobuild ibase sql plugin against firebird
Fathi Boudra [Thu, 29 Sep 2022 08:41:52 +0000 (09:41 +0100)]
build ibase sql plugin against firebird

Forwarded: no
Last-Update: 2017-06-30

Gbp-Pq: Name link_fbclient.diff

3 years agoremove non-used privacy-breach code
Lisandro Damián Nicanor Pérez Meyer [Thu, 29 Sep 2022 08:41:52 +0000 (09:41 +0100)]
remove non-used privacy-breach code

Forwarded: not-needed
Last-Update: 2015-02-18

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.

Gbp-Pq: Name remove_privacy_breaches.diff

3 years agodisable htmlinfo example which contains non-free files
Dmitry Shachnev [Thu, 29 Sep 2022 08:41:52 +0000 (09:41 +0100)]
disable htmlinfo example which contains non-free files

Forwarded: not-needed
Last-Update: 2014-12-17

Gbp-Pq: Name no_htmlinfo_example.diff

3 years agoInitial GNU/kFreeBSD support
Pino Toscano [Thu, 29 Sep 2022 08:41:52 +0000 (09:41 +0100)]
Initial GNU/kFreeBSD support

Last-Update: 2015-06-03
Forwarded: no

- add a gnukfreebsd-g++ qmake mkspec, mostly copied from the hurd-g++ one
- properly use LD_LIBRARY_PATH on GNU/* systems

Gbp-Pq: Name gnukfreebsd.diff

3 years agoupdate function argument of SSL_CTX_set_options
Debian Qt/KDE Maintainers [Thu, 29 Sep 2022 08:41:52 +0000 (09:41 +0100)]
update function argument of SSL_CTX_set_options

Origin: upstream, https://code.qt.io/cgit/qt/qtbase.git/commit/?id=e995bfc0ea783c15
 Backported for 5.15 by the patch author, Michael Saxl.
Last-Update: 2022-08-07

openssl3 uses uint64_t for the options argument in SSL_CTX_set_options,
older ones used long.
sizeof(long) is not the same on any platform as sizeof(uint64_t)

Gbp-Pq: Name openssl_set_options.diff

3 years agoQProcess: ensure we don't accidentally execute something from CWD
Debian Qt/KDE Maintainers [Thu, 29 Sep 2022 08:41:52 +0000 (09:41 +0100)]
QProcess: ensure we don't accidentally execute something from CWD

Origin: upstream, https://download.qt.io/official_releases/qt/5.15/CVE-2022-25255-qprocess5-15.diff
Last-Update: 2022-02-21

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

Gbp-Pq: Name CVE-2022-25255.diff

3 years agoupstream fixes to support OpenSSL 3.0
Debian Qt/KDE Maintainers [Thu, 29 Sep 2022 08:41:52 +0000 (09:41 +0100)]
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
 https://code.qt.io/cgit/qt/qtbase.git/commit/?id=ae6590e360fbb04d
 and a small part of
 https://code.qt.io/cgit/qt/qtbase.git/commit/?id=4c0f81490ba0c4ec
Last-Update: 2021-12-09

Gbp-Pq: Name openssl3.diff

3 years agotreat the MYSQL_FIELD as read-only
Debian Qt/KDE Maintainers [Thu, 29 Sep 2022 08:41:52 +0000 (09:41 +0100)]
treat the MYSQL_FIELD as read-only

Origin: upstream, https://code.qt.io/cgit/qt/qtbase.git/commit/?id=549ee216fd5bf2b3
Last-Update: 2021-11-13

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.

Gbp-Pq: Name mysql_field_readonly.diff

3 years agofix recursion crash when calling setStyleSheet with qproperty-styleSheet
Debian Qt/KDE Maintainers [Thu, 29 Sep 2022 08:41:52 +0000 (09:41 +0100)]
fix recursion crash when calling setStyleSheet with qproperty-styleSheet

Origin: upstream, https://code.qt.io/cgit/qt/qtbase.git/commit/?id=e9cdcc7cb314586a
Last-Update: 2021-11-13

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.

Gbp-Pq: Name fix_recursion_crash.diff

3 years agoQPushButton/fusion style: don't ignore QIcon::On icon
Debian Qt/KDE Maintainers [Thu, 29 Sep 2022 08:41:52 +0000 (09:41 +0100)]
QPushButton/fusion style: don't ignore QIcon::On icon

Origin: upstream, https://code.qt.io/cgit/qt/qtbase.git/commit/?id=e9ccdf4d84157173
Last-Update: 2021-08-10

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.

Gbp-Pq: Name fusion_checkable_qpushbutton.diff

3 years agoadjust QMimeDatabase implementation
Debian Qt/KDE Maintainers [Thu, 29 Sep 2022 08:41:52 +0000 (09:41 +0100)]
adjust QMimeDatabase implementation

Origin: upstream, https://code.qt.io/cgit/qt/qtbase.git/commit/?id=0cbbba2aa5b47224
Last-Update: 2021-06-12

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.

Gbp-Pq: Name mime_globs.diff

3 years agoqtbase-opensource-src (5.15.6+dfsg-2) unstable; urgency=medium
Dmitry Shachnev [Thu, 29 Sep 2022 08:41:52 +0000 (09:41 +0100)]
qtbase-opensource-src (5.15.6+dfsg-2) unstable; urgency=medium

  * Upload to unstable.

[dgit import unpatched qtbase-opensource-src 5.15.6+dfsg-2]

3 years agoImport qtbase-opensource-src_5.15.6+dfsg-2.debian.tar.xz
Dmitry Shachnev [Thu, 29 Sep 2022 08:41:52 +0000 (09:41 +0100)]
Import qtbase-opensource-src_5.15.6+dfsg-2.debian.tar.xz

[dgit import tarball qtbase-opensource-src 5.15.6+dfsg-2 qtbase-opensource-src_5.15.6+dfsg-2.debian.tar.xz]

3 years agoImport qtbase-opensource-src_5.15.6+dfsg.orig.tar.xz
Dmitry Shachnev [Sun, 11 Sep 2022 08:44:12 +0000 (09:44 +0100)]
Import qtbase-opensource-src_5.15.6+dfsg.orig.tar.xz

[dgit import orig qtbase-opensource-src_5.15.6+dfsg.orig.tar.xz]

3 years agoMerge qtbase-opensource-src (5.15.4+dfsg-5) import into refs/heads/workingbranch
Dmitry Shachnev [Sun, 7 Aug 2022 13:56:40 +0000 (14:56 +0100)]
Merge qtbase-opensource-src (5.15.4+dfsg-5) import into refs/heads/workingbranch

3 years agoproperly cast types for libglvnd 1.3.4
Rex Dieter [Sun, 7 Aug 2022 13:56:40 +0000 (14:56 +0100)]
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

Gbp-Pq: Name cast_types_for_egl_x11_test.diff

3 years agocall pkgconfig in order to be able to cross build qtbase with MySql.
Helmut Grohne [Sun, 7 Aug 2022 13:56:40 +0000 (14:56 +0100)]
call pkgconfig in order to be able to cross build qtbase with MySql.

Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=971604
Forwarded: not-needed
Reviewed-by: Lisandro Damián Nicanor Pérez Meyer <lisandro@debian.org>
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.

Gbp-Pq: Name cross_build_mysql.diff

3 years agoLimit Linux-only code with Q_OS_LINUX
Pino Toscano [Sun, 7 Aug 2022 13:56:40 +0000 (14:56 +0100)]
Limit Linux-only code with Q_OS_LINUX

Forwarded: no
Last-Update: 2020-04-19

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.

Gbp-Pq: Name qstorageinfo_linux.diff

3 years agoAvoid unconditional PATH_MAX usage
Pino Toscano [Sun, 7 Aug 2022 13:56:40 +0000 (14:56 +0100)]
Avoid unconditional PATH_MAX usage

Forwarded: no
Last-Update: 2020-04-19

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.

Gbp-Pq: Name path_max.diff

3 years agopass default include directories to qdoc
Martin Smith [Sun, 7 Aug 2022 13:56:40 +0000 (14:56 +0100)]
pass default include directories to qdoc

Bug: https://bugs.debian.org/908328
Forwarded: no
Last-Update: 2020-01-28

Gbp-Pq: Name qdoc_default_incdirs.diff

3 years agoguard UTIME_NOW/UTIME_OMIT usages
Dmitry Shachnev [Sun, 7 Aug 2022 13:56:40 +0000 (14:56 +0100)]
guard UTIME_NOW/UTIME_OMIT usages

Forwarded: no
Last-Update: 2018-02-22

Gbp-Pq: Name nonlinux_utime.diff

3 years agosupport ARMv4 architecture, needed for armel builds
Dmitry Shachnev [Sun, 7 Aug 2022 13:56:40 +0000 (14:56 +0100)]
support ARMv4 architecture, needed for armel builds

Forwarded: no
Last-Update: 2016-07-01

Gbp-Pq: Name armv4.diff

3 years agocatch linker warnings in some config tests
Dmitry Shachnev [Sun, 7 Aug 2022 13:56:40 +0000 (14:56 +0100)]
catch linker warnings in some config tests

Forwarded: https://codereview.qt-project.org/163214 (rejected)
Bug: https://bugs.debian.org/827935
Last-Update: 2019-03-02

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

Gbp-Pq: Name gnukfreebsd_linker_warnings.diff

3 years agobuild ibase sql plugin against firebird
Fathi Boudra [Sun, 7 Aug 2022 13:56:40 +0000 (14:56 +0100)]
build ibase sql plugin against firebird

Forwarded: no
Last-Update: 2017-06-30

Gbp-Pq: Name link_fbclient.diff

3 years agoremove non-used privacy-breach code
Lisandro Damián Nicanor Pérez Meyer [Sun, 7 Aug 2022 13:56:40 +0000 (14:56 +0100)]
remove non-used privacy-breach code

Forwarded: not-needed
Last-Update: 2015-02-18

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.

Gbp-Pq: Name remove_privacy_breaches.diff

3 years agodisable htmlinfo example which contains non-free files
Dmitry Shachnev [Sun, 7 Aug 2022 13:56:40 +0000 (14:56 +0100)]
disable htmlinfo example which contains non-free files

Forwarded: not-needed
Last-Update: 2014-12-17

Gbp-Pq: Name no_htmlinfo_example.diff

3 years agoInitial GNU/kFreeBSD support
Pino Toscano [Sun, 7 Aug 2022 13:56:40 +0000 (14:56 +0100)]
Initial GNU/kFreeBSD support

Last-Update: 2015-06-03
Forwarded: no

- add a gnukfreebsd-g++ qmake mkspec, mostly copied from the hurd-g++ one
- properly use LD_LIBRARY_PATH on GNU/* systems

Gbp-Pq: Name gnukfreebsd.diff

3 years agoupdate function argument of SSL_CTX_set_options
Debian Qt/KDE Maintainers [Sun, 7 Aug 2022 13:56:40 +0000 (14:56 +0100)]
update function argument of SSL_CTX_set_options

Origin: upstream, https://code.qt.io/cgit/qt/qtbase.git/commit/?id=e995bfc0ea783c15
 Backported for 5.15 by the patch author, Michael Saxl.
Last-Update: 2022-08-07

openssl3 uses uint64_t for the options argument in SSL_CTX_set_options,
older ones used long.
sizeof(long) is not the same on any platform as sizeof(uint64_t)

Gbp-Pq: Name openssl_set_options.diff

3 years agoH2: remove a rather useless limit on the number of streams
Debian Qt/KDE Maintainers [Sun, 7 Aug 2022 13:56:40 +0000 (14:56 +0100)]
H2: remove a rather useless limit on the number of streams

Origin: upstream, https://code.qt.io/cgit/qt/qtbase.git/commit/?id=46940ca73791e87e
Last-Update: 2022-06-20

SETTINGS for max concurrect number of streams is 'one direction' - this
is how our peer conveys the possible number of streams _we_ can open,
not _them_. If they choose to have it unlimited - let it be so.

It's possible to send 0 as maximum number, also, it's possible to
reduce the maximum compared to initial at some point - then I have
to avoid integer overflows.

Gbp-Pq: Name remove_limit_on_number_of_streams.diff

3 years agohandle even more include in enum cases
Debian Qt/KDE Maintainers [Sun, 7 Aug 2022 13:56:40 +0000 (14:56 +0100)]
handle even more include in enum cases

Origin: upstream, https://code.qt.io/cgit/qt/qtbase.git/commit/?id=87973325f1b99f2b
Last-Update: 2022-04-07

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.

Gbp-Pq: Name moc_handle_include.diff

3 years agoQProcess: ensure we don't accidentally execute something from CWD
Debian Qt/KDE Maintainers [Sun, 7 Aug 2022 13:56:40 +0000 (14:56 +0100)]
QProcess: ensure we don't accidentally execute something from CWD

Origin: upstream, https://download.qt.io/official_releases/qt/5.15/CVE-2022-25255-qprocess5-15.diff
Last-Update: 2022-02-21

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

Gbp-Pq: Name CVE-2022-25255.diff

3 years agoupstream fixes to support OpenSSL 3.0
Debian Qt/KDE Maintainers [Sun, 7 Aug 2022 13:56:40 +0000 (14:56 +0100)]
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
 https://code.qt.io/cgit/qt/qtbase.git/commit/?id=ae6590e360fbb04d
 and a small part of
 https://code.qt.io/cgit/qt/qtbase.git/commit/?id=4c0f81490ba0c4ec
Last-Update: 2021-12-09

Gbp-Pq: Name openssl3.diff

3 years agoavoid processing-intensive painting of high number of tiny dashes
Debian Qt/KDE Maintainers [Sun, 7 Aug 2022 13:56:40 +0000 (14:56 +0100)]
avoid processing-intensive painting of high number of tiny dashes

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

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.

Gbp-Pq: Name CVE-2021-38593.diff

3 years agotreat the MYSQL_FIELD as read-only
Debian Qt/KDE Maintainers [Sun, 7 Aug 2022 13:56:40 +0000 (14:56 +0100)]
treat the MYSQL_FIELD as read-only

Origin: upstream, https://code.qt.io/cgit/qt/qtbase.git/commit/?id=549ee216fd5bf2b3
Last-Update: 2021-11-13

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.

Gbp-Pq: Name mysql_field_readonly.diff

3 years agofix recursion crash when calling setStyleSheet with qproperty-styleSheet
Debian Qt/KDE Maintainers [Sun, 7 Aug 2022 13:56:40 +0000 (14:56 +0100)]
fix recursion crash when calling setStyleSheet with qproperty-styleSheet

Origin: upstream, https://code.qt.io/cgit/qt/qtbase.git/commit/?id=e9cdcc7cb314586a
Last-Update: 2021-11-13

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.

Gbp-Pq: Name fix_recursion_crash.diff

3 years ago[PATCH] xcb: add a timeout control when reading INCR property
Liang Qi [Wed, 7 Jul 2021 11:19:14 +0000 (13:19 +0200)]
[PATCH] xcb: add a timeout control when reading INCR property

For the first call of QXcbClipboard::clipboardReadProperty()
inside of clipboardReadIncrementalProperty() in getSelection(),
it will get a XCB_NONE reply before the contents arrived via
property change. Then we give a chance to read more.

Manually tested with following setups:
* examples/widgets/mainwindows/application with gvim(gtk3)
* examples/widgets/widgets/imageviewer with GIMP 2.10.18(based on
gtk2) and GIMP 2.99.6(based on gtk3 via flatpak)

Fixes: QTBUG-56595
Pick-to: 5.12 5.15 6.1 6.2
Done-With: JiDe Zhang <zhangjide@uniontech.com>
Change-Id: Ib45f08464d39ad79137b1da99808c89b7dca2d08
Reviewed-by: JiDe Zhang <zhangjide@uniontech.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Gbp-Pq: Name xcb_add_a_timeout_control_when_reading_INCR_property.diff

3 years agofix QTextFormat::FullWidthSelection for right-to-left text layouts
Debian Qt/KDE Maintainers [Sun, 7 Aug 2022 13:56:40 +0000 (14:56 +0100)]
fix QTextFormat::FullWidthSelection for right-to-left text layouts

Origin: upstream, https://code.qt.io/cgit/qt/qtbase.git/commit/?id=a7894855f2f59028
Last-Update: 2021-08-15

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.

Gbp-Pq: Name full_width_selection_rtl.diff

3 years agoremove the version number checks in favor of actual functionality
Debian Qt/KDE Maintainers [Sun, 7 Aug 2022 13:56:40 +0000 (14:56 +0100)]
remove the version number checks in favor of actual functionality

Origin: upstream, https://code.qt.io/cgit/qt/qtbase.git/commit/?id=211369133cf40b2f
Last-Update: 2021-08-10

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.

Gbp-Pq: Name mysql_remove_version_checks.diff

3 years agoQPushButton/fusion style: don't ignore QIcon::On icon
Debian Qt/KDE Maintainers [Sun, 7 Aug 2022 13:56:40 +0000 (14:56 +0100)]
QPushButton/fusion style: don't ignore QIcon::On icon

Origin: upstream, https://code.qt.io/cgit/qt/qtbase.git/commit/?id=e9ccdf4d84157173
Last-Update: 2021-08-10

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.

Gbp-Pq: Name fusion_checkable_qpushbutton.diff

3 years agofix placement of placeholder text in QLineEdits with action icons
Debian Qt/KDE Maintainers [Sun, 7 Aug 2022 13:56:40 +0000 (14:56 +0100)]
fix placement of placeholder text in QLineEdits with action icons

Origin: upstream, https://code.qt.io/cgit/qt/qtbase.git/commit/?id=0e6b31019f01c72e
Last-Update: 2021-08-10

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.

Gbp-Pq: Name fix-placement-of-placeholder-text-in-QLineEdits-with-action-icons.diff

3 years agofix misplacement of placeholder text in QLineEdit with RTL content
Debian Qt/KDE Maintainers [Sun, 7 Aug 2022 13:56:40 +0000 (14:56 +0100)]
fix misplacement of placeholder text in QLineEdit with RTL content

Origin: upstream, https://code.qt.io/cgit/qt/qtbase.git/commit/?id=dc794f7622bc00f7
Last-Update: 2021-06-16

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

Gbp-Pq: Name fix-misplacement-of-placeholder-text-in-QLineEdit.diff

3 years agoadjust QMimeDatabase implementation
Debian Qt/KDE Maintainers [Sun, 7 Aug 2022 13:56:40 +0000 (14:56 +0100)]
adjust QMimeDatabase implementation

Origin: upstream, https://code.qt.io/cgit/qt/qtbase.git/commit/?id=0cbbba2aa5b47224
Last-Update: 2021-06-12

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.

Gbp-Pq: Name mime_globs.diff

3 years agoinclude <limits> to fix GCC 11 build
Debian Qt/KDE Maintainers [Sun, 7 Aug 2022 13:56:40 +0000 (14:56 +0100)]
include <limits> to fix GCC 11 build

Origin: upstream, https://code.qt.io/cgit/qt/qtbase.git/commit/?id=813a928c7c3cf986
Last-Update: 2022-03-03

Gbp-Pq: Name gcc_11_limits.diff

3 years agoqtbase-opensource-src (5.15.4+dfsg-5) unstable; urgency=medium
Dmitry Shachnev [Sun, 7 Aug 2022 13:56:40 +0000 (14:56 +0100)]
qtbase-opensource-src (5.15.4+dfsg-5) unstable; urgency=medium

  * Add a patch to update signature of SSL_CTX_set_options for OpenSSL 3
    (LP: #1981807). Thanks Michael Saxl!

[dgit import unpatched qtbase-opensource-src 5.15.4+dfsg-5]

3 years agoImport qtbase-opensource-src_5.15.4+dfsg-5.debian.tar.xz
Dmitry Shachnev [Sun, 7 Aug 2022 13:56:40 +0000 (14:56 +0100)]
Import qtbase-opensource-src_5.15.4+dfsg-5.debian.tar.xz

[dgit import tarball qtbase-opensource-src 5.15.4+dfsg-5 qtbase-opensource-src_5.15.4+dfsg-5.debian.tar.xz]

3 years agoMerge qtbase-opensource-src (5.15.4+dfsg-4) import into refs/heads/workingbranch
Dmitry Shachnev [Fri, 1 Jul 2022 19:49:23 +0000 (20:49 +0100)]
Merge qtbase-opensource-src (5.15.4+dfsg-4) import into refs/heads/workingbranch

3 years agoproperly cast types for libglvnd 1.3.4
Rex Dieter [Fri, 1 Jul 2022 19:49:23 +0000 (20:49 +0100)]
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

Gbp-Pq: Name cast_types_for_egl_x11_test.diff

3 years agocall pkgconfig in order to be able to cross build qtbase with MySql.
Helmut Grohne [Fri, 1 Jul 2022 19:49:23 +0000 (20:49 +0100)]
call pkgconfig in order to be able to cross build qtbase with MySql.

Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=971604
Forwarded: not-needed
Reviewed-by: Lisandro Damián Nicanor Pérez Meyer <lisandro@debian.org>
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.

Gbp-Pq: Name cross_build_mysql.diff

3 years agoLimit Linux-only code with Q_OS_LINUX
Pino Toscano [Fri, 1 Jul 2022 19:49:23 +0000 (20:49 +0100)]
Limit Linux-only code with Q_OS_LINUX

Forwarded: no
Last-Update: 2020-04-19

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.

Gbp-Pq: Name qstorageinfo_linux.diff

3 years agoAvoid unconditional PATH_MAX usage
Pino Toscano [Fri, 1 Jul 2022 19:49:23 +0000 (20:49 +0100)]
Avoid unconditional PATH_MAX usage

Forwarded: no
Last-Update: 2020-04-19

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.

Gbp-Pq: Name path_max.diff

3 years agopass default include directories to qdoc
Martin Smith [Fri, 1 Jul 2022 19:49:23 +0000 (20:49 +0100)]
pass default include directories to qdoc

Bug: https://bugs.debian.org/908328
Forwarded: no
Last-Update: 2020-01-28

Gbp-Pq: Name qdoc_default_incdirs.diff

3 years agoguard UTIME_NOW/UTIME_OMIT usages
Dmitry Shachnev [Fri, 1 Jul 2022 19:49:23 +0000 (20:49 +0100)]
guard UTIME_NOW/UTIME_OMIT usages

Forwarded: no
Last-Update: 2018-02-22

Gbp-Pq: Name nonlinux_utime.diff

3 years agosupport ARMv4 architecture, needed for armel builds
Dmitry Shachnev [Fri, 1 Jul 2022 19:49:23 +0000 (20:49 +0100)]
support ARMv4 architecture, needed for armel builds

Forwarded: no
Last-Update: 2016-07-01

Gbp-Pq: Name armv4.diff

3 years agocatch linker warnings in some config tests
Dmitry Shachnev [Fri, 1 Jul 2022 19:49:23 +0000 (20:49 +0100)]
catch linker warnings in some config tests

Forwarded: https://codereview.qt-project.org/163214 (rejected)
Bug: https://bugs.debian.org/827935
Last-Update: 2019-03-02

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

Gbp-Pq: Name gnukfreebsd_linker_warnings.diff

3 years agobuild ibase sql plugin against firebird
Fathi Boudra [Fri, 1 Jul 2022 19:49:23 +0000 (20:49 +0100)]
build ibase sql plugin against firebird

Forwarded: no
Last-Update: 2017-06-30

Gbp-Pq: Name link_fbclient.diff

3 years agoremove non-used privacy-breach code
Lisandro Damián Nicanor Pérez Meyer [Fri, 1 Jul 2022 19:49:23 +0000 (20:49 +0100)]
remove non-used privacy-breach code

Forwarded: not-needed
Last-Update: 2015-02-18

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.

Gbp-Pq: Name remove_privacy_breaches.diff

3 years agodisable htmlinfo example which contains non-free files
Dmitry Shachnev [Fri, 1 Jul 2022 19:49:23 +0000 (20:49 +0100)]
disable htmlinfo example which contains non-free files

Forwarded: not-needed
Last-Update: 2014-12-17

Gbp-Pq: Name no_htmlinfo_example.diff

3 years agoInitial GNU/kFreeBSD support
Pino Toscano [Fri, 1 Jul 2022 19:49:23 +0000 (20:49 +0100)]
Initial GNU/kFreeBSD support

Last-Update: 2015-06-03
Forwarded: no

- add a gnukfreebsd-g++ qmake mkspec, mostly copied from the hurd-g++ one
- properly use LD_LIBRARY_PATH on GNU/* systems

Gbp-Pq: Name gnukfreebsd.diff

3 years agoH2: remove a rather useless limit on the number of streams
Debian Qt/KDE Maintainers [Fri, 1 Jul 2022 19:49:23 +0000 (20:49 +0100)]
H2: remove a rather useless limit on the number of streams

Origin: upstream, https://code.qt.io/cgit/qt/qtbase.git/commit/?id=46940ca73791e87e
Last-Update: 2022-06-20

SETTINGS for max concurrect number of streams is 'one direction' - this
is how our peer conveys the possible number of streams _we_ can open,
not _them_. If they choose to have it unlimited - let it be so.

It's possible to send 0 as maximum number, also, it's possible to
reduce the maximum compared to initial at some point - then I have
to avoid integer overflows.

Gbp-Pq: Name remove_limit_on_number_of_streams.diff

3 years agohandle even more include in enum cases
Debian Qt/KDE Maintainers [Fri, 1 Jul 2022 19:49:23 +0000 (20:49 +0100)]
handle even more include in enum cases

Origin: upstream, https://code.qt.io/cgit/qt/qtbase.git/commit/?id=87973325f1b99f2b
Last-Update: 2022-04-07

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.

Gbp-Pq: Name moc_handle_include.diff

3 years agoQProcess: ensure we don't accidentally execute something from CWD
Debian Qt/KDE Maintainers [Fri, 1 Jul 2022 19:49:23 +0000 (20:49 +0100)]
QProcess: ensure we don't accidentally execute something from CWD

Origin: upstream, https://download.qt.io/official_releases/qt/5.15/CVE-2022-25255-qprocess5-15.diff
Last-Update: 2022-02-21

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

Gbp-Pq: Name CVE-2022-25255.diff

3 years agoupstream fixes to support OpenSSL 3.0
Debian Qt/KDE Maintainers [Fri, 1 Jul 2022 19:49:23 +0000 (20:49 +0100)]
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
 https://code.qt.io/cgit/qt/qtbase.git/commit/?id=ae6590e360fbb04d
 and a small part of
 https://code.qt.io/cgit/qt/qtbase.git/commit/?id=4c0f81490ba0c4ec
Last-Update: 2021-12-09

Gbp-Pq: Name openssl3.diff

3 years agoavoid processing-intensive painting of high number of tiny dashes
Debian Qt/KDE Maintainers [Fri, 1 Jul 2022 19:49:23 +0000 (20:49 +0100)]
avoid processing-intensive painting of high number of tiny dashes

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

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.

Gbp-Pq: Name CVE-2021-38593.diff