diff --git a/.gitignore b/.gitignore index 0b0a3c3..5f93b68 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ /qtbase-everywhere-src-5.13.2.tar.xz /qtbase-everywhere-src-5.14.2.tar.xz /qtbase-everywhere-src-5.15.1.tar.xz +/qtbase-everywhere-src-5.15.2.tar.xz diff --git a/qt5-qtbase.spec b/qt5-qtbase.spec index b5e046a..178e5ae 100644 --- a/qt5-qtbase.spec +++ b/qt5-qtbase.spec @@ -48,8 +48,8 @@ BuildRequires: pkgconfig(libsystemd) Name: qt5-qtbase Summary: Qt5 - QtBase components -Version: 5.15.1 -Release: 7%{?dist} +Version: 5.15.2 +Release: 1%{?dist} # See LGPL_EXCEPTIONS.txt, for exception details License: LGPLv2 with exceptions or GPLv3 with exceptions @@ -127,9 +127,6 @@ Patch90: %{name}-gcc11.patch # glibc stat ## upstream patches -Patch100: qtbase-emit-qscreen-geometry-changed-when-logical-dpi-changes.patch - -Patch101: qtbase-QTBUG-86319.patch # Do not check any files in %%{_qt5_plugindir}/platformthemes/ for requires. # Those themes are there for platform integration. If the required libraries are @@ -173,9 +170,9 @@ BuildRequires: openssl-devel BuildRequires: pkgconfig(libpulse) pkgconfig(libpulse-mainloop-glib) BuildRequires: pkgconfig(libinput) BuildRequires: pkgconfig(xcb-xkb) >= 1.10 +BuildRequires: pkgconfig(xcb-util) BuildRequires: pkgconfig(xkbcommon) >= 0.4.1 BuildRequires: pkgconfig(xkbcommon-x11) >= 0.4.1 - BuildRequires: pkgconfig(xkeyboard-config) BuildRequires: pkgconfig(vulkan) %if 0%{?fedora} || 0%{?rhel} > 6 @@ -390,8 +387,6 @@ Qt5 libraries used for drawing widgets and OpenGL items. %patch90 -p1 -b .gcc11 ## upstream patches -%patch100 -p1 -b .emit-qscreen-geometry-changed-when-logical-dpi-changes -%patch101 -p1 # move some bundled libs to ensure they're not accidentally used pushd src/3rdparty @@ -536,7 +531,7 @@ translationdir=%{_qt5_translationdir} Name: Qt5 Description: Qt5 Configuration -Version: 5.15.1 +Version: 5.15.2 EOF # rpm macros @@ -845,7 +840,6 @@ fi %{_qt5_libdir}/cmake/Qt5Xml/Qt5XmlConfig*.cmake %{_qt5_libdir}/cmake/Qt5/Qt5ModuleLocation.cmake %{_qt5_libdir}/cmake/Qt5AccessibilitySupport/Qt5AccessibilitySupportConfig*.cmake -%{_qt5_libdir}/cmake/Qt5Bootstrap/Qt5BootstrapConfig*.cmake %{_qt5_libdir}/cmake/Qt5DeviceDiscoverySupport/Qt5DeviceDiscoverySupportConfig*.cmake %{_qt5_libdir}/cmake/Qt5EdidSupport/Qt5EdidSupportConfig*.cmake %{_qt5_libdir}/cmake/Qt5EglFSDeviceIntegration/Qt5EglFSDeviceIntegrationConfig*.cmake @@ -1049,6 +1043,9 @@ fi %changelog +* Fri Nov 20 09:27:41 CET 2020 Jan Grulich - 5.15.2-1 +- 5.15.2 + * Tue Nov 03 2020 Sandro Mani - 5.15.1-7 - Backport upstream fix for QTBUG-86319 diff --git a/qtbase-QTBUG-86319.patch b/qtbase-QTBUG-86319.patch deleted file mode 100644 index 992b66d..0000000 --- a/qtbase-QTBUG-86319.patch +++ /dev/null @@ -1,73 +0,0 @@ -From a82032351c921c3d5d57122aca57b47f83f9b9d1 Mon Sep 17 00:00:00 2001 -From: Thiago Macieira -Date: Thu, 10 Sep 2020 13:30:59 -0700 -Subject: [PATCH] forkfd/Linux: ask clone() to use the SIGCHLD as the - termination signal - -Because of these lines in the Linux kernel (kernel/fork.c, see [1][3]): - - if (clone_flags & CLONE_VFORK) - trace = PTRACE_EVENT_VFORK; - else if (args->exit_signal != SIGCHLD) - trace = PTRACE_EVENT_CLONE; - else - trace = PTRACE_EVENT_FORK; - -Without CLONE_VFORK (which we can't use), if the exit signal isn't -SIGCHLD, the debugger will get a PTRACE_EVENT_CLONE, which makes it -think the process we're starting is a thread, not a new process. Both -gdb and lldb remain attached to the child and when it later performs an -execve(), they get mightily confused. See gdb bug report[5]. - -The idea of not having an exit_signal was so that no SIGCHLD would be -delivered to the parent process in the first place. That way, some -misguided SIGCHLD handler (*cough* GLib *cough*) wouldn't reap our -processes. Unfortunately, what I didn't realize was that the kernel -sends SIGCHLD anyway (see [2][4]), so this defensive measure didn't -actually work. Consequently, we can pass SIGCHLD to clone() and get the -debuggers working again. - -[ChangeLog][Linux] Fixed an issue that would cause debugging a Qt -application that uses QProcess to confuse both gdb and lldb if -the Linux kernel was version 5.4 or higher. Behavior outside of -a debugging session was not affected. - -[1] https://code.woboq.org/linux/linux/kernel/fork.c.html#_do_fork -[2] https://code.woboq.org/linux/linux/kernel/signal.c.html#do_notify_parent -[3] https://elixir.bootlin.com/linux/v5.8/source/kernel/fork.c#L2432 -[4] https://elixir.bootlin.com/linux/v5.8/source/kernel/signal.c#L1925 -[5] https://sourceware.org/bugzilla/show_bug.cgi?id=26562 - -Fixes: QTBUG-86319 -Change-Id: I2fc68c725ba649218bd9fffd1633863613537d42 -Reviewed-by: Dimitrios Apostolou -Reviewed-by: Oswald Buddenhagen -Reviewed-by: hjk -(cherry picked from commit d1fc991c6e3c45a5f93c925d49e3fe77ce6ce455) -Reviewed-by: Qt Cherry-pick Bot ---- - src/3rdparty/forkfd/forkfd_linux.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/3rdparty/forkfd/forkfd_linux.c b/src/3rdparty/forkfd/forkfd_linux.c -index 523fbca3ccc..ffe0e9a5e24 100644 ---- a/src/3rdparty/forkfd/forkfd_linux.c -+++ b/src/3rdparty/forkfd/forkfd_linux.c -@@ -147,7 +147,7 @@ int system_forkfd(int flags, pid_t *ppid, int *system) - } - - *system = 1; -- unsigned long cloneflags = CLONE_PIDFD; -+ unsigned long cloneflags = CLONE_PIDFD | SIGCHLD; - pid = sys_clone(cloneflags, &pidfd); - if (ppid) - *ppid = pid; -@@ -171,7 +171,7 @@ int system_forkfd_wait(int ffd, struct forkfd_info *info, int ffdoptions, struct - { - siginfo_t si; - int ret; -- int options = __WALL | convertForkfdWaitFlagsToWaitFlags(ffdoptions); -+ int options = convertForkfdWaitFlagsToWaitFlags(ffdoptions); - - if ((options & WNOHANG) == 0) { - /* check if the file descriptor is non-blocking */ diff --git a/sources b/sources index 417e0d4..6ef5740 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (qtbase-everywhere-src-5.15.1.tar.xz) = 40b687c046b25a6717834ffe2616ee4f373d75214ec1c7e3a26502cd0cde9f0a872eaee99f06c54c7a3625ae85df5cdd3a3b54a160e8e37c7cfeb5800d026fe4 +SHA512 (qtbase-everywhere-src-5.15.2.tar.xz) = a549bfaf867d746ff744ab224eb65ac1bdcdac7e8457dfa379941b2b225a90442fcfc1e1175b9afb1f169468f8130b7ab917c67be67156520a4bfb5c92d304f9