privilege into a set of distinct privileges.
http://sites.google.com/site/fullycapable/
+
+if BR2_PACKAGE_LIBCAP
+
+config BR2_PACKAGE_LIBCAP_TOOLS
+ bool "install tools"
+ depends on BR2_USE_MMU
+ help
+ Install setcap, getcap, getpcaps and capsh tools.
+
+ For these tools to run properly, you should enable, in your
+ kernel configuration, extended file attributes/security labels
+ support for the file system type used on target system (e.g.
+ CONFIG_EXT2_FS_XATTR and CONFIG_EXT2_FS_SECURITY for ext2).
+
+endif
LIBCAP_MAKE_INSTALL_TARGET = install
endif
+LIBCAP_MAKE_FLAGS = \
+ LIBATTR=$(LIBCAP_HAVE_LIBATTR) \
+ BUILD_CC="$(HOSTCC)" \
+ BUILD_CFLAGS="$(HOST_CFLAGS)"
+
+ifeq ($(BR2_PACKAGE_LIBCAP_TOOLS),y)
+define LIBCAP_BUILD_TOOLS_CMDS
+ $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D)/progs \
+ $(LIBCAP_MAKE_FLAGS)
+endef
+
+define LIBCAP_INSTALL_TOOLS_CMDS
+ $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D)/progs \
+ RAISE_SETFCAP=no prefix=/usr \
+ DESTDIR=$(TARGET_DIR) $(LIBCAP_MAKE_FLAGS) install
+endef
+endif
+
define LIBCAP_BUILD_CMDS
$(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D)/libcap \
- LIBATTR=$(LIBCAP_HAVE_LIBATTR) BUILD_CC="$(HOSTCC)" \
- BUILD_CFLAGS="$(HOST_CFLAGS)" $(LIBCAP_MAKE_TARGET)
+ $(LIBCAP_MAKE_FLAGS) $(LIBCAP_MAKE_TARGET)
+ $(LIBCAP_BUILD_TOOLS_CMDS)
endef
define LIBCAP_INSTALL_STAGING_CMDS
- $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/libcap LIBATTR=$(LIBCAP_HAVE_LIBATTR) \
+ $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/libcap $(LIBCAP_MAKE_FLAGS) \
DESTDIR=$(STAGING_DIR) prefix=/usr lib=lib $(LIBCAP_MAKE_INSTALL_TARGET)
endef
define LIBCAP_INSTALL_TARGET_CMDS
- $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/libcap LIBATTR=$(LIBCAP_HAVE_LIBATTR) \
+ $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/libcap $(LIBCAP_MAKE_FLAGS) \
DESTDIR=$(TARGET_DIR) prefix=/usr lib=lib $(LIBCAP_MAKE_INSTALL_TARGET)
+ $(LIBCAP_INSTALL_TOOLS_CMDS)
endef
define HOST_LIBCAP_BUILD_CMDS