[openwrt/openwrt] build: handle directory with whitespace in AUTOREMOVE clean

LEDE Commits lede-commits at lists.infradead.org
Sun Dec 4 08:20:52 PST 2022


ansuel pushed a commit to openwrt/openwrt.git, branch openwrt-21.02:
https://git.openwrt.org/12b1d2f700188e7f6fbb9761510c83e36079ddc6

commit 12b1d2f700188e7f6fbb9761510c83e36079ddc6
Author: Christian Marangi <ansuelsmth at gmail.com>
AuthorDate: Wed Sep 7 23:50:36 2022 +0200

    build: handle directory with whitespace in AUTOREMOVE clean
    
    Package with whitespace in their build directory are not correctly
    removed when CONFIG_AUTOREMOVE is enabled. This is caused by xargs that
    use whitespace as delimiters. To handle this use \0 as the delimiter and
    set find to use \0 as the delimiter.
    
    Signed-off-by: Christian Marangi <ansuelsmth at gmail.com>
    (cherry picked from commit dccee21792b89031bcd801030de403f195d80278)
---
 include/host-build.mk | 4 ++--
 include/package.mk    | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/include/host-build.mk b/include/host-build.mk
index 36b3fed1f3..c3e0c26e6a 100644
--- a/include/host-build.mk
+++ b/include/host-build.mk
@@ -197,8 +197,8 @@ ifndef DUMP
 
     ifneq ($(CONFIG_AUTOREMOVE),)
       host-compile:
-		$(FIND) $(HOST_BUILD_DIR) -mindepth 1 -maxdepth 1 -not '(' -type f -and -name '.*' -and -size 0 ')' | \
-			$(XARGS) rm -rf
+		$(FIND) $(HOST_BUILD_DIR) -mindepth 1 -maxdepth 1 -not '(' -type f -and -name '.*' -and -size 0 ')' -print0 | \
+			$(XARGS) -0 rm -rf
     endif
   endef
 endif
diff --git a/include/package.mk b/include/package.mk
index 389ba4243b..225fdfc771 100644
--- a/include/package.mk
+++ b/include/package.mk
@@ -258,8 +258,8 @@ define Build/CoreTargets
   ifneq ($(CONFIG_AUTOREMOVE),)
     compile:
 		-touch -r $(PKG_BUILD_DIR)/.built $(PKG_BUILD_DIR)/.autoremove 2>/dev/null >/dev/null
-		$(FIND) $(PKG_BUILD_DIR) -mindepth 1 -maxdepth 1 -not '(' -type f -and -name '.*' -and -size 0 ')' -and -not -name '.pkgdir' | \
-			$(XARGS) rm -rf
+		$(FIND) $(PKG_BUILD_DIR) -mindepth 1 -maxdepth 1 -not '(' -type f -and -name '.*' -and -size 0 ')' -and -not -name '.pkgdir'  -print0 | \
+			$(XARGS) -0 rm -rf
   endif
 endef
 




More information about the lede-commits mailing list