From: Randy MacLeod <randy.macleod@windriver.com>
To: Otavio Salvador <otavio@ossystems.com.br>,
OpenEmbedded Core Mailing List
<openembedded-core@lists.openembedded.org>
Subject: Re: [PATCH] buildhistory.bbclass: Improve robustness in image file listing
Date: Mon, 27 Jan 2014 16:52:45 -0500 [thread overview]
Message-ID: <52E6D52D.4070908@windriver.com> (raw)
In-Reply-To: <1390479065-24299-1-git-send-email-otavio@ossystems.com.br>
On 14-01-23 07:11 AM, Otavio Salvador wrote:
> The filenames sometimes may have strange names. With the 'awk' script
> it handled a limited number of spaces in the filename and a package
> installing a file named "test file with spaces" would have its name
> truncated.
>
> This patch uses the find's printf formating to simplify the code and
> proper handle this case. From a testing image, the only diff produced
s/proper/properly/
Yes, I'm with the grammar police; we're here to be helpful.
> is:
>
> ,----[ files-in-image.txt diff ]
> | --rwxr-xr-x root root 0 ./usr/bin/test\ file\ with\
> | +-rwxr-xr-x root root 0 ./usr/bin/test file with spaces
> `----
>
> The options used are available since findutils 4.2.5, released in 19
> Nov 2004, making it available in all supported host distributions.
Acked-by: Randy MacLeod <Randy.MacLeod@windriver.com>
Works for me, even on CentOS/RHEL-5.9/10 which does indeed have
findutils > 4.2.5:
$ rpm -qf `which find`
findutils-4.2.27-6.el5
and the find command seems to work as intended:
$ find jj -printf "%M %-10u %-10g %10s %p -> %l\n" | cut -c 44-
jj ->
jj/usr ->
jj/usr/bin ->
jj/usr/bin/test file with spaces ->
../Randy
>
> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
> ---
> meta/classes/buildhistory.bbclass | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/meta/classes/buildhistory.bbclass b/meta/classes/buildhistory.bbclass
> index e9a9c3b..545a42f 100644
> --- a/meta/classes/buildhistory.bbclass
> +++ b/meta/classes/buildhistory.bbclass
> @@ -385,7 +385,7 @@ buildhistory_get_sdk_installed() {
> buildhistory_list_files() {
> # List the files in the specified directory, but exclude date/time etc.
> # This awk script is somewhat messy, but handles where the size is not printed for device files under pseudo
> - ( cd $1 && find . -ls | awk '{ if ( $7 ~ /[0-9]/ ) printf "%s %10-s %10-s %10s %s %s %s\n", $3, $5, $6, $7, $11, $12, $13 ; else printf "%s %10-s %10-s %10s %s %s %s\n", $3, $5, $6, 0, $10, $11, $12 }' | sort -k5 | sed 's/ *$//' > $2 )
> + ( cd $1 && find . -printf "%M %-10u %-10g %10s %p -> %l\n" | sort -k5 | sed 's/ * -> $//' > $2 )
> }
>
>
>
--
# Randy MacLeod. SMTS, Linux, Wind River
Direct: 613.963.1350
next prev parent reply other threads:[~2014-01-27 21:52 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-01-23 12:11 [PATCH] buildhistory.bbclass: Improve robustness in image file listing Otavio Salvador
2014-01-27 18:15 ` Otavio Salvador
2014-01-27 21:52 ` Randy MacLeod [this message]
2014-01-28 1:52 ` Otavio Salvador
2014-01-28 11:33 ` Richard Purdie
2014-01-28 8:59 ` Paul Eggleton
2014-01-28 9:19 ` Phil Blundell
2014-01-28 9:34 ` Paul Eggleton
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=52E6D52D.4070908@windriver.com \
--to=randy.macleod@windriver.com \
--cc=openembedded-core@lists.openembedded.org \
--cc=otavio@ossystems.com.br \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox