Openembedded Core Discussions
 help / color / mirror / Atom feed
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


  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