From: Robert Yang <liezhi.yang@windriver.com>
To: <openembedded-core@lists.openembedded.org>
Subject: Re: [PATCH 1/1] toolchain-shar-relocate.sh: make it faster
Date: Mon, 28 Sep 2015 15:46:12 +0800 [thread overview]
Message-ID: <5608F044.1000909@windriver.com> (raw)
In-Reply-To: <c863983a0f775079fa0bff7983be09ae6841e923.1443424138.git.liezhi.yang@windriver.com>
On 09/28/2015 03:09 PM, Robert Yang wrote:
> Make the extrating faster by:
> * Merge the two heavy t"for .. find" loops into one
Sorry, a typo, should be no "t", updated in the repo.
// Robert
> * Move the commands out of for loop rather than inside, this can reduce the
> forking amount.
>
> As a result, when install:
> * buildtools-nativesdk-standalone: 14s -> 7s (50% saved)
> * core-image-minimal-core2-64-toolchain: 56s -> 47s (17% saved)
>
> [YOCTO #8404]
>
> Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
> ---
> meta/files/toolchain-shar-relocate.sh | 24 ++++++++++--------------
> 1 file changed, 10 insertions(+), 14 deletions(-)
>
> diff --git a/meta/files/toolchain-shar-relocate.sh b/meta/files/toolchain-shar-relocate.sh
> index dfb8e16..4ef2927 100644
> --- a/meta/files/toolchain-shar-relocate.sh
> +++ b/meta/files/toolchain-shar-relocate.sh
> @@ -26,25 +26,21 @@ if [ $relocate = 1 ] ; then
> fi
> fi
>
> -# replace @SDKPATH@ with the new prefix in all text files: configs/scripts/etc
> +# replace @SDKPATH@ with the new prefix in all text files: configs/scripts/etc.
> +# replace the host perl with SDK perl.
> for replace in "$target_sdk_dir -maxdepth 1" "$native_sysroot"; do
> - $SUDO_EXEC find $replace -type f -exec file '{}' \; | \
> - grep ":.*\(ASCII\|script\|source\).*text" | \
> - awk -F':' '{printf "\"%s\"\n", $1}' | \
> - grep -v "$target_sdk_dir/environment-setup-*" | \
> - $SUDO_EXEC xargs -n32 sed -i -e "s:$DEFAULT_INSTALL_DIR:$target_sdk_dir:g"
> -done
> + $SUDO_EXEC find $replace -type f
> +done | xargs -n100 file | grep ":.*\(ASCII\|script\|source\).*text" | \
> + awk -F':' '{printf "\"%s\"\n", $1}' | \
> + grep -v "$target_sdk_dir/environment-setup-*" | \
> + xargs -n100 $SUDO_EXEC sed -i \
> + -e "s:$DEFAULT_INSTALL_DIR:$target_sdk_dir:g" \
> + -e "s:^#! */usr/bin/perl.*:#! /usr/bin/env perl:g" \
> + -e "s: /usr/bin/perl: /usr/bin/env perl:g"
>
> # change all symlinks pointing to @SDKPATH@
> for l in $($SUDO_EXEC find $native_sysroot -type l); do
> $SUDO_EXEC ln -sfn $(readlink $l|$SUDO_EXEC sed -e "s:$DEFAULT_INSTALL_DIR:$target_sdk_dir:") $l
> done
>
> -# find out all perl scripts in $native_sysroot and modify them replacing the
> -# host perl with SDK perl.
> -for perl_script in $($SUDO_EXEC find $native_sysroot -type f -exec grep -l "^#!.*perl" '{}' \;); do
> - $SUDO_EXEC sed -i -e "s:^#! */usr/bin/perl.*:#! /usr/bin/env perl:g" -e \
> - "s: /usr/bin/perl: /usr/bin/env perl:g" $perl_script
> -done
> -
> echo done
>
prev parent reply other threads:[~2015-09-28 7:46 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-09-28 7:09 [yocto 2.1] [PATCH 0/1] toolchain-shar-relocate.sh: make it faster Robert Yang
2015-09-28 7:09 ` [PATCH 1/1] " Robert Yang
2015-09-28 7:46 ` Robert Yang [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5608F044.1000909@windriver.com \
--to=liezhi.yang@windriver.com \
--cc=openembedded-core@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.