[OE-core] [PATCH] populate_sdk_base.bbclass: Limit xargs command line

Gary Thomas gary at mlbassoc.com
Mon Aug 11 20:50:35 UTC 2014


It's possible to generate a command line in the relocate_sdk.sh script
which is too long (long paths, many files).  This change limits the
xargs command line by breaking it up into smaller pieces.

One necessary side effect is that the -0 option is no longer used as it
doesn't seem to work properly with -n, so the file name arguments are
now quoted explicitly rather than \0 terminated.

Signed-off-by: Gary Thomas <gary at mlbassoc.com>
---
 meta/classes/populate_sdk_base.bbclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/classes/populate_sdk_base.bbclass b/meta/classes/populate_sdk_base.bbclass
index 06112dc..f590564 100644
--- a/meta/classes/populate_sdk_base.bbclass
+++ b/meta/classes/populate_sdk_base.bbclass
@@ -276,7 +276,7 @@ if [ $relocate = 1 ] ; then
 fi
 
 # replace ${SDKPATH} with the new prefix in all text files: configs/scripts/etc
-$SUDO_EXEC find $native_sysroot -type f -exec file '{}' \;|grep ":.*\(ASCII\|script\|source\).*text"|awk -F':' '{printf "%s\0", $1}'|$SUDO_EXEC xargs -0 sed -i -e "s:$DEFAULT_INSTALL_DIR:$target_sdk_dir:g"
+$SUDO_EXEC find $native_sysroot -type f -exec file '{}' \;|grep ":.*\(ASCII\|script\|source\).*text"|awk -F':' '{printf "\"%s\"\n", $1}'|$SUDO_EXEC xargs -n32 sed -i -e "s:$DEFAULT_INSTALL_DIR:$target_sdk_dir:g"
 
 # change all symlinks pointing to ${SDKPATH}
 for l in $($SUDO_EXEC find $native_sysroot -type l); do
-- 
1.9.1




More information about the Openembedded-core mailing list