[openwrt/openwrt] imagebuilder: invoke bundle-libraries.sh w/o buildroot dirs in $PATH

LEDE Commits lede-commits at lists.infradead.org
Mon Dec 28 19:07:50 EST 2020


jow pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/6a46615f372c02650f290614a8c5351bbadc80ed

commit 6a46615f372c02650f290614a8c5351bbadc80ed
Author: Jo-Philipp Wich <jo at mein.io>
AuthorDate: Tue Dec 29 01:03:20 2020 +0100

    imagebuilder: invoke bundle-libraries.sh w/o buildroot dirs in $PATH
    
    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 at mein.io>
---
 target/imagebuilder/Makefile | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/target/imagebuilder/Makefile b/target/imagebuilder/Makefile
index e7954e96a4..f9c08776a8 100644
--- a/target/imagebuilder/Makefile
+++ b/target/imagebuilder/Makefile
@@ -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); \



More information about the lede-commits mailing list