[OE-core] [PATCH] recipes-qt: add fix for QWSLock on qt4e
This patch adds a patch for Qt-Embedded to only destroy semaphores in the process which created them. Original patch by Neil Jerram for the OpenMoko project: http://lists.openmoko.org/pipermail/community/2012-November/067806.html See also Bug 31254: https://bugreports.qt-project.org/browse/QTBUG-31254 Signed-off-by: Eric Nelson eric.nel...@boundarydevices.com --- meta/recipes-qt/qt4/qt4-4.8.5.inc | 1 + ...-Only-destroy-semaphores-in-process-owner.patch | 77 ++ 2 files changed, 78 insertions(+) create mode 100644 meta/recipes-qt/qt4/qt4-4.8.5/0028-QWSLock-Only-destroy-semaphores-in-process-owner.patch diff --git a/meta/recipes-qt/qt4/qt4-4.8.5.inc b/meta/recipes-qt/qt4/qt4-4.8.5.inc index 95a14f3..be16bff 100644 --- a/meta/recipes-qt/qt4/qt4-4.8.5.inc +++ b/meta/recipes-qt/qt4/qt4-4.8.5.inc @@ -24,6 +24,7 @@ SRC_URI = http://download.qt-project.org/official_releases/qt/4.8/${PV}/qt-ever file://0022-Fix-drawing-of-0-width-polylines-from-outside-the-de.patch \ file://0023-QHttpMultiPart-fix-data-corruption-in-readData-metho.patch \ file://0027-tools.pro-disable-qmeegographicssystemhelper.patch \ + file://0028-QWSLock-Only-destroy-semaphores-in-process-owner.patch \ file://g++.conf \ file://linux.conf \ diff --git a/meta/recipes-qt/qt4/qt4-4.8.5/0028-QWSLock-Only-destroy-semaphores-in-process-owner.patch b/meta/recipes-qt/qt4/qt4-4.8.5/0028-QWSLock-Only-destroy-semaphores-in-process-owner.patch new file mode 100644 index 000..d67a746 --- /dev/null +++ b/meta/recipes-qt/qt4/qt4-4.8.5/0028-QWSLock-Only-destroy-semaphores-in-process-owner.patch @@ -0,0 +1,77 @@ +From 9af565935d16ecf8a8c04b5ea850ddb34a7c1294 Mon Sep 17 00:00:00 2001 +From: Eric Nelson eric.nel...@boundarydevices.com +Date: Mon, 12 Aug 2013 11:54:05 -0700 +Subject: [PATCH] QWSLock: Only destroy semaphores in process owner + +This fixes the case when QT_POSIX_IPC is not defined. + +Original patch by Neil Jerram for the OpenMoko project: + http://lists.openmoko.org/pipermail/community/2012-November/067806.html + +See also Bug 31254: + https://bugreports.qt-project.org/browse/QTBUG-31254 + +Signed-off-by: Eric Nelson eric.nel...@boundarydevices.com +--- + src/gui/embedded/qwslock.cpp | 13 + + src/gui/embedded/qwslock_p.h | 2 +- + 2 files changed, 10 insertions(+), 5 deletions(-) + +diff --git a/src/gui/embedded/qwslock.cpp b/src/gui/embedded/qwslock.cpp +index 3f8f306..cd6a48d 100644 +--- a/src/gui/embedded/qwslock.cpp b/src/gui/embedded/qwslock.cpp +@@ -83,9 +83,12 @@ QWSLock::QWSLock(int id) : semId(id) + QWSSignalHandler::instance()-addWSLock(this); + #endif + ++owned = false; ++ + #ifndef QT_POSIX_IPC + if (semId == -1) { + semId = semget(IPC_PRIVATE, 3, IPC_CREAT | 0666); ++owned = true; + if (semId == -1) { + perror(QWSLock::QWSLock); + qFatal(Unable to create semaphore); +@@ -100,7 +103,6 @@ QWSLock::QWSLock(int id) : semId(id) + } + #else + sems[0] = sems[1] = sems[2] = SEM_FAILED; +-owned = false; + + if (semId == -1) { + // ### generate really unique IDs +@@ -134,9 +136,12 @@ QWSLock::~QWSLock() + + if (semId != -1) { + #ifndef QT_POSIX_IPC +-qt_semun semval; +-semval.val = 0; +-semctl(semId, 0, IPC_RMID, semval); ++ ++if (owned) { ++qt_semun semval; ++semval.val = 0; ++semctl(semId, 0, IPC_RMID, semval); ++} + semId = -1; + #else + // emulate the SEM_UNDO behavior for the BackingStore lock +diff --git a/src/gui/embedded/qwslock_p.h b/src/gui/embedded/qwslock_p.h +index ead7b89..d16b3d5 100644 +--- a/src/gui/embedded/qwslock_p.h b/src/gui/embedded/qwslock_p.h +@@ -86,8 +86,8 @@ private: + int lockCount[2]; + #ifdef QT_POSIX_IPC + sem_t *sems[3]; +-bool owned; + #endif ++bool owned; + }; + + QT_END_NAMESPACE +-- +1.8.1.2 + -- 1.8.1.2 ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] recipes-qt: add fix for QWSLock on qt4e
Hi Laszlo, On 08/24/2013 12:15 PM, Laszlo Papp wrote: This is strange. According to the bugtracker it should be in 4.8.5 already... and the recipe seems to be about 4.8.5. It needs more investigation. I saw this, but there's no evidence that any change was committed and I verified that the bug is still there (it's trivially easy to reproduce) and that this patch fixes it. On Sat, Aug 24, 2013 at 8:13 PM, Saul Wold s...@linux.intel.com mailto:s...@linux.intel.com wrote: On 08/24/2013 09:49 AM, Eric Nelson wrote: This patch adds a patch for Qt-Embedded to only destroy semaphores in the process which created them. Original patch by Neil Jerram for the OpenMoko project: http://lists.openmoko.org/__pipermail/community/2012-__November/067806.html http://lists.openmoko.org/pipermail/community/2012-November/067806.html See also Bug 31254: https://bugreports.qt-project.__org/browse/QTBUG-31254 https://bugreports.qt-project.org/browse/QTBUG-31254 Signed-off-by: Eric Nelson eric.nelson@boundarydevices.__com mailto:eric.nel...@boundarydevices.com Besides this, we need an Upstream-Status: Tag, this is either a Backport or Submitted maybe? I submitted a patch, but haven't received any feedback from the Qt'ers: https://codereview.qt-project.org/#change,62842 Should I re-send with Upstream-Status: tag and a reference? Sau! --- meta/recipes-qt/qt4/qt4-4.8.5.__inc | 1 + ...-Only-destroy-semaphores-__in-process-owner.patch | 77 ++ 2 files changed, 78 insertions(+) create mode 100644 meta/recipes-qt/qt4/qt4-4.8.5/__0028-QWSLock-Only-destroy-__semaphores-in-process-owner.__patch diff --git a/meta/recipes-qt/qt4/qt4-4.8.__5.inc b/meta/recipes-qt/qt4/qt4-4.8.__5.inc index 95a14f3..be16bff 100644 --- a/meta/recipes-qt/qt4/qt4-4.8.__5.inc +++ b/meta/recipes-qt/qt4/qt4-4.8.__5.inc @@ -24,6 +24,7 @@ SRC_URI = http://download.qt-project.__org/official_releases/qt/4.8/$__{PV}/qt-ever http://download.qt-project.org/official_releases/qt/4.8/$%7BPV%7D/qt-ever file://0022-Fix-drawing-of-0-__width-polylines-from-outside-__the-de.patch \ file://0023-QHttpMultiPart-__fix-data-corruption-in-__readData-metho.patch \ file://0027-tools.pro-disable-__qmeegographicssystemhelper.__patch \ + file://0028-QWSLock-Only-__destroy-semaphores-in-process-__owner.patch \ file://g++.conf \ file://linux.conf \ diff --git a/meta/recipes-qt/qt4/qt4-4.8.__5/0028-QWSLock-Only-destroy-__semaphores-in-process-owner.__patch b/meta/recipes-qt/qt4/qt4-4.8.__5/0028-QWSLock-Only-destroy-__semaphores-in-process-owner.__patch new file mode 100644 index 000..d67a746 --- /dev/null +++ b/meta/recipes-qt/qt4/qt4-4.8.__5/0028-QWSLock-Only-destroy-__semaphores-in-process-owner.__patch @@ -0,0 +1,77 @@ +From 9af565935d16ecf8a8c04b5ea850dd__b34a7c1294 Mon Sep 17 00:00:00 2001 +From: Eric Nelson eric.nelson@boundarydevices.__com mailto:eric.nel...@boundarydevices.com +Date: Mon, 12 Aug 2013 11:54:05 -0700 +Subject: [PATCH] QWSLock: Only destroy semaphores in process owner + +This fixes the case when QT_POSIX_IPC is not defined. + +Original patch by Neil Jerram for the OpenMoko project: + http://lists.openmoko.org/__pipermail/community/2012-__November/067806.html http://lists.openmoko.org/pipermail/community/2012-November/067806.html + +See also Bug 31254: + https://bugreports.qt-project.__org/browse/QTBUG-31254 https://bugreports.qt-project.org/browse/QTBUG-31254 + +Signed-off-by: Eric Nelson eric.nelson@boundarydevices.__com mailto:eric.nel...@boundarydevices.com +--- + src/gui/embedded/qwslock.cpp | 13 + + src/gui/embedded/qwslock_p.h | 2 +- + 2 files changed, 10 insertions(+), 5 deletions(-) + +diff --git a/src/gui/embedded/qwslock.cpp b/src/gui/embedded/qwslock.cpp +index 3f8f306..cd6a48d 100644 +--- a/src/gui/embedded/qwslock.cpp b/src/gui/embedded/qwslock.cpp +@@ -83,9 +83,12 @@ QWSLock::QWSLock(int id) : semId(id) + QWSSignalHandler::instance()-__addWSLock(this); + #endif + ++owned = false; ++ + #ifndef QT_POSIX_IPC + if (semId == -1) { + semId = semget(IPC_PRIVATE, 3, IPC_CREAT | 0666); ++owned = true; + if (semId == -1) { + perror(QWSLock::QWSLock
Re: [OE-core] [PATCH] recipes-qt: add fix for QWSLock on qt4e
Thanks Laszlo, On 08/24/2013 12:28 PM, Laszlo Papp wrote: Well, you should ask upstream about it... maybe it ended up in a decision it is the wrong way, and something better went in, or being planned to go in. I think a change should not be integrated like this in grey area. I just posted to developm...@qt-project.org. Is that the right place? ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] nativesdk-qt4-tools: remove nativesdk-libx11 for qt-embedded
Thanks Richard, On 08/12/2013 12:08 AM, Richard Purdie wrote: On Sun, 2013-08-11 at 14:36 -0700, Eric Nelson wrote: Signed-off-by: Eric Nelson eric.nel...@boundarydevices.com --- meta/recipes-qt/qt4/nativesdk-qt4-tools.inc | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/meta/recipes-qt/qt4/nativesdk-qt4-tools.inc b/meta/recipes-qt/qt4/nativesdk-qt4-tools.inc index cfc6fd8..6ec3225 100644 --- a/meta/recipes-qt/qt4/nativesdk-qt4-tools.inc +++ b/meta/recipes-qt/qt4/nativesdk-qt4-tools.inc @@ -1,5 +1,8 @@ DESCRIPTION = SDK tools for Qt/[X11|Mac|Embedded] version 4.x -DEPENDS = nativesdk-zlib nativesdk-dbus nativesdk-libx11 qt4-native +DEPENDS = nativesdk-zlib nativesdk-dbus qt4-native +OVERRIDES=${QTNAME} +DEPENDS_append_qt = nativesdk-libx11 I'm afraid we can't do this since you just broke any other kind of override which might get used anywhere by any recipe using this .inc file. I'd also be wary of adding something as simple as qt into overrides since it can match things more widely than you might want. I'm a bit of an OE n00b, and I'm not quite sure how to express this conditional. meta-toolchain-qte shouldn't depend on nativesdk-libx11, and I'm not sure how the dependency can be moved to the X11 recipe recipes_qt/meta/meta-toolchain-qt.bb. ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] nativesdk-qt4-tools: remove nativesdk-libx11 for qt-embedded
On 08/12/2013 12:26 PM, Otavio Salvador wrote: Hello Eric, On Mon, Aug 12, 2013 at 10:58 AM, Eric Nelson eric.nel...@boundarydevices.com wrote: I'm afraid we can't do this since you just broke any other kind of override which might get used anywhere by any recipe using this .inc file. I'd also be wary of adding something as simple as qt into overrides since it can match things more widely than you might want. I'm a bit of an OE n00b, and I'm not quite sure how to express this conditional. meta-toolchain-qte shouldn't depend on nativesdk-libx11, and I'm not sure how the dependency can be moved to the X11 recipe recipes_qt/meta/meta-toolchain-qt.bb. I think you're looking for to: http://privatepaste.com/cc22a68c56 The missing part for merging it is to /force/ it to be disabled in qt configure. This was last Richard complain about this patch when I sent it. Thanks Otavio, I saw the ${@base_contains('DISTRO_FEATURES', construct elsewhere but got lost in the Python (scratching my head over the trailing 'd'). ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH] nativesdk-qt4-tools: remove nativesdk-libx11 for qt-embedded
Signed-off-by: Eric Nelson eric.nel...@boundarydevices.com --- meta/recipes-qt/qt4/nativesdk-qt4-tools.inc | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/meta/recipes-qt/qt4/nativesdk-qt4-tools.inc b/meta/recipes-qt/qt4/nativesdk-qt4-tools.inc index cfc6fd8..6ec3225 100644 --- a/meta/recipes-qt/qt4/nativesdk-qt4-tools.inc +++ b/meta/recipes-qt/qt4/nativesdk-qt4-tools.inc @@ -1,5 +1,8 @@ DESCRIPTION = SDK tools for Qt/[X11|Mac|Embedded] version 4.x -DEPENDS = nativesdk-zlib nativesdk-dbus nativesdk-libx11 qt4-native +DEPENDS = nativesdk-zlib nativesdk-dbus qt4-native +OVERRIDES=${QTNAME} +DEPENDS_append_qt = nativesdk-libx11 + SECTION = libs HOMEPAGE = http://qt.nokia.com; LICENSE = LGPLv2.1 | GPLv3 -- 1.8.1.2 ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH] gst-plugins-gl: add explicit dependency on libpng
Signed-off-by: Eric Nelson eric.nel...@boundarydevices.com --- meta/recipes-multimedia/gstreamer/gst-plugins-gl_0.10.3.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-multimedia/gstreamer/gst-plugins-gl_0.10.3.bb b/meta/recipes-multimedia/gstreamer/gst-plugins-gl_0.10.3.bb index a6c74fb..213e799 100644 --- a/meta/recipes-multimedia/gstreamer/gst-plugins-gl_0.10.3.bb +++ b/meta/recipes-multimedia/gstreamer/gst-plugins-gl_0.10.3.bb @@ -8,7 +8,7 @@ SRC_URI[sha256sum] = 48340b6a4b8abce16344a7bc33e74a94fdcce4f57ef6342cdf2f941c42 SRC_URI += file://0001-conditional-gl-framebuffer-undefined-use.patch -DEPENDS += gst-plugins-base virtual/libgles2 virtual/egl jpeg +DEPENDS += gst-plugins-base virtual/libgles2 virtual/egl jpeg libpng inherit gettext gconf -- 1.8.1.2 ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core