[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
 
