summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--base/libcap/.footprint41
-rw-r--r--base/libcap/.md5sum3
-rwxr-xr-xbase/libcap/Pkgfile27
-rw-r--r--base/libcap/libcap-2.16-drop-linux-workarounds.patch43
-rw-r--r--base/libcap/libcap-2.16-makefile.patch14
5 files changed, 128 insertions, 0 deletions
diff --git a/base/libcap/.footprint b/base/libcap/.footprint
new file mode 100644
index 000000000..5791fb900
--- /dev/null
+++ b/base/libcap/.footprint
@@ -0,0 +1,41 @@
+drwxr-xr-x root/root usr/
+drwxr-xr-x root/root usr/include/
+drwxr-xr-x root/root usr/include/sys/
+-rw-r--r-- root/root usr/include/sys/capability.h
+drwxr-xr-x root/root usr/lib/
+-rw-r--r-- root/root usr/lib/libcap.a
+lrwxrwxrwx root/root usr/lib/libcap.so -> libcap.so.2
+lrwxrwxrwx root/root usr/lib/libcap.so.2 -> libcap.so.2.16
+-rw-r--r-- root/root usr/lib/libcap.so.2.16
+drwxr-xr-x root/root usr/man/
+drwxr-xr-x root/root usr/man/man3/
+-rw-r--r-- root/root usr/man/man3/cap_clear.3.gz
+-rw-r--r-- root/root usr/man/man3/cap_clear_flag.3.gz
+-rw-r--r-- root/root usr/man/man3/cap_compare.3.gz
+-rw-r--r-- root/root usr/man/man3/cap_copy_ext.3.gz
+-rw-r--r-- root/root usr/man/man3/cap_copy_int.3.gz
+-rw-r--r-- root/root usr/man/man3/cap_dup.3.gz
+-rw-r--r-- root/root usr/man/man3/cap_free.3.gz
+-rw-r--r-- root/root usr/man/man3/cap_from_name.3.gz
+-rw-r--r-- root/root usr/man/man3/cap_from_text.3.gz
+-rw-r--r-- root/root usr/man/man3/cap_get_fd.3.gz
+-rw-r--r-- root/root usr/man/man3/cap_get_file.3.gz
+-rw-r--r-- root/root usr/man/man3/cap_get_flag.3.gz
+-rw-r--r-- root/root usr/man/man3/cap_get_pid.3.gz
+-rw-r--r-- root/root usr/man/man3/cap_get_proc.3.gz
+-rw-r--r-- root/root usr/man/man3/cap_init.3.gz
+-rw-r--r-- root/root usr/man/man3/cap_set_fd.3.gz
+-rw-r--r-- root/root usr/man/man3/cap_set_file.3.gz
+-rw-r--r-- root/root usr/man/man3/cap_set_flag.3.gz
+-rw-r--r-- root/root usr/man/man3/cap_set_proc.3.gz
+-rw-r--r-- root/root usr/man/man3/cap_size.3.gz
+-rw-r--r-- root/root usr/man/man3/cap_to_name.3.gz
+-rw-r--r-- root/root usr/man/man3/cap_to_text.3.gz
+-rw-r--r-- root/root usr/man/man3/capgetp.3.gz
+-rw-r--r-- root/root usr/man/man3/capsetp.3.gz
+-rw-r--r-- root/root usr/man/man3/libcap.3.gz
+drwxr-xr-x root/root usr/sbin/
+-rwxr-xr-x root/root usr/sbin/capsh
+-rwxr-xr-x root/root usr/sbin/getcap
+-rwxr-xr-x root/root usr/sbin/getpcaps
+-rwxr-xr-x root/root usr/sbin/setcap
diff --git a/base/libcap/.md5sum b/base/libcap/.md5sum
new file mode 100644
index 000000000..5889729c6
--- /dev/null
+++ b/base/libcap/.md5sum
@@ -0,0 +1,3 @@
+7327a51597db092d7549310b670b5366 libcap-2.16-drop-linux-workarounds.patch
+0d1cee9631768d29b43f450832668687 libcap-2.16-makefile.patch
+6e2c9d0f3c3118e41cd07288ba9577ce libcap-2.16.tar.bz2
diff --git a/base/libcap/Pkgfile b/base/libcap/Pkgfile
new file mode 100755
index 000000000..480a7f0b1
--- /dev/null
+++ b/base/libcap/Pkgfile
@@ -0,0 +1,27 @@
+# Description: Librairie posix 1003.1e version 2
+# URL: http://www.kernel.org/pub/linux/libs/security/linux-privs/
+# Maintainer: NuTyX core team
+# Packager: thierryn1 at hispeed dot ch
+# Depends on: libattr
+
+name=libcap
+version=2.16
+release=1
+source=(http://www.kernel.org/pub/linux/libs/security/linux-privs/libcap2/libcap-$version.tar.bz2\
+ $name-$version-makefile.patch $name-$version-drop-linux-workarounds.patch)
+
+build() {
+ cd $name-$version
+ patch -p0 -i $SRC/$name-$version-makefile.patch
+ patch -p0 -i $SRC/$name-$version-drop-linux-workarounds.patch
+ make
+ make \
+ INCDIR=$PKG/usr/include \
+ LIBDIR=$PKG/usr/lib \
+ SBINDIR=$PKG/usr/sbin \
+ MANDIR=$PKG/usr/man install
+
+ # man8 is empty, cap{set,get}(2) come from core/man-pages
+ rm -rf $PKG/usr/man/man{2,8}
+
+}
diff --git a/base/libcap/libcap-2.16-drop-linux-workarounds.patch b/base/libcap/libcap-2.16-drop-linux-workarounds.patch
new file mode 100644
index 000000000..bbd6db835
--- /dev/null
+++ b/base/libcap/libcap-2.16-drop-linux-workarounds.patch
@@ -0,0 +1,43 @@
+dont need these compat hacks anymore
+
+http://bugs.gentoo.org/265304
+
+--- libcap/include/sys/capability.h
++++ libcap/include/sys/capability.h
+@@ -22,18 +22,6 @@
+ #include <sys/types.h>
+ #include <stdint.h>
+
+-/*
+- * Make sure we can be included from userland by preventing
+- * capability.h from including other kernel headers
+- */
+-#define _LINUX_TYPES_H
+-#define _LINUX_FS_H
+-#define __LINUX_COMPILER_H
+-#define __user
+-
+-typedef unsigned int __u32;
+-typedef __u32 __le32;
+-
+ #include <linux/capability.h>
+
+ /*
+--- libcap/include/linux/capability.h
++++ libcap/include/linux/capability.h
+@@ -40,13 +40,13 @@
+ typedef struct __user_cap_header_struct {
+ __u32 version;
+ int pid;
+-} __user *cap_user_header_t;
++} *cap_user_header_t;
+
+ typedef struct __user_cap_data_struct {
+ __u32 effective;
+ __u32 permitted;
+ __u32 inheritable;
+-} __user *cap_user_data_t;
++} *cap_user_data_t;
+
+
+ #define XATTR_CAPS_SUFFIX "capability"
diff --git a/base/libcap/libcap-2.16-makefile.patch b/base/libcap/libcap-2.16-makefile.patch
new file mode 100644
index 000000000..529c437a5
--- /dev/null
+++ b/base/libcap/libcap-2.16-makefile.patch
@@ -0,0 +1,14 @@
+--- libcap/Makefile~ 2008-12-04 09:03:12.000000000 +0200
++++ libcap/Makefile 2009-01-12 17:17:07.000000000 +0200
+@@ -27,11 +27,6 @@
+
+ all: $(MINLIBNAME) $(STALIBNAME)
+
+-ifeq ($(shell gperf --version > /dev/null 2>&1 && echo yes),yes)
+-USE_GPERF_OUTPUT = $(GPERF_OUTPUT)
+-INCLUDE_GPERF_OUTPUT = -include $(GPERF_OUTPUT)
+-endif
+-
+ _makenames: _makenames.c cap_names.list.h
+ $(BUILD_CC) $(BUILD_CFLAGS) $< -o $@
+