update buildroot to 2017.02.11
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
From d8d70559a279706c206761dfaf665d2197934123 Mon Sep 17 00:00:00 2001
|
||||
From: Gustavo Zacarias <gustavo@zacarias.com.ar>
|
||||
Date: Sun, 6 Mar 2016 22:52:02 +0100
|
||||
Subject: [PATCH] build-system: fixes for cross-compilation
|
||||
|
||||
Avoid the libcap buildsys forcing CC/CFLAGS/LDFLAGS/AR/RANLIB
|
||||
|
||||
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
|
||||
[yann.morin.1998@free.fr: dont chmod +x the shared lib]
|
||||
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
|
||||
|
||||
diff --git a/Make.Rules b/Make.Rules
|
||||
index 8347b26..8a07a3f 100644
|
||||
--- a/Make.Rules
|
||||
+++ b/Make.Rules
|
||||
@@ -48,26 +48,26 @@ MINOR=25
|
||||
KERNEL_HEADERS := $(topdir)/libcap/include/uapi
|
||||
IPATH += -fPIC -I$(KERNEL_HEADERS) -I$(topdir)/libcap/include
|
||||
|
||||
-CC := gcc
|
||||
-CFLAGS := -O2 -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
|
||||
-BUILD_CC := $(CC)
|
||||
-BUILD_CFLAGS := $(CFLAGS) $(IPATH)
|
||||
-AR := ar
|
||||
-RANLIB := ranlib
|
||||
+CC ?= gcc
|
||||
+CFLAGS ?= -O2 -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
|
||||
+BUILD_CC ?= $(CC)
|
||||
+BUILD_CFLAGS ?= $(CFLAGS) $(IPATH)
|
||||
+AR ?= ar
|
||||
+RANLIB ?= ranlib
|
||||
DEBUG = -g #-DDEBUG
|
||||
WARNINGS=-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
|
||||
BUILD_GPERF := $(shell which gperf >/dev/null 2>/dev/null && echo yes)
|
||||
|
||||
SYSTEM_HEADERS = /usr/include
|
||||
INCS=$(topdir)/libcap/include/sys/capability.h
|
||||
LDFLAGS += -L$(topdir)/libcap
|
||||
CFLAGS += -Dlinux $(WARNINGS) $(DEBUG)
|
||||
-PAM_CAP := $(shell if [ -f /usr/include/security/pam_modules.h ]; then echo yes ; else echo no ; fi)
|
||||
+PAM_CAP = no
|
||||
INDENT := $(shell if [ -n "$$(which indent 2>/dev/null)" ]; then echo "| indent -kr" ; fi)
|
||||
DYNAMIC := $(shell if [ ! -d "$(topdir)/.git" ]; then echo yes; fi)
|
||||
|
||||
--
|
||||
1.9.1
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
From af21635665ab568f3333ff9fe8b474f4950e5acb Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
Date: Sun, 6 Mar 2016 22:53:24 +0100
|
||||
Subject: [PATCH] libcap: split install into install-shared/install-static
|
||||
|
||||
In order to support static only builds, split the install target into
|
||||
install-shared and install-static targets.
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
[yann.morin.1998@free.fr: install the .pc file in the common rule]
|
||||
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
|
||||
|
||||
diff --git a/libcap/Makefile b/libcap/Makefile
|
||||
index d189777..44ddb27 100644
|
||||
--- a/libcap/Makefile
|
||||
+++ b/libcap/Makefile
|
||||
@@ -62,19 +62,25 @@ $(MINLIBNAME): $(OBJS)
|
||||
cap_text.o: cap_text.c $(USE_GPERF_OUTPUT) $(INCLS)
|
||||
$(CC) $(CFLAGS) $(IPATH) $(INCLUDE_GPERF_OUTPUT) -c $< -o $@
|
||||
|
||||
-install: all
|
||||
+install: install-shared install-static
|
||||
+
|
||||
+install-common:
|
||||
mkdir -p -m 0755 $(FAKEROOT)$(INCDIR)/sys
|
||||
install -m 0644 include/sys/capability.h $(FAKEROOT)$(INCDIR)/sys
|
||||
+ mkdir -p -m 0755 $(FAKEROOT)$(PKGCONFIGDIR)
|
||||
+ install -m 0644 libcap.pc $(FAKEROOT)$(PKGCONFIGDIR)/libcap.pc
|
||||
+
|
||||
+install-static: $(STALIBNAME) install-common
|
||||
mkdir -p -m 0755 $(FAKEROOT)$(LIBDIR)
|
||||
install -m 0644 $(STALIBNAME) $(FAKEROOT)$(LIBDIR)/$(STALIBNAME)
|
||||
+
|
||||
+install-shared: $(MINLIBNAME) install-common
|
||||
install -m 0644 $(MINLIBNAME) $(FAKEROOT)$(LIBDIR)/$(MINLIBNAME)
|
||||
ln -sf $(MINLIBNAME) $(FAKEROOT)$(LIBDIR)/$(MAJLIBNAME)
|
||||
ln -sf $(MAJLIBNAME) $(FAKEROOT)$(LIBDIR)/$(LIBNAME)
|
||||
ifeq ($(FAKEROOT),)
|
||||
-/sbin/ldconfig
|
||||
endif
|
||||
- mkdir -p -m 0755 $(FAKEROOT)$(PKGCONFIGDIR)
|
||||
- install -m 0644 libcap.pc $(FAKEROOT)$(PKGCONFIGDIR)/libcap.pc
|
||||
|
||||
clean:
|
||||
$(LOCALCLEAN)
|
||||
--
|
||||
1.9.1
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
From ace694e9574eb38e07cfe0db235434eb40003f47 Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
Date: Mon, 14 Mar 2016 22:39:15 +0100
|
||||
Subject: [PATCH] libcap/cap_file.c: fix build with old kernel headers
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
---
|
||||
libcap/cap_file.c | 27 +++++++++++++++++++++++++++
|
||||
1 file changed, 27 insertions(+)
|
||||
|
||||
diff --git a/libcap/cap_file.c b/libcap/cap_file.c
|
||||
index 40756ea..e3d54dd 100644
|
||||
--- a/libcap/cap_file.c
|
||||
+++ b/libcap/cap_file.c
|
||||
@@ -23,6 +23,33 @@ extern int fsetxattr(int, const char *, const void *, size_t, int);
|
||||
extern int removexattr(const char *, const char *);
|
||||
extern int fremovexattr(int, const char *);
|
||||
|
||||
+
|
||||
+/*
|
||||
+ * Old kernels (before 2.6.36) were defining XATTR_NAME_CAPS in
|
||||
+ * <linux/capability.h>, but using XATTR_SECURITY_PREFIX and
|
||||
+ * XATTR_CAPS_SUFFIX which were defined in the kernel-only part of
|
||||
+ * <linux/xattr.h>.
|
||||
+ *
|
||||
+ * In kernel 2.6.36 (commit af4f136056c984b0aa67feed7d3170b958370b2f),
|
||||
+ * the XATTR_NAME_CAPS definition was moved to the kernel-only part of
|
||||
+ * <linux/xattr.h>. It's only in kernel 3.0 (commit
|
||||
+ * 1dbe39424a43e56a6c9aed12661192af51dcdb9f) that <linux/xattr.h> was
|
||||
+ * fixed to expose XATTR_NAME_CAPS and the related definitions to
|
||||
+ * userspace.
|
||||
+ *
|
||||
+ * In order to cope with kernels < 3.0, we define here the appropriate
|
||||
+ * values, which we assume haven't changed over history.
|
||||
+ */
|
||||
+#ifndef XATTR_CAPS_SUFFIX
|
||||
+#define XATTR_CAPS_SUFFIX "capability"
|
||||
+#endif
|
||||
+#ifndef XATTR_SECURITY_PREFIX
|
||||
+#define XATTR_SECURITY_PREFIX "security."
|
||||
+#endif
|
||||
+#ifndef XATTR_NAME_CAPS
|
||||
+#define XATTR_NAME_CAPS XATTR_SECURITY_PREFIX XATTR_CAPS_SUFFIX
|
||||
+#endif
|
||||
+
|
||||
#include "libcap.h"
|
||||
|
||||
#ifdef VFS_CAP_U32
|
||||
--
|
||||
2.6.4
|
||||
|
||||
24
bsp/buildroot-2017.02.11/package/libcap/Config.in
Normal file
24
bsp/buildroot-2017.02.11/package/libcap/Config.in
Normal file
@@ -0,0 +1,24 @@
|
||||
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/
|
||||
|
||||
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
|
||||
2
bsp/buildroot-2017.02.11/package/libcap/libcap.hash
Normal file
2
bsp/buildroot-2017.02.11/package/libcap/libcap.hash
Normal file
@@ -0,0 +1,2 @@
|
||||
# https://www.kernel.org/pub/linux/libs/security/linux-privs/libcap2/sha256sums.asc
|
||||
sha256 693c8ac51e983ee678205571ef272439d83afe62dd8e424ea14ad9790bc35162 libcap-2.25.tar.xz
|
||||
71
bsp/buildroot-2017.02.11/package/libcap/libcap.mk
Normal file
71
bsp/buildroot-2017.02.11/package/libcap/libcap.mk
Normal file
@@ -0,0 +1,71 @@
|
||||
################################################################################
|
||||
#
|
||||
# libcap
|
||||
#
|
||||
################################################################################
|
||||
|
||||
LIBCAP_VERSION = 2.25
|
||||
LIBCAP_SITE = https://www.kernel.org/pub/linux/libs/security/linux-privs/libcap2
|
||||
LIBCAP_SOURCE = libcap-$(LIBCAP_VERSION).tar.xz
|
||||
LIBCAP_LICENSE = GPLv2 or BSD-3c
|
||||
LIBCAP_LICENSE_FILES = License
|
||||
|
||||
LIBCAP_DEPENDENCIES = host-libcap host-gperf
|
||||
LIBCAP_INSTALL_STAGING = YES
|
||||
|
||||
HOST_LIBCAP_DEPENDENCIES = host-gperf
|
||||
|
||||
ifeq ($(BR2_STATIC_LIBS),y)
|
||||
LIBCAP_MAKE_TARGET = libcap.a libcap.pc
|
||||
LIBCAP_MAKE_INSTALL_TARGET = install-static
|
||||
else
|
||||
LIBCAP_MAKE_TARGET = all
|
||||
LIBCAP_MAKE_INSTALL_TARGET = install
|
||||
endif
|
||||
|
||||
LIBCAP_MAKE_FLAGS = \
|
||||
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 \
|
||||
$(LIBCAP_MAKE_FLAGS) $(LIBCAP_MAKE_TARGET)
|
||||
$(LIBCAP_BUILD_TOOLS_CMDS)
|
||||
endef
|
||||
|
||||
define LIBCAP_INSTALL_STAGING_CMDS
|
||||
$(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 $(LIBCAP_MAKE_FLAGS) \
|
||||
DESTDIR=$(TARGET_DIR) prefix=/usr lib=lib $(LIBCAP_MAKE_INSTALL_TARGET)
|
||||
$(LIBCAP_INSTALL_TOOLS_CMDS)
|
||||
endef
|
||||
|
||||
define HOST_LIBCAP_BUILD_CMDS
|
||||
$(HOST_MAKE_ENV) $(HOST_CONFIGURE_OPTS) $(MAKE) -C $(@D)\
|
||||
RAISE_SETFCAP=no
|
||||
endef
|
||||
|
||||
define HOST_LIBCAP_INSTALL_CMDS
|
||||
$(HOST_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(HOST_DIR) \
|
||||
RAISE_SETFCAP=no prefix=/usr lib=lib install
|
||||
endef
|
||||
|
||||
$(eval $(generic-package))
|
||||
$(eval $(host-generic-package))
|
||||
Reference in New Issue
Block a user