From 29d57a9e270c64b523021a65fdde140efb40e3c7 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Wed, 19 Feb 2020 15:15:19 +0000 Subject: gstreamer: Fix reproducibility issue around libcap Add an option to avoid builds depending on the presence of setcap from the host system. [YOCTO #13786] (From OE-Core rev: 182910321971cb87e54c2a92cb8ea6c531a743ee) Signed-off-by: Richard Purdie --- .../gstreamer/gstreamer1.0/capfix.patch | 37 ++++++++++++++++++++++ .../gstreamer/gstreamer1.0_1.16.1.bb | 2 ++ 2 files changed, 39 insertions(+) create mode 100644 meta/recipes-multimedia/gstreamer/gstreamer1.0/capfix.patch (limited to 'meta') diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0/capfix.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0/capfix.patch new file mode 100644 index 0000000000..7ca3d5ad4a --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0/capfix.patch @@ -0,0 +1,37 @@ +Currently gstreamer configuration depends on whether setcap is found on the host +system. Turn this into a configure option to make builds deterinistic. + +RP 2020/2/19 +Signed-off-by: Richard Purdie +Upstream-Status: Pending + +Index: gstreamer-1.16.1/libs/gst/helpers/meson.build +=================================================================== +--- gstreamer-1.16.1.orig/libs/gst/helpers/meson.build ++++ gstreamer-1.16.1/libs/gst/helpers/meson.build +@@ -73,7 +73,12 @@ if have_ptp + endif + endif + +- setcap = find_program('setcap', '/usr/sbin/setcap', '/sbin/setcap', required : false) ++ setcap_feature = get_option('setcap') ++ if setcap_feature.disabled() ++ setcap = find_program('dontexist', required : false) ++ else ++ setcap = find_program('setcap', '/usr/sbin/setcap', '/sbin/setcap', required : false) ++ endif + + # user/group to change to in gst-ptp-helper + ptp_helper_setuid_user = get_option('ptp-helper-setuid-user') +Index: gstreamer-1.16.1/meson_options.txt +=================================================================== +--- gstreamer-1.16.1.orig/meson_options.txt ++++ gstreamer-1.16.1/meson_options.txt +@@ -26,6 +26,7 @@ option('libunwind', type : 'feature', va + option('libdw', type : 'feature', value : 'auto', description : 'Use libdw to generate better backtraces from libunwind') + option('dbghelp', type : 'feature', value : 'auto', description : 'Use dbghelp to generate backtraces') + option('bash-completion', type : 'feature', value : 'auto', description : 'Install bash completion files') ++option('setcap', type : 'feature', value : 'auto', description : 'Use setcap') + + # Common feature options + option('examples', type : 'feature', value : 'auto', yield : true) diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.16.1.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.16.1.bb index 6b8a5a0eb0..d2beafdc34 100644 --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.16.1.bb +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.16.1.bb @@ -21,6 +21,7 @@ SRC_URI = " \ file://0002-meson-build-gir-even-when-cross-compiling-if-introsp.patch \ file://0003-meson-Add-valgrind-feature.patch \ file://0004-meson-Add-option-for-installed-tests.patch \ + file://capfix.patch \ " SRC_URI[md5sum] = "c505fb818b36988daaa846e9e63eabe8" SRC_URI[sha256sum] = "02211c3447c4daa55919c5c0f43a82a6fbb51740d57fc3af0639d46f1cf4377d" @@ -39,6 +40,7 @@ PACKAGECONFIG[unwind] = "-Dlibunwind=enabled,-Dlibunwind=disabled,libunwind" PACKAGECONFIG[dw] = "-Dlibdw=enabled,-Dlibdw=disabled,elfutils" PACKAGECONFIG[bash-completion] = "-Dbash-completion=enabled,-Dbash-completion=disabled,bash-completion" PACKAGECONFIG[tools] = "-Dtools=enabled,-Dtools=disabled" +PACKAGECONFIG[setcap] = "-Dsetcap=enabled,-Dsetcap=disabled,libcap libcap-native" # TODO: put this in a gettext.bbclass patch def gettext_oemeson(d): -- cgit v1.2.3-54-g00ecf