libcap: add patch to fix build issue with old kernel headers
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Wed, 16 Mar 2016 20:20:09 +0000 (21:20 +0100)
committerPeter Korsgaard <peter@korsgaard.com>
Wed, 16 Mar 2016 22:20:41 +0000 (23:20 +0100)
commit604095fe9bea925f34ea05a5d80efbc3e9ba16f2
treee38ef466d3767d4338548b0425707bd0b3bfbdee
parent5d8926add5da1b0bdfb90a41f4d7f857864c5524
libcap: add patch to fix build issue with old kernel headers

Old kernels (before 2.6.36) were defining XATTR_NAME_CAPS in
<linux/capability.h>, but using XATTR_SECURITY_PREFIX and
XATTR_CAPS_SUFFIX which were defined in the kernel-only part of
<linux/xattr.h>.

In kernel 2.6.36 (commit af4f136056c984b0aa67feed7d3170b958370b2f),
the XATTR_NAME_CAPS definition was moved to the kernel-only part of
<linux/xattr.h>. It's only in kernel 3.0 (commit
1dbe39424a43e56a6c9aed12661192af51dcdb9f) that <linux/xattr.h> was
fixed to expose XATTR_NAME_CAPS and the related definitions to
userspace.

This is the reason why the target variant of libcap has a dependency
on headers >= 3.0 for the moment.

However, this doesn't solve the problem for the host variant of
libcap, which doesn't build properly on old systems.

To solve this, we simply add a patch that defines the missing
definitions. Their values haven't changed over time since they are
part of the kernel to userspace ABI.

Fixes:

  http://autobuild.buildroot.org/results/856b71bccf14c3334a8c0fc66c1d985b09734313/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
package/libcap/0003-libcap-cap_file.c-fix-build-with-old-kernel-headers.patch [new file with mode: 0644]