imagebuilder: invoke bundle-libraries.sh w/o buildroot dirs in $PATH
authorJo-Philipp Wich <jo@mein.io>
Tue, 29 Dec 2020 00:03:20 +0000 (01:03 +0100)
committerJo-Philipp Wich <jo@mein.io>
Tue, 29 Dec 2020 00:07:42 +0000 (01:07 +0100)
Invoke bundle-libraries.sh with any buildroot related directory entries
removed from $PATH to avoid picking up cross versions of utilities like
ldd which will not properly work when used against host executables.

This should fix executable bundling for glibc-target imagebuilders.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
target/imagebuilder/Makefile

index e7954e96a4774802b6fe6c5b30970675ea8d8cb4..f9c08776a8a68a3b724f32059851e307cdc2a37a 100644 (file)
@@ -19,6 +19,9 @@ IB_LDIR:=$(patsubst $(TOPDIR)/%,$(PKG_BUILD_DIR)/%,$(LINUX_DIR))
 IB_DTSDIR:=$(patsubst $(TOPDIR)/%,$(PKG_BUILD_DIR)/%,$(LINUX_DIR))/arch/$(LINUX_KARCH)/boot/dts/
 IB_IDIR:=$(patsubst $(TOPDIR)/%,$(PKG_BUILD_DIR)/%,$(STAGING_DIR_IMAGE))
 
+BUNDLER_PATH := $(subst $(space),:,$(filter-out $(TOPDIR)/%,$(subst :,$(space),$(PATH))))
+BUNDLER_COMMAND := PATH=$(BUNDLER_PATH) $(XARGS) $(SCRIPT_DIR)/bundle-libraries.sh $(PKG_BUILD_DIR)/staging_dir/host
+
 all: compile
 
 $(BIN_DIR)/$(IB_NAME).tar.xz: clean
@@ -98,7 +101,7 @@ endif
        $(INSTALL_DIR) $(PKG_BUILD_DIR)/staging_dir/host/bin
        $(CP) $(STAGING_DIR_HOST)/bin/* $(PKG_BUILD_DIR)/staging_dir/host/bin/
        (cd $(PKG_BUILD_DIR); find staging_dir/host/bin/ $(IB_LDIR)/scripts/dtc/ -type f | \
-               $(XARGS) $(SCRIPT_DIR)/bundle-libraries.sh $(PKG_BUILD_DIR)/staging_dir/host)
+               $(BUNDLER_COMMAND))
        $(CP) $(TOPDIR)/staging_dir/host/lib/libfakeroot* $(PKG_BUILD_DIR)/staging_dir/host/lib
        STRIP=$(STAGING_DIR_HOST)/bin/sstrip $(SCRIPT_DIR)/rstrip.sh $(PKG_BUILD_DIR)/staging_dir/host/bin/
        (cd $(BUILD_DIR); \