]> code.ossystems Code Review - openembedded-core.git/commitdiff
libcap: fix CAP_LAST_CAP
authorRoy Li <rongqing.li@windriver.com>
Wed, 23 Oct 2013 09:05:41 +0000 (17:05 +0800)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 12 Dec 2013 16:53:01 +0000 (16:53 +0000)
(From OE-Core master rev: 9032c10cc882a96acdfd0739f090d121ab625a18)

Signed-off-by: Roy Li <rongqing.li@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
meta/recipes-support/libcap/libcap.inc
meta/recipes-support/libcap/libcap/fix-CAP_LAST_CAP.patch [new file with mode: 0644]

index 772057f5107d2f7b8157b1ad2f3afd0feddaa7af..1b11b85554bb1eae53b952a8622668bf9a9ab69f 100644 (file)
@@ -10,7 +10,8 @@ DEPENDS += "${@base_contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
 # attr and pam are disabled by EXTRA_OEMAKE_class-native
 DEPENDS_class-native = "perl-native-runtime"
 
-SRC_URI = "${DEBIAN_MIRROR}/main/libc/libcap2/${BPN}2_${PV}.orig.tar.gz"
+SRC_URI = "${DEBIAN_MIRROR}/main/libc/libcap2/${BPN}2_${PV}.orig.tar.gz \
+           file://fix-CAP_LAST_CAP.patch"
 
 PR = "r1"
 
diff --git a/meta/recipes-support/libcap/libcap/fix-CAP_LAST_CAP.patch b/meta/recipes-support/libcap/libcap/fix-CAP_LAST_CAP.patch
new file mode 100644 (file)
index 0000000..a557188
--- /dev/null
@@ -0,0 +1,39 @@
+fix CAP_LAST_CAP
+
+Upstream-Status: pending
+
+Two new capability CAP_BLOCK_SUSPEND and CAP_WAKE_ALARM have been added into
+kernel, but libcap did not update them.
+Once libcap uses its capability.h (the default value of KERNEL_HEADERS), and
+application always use capability.h from kernel, that will make cap_get_flag
+return wrong value.
+
+Signed-off-by: Roy Li <rongqing.li@windriver.com>
+---
+ libcap/include/linux/capability.h |   10 +++++++++-
+ 1 file changed, 9 insertions(+), 1 deletion(-)
+
+diff --git a/libcap/include/linux/capability.h b/libcap/include/linux/capability.h
+index 4924f2a..57026be 100644
+--- a/libcap/include/linux/capability.h
++++ b/libcap/include/linux/capability.h
+@@ -360,7 +360,15 @@ struct cpu_vfs_cap_data {
+    CAP_SYS_ADMIN is not acceptable anymore. */
+ #define CAP_SYSLOG           34
+-#define CAP_LAST_CAP         CAP_SYSLOG
++/* Allow triggering something that will wake the system */
++
++#define CAP_WAKE_ALARM            35
++
++/* Allow preventing system suspends */
++
++#define CAP_BLOCK_SUSPEND    36
++
++#define CAP_LAST_CAP         CAP_BLOCK_SUSPEND
+ #define cap_valid(x) ((x) >= 0 && (x) <= CAP_LAST_CAP)
+-- 
+1.7.10.4
+