[OE-core] [PATCH] gstreamer1.0: fix install race

Ross Burton ross.burton at intel.com
Thu Nov 12 19:51:14 UTC 2015


The install hook needs to be a data hook not an exec hook (because automake),
the explicit dependency upstream added to fix the ordering results in
install-helpersPROGRAMS executing twice and potentially racing.

Signed-off-by: Ross Burton <ross.burton at intel.com>
---
 .../gstreamer/gstreamer1.0/fix-install-hook.patch  | 24 ++++++++++++++++++++++
 .../gstreamer/gstreamer1.0_1.6.1.bb                |  1 +
 2 files changed, 25 insertions(+)
 create mode 100644 meta/recipes-multimedia/gstreamer/gstreamer1.0/fix-install-hook.patch

diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0/fix-install-hook.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0/fix-install-hook.patch
new file mode 100644
index 0000000..ed75cf8
--- /dev/null
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0/fix-install-hook.patch
@@ -0,0 +1,24 @@
+This needs to be a install-data-hook not an install-exec-hook as the helpers are
+installed into helperdir which is considered data (only path variables with
+"exec" in are considered executables).
+
+The explicit dependency on install-helpersPROGRAMS was an attempt at solving
+this, but this causes occasional races where install-helpersPROGRAMS can run
+twice in parallel (once via install-all, once via the hook's dependency).
+
+Upstream-Status: Submitted [https://bugzilla.gnome.org/show_bug.cgi?id=758029]
+Signed-off-by: Ross Burton <ross.burton at intel.com>
+
+diff --git a/libs/gst/helpers/Makefile.am b/libs/gst/helpers/Makefile.am
+index 0ae9ab0..2530a34 100644
+--- a/libs/gst/helpers/Makefile.am
++++ b/libs/gst/helpers/Makefile.am
+@@ -23,7 +23,7 @@ gst_ptp_helper_CFLAGS = $(GST_OBJ_CFLAGS) $(GIO_CFLAGS)
+ gst_ptp_helper_LDADD = $(GST_OBJ_LIBS) $(GIO_LIBS) $(CAP_LIBS)
+ endif
+ 
+-install-exec-hook: install-helpersPROGRAMS
++install-data-hook:
+ if HAVE_PTP
+ if HAVE_PTP_HELPER_SETUID
+ 	- chown root $(DESTDIR)$(helpersdir)/gst-ptp-helper
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.6.1.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.6.1.bb
index 2359249..9618eaf 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.6.1.bb
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.6.1.bb
@@ -6,6 +6,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d \
 SRC_URI = " \
     http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.xz \
     file://0001-Fix-crash-with-gst-inspect.patch \
+    file://fix-install-hook.patch \
 "
 SRC_URI[md5sum] = "e72e2dc2ee06bfc045bb6010c89de520"
 SRC_URI[sha256sum] = "973a3f213c8d41d6dd0e4e7e38fd6cccacd5ae1ac09e1179a8d5d869ef0a5c9c"
-- 
2.1.4




More information about the Openembedded-core mailing list