update buildroot to 2017.02.11
This commit is contained in:
@@ -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)
|
||||
@@ -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) \
|
||||
|
||||
@@ -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:
|
||||
7
bsp/buildroot-2017.02.11/package/libsepol/Config.in
Normal file
7
bsp/buildroot-2017.02.11/package/libsepol/Config.in
Normal 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
|
||||
2
bsp/buildroot-2017.02.11/package/libsepol/libsepol.hash
Normal file
2
bsp/buildroot-2017.02.11/package/libsepol/libsepol.hash
Normal file
@@ -0,0 +1,2 @@
|
||||
# From https://github.com/SELinuxProject/selinux/wiki/Releases
|
||||
sha256 d856d6506054f52abeaa3543ea2f2344595a3dc05d0d873ed7f724f7a16b1874 libsepol-2.6.tar.gz
|
||||
48
bsp/buildroot-2017.02.11/package/libsepol/libsepol.mk
Normal file
48
bsp/buildroot-2017.02.11/package/libsepol/libsepol.mk
Normal 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))
|
||||
Reference in New Issue
Block a user