qtbase-opensource-src.git
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

3 years agotreat the MYSQL_FIELD as read-only
Debian Qt/KDE Maintainers [Fri, 1 Jul 2022 19:49:23 +0000 (20:49 +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 [Fri, 1 Jul 2022 19:49:23 +0000 (20:49 +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 [Fri, 1 Jul 2022 19:49:23 +0000 (20:49 +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 [Fri, 1 Jul 2022 19:49:23 +0000 (20:49 +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 [Fri, 1 Jul 2022 19:49:23 +0000 (20:49 +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 [Fri, 1 Jul 2022 19:49:23 +0000 (20:49 +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 [Fri, 1 Jul 2022 19:49:23 +0000 (20:49 +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 [Fri, 1 Jul 2022 19:49:23 +0000 (20:49 +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 [Fri, 1 Jul 2022 19:49:23 +0000 (20:49 +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-4) unstable; urgency=medium
Dmitry Shachnev [Fri, 1 Jul 2022 19:49:23 +0000 (20:49 +0100)]
qtbase-opensource-src (5.15.4+dfsg-4) unstable; urgency=medium

  * Backport upstream patch to remove limit on the number of HTTP/2 streams
    (closes: #1014112).

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

3 years agoImport qtbase-opensource-src_5.15.4+dfsg-4.debian.tar.xz
Dmitry Shachnev [Fri, 1 Jul 2022 19:49:23 +0000 (20:49 +0100)]
Import qtbase-opensource-src_5.15.4+dfsg-4.debian.tar.xz

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

3 years agoMerge qtbase-opensource-src (5.15.4+dfsg-3) import into refs/heads/workingbranch
Dmitry Shachnev [Mon, 13 Jun 2022 18:00:47 +0000 (19:00 +0100)]
Merge qtbase-opensource-src (5.15.4+dfsg-3) import into refs/heads/workingbranch

3 years agoproperly cast types for libglvnd 1.3.4
Rex Dieter [Mon, 13 Jun 2022 18:00:47 +0000 (19:00 +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 [Mon, 13 Jun 2022 18:00:47 +0000 (19:00 +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 [Mon, 13 Jun 2022 18:00:47 +0000 (19:00 +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 [Mon, 13 Jun 2022 18:00:47 +0000 (19:00 +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 [Mon, 13 Jun 2022 18:00:47 +0000 (19:00 +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 [Mon, 13 Jun 2022 18:00:47 +0000 (19:00 +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 [Mon, 13 Jun 2022 18:00:47 +0000 (19:00 +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 [Mon, 13 Jun 2022 18:00:47 +0000 (19:00 +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 [Mon, 13 Jun 2022 18:00:47 +0000 (19:00 +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 [Mon, 13 Jun 2022 18:00:47 +0000 (19:00 +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 [Mon, 13 Jun 2022 18:00:47 +0000 (19:00 +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 [Mon, 13 Jun 2022 18:00:47 +0000 (19:00 +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 agohandle even more include in enum cases
Debian Qt/KDE Maintainers [Mon, 13 Jun 2022 18:00:47 +0000 (19:00 +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 [Mon, 13 Jun 2022 18:00:47 +0000 (19:00 +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