[Buildroot] [git commit branch/next] sysvinit: added libselinux dependency

Thomas Petazzoni thomas.petazzoni at free-electrons.com
Sat Aug 8 10:56:49 UTC 2015


commit: http://git.buildroot.net/buildroot/commit/?id=e8fb454db64477491da9df9860f473d7decf268e
branch: http://git.buildroot.net/buildroot/commit/?id=refs/heads/next

[Thomas:
  - remove the patch from Matthew Weber that did a lot of changes that
    were not needed: the CFLAGS would not get overridden by Buildroot
    ones if the Buildroot TARGET_CONFIGURE_OPTS is passed on the left
    hand-side of make, and the SULOGINLIBS hack needs to be replaced
    by a proper handling of the libcrypt detection.
  - added a patch that changes the libcrypt detection logic to accept
    a SYSROOT variable. Instead of search for /usr/lib/libcrypt.a, it
    search for $(SYSROOT)/usr/lib/libcrypt.a. This avoids the need for
    overriding SULOGINLIBS.
  - don't modify TARGET_CONFIGURE_OPTS in sysvinit.mk, this is
    completely forbidden and broken.
  - don't pass ROOT= since we don't use 'make install' anyway.]

Signed-off-by: Matthew Weber <matthew.weber at rockwellcollins.com>
Reviewed-by: Samuel Martin <s.martin49 at gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
---
 package/sysvinit/0001-fix-libcrypt-test.patch |   17 +++++++++++++++++
 package/sysvinit/sysvinit.mk                  |    9 ++++++++-
 2 files changed, 25 insertions(+), 1 deletions(-)

diff --git a/package/sysvinit/0001-fix-libcrypt-test.patch b/package/sysvinit/0001-fix-libcrypt-test.patch
new file mode 100644
index 0000000..207270d
--- /dev/null
+++ b/package/sysvinit/0001-fix-libcrypt-test.patch
@@ -0,0 +1,17 @@
+Make the libcrypt test somewhat cross-compilation compliant
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
+
+Index: b/src/Makefile
+===================================================================
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -78,7 +78,7 @@
+ endif
+ 
+ # Additional libs for GNU libc.
+-ifneq ($(wildcard /usr/lib*/libcrypt.a),)
++ifneq ($(wildcard $(SYSROOT)/usr/lib*/libcrypt.a),)
+   SULOGINLIBS	+= -lcrypt
+ endif
+ 
diff --git a/package/sysvinit/sysvinit.mk b/package/sysvinit/sysvinit.mk
index 2460dd9..faefd5c 100644
--- a/package/sysvinit/sysvinit.mk
+++ b/package/sysvinit/sysvinit.mk
@@ -11,11 +11,18 @@ SYSVINIT_SITE = http://snapshot.debian.org/archive/debian/20141023T043132Z/pool/
 SYSVINIT_LICENSE = GPLv2+
 SYSVINIT_LICENSE_FILES = COPYING
 
+SYSVINIT_MAKE_OPTS = SYSROOT=$(STAGING_DIR)
+
 # Override BusyBox implementations if BusyBox is enabled.
 ifeq ($(BR2_PACKAGE_BUSYBOX),y)
 SYSVINIT_DEPENDENCIES = busybox
 endif
 
+ifeq ($(BR2_PACKAGE_LIBSELINUX),y)
+SYSVINIT_DEPENDENCIES += libselinux
+SYSVINIT_MAKE_OPTS += WITH_SELINUX="yes"
+endif
+
 define SYSVINIT_DEBIAN_PATCHES
 	if [ -d $(@D)/debian/patches ]; then \
 		$(APPLY_PATCHES) $(@D) $(@D)/debian/patches \*.patch; \
@@ -27,7 +34,7 @@ SYSVINIT_POST_PATCH_HOOKS = SYSVINIT_DEBIAN_PATCHES
 define SYSVINIT_BUILD_CMDS
 	# Force sysvinit to link against libcrypt as it otherwise
 	# use an incorrect test to see if it's available
-	$(MAKE) $(TARGET_CONFIGURE_OPTS) SULOGINLIBS="-lcrypt" -C $(@D)/src
+	$(TARGET_CONFIGURE_OPTS) $(MAKE) $(SYSVINIT_MAKE_OPTS) -C $(@D)/src
 endef
 
 define SYSVINIT_INSTALL_TARGET_CMDS


More information about the buildroot mailing list