libcap: new package

Needed as a dependency of cdrkit, which contains genisomage, useful
for generating ISO9660 filesystem images.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
Thomas Petazzoni 2010-03-02 22:47:13 +01:00
parent c040b2c010
commit 7ec49b9af7
4 changed files with 93 additions and 0 deletions

View File

@ -295,6 +295,7 @@ source "package/libupnp/Config.in"
endmenu
menu "Other"
source "package/libcap/Config.in"
source "package/libdaemon/Config.in"
source "package/libelf/Config.in"
source "package/libevent/Config.in"

10
package/libcap/Config.in Normal file
View File

@ -0,0 +1,10 @@
config BR2_PACKAGE_LIBCAP
bool "libcap"
help
This library implements the user-space interfaces to the
POSIX 1003.1e capabilities available in Linux kernels. These
capabilities are a partitioning of the all powerful root
privilege into a set of distinct privileges.
http://sites.google.com/site/fullycapable/

View File

@ -0,0 +1,55 @@
---
Make.Rules | 15 ++++++++-------
libcap/Makefile | 2 +-
2 files changed, 9 insertions(+), 8 deletions(-)
Index: libcap-2.19/Make.Rules
===================================================================
--- libcap-2.19.orig/Make.Rules
+++ libcap-2.19/Make.Rules
@@ -45,24 +45,25 @@
KERNEL_HEADERS := $(topdir)/libcap/include
IPATH += -I$(topdir)/libcap/include -I$(KERNEL_HEADERS)
-CC := gcc
-CFLAGS := -O2
-BUILD_CC := $(CC)
-BUILD_CFLAGS := $(CFLAGS) $(IPATH)
-AR := ar
-RANLIB := ranlib
+CC ?= gcc
+CFLAGS ?= -O2
+CC_FOR_BUILD ?= $(CC)
+CFLAGS_FOR_BUILD ?= $(CFLAGS)
+AR ?= ar
+RANLIB ?= ranlib
DEBUG = -g #-DDEBUG
WARNINGS=-fPIC -Wall -Wwrite-strings \
-Wpointer-arith -Wcast-qual -Wcast-align \
-Wstrict-prototypes -Wmissing-prototypes \
-Wnested-externs -Winline -Wshadow
LD=$(CC) -Wl,-x -shared
-LDFLAGS := #-g
+LDFLAGS ?= #-g
SYSTEM_HEADERS = /usr/include
INCS=$(topdir)/libcap/include/sys/capability.h
LDFLAGS += -L$(topdir)/libcap
CFLAGS += -Dlinux $(WARNINGS) $(DEBUG) $(IPATH)
+CFLAGS_FOR_BUILD += $(IPATH)
PAM_CAP := $(shell if [ -f /usr/include/security/pam_modules.h ]; then echo yes ; else echo no ; fi)
INDENT := $(shell if [ -n "$(which indent 2>/dev/null)" ]; then echo "| indent -kr" ; fi)
DYNAMIC := $(shell if [ ! -d "$(topdir)/.git" ]; then echo yes; fi)
Index: libcap-2.19/libcap/Makefile
===================================================================
--- libcap-2.19.orig/libcap/Makefile
+++ libcap-2.19/libcap/Makefile
@@ -33,7 +33,7 @@
endif
_makenames: _makenames.c cap_names.list.h
- $(BUILD_CC) $(BUILD_CFLAGS) $< -o $@
+ $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $< -o $@
cap_names.h: _makenames
./_makenames > cap_names.h

27
package/libcap/libcap.mk Normal file
View File

@ -0,0 +1,27 @@
LIBCAP_VERSION=2.19
LIBCAP_SOURCE=libcap-$(LIBCAP_VERSION).tar.bz2
LIBCAP_SITE=http://www.kernel.org/pub/linux/libs/security/linux-privs/libcap2/
LIBCAP_INSTALL_STAGING=YES
define LIBCAP_BUILD_CMDS
$(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) LIBATTR=no
endef
define LIBCAP_INSTALL_STAGING_CMDS
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) LIBATTR=no DESTDIR=$(STAGING_DIR) install
endef
define LIBCAP_INSTALL_TARGET_CMDS
install -D $(STAGING_DIR)/usr/lib/libcap.so.* $(TARGET_DIR)/usr/lib
endef
define HOST_LIBCAP_BUILD_CMDS
$(HOST_MAKE_ENV) $(HOST_CONFIGURE_OPTS) $(MAKE) -C $(@D) LIBATTR=no
endef
define HOST_LIBCAP_INSTALL_CMDS
$(HOST_MAKE_ENV) $(MAKE) -C $(@D) LIBATTR=no DESTDIR=$(HOST_DIR) install
endef
$(eval $(call GENTARGETS,package,libcap))
$(eval $(call GENTARGETS,package,libcap,host))