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