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

LEDE Commits lede-commits at lists.infradead.org
Sun Sep 11 02:27:28 PDT 2022


ansuel pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/dccee21792b89031bcd801030de403f195d80278

commit dccee21792b89031bcd801030de403f195d80278
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>
---
 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 7f76eb1a2f..f06dd80230 100644
--- a/include/host-build.mk
+++ b/include/host-build.mk
@@ -198,8 +198,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 509ef61e08..5861533bf5 100644
--- a/include/package.mk
+++ b/include/package.mk
@@ -259,8 +259,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