another failure ERROR: onboard-1.4.1-r0 do_patch: QA Issue: Missing Upstream-Status in patch /mnt/b/yoe/master/sources/meta-openembedded/meta-gnome/recipes-support/onboard/onboard/0001-pypredict-lm-Define-error-API-if-platform-does- not-h.patch
On Fri, Nov 22, 2024 at 8:28 AM Khem Raj <[email protected]> wrote: > > On Fri, Nov 22, 2024 at 2:08 AM pratheekshasn via > lists.openembedded.org <[email protected]> > wrote: > > > > Signed-off by: Pratheeksha S N <[email protected]> > > --- > > ...ine-error-API-if-platform-does-not-h.patch | 67 +++++++++++++++++++ > > .../0002-onboard-onhover-seg-fault-fix.patch | 52 ++++++++++++++ > > .../recipes-support/onboard/onboard_1.4.1.bb | 36 ++++++++++ > > 3 files changed, 155 insertions(+) > > create mode 100644 > > meta-gnome/recipes-support/onboard/onboard/0001-pypredict-lm-Define-error-API-if-platform-does-not-h.patch > > create mode 100644 > > meta-gnome/recipes-support/onboard/onboard/0002-onboard-onhover-seg-fault-fix.patch > > create mode 100644 meta-gnome/recipes-support/onboard/onboard_1.4.1.bb > > > > diff --git > > a/meta-gnome/recipes-support/onboard/onboard/0001-pypredict-lm-Define-error-API-if-platform-does-not-h.patch > > > > b/meta-gnome/recipes-support/onboard/onboard/0001-pypredict-lm-Define-error-API-if-platform-does-not-h.patch > > new file mode 100644 > > index 000000000..fda37895c > > --- /dev/null > > +++ > > b/meta-gnome/recipes-support/onboard/onboard/0001-pypredict-lm-Define-error-API-if-platform-does-not-h.patch > > @@ -0,0 +1,67 @@ > > +From 1c95f64aa342147387ce4b1b7269a5c8b34bd898 Mon Sep 17 00:00:00 2001 > > +From: Khem Raj <[email protected]> > > +Date: Thu, 13 Jul 2017 09:01:04 -0700 > > +Subject: [PATCH] pypredict/lm: Define error API if platform does not have > > it > > + > > +error() API is not implemented across all libcs on linux > > +e.g. musl does not provide it. > > + > > +Signed-off-by: Khem Raj <[email protected]> > > +--- > > + Onboard/pypredict/lm/lm.cpp | 1 - > > + Onboard/pypredict/lm/lm.h | 13 +++++++++++++ > > + Onboard/pypredict/lm/lm_dynamic.cpp | 2 -- > > + 3 files changed, 13 insertions(+), 3 deletions(-) > > + > > +diff --git a/Onboard/pypredict/lm/lm.cpp b/Onboard/pypredict/lm/lm.cpp > > +index 2e64296..37ae241 100644 > > +--- a/Onboard/pypredict/lm/lm.cpp > > ++++ b/Onboard/pypredict/lm/lm.cpp > > +@@ -19,7 +19,6 @@ > > + > > + #include <stdlib.h> > > + #include <stdio.h> > > +-#include <error.h> > > + #include <algorithm> > > + #include <cmath> > > + #include <string> > > +diff --git a/Onboard/pypredict/lm/lm.h b/Onboard/pypredict/lm/lm.h > > +index ed4164a..b8b63ee 100644 > > +--- a/Onboard/pypredict/lm/lm.h > > ++++ b/Onboard/pypredict/lm/lm.h > > +@@ -32,6 +32,19 @@ > > + #include <algorithm> > > + #include <string> > > + > > ++#if defined(HAVE_ERROR_H) > > ++#include <error.h> > > ++#else > > ++#include <err.h> > > ++#define _onboard_error(S, E, F, ...) do { \ > > ++ if (E) \ > > ++ err(S, F ": %s", ##__VA_ARGS__, strerror(E)); \ > > ++ else \ > > ++ err(S, F, ##__VA_ARGS__); \ > > ++} while(0) > > ++ > > ++#define error _onboard_error > > ++#endif > > + > > + // break into debugger > > + // step twice to come back out of the raise() call into known code > > +diff --git a/Onboard/pypredict/lm/lm_dynamic.cpp > > b/Onboard/pypredict/lm/lm_dynamic.cpp > > +index 7c62824..e7c7f40 100644 > > +--- a/Onboard/pypredict/lm/lm_dynamic.cpp > > ++++ b/Onboard/pypredict/lm/lm_dynamic.cpp > > +@@ -17,8 +17,6 @@ > > + * along with this program. If not, see <http://www.gnu.org/licenses/>. > > + */ > > + > > +-#include <error.h> > > +- > > + #include "lm_dynamic.h" > > + > > + using namespace std; > > +-- > > +2.13.2 > > + > > diff --git > > a/meta-gnome/recipes-support/onboard/onboard/0002-onboard-onhover-seg-fault-fix.patch > > > > b/meta-gnome/recipes-support/onboard/onboard/0002-onboard-onhover-seg-fault-fix.patch > > new file mode 100644 > > index 000000000..1ec195cb8 > > --- /dev/null > > +++ > > b/meta-gnome/recipes-support/onboard/onboard/0002-onboard-onhover-seg-fault-fix.patch > > @@ -0,0 +1,52 @@ > > +From: 1be95325d320122efd5dedf7437839cfcca01f7a > > +From: > > https://github.com/void-linux/void-packages/commit/1be95325d320122efd5dedf7437839cfcca01f7a > > +Date: Mon, 23 Sep 2024 > > +Subject: [PATCH] onboard: fix segfault when hovering over the keyboard > > + > > +Currently, if the mouse pointer is hovered over the Onboard keyboard, the > > application crashes with a segmentation fault. > > +This is because the new_device_event function is not acquiring the GIL > > before creating a new object. This patch fixes > > +the issue by acquiring the GIL before creating a new object. It also > > acquires the GIL before queueing the event. > > +This patch is taken from the fix provided in the following link: > > +https://github.com/void-linux/void-packages/commit/1be95325d320122efd5dedf7437839cfcca01f7a > > + > > +Signed-off by: Pratheeksha S N <[email protected]> > > + > > +Upstream-Status: Inactive-Upstream [lastcommit: 2017-10-09] > > + > > +--- a/Onboard/osk/osk_devices.c > > ++++ b/Onboard/osk/osk_devices.c > > +@@ -97,13 +97,15 @@ osk_device_event_dealloc (OskDeviceEvent > > + static OskDeviceEvent* > > + new_device_event (void) > > + { > > +- OskDeviceEvent *ev = PyObject_New(OskDeviceEvent, > > &osk_device_event_type); > > ++ OskDeviceEvent *ev; > > ++ PyGILState_STATE gstate = PyGILState_Ensure(); > > ++ ev = PyObject_New(OskDeviceEvent, &osk_device_event_type); > > + if (ev) > > + { > > + osk_device_event_type.tp_init((PyObject*) ev, NULL, NULL); > > +- return ev; > > + } > > +- return NULL; > > ++ PyGILState_Release(gstate); > > ++ return ev; > > + } > > + > > + static PyObject * > > +@@ -334,6 +336,7 @@ osk_devices_dealloc (OskDevices *dev) > > + static void > > + queue_event (OskDevices* dev, OskDeviceEvent* event, Bool discard_pending) > > + { > > ++ PyGILState_STATE state = PyGILState_Ensure (); > > + GQueue* queue = dev->event_queue; > > + if (queue) > > + { > > +@@ -364,6 +367,7 @@ queue_event (OskDevices* dev, OskDeviceE > > + Py_INCREF(event); > > + g_queue_push_head(queue, event); > > + } > > ++ PyGILState_Release (state); > > + } > > + > > + static gboolean idle_process_event_queue (OskDevices* dev) > > diff --git a/meta-gnome/recipes-support/onboard/onboard_1.4.1.bb > > b/meta-gnome/recipes-support/onboard/onboard_1.4.1.bb > > new file mode 100644 > > index 000000000..359a2134e > > --- /dev/null > > +++ b/meta-gnome/recipes-support/onboard/onboard_1.4.1.bb > > @@ -0,0 +1,36 @@ > > +SUMMARY = "An onscreen keyboard" > > +LICENSE = "GPL-3.0-only" > > +LIC_FILES_CHKSUM = > > "file://COPYING.GPL3;md5=8521fa4dd51909b407c5150498d34f4e" > > + > > +DEPENDS += "gtk+3 hunspell libcanberra libxkbfile dconf > > python3-distutils-extra-native intltool-native" > > + > > +SRC_URI = > > "https://launchpad.net/onboard/1.4/${PV}/+download/${BPN}-${PV}.tar.gz \ > > + > > file://0001-pypredict-lm-Define-error-API-if-platform-does-not-h.patch \ > > + file://0002-onboard-onhover-seg-fault-fix.patch \ > > + " > > +SRC_URI[md5sum] = "1a2fbe82e934f5b37841d17ff51e80e8" > > +SRC_URI[sha256sum] = > > "01cae1ac5b1ef1ab985bd2d2d79ded6fc99ee04b1535cc1bb191e43a231a3865" > > + > > +inherit features_check setuptools3 pkgconfig gtk-icon-cache gsettings > > mime-xdg > > + > > +REQUIRED_DISTRO_FEATURES = "x11" > > + > > +FILES:${PN} += " \ > > + ${datadir}/dbus-1 \ > > + ${datadir}/icons \ > > + ${datadir}/gnome-shell \ > > + ${datadir}/help \ > > +" > > + > > +RDEPENDS:${PN} += " \ > > + ncurses \ > > + python3-dbus \ > > + python3-pycairo \ > > + python3-pygobject \ > > +" > > + > > +do_install:append() { > > + install -d ${D}${sysconfdir}/xdg/autostart > > + > > + mv > > ${D}${PYTHON_SITEPACKAGES_DIR}${sysconfdir}/xdg/autostart/onboard-autostart.desktop > > ${D}${sysconfdir}/xdg/autostart > > Use a single line to create the dir and copy the file. > > Install -Dm 0644 > ${D}${PYTHON_SITEPACKAGES_DIR}${sysconfdir}/xdg/autostart/onboard-autostart.desktop > ${D}${sysconfdir}/xdg/autostart/onboard-autostart.desktop > > > +} > > -- > > 2.43.0 > > > > > > > >
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#114022): https://lists.openembedded.org/g/openembedded-devel/message/114022 Mute This Topic: https://lists.openembedded.org/mt/109720017/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
