[OE-core] [PATCH] matchbox-desktop: sync with gio for the inotify-sub
jackie.huang at windriver.com
jackie.huang at windriver.com
Tue Dec 1 05:47:10 UTC 2015
From: Jackie Huang <jackie.huang at windriver.com>
matchbox-desktop builds with included libinotify which
is very old (last sync was in 2008), if we compile glib-2.0
with -fvisibility=default (the default is hidden for libglib
and libgio), it will crash because of inconsistency of
inotify-sub, so port the related parts to fix the issue.
Signed-off-by: Jackie Huang <jackie.huang at windriver.com>
---
.../files/gio-sync-for-the-inotify-sub.patch | 112 +++++++++++++++++++++
.../matchbox-desktop/matchbox-desktop_git.bb | 4 +-
2 files changed, 115 insertions(+), 1 deletion(-)
create mode 100644 meta/recipes-sato/matchbox-desktop/files/gio-sync-for-the-inotify-sub.patch
diff --git a/meta/recipes-sato/matchbox-desktop/files/gio-sync-for-the-inotify-sub.patch b/meta/recipes-sato/matchbox-desktop/files/gio-sync-for-the-inotify-sub.patch
new file mode 100644
index 0000000..a9367e9
--- /dev/null
+++ b/meta/recipes-sato/matchbox-desktop/files/gio-sync-for-the-inotify-sub.patch
@@ -0,0 +1,112 @@
+From 84b7272c446cea5c6ae185548de0c6cad3a42355 Mon Sep 17 00:00:00 2001
+From: Jackie Huang <jackie.huang at windriver.com>
+Date: Sat, 28 Nov 2015 07:53:38 +0000
+Subject: [PATCH] gio: sync for the inotify-sub
+
+This only sync for the inotify-sub with glib-2.44
+to keep _ih_sub_new consistent.
+
+Upstream-Status: Pending
+
+Signed-off-by: Jackie Huang <jackie.huang at windriver.com>
+---
+ libtaku/inotify/inotify-sub.c | 15 +++++++++------
+ libtaku/inotify/inotify-sub.h | 13 +++++++++----
+ libtaku/taku-menu-desktop.c | 2 +-
+ 3 files changed, 19 insertions(+), 11 deletions(-)
+
+diff --git a/libtaku/inotify/inotify-sub.c b/libtaku/inotify/inotify-sub.c
+index 404dc20..85b3411 100644
+--- a/libtaku/inotify/inotify-sub.c
++++ b/libtaku/inotify/inotify-sub.c
+@@ -16,8 +16,7 @@
+
+ You should have received a copy of the GNU Library General Public
+ License along with the Gnome Library; see the file COPYING.LIB. If not,
+- write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+- Boston, MA 02111-1307, USA.
++ see <http://www.gnu.org/licenses/>.
+
+ Authors:
+ John McCutchan <john at johnmccutchan.com>
+@@ -38,15 +37,17 @@ dup_dirname (const gchar *dirname)
+ gchar *d_dirname = g_strdup (dirname);
+ size_t len = strlen (d_dirname);
+
+- if (d_dirname[len] == '/')
+- d_dirname[len] = '\0';
++ if (len && d_dirname[len - 1] == '/')
++ d_dirname[len - 1] = '\0';
+
+ return d_dirname;
+ }
+
+ inotify_sub*
+ _ih_sub_new (const gchar *dirname,
+- const gchar *filename,
++ const gchar *filename,
++ gboolean pair_moves,
++ gboolean watch_hardlinks,
+ gpointer user_data)
+ {
+ inotify_sub *sub = NULL;
+@@ -54,8 +55,10 @@ _ih_sub_new (const gchar *dirname,
+ sub = g_new0 (inotify_sub, 1);
+ sub->dirname = dup_dirname (dirname);
+ sub->filename = g_strdup (filename);
++ sub->pair_moves = pair_moves;
++ sub->hardlinks = watch_hardlinks;
+ sub->user_data = user_data;
+-
++
+ IS_W ("new subscription for %s being setup\n", sub->dirname);
+
+ return sub;
+diff --git a/libtaku/inotify/inotify-sub.h b/libtaku/inotify/inotify-sub.h
+index 36561e7..ff37567 100644
+--- a/libtaku/inotify/inotify-sub.h
++++ b/libtaku/inotify/inotify-sub.h
+@@ -14,8 +14,7 @@
+
+ You should have received a copy of the GNU Library General Public
+ License along with the Gnome Library; see the file COPYING.LIB. If not,
+- write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+- Boston, MA 02111-1307, USA.
++ see <http://www.gnu.org/licenses/>.
+
+ Author: John McCutchan <john at johnmccutchan.com>
+ */
+@@ -30,9 +29,15 @@ typedef struct
+ gchar* filename;
+ gboolean cancelled;
+ gpointer user_data;
++ gboolean pair_moves;
++ gboolean hardlinks;
+ } inotify_sub;
+
+-inotify_sub* _ih_sub_new (const gchar* dirname, const gchar* filename, gpointer user_data);
+-void _ih_sub_free (inotify_sub* sub);
++inotify_sub *_ih_sub_new (const gchar *dirname,
++ const gchar *filename,
++ gboolean pair_moves,
++ gboolean watch_hardlinks,
++ gpointer user_data);
++void _ih_sub_free (inotify_sub *sub);
+
+ #endif /* __INOTIFY_SUB_H */
+diff --git a/libtaku/taku-menu-desktop.c b/libtaku/taku-menu-desktop.c
+index 34b10d9..ef88421 100644
+--- a/libtaku/taku-menu-desktop.c
++++ b/libtaku/taku-menu-desktop.c
+@@ -415,7 +415,7 @@ monitor (const char *directory)
+ if (!with_inotify)
+ return;
+
+- sub = _ih_sub_new (directory, NULL, NULL);
++ sub = _ih_sub_new (directory, NULL, FALSE, FALSE, NULL);
+ _ip_start_watching (sub);
+ }
+
+--
+2.5.0
+
diff --git a/meta/recipes-sato/matchbox-desktop/matchbox-desktop_git.bb b/meta/recipes-sato/matchbox-desktop/matchbox-desktop_git.bb
index 318d2e0..4fcc69e 100644
--- a/meta/recipes-sato/matchbox-desktop/matchbox-desktop_git.bb
+++ b/meta/recipes-sato/matchbox-desktop/matchbox-desktop_git.bb
@@ -13,7 +13,9 @@ SECTION = "x11/wm"
SRCREV = "71e3e6e04271e9d5a14f1c231ef100c7f320134d"
PV = "2.0+git${SRCPV}"
-SRC_URI = "git://git.yoctoproject.org/${BPN}-2"
+SRC_URI = "git://git.yoctoproject.org/${BPN}-2 \
+ file://gio-sync-for-the-inotify-sub.patch \
+"
EXTRA_OECONF = "--enable-startup-notification --with-dbus"
--
1.9.1
More information about the Openembedded-core
mailing list