mirror of
https://git.yoctoproject.org/poky
synced 2026-05-30 12:29:55 +00:00
libcap-ng: Fix python bindings determinism issue
(From OE-Core rev: e4ff283d8ae7f77b523a648e7c0dbbb1781008fe) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
@@ -8,9 +8,13 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
|
|||||||
file://COPYING.LIB;md5=e3eda01d9815f8d24aae2dbd89b68b06"
|
file://COPYING.LIB;md5=e3eda01d9815f8d24aae2dbd89b68b06"
|
||||||
|
|
||||||
SRC_URI = "https://people.redhat.com/sgrubb/libcap-ng/libcap-ng-${PV}.tar.gz \
|
SRC_URI = "https://people.redhat.com/sgrubb/libcap-ng/libcap-ng-${PV}.tar.gz \
|
||||||
|
file://determinism.patch \
|
||||||
file://python.patch \
|
file://python.patch \
|
||||||
"
|
"
|
||||||
|
|
||||||
SRC_URI[sha256sum] = "52c083b77c2b0d8449dee141f9c3eba76e6d4c5ad44ef05df25891126cb85ae9"
|
SRC_URI[sha256sum] = "52c083b77c2b0d8449dee141f9c3eba76e6d4c5ad44ef05df25891126cb85ae9"
|
||||||
|
|
||||||
|
EXTRA_OECONF_append_class-target = " --with-capability_header=${STAGING_INCDIR}/linux/capability.h"
|
||||||
|
EXTRA_OECONF_append_class-nativesdk = " --with-capability_header=${STAGING_INCDIR}/linux/capability.h"
|
||||||
|
|
||||||
BBCLASSEXTEND = "native nativesdk"
|
BBCLASSEXTEND = "native nativesdk"
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
@@ -13,10 +13,10 @@ Signed-off-by: Zang Ruochen <zangrc.fnst@cn.fujitsu.com>
|
|||||||
configure.ac | 17 ++---------------
|
configure.ac | 17 ++---------------
|
||||||
2 files changed, 5 insertions(+), 16 deletions(-)
|
2 files changed, 5 insertions(+), 16 deletions(-)
|
||||||
|
|
||||||
diff --git a/bindings/python/Makefile.am b/bindings/python/Makefile.am
|
Index: libcap-ng-0.8.2/bindings/python/Makefile.am
|
||||||
index 999b184..c8e49db 100644
|
===================================================================
|
||||||
--- a/bindings/python/Makefile.am
|
--- libcap-ng-0.8.2.orig/bindings/python/Makefile.am
|
||||||
+++ b/bindings/python/Makefile.am
|
+++ libcap-ng-0.8.2/bindings/python/Makefile.am
|
||||||
@@ -23,7 +23,9 @@
|
@@ -23,7 +23,9 @@
|
||||||
SUBDIRS = test
|
SUBDIRS = test
|
||||||
CONFIG_CLEAN_FILES = *.loT *.rej *.orig
|
CONFIG_CLEAN_FILES = *.loT *.rej *.orig
|
||||||
@@ -28,11 +28,11 @@ index 999b184..c8e49db 100644
|
|||||||
SWIG_FLAGS = -python
|
SWIG_FLAGS = -python
|
||||||
SWIG_INCLUDES = ${AM_CPPFLAGS}
|
SWIG_INCLUDES = ${AM_CPPFLAGS}
|
||||||
pyexec_PYTHON = capng.py
|
pyexec_PYTHON = capng.py
|
||||||
diff --git a/configure.ac b/configure.ac
|
Index: libcap-ng-0.8.2/configure.ac
|
||||||
index 8b46f51..2d7e00c 100644
|
===================================================================
|
||||||
--- a/configure.ac
|
--- libcap-ng-0.8.2.orig/configure.ac
|
||||||
+++ b/configure.ac
|
+++ libcap-ng-0.8.2/configure.ac
|
||||||
@@ -141,21 +141,8 @@ fi
|
@@ -169,21 +169,8 @@ fi
|
||||||
|
|
||||||
# Setup Python2 with the interpreter found previously.
|
# Setup Python2 with the interpreter found previously.
|
||||||
AM_PATH_PYTHON
|
AM_PATH_PYTHON
|
||||||
@@ -56,5 +56,3 @@ index 8b46f51..2d7e00c 100644
|
|||||||
fi
|
fi
|
||||||
AM_CONDITIONAL(HAVE_PYTHON, test ${python_found} = "yes")
|
AM_CONDITIONAL(HAVE_PYTHON, test ${python_found} = "yes")
|
||||||
|
|
||||||
--
|
|
||||||
2.25.1
|
|
||||||
|
|||||||
Reference in New Issue
Block a user