summaryrefslogtreecommitdiffstats
path: root/meta/recipes-support/libcap-ng/libcap-ng/determinism.patch
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2021-02-20 14:52:25 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2021-02-23 22:31:26 +0000
commite4ff283d8ae7f77b523a648e7c0dbbb1781008fe (patch)
treeeae019f2443db44c19b10ca1eeafb94c1e416ab9 /meta/recipes-support/libcap-ng/libcap-ng/determinism.patch
parente5f809068b32df32e506f3067cd6086195e03f12 (diff)
downloadopenembedded-core-e4ff283d8ae7f77b523a648e7c0dbbb1781008fe.tar.gz
libcap-ng: Fix python bindings determinism issue
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-support/libcap-ng/libcap-ng/determinism.patch')
-rw-r--r--meta/recipes-support/libcap-ng/libcap-ng/determinism.patch59
1 files changed, 59 insertions, 0 deletions
diff --git a/meta/recipes-support/libcap-ng/libcap-ng/determinism.patch b/meta/recipes-support/libcap-ng/libcap-ng/determinism.patch
new file mode 100644
index 0000000000..fbb7380f56
--- /dev/null
+++ b/meta/recipes-support/libcap-ng/libcap-ng/determinism.patch
@@ -0,0 +1,59 @@
+[PATCH] bindings/python: Allow hardcoded path to capability.h to be overridden
+
+Currently the path to capability.h is hardcoded. When cross compiling
+the host capabiity.h may be different to the target copy, leading
+to different options being encoded in the python bindings than
+expected. This causes a reproducibility issue amongst other potential
+problems.
+
+Add a configure option to optionally specify the right path to the
+correct header as its probably safer/more reliable than trying to
+query the compiler to get the header path.
+
+Signed-off-by: Richard Purdie richard.purdie@linuxfoundation.org
+Upstream-Status: Submitted [https://github.com/stevegrubb/libcap-ng/pull/30]
+
+Index: libcap-ng-0.8.2/configure.ac
+===================================================================
+--- libcap-ng-0.8.2.orig/configure.ac
++++ libcap-ng-0.8.2/configure.ac
+@@ -63,6 +63,13 @@ AC_CHECK_HEADERS(sys/vfs.h, [
+ AC_CHECK_HEADERS(linux/magic.h, [] [AC_MSG_WARN(linux/magic.h is required in order to verify procfs.)])
+ ], [AC_MSG_WARN(sys/vfs.h is required in order to verify procfs.)])
+
++
++AC_ARG_WITH([capability_header],
++ [AS_HELP_STRING([--with-capability_header=path : path to cpapbility.h])],
++ [CAPABILITY_HEADER=$withval],
++ [CAPABILITY_HEADER=/usr/include/linux/capability.h])
++AC_SUBST(CAPABILITY_HEADER)
++
+ AC_C_CONST
+ AC_C_INLINE
+ AM_PROG_CC_C_O
+Index: libcap-ng-0.8.2/bindings/python3/Makefile.am
+===================================================================
+--- libcap-ng-0.8.2.orig/bindings/python3/Makefile.am
++++ libcap-ng-0.8.2/bindings/python3/Makefile.am
+@@ -41,7 +41,7 @@ nodist__capng_la_SOURCES = capng_wrap.c
+ capng.py capng_wrap.c: ${srcdir}/../src/capng_swig.i caps.h capng.h
+ swig -o capng_wrap.c ${SWIG_FLAGS} ${SWIG_INCLUDES} ${srcdir}/../src/capng_swig.i
+ caps.h:
+- cat /usr/include/linux/capability.h | grep '^#define CAP' | grep -v '[()]' > caps.h
++ cat $(CAPABILITY_HEADER) | grep '^#define CAP' | grep -v '[()]' > caps.h
+ capng.h:
+ cat ${top_srcdir}/src/cap-ng.h | grep -v '_state' > capng.h
+
+Index: libcap-ng-0.8.2/bindings/python/Makefile.am
+===================================================================
+--- libcap-ng-0.8.2.orig/bindings/python/Makefile.am
++++ libcap-ng-0.8.2/bindings/python/Makefile.am
+@@ -38,7 +38,7 @@ nodist__capng_la_SOURCES = capng_wrap.c
+ capng.py capng_wrap.c: ${srcdir}/../src/capng_swig.i caps.h capng.h
+ swig -o capng_wrap.c ${SWIG_FLAGS} ${SWIG_INCLUDES} ${srcdir}/../src/capng_swig.i
+ caps.h:
+- cat /usr/include/linux/capability.h | grep '^#define CAP' | grep -v '[()]' > caps.h
++ cat $(CAPABILITY_HEADER) | grep '^#define CAP' | grep -v '[()]' > caps.h
+ capng.h:
+ cat ${top_srcdir}/src/cap-ng.h | grep -v '_state' > capng.h
+