update buildroot to 2017.02.11

This commit is contained in:
jbnadal
2018-05-22 15:35:47 +02:00
parent 4bf1f5e091
commit a3c10bd762
9257 changed files with 433426 additions and 1701 deletions

View File

@@ -0,0 +1,48 @@
Add support for static-only build
Instead of unconditionally building shared libraries, this patch
improves the libsepol build system with a "STATIC" variable, which
when defined to some non-empty value, will disable the build of shared
libraries. It allows to support cases where the target architecture
does not have support for shared libraries.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Adam Duskett <Aduskett@gmail.com>
Index: b/src/Makefile
===================================================================
diff --git a/src/Makefile b/src/Makefile
index db6c2ba..0006285 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -30,8 +30,12 @@ LOBJS += $(sort $(patsubst %.c,%.lo,$(wildcard $(CILDIR)/src/*.c) $(CIL_GENERATE
override CFLAGS += -I$(CILDIR)/include
endif
+ALL_TARGETS = $(LIBA) $(LIBPC)
+ifeq ($(STATIC),)
+ALL_TARGETS += $(LIBSO)
+endif
-all: $(LIBA) $(LIBSO) $(LIBPC)
+all: $(ALL_TARGETS)
$(LIBA): $(OBJS)
@@ -66,11 +70,13 @@
install: all
test -d $(LIBDIR) || install -m 755 -d $(LIBDIR)
install -m 644 $(LIBA) $(LIBDIR)
- test -d $(SHLIBDIR) || install -m 755 -d $(SHLIBDIR)
- install -m 755 $(LIBSO) $(SHLIBDIR)
test -d $(LIBDIR)/pkgconfig || install -m 755 -d $(LIBDIR)/pkgconfig
install -m 644 $(LIBPC) $(LIBDIR)/pkgconfig
+ifeq ($(STATIC),)
+ test -d $(SHLIBDIR) || install -m 755 -d $(SHLIBDIR)
+ install -m 755 $(LIBSO) $(SHLIBDIR)
ln -sf --relative $(SHLIBDIR)/$(LIBSO) $(LIBDIR)/$(TARGET)
+endif
relabel:
/sbin/restorecon $(SHLIBDIR)/$(LIBSO)

View File

@@ -0,0 +1,26 @@
Do not make symbols hidden on Blackfin
The libselinux logic to hide internal symbols from the DSO doesn't
work properly on Blackfin due to the USER_LABEL_PREFIX not being
handled properly. A real fix is not that simple, so this patch simply
disables the internal symbol hiding mechanism. This means that those
symbols are visible in the final DSO, which is not a problem for
proper execution, it just isn't as clean.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Adam Duskett <Aduskett@gmail.com>
Index: b/src/dso.h
===================================================================
--- a/src/dso.h
+++ b/src/dso.h
@@ -5,7 +5,7 @@
#define DISABLE_SYMVER 1
#endif
-#ifdef SHARED
+#if defined(SHARED) && !defined(__bfin__)
# define hidden __attribute__ ((visibility ("hidden")))
# define hidden_proto(fct) __hidden_proto (fct, fct##_internal)
# define __hidden_proto(fct, internal) \

View File

@@ -0,0 +1,24 @@
Makefile: revert libsepol: use ln --relative to create .so symlinks
This reverts 71393a181d63c9baae5fe8dcaeb9411d1f253998
ln --relative is too recent to be available in all distributions,
especially enterprise-grade distros that can stick around as long as
they are maintained (up to 10 years in some cases?).
For the sake of Buildroot, revert the upstream patch.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
diff -durN a/src/Makefile b/src/Makefile
--- a/src/Makefile
+++ b/src/Makefile
@@ -77,7 +77,7 @@
ifeq ($(STATIC),)
test -d $(SHLIBDIR) || install -m 755 -d $(SHLIBDIR)
install -m 755 $(LIBSO) $(SHLIBDIR)
- ln -sf --relative $(SHLIBDIR)/$(LIBSO) $(LIBDIR)/$(TARGET)
+ cd $(LIBDIR) && ln -sf ../../`basename $(SHLIBDIR)`/$(LIBSO) $(TARGET)
endif
relabel:

View File

@@ -0,0 +1,7 @@
config BR2_PACKAGE_LIBSEPOL
bool "libsepol"
help
Libsepol is the binary policy manipulation library. It doesn't
depend upon or use any of the other SELinux components.
http://selinuxproject.org/page/Main_Page

View File

@@ -0,0 +1,2 @@
# From https://github.com/SELinuxProject/selinux/wiki/Releases
sha256 d856d6506054f52abeaa3543ea2f2344595a3dc05d0d873ed7f724f7a16b1874 libsepol-2.6.tar.gz

View File

@@ -0,0 +1,48 @@
################################################################################
#
# libsepol
#
################################################################################
LIBSEPOL_VERSION = 2.6
LIBSEPOL_SITE = https://raw.githubusercontent.com/wiki/SELinuxProject/selinux/files/releases/20161014
LIBSEPOL_LICENSE = LGPLv2.1+
LIBSEPOL_LICENSE_FILES = COPYING
LIBSEPOL_INSTALL_STAGING = YES
LIBSEPOL_DEPENDENCIES = host-flex
HOST_LIBSEPOL_DEPENDENCIES = host-flex
LIBSEPOL_MAKE_FLAGS = $(TARGET_CONFIGURE_OPTS)
ifeq ($(BR2_STATIC_LIBS),y)
LIBSEPOL_MAKE_FLAGS += STATIC=1
endif
define LIBSEPOL_BUILD_CMDS
# DESTDIR is needed during the compile to compute library and
# header paths.
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(LIBSEPOL_MAKE_FLAGS) DESTDIR=$(STAGING_DIR)
endef
define LIBSEPOL_INSTALL_STAGING_CMDS
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install $(LIBSEPOL_MAKE_FLAGS) DESTDIR=$(STAGING_DIR)
endef
define LIBSEPOL_INSTALL_TARGET_CMDS
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install $(LIBSEPOL_MAKE_FLAGS) DESTDIR=$(TARGET_DIR)
endef
define HOST_LIBSEPOL_BUILD_CMDS
$(HOST_MAKE_ENV) $(MAKE) -C $(@D) $(HOST_CONFIGURE_OPTS) DESTDIR=$(HOST_DIR)
endef
define HOST_LIBSEPOL_INSTALL_CMDS
$(HOST_MAKE_ENV) $(MAKE) -C $(@D) install $(HOST_CONFIGURE_OPTS) DESTDIR=$(HOST_DIR)
mv $(HOST_DIR)/lib/libsepol.so.1 $(HOST_DIR)/usr/lib
(cd $(HOST_DIR)/usr/lib; rm -f libsepol.so; ln -s libsepol.so.1 libsepol.so)
-rmdir $(HOST_DIR)/lib
endef
$(eval $(generic-package))
$(eval $(host-generic-package))