From: James Knight Date: Sun, 18 Oct 2015 06:32:45 +0000 (-0400) Subject: coreutils: handle merged usr folder X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=3c943477f6c5fad59c4dc3be1e4a0b113384c60a;p=buildroot.git coreutils: handle merged usr folder 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 Reviewed-by: "Yann E. MORIN" Tested-by: "Yann E. MORIN" Signed-off-by: Peter Korsgaard --- diff --git a/package/coreutils/coreutils.mk b/package/coreutils/coreutils.mk index bb2ef961b8..60455ace7a 100644 --- a/package/coreutils/coreutils.mk +++ b/package/coreutils/coreutils.mk @@ -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.