sysvinit: added libselinux dependency
authorMatt Weber <matthew.weber@rockwellcollins.com>
Tue, 14 Jul 2015 20:20:20 +0000 (15:20 -0500)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Sat, 18 Jul 2015 13:47:54 +0000 (15:47 +0200)
[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@rockwellcollins.com>
Reviewed-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
package/sysvinit/0001-fix-libcrypt-test.patch [new file with mode: 0644]
package/sysvinit/sysvinit.mk

diff --git a/package/sysvinit/0001-fix-libcrypt-test.patch b/package/sysvinit/0001-fix-libcrypt-test.patch
new file mode 100644 (file)
index 0000000..207270d
--- /dev/null
@@ -0,0 +1,17 @@
+Make the libcrypt test somewhat cross-compilation compliant
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@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
index 2460dd92230b0337293b4c43deae54b1fff5fec8..faefd5c913d43435f0c359a80e0baec6e7f6404b 100644 (file)
@@ -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