coreutils: handle merged usr folder
authorJames Knight <james.d.knight@live.com>
Sun, 18 Oct 2015 06:32:45 +0000 (02:32 -0400)
committerPeter Korsgaard <peter@korsgaard.com>
Tue, 20 Oct 2015 21:00:37 +0000 (23:00 +0200)
For targets prepared with a usr-move, coreutils should not be attempting
to move binaries from `usr/bin` to `bin`.

Signed-off-by: James Knight <james.knight@rockwellcollins.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Tested-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
package/coreutils/coreutils.mk

index bb2ef961b8f1e7cdbd7f81ca5d411a80dc7260a6..60455ace7a08fb60420ffea8d65780aa804b55cc 100644 (file)
@@ -99,18 +99,24 @@ COREUTILS_CONF_OPTS += --with-openssl=yes
 COREUTILS_DEPENDENCIES += openssl
 endif
 
-define COREUTILS_POST_INSTALL
+ifeq ($(BR2_ROOTFS_MERGED_USR),)
+define COREUTILS_CLEANUP_BIN
        # some things go in root rather than usr
        for f in $(COREUTILS_BIN_PROGS); do \
                mv -f $(TARGET_DIR)/usr/bin/$$f $(TARGET_DIR)/bin/$$f || exit 1; \
        done
+endef
+COREUTILS_POST_INSTALL_TARGET_HOOKS += COREUTILS_CLEANUP_BIN
+endif
+
+define COREUTILS_CLEANUP
        # link for archaic shells
        ln -fs test $(TARGET_DIR)/usr/bin/[
        # gnu thinks chroot is in bin, debian thinks it's in sbin
        mv -f $(TARGET_DIR)/usr/bin/chroot $(TARGET_DIR)/usr/sbin/chroot
 endef
 
-COREUTILS_POST_INSTALL_TARGET_HOOKS += COREUTILS_POST_INSTALL
+COREUTILS_POST_INSTALL_TARGET_HOOKS += COREUTILS_CLEANUP
 
 # If both coreutils and busybox are selected, the corresponding applets
 # may need to be reinstated by the clean targets.