xref: /OK3568_Linux_fs/yocto/poky/meta/recipes-support/libcap-ng/libcap-ng/determinism.patch (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun[PATCH] bindings/python: Allow hardcoded path to capability.h to be overridden
2*4882a593Smuzhiyun
3*4882a593SmuzhiyunCurrently the path to capability.h is hardcoded. When cross compiling
4*4882a593Smuzhiyunthe host capabiity.h may be different to the target copy, leading
5*4882a593Smuzhiyunto different options being encoded in the python bindings than
6*4882a593Smuzhiyunexpected. This causes a reproducibility issue amongst other potential
7*4882a593Smuzhiyunproblems.
8*4882a593Smuzhiyun
9*4882a593SmuzhiyunAdd a configure option to optionally specify the right path to the
10*4882a593Smuzhiyuncorrect header as its probably safer/more reliable than trying to
11*4882a593Smuzhiyunquery the compiler to get the header path.
12*4882a593Smuzhiyun
13*4882a593SmuzhiyunSigned-off-by: Richard Purdie richard.purdie@linuxfoundation.org
14*4882a593SmuzhiyunUpstream-Status: Submitted [https://github.com/stevegrubb/libcap-ng/pull/30]
15*4882a593Smuzhiyun
16*4882a593SmuzhiyunIndex: libcap-ng-0.8.2/configure.ac
17*4882a593Smuzhiyun===================================================================
18*4882a593Smuzhiyun--- libcap-ng-0.8.2.orig/configure.ac
19*4882a593Smuzhiyun+++ libcap-ng-0.8.2/configure.ac
20*4882a593Smuzhiyun@@ -63,6 +63,13 @@ AC_CHECK_HEADERS(sys/vfs.h, [
21*4882a593Smuzhiyun 	AC_CHECK_HEADERS(linux/magic.h, [] [AC_MSG_WARN(linux/magic.h is required in order to verify procfs.)])
22*4882a593Smuzhiyun 	], [AC_MSG_WARN(sys/vfs.h is required in order to verify procfs.)])
23*4882a593Smuzhiyun
24*4882a593Smuzhiyun+
25*4882a593Smuzhiyun+AC_ARG_WITH([capability_header],
26*4882a593Smuzhiyun+        [AS_HELP_STRING([--with-capability_header=path : path to cpapbility.h])],
27*4882a593Smuzhiyun+        [CAPABILITY_HEADER=$withval],
28*4882a593Smuzhiyun+        [CAPABILITY_HEADER=/usr/include/linux/capability.h])
29*4882a593Smuzhiyun+AC_SUBST(CAPABILITY_HEADER)
30*4882a593Smuzhiyun+
31*4882a593Smuzhiyun AC_C_CONST
32*4882a593Smuzhiyun AC_C_INLINE
33*4882a593Smuzhiyun AM_PROG_CC_C_O
34*4882a593SmuzhiyunIndex: libcap-ng-0.8.2/bindings/python3/Makefile.am
35*4882a593Smuzhiyun===================================================================
36*4882a593Smuzhiyun--- libcap-ng-0.8.2.orig/bindings/python3/Makefile.am
37*4882a593Smuzhiyun+++ libcap-ng-0.8.2/bindings/python3/Makefile.am
38*4882a593Smuzhiyun@@ -41,7 +41,7 @@ nodist__capng_la_SOURCES  = capng_wrap.c
39*4882a593Smuzhiyun capng.py capng_wrap.c: ${srcdir}/../src/capng_swig.i caps.h capng.h
40*4882a593Smuzhiyun 	swig -o capng_wrap.c ${SWIG_FLAGS} ${SWIG_INCLUDES} ${srcdir}/../src/capng_swig.i
41*4882a593Smuzhiyun caps.h:
42*4882a593Smuzhiyun-	cat /usr/include/linux/capability.h | grep '^#define CAP'  | grep -v '[()]' > caps.h
43*4882a593Smuzhiyun+	cat $(CAPABILITY_HEADER) | grep '^#define CAP'  | grep -v '[()]' > caps.h
44*4882a593Smuzhiyun capng.h:
45*4882a593Smuzhiyun 	cat ${top_srcdir}/src/cap-ng.h | grep -v '_state' > capng.h
46*4882a593Smuzhiyun
47*4882a593SmuzhiyunIndex: libcap-ng-0.8.2/bindings/python/Makefile.am
48*4882a593Smuzhiyun===================================================================
49*4882a593Smuzhiyun--- libcap-ng-0.8.2.orig/bindings/python/Makefile.am
50*4882a593Smuzhiyun+++ libcap-ng-0.8.2/bindings/python/Makefile.am
51*4882a593Smuzhiyun@@ -38,7 +38,7 @@ nodist__capng_la_SOURCES  = capng_wrap.c
52*4882a593Smuzhiyun capng.py capng_wrap.c: ${srcdir}/../src/capng_swig.i caps.h capng.h
53*4882a593Smuzhiyun 	swig -o capng_wrap.c ${SWIG_FLAGS} ${SWIG_INCLUDES} ${srcdir}/../src/capng_swig.i
54*4882a593Smuzhiyun caps.h:
55*4882a593Smuzhiyun-	cat /usr/include/linux/capability.h | grep '^#define CAP'  | grep -v '[()]' > caps.h
56*4882a593Smuzhiyun+	cat $(CAPABILITY_HEADER) | grep '^#define CAP'  | grep -v '[()]' > caps.h
57*4882a593Smuzhiyun capng.h:
58*4882a593Smuzhiyun 	cat ${top_srcdir}/src/cap-ng.h | grep -v '_state' > capng.h
59*4882a593Smuzhiyun
60