From: Joshua Watt Date: Wed, 5 May 2021 21:40:06 +0000 (-0500) Subject: classes/image: Use xargs to set file timestamps X-Git-Tag: 2020-04.8-dunfell~46 X-Git-Url: https://code.ossystems.io/gitweb?a=commitdiff_plain;h=2538a566f01f79537f8a94d93ac02588d6c239ec;p=openembedded-core.git classes/image: Use xargs to set file timestamps Instead of having find directly invoke touch for each file in the root file system, pass a list to xargs for batching. This significantly reduces the number of times the touch program is invoked and speeds up the do_image task time: PKG TASK ABSDIFF RELDIFF CPUTIME1 -> CPUTIME2 my-image do_image -45.3s -94.2% 48.1s -> 2.8s Cumulative cputime: -44.3s -92.3% 00:48.1 (48.1s) -> 00:03.7 (3.7s) Signed-off-by: Joshua Watt Signed-off-by: Richard Purdie (cherry picked from commit 15c65f90a3aa1e98c2beab2539403157df1fca08) Signed-off-by: Steve Sakoman --- diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass index 79c487ea18..98513ddf08 100644 --- a/meta/classes/image.bbclass +++ b/meta/classes/image.bbclass @@ -662,7 +662,7 @@ reproducible_final_image_task () { fi # Set mtime of all files to a reproducible value bbnote "reproducible_final_image_task: mtime set to $REPRODUCIBLE_TIMESTAMP_ROOTFS" - find ${IMAGE_ROOTFS} -exec touch -h --date=@$REPRODUCIBLE_TIMESTAMP_ROOTFS {} \; + find ${IMAGE_ROOTFS} -print0 | xargs -0 touch -h --date=@$REPRODUCIBLE_TIMESTAMP_ROOTFS fi }