Commit 7ec49b9a authored by Thomas Petazzoni's avatar Thomas Petazzoni
Browse files

libcap: new package



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

Signed-off-by: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
parent c040b2c0
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -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 −0
Original line number Diff line number Diff line
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/
+55 −0
Original line number Diff line number Diff line
---
 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 −0
Original line number Diff line number Diff line
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))