Message ID | 1390479065-24299-1-git-send-email-otavio@ossystems.com.br |
---|---|
State | Accepted |
Commit | b09e24449c1c9ae335732dd070eacf66777556a1 |
Headers | show |
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 ) }
On Thu, Jan 23, 2014 at 10:11 AM, Otavio Salvador <otavio@ossystems.com.br> 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 > 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. > > Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> ping?
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 ) > } > > >
On Mon, Jan 27, 2014 at 7:52 PM, Randy MacLeod <randy.macleod@windriver.com> wrote: > 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 -> Richard, do you want me to send a v2 or can you fix the typo when applying it?
On Monday 27 January 2014 16:52:45 Randy MacLeod wrote: > 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 -> So I think this is mostly a good change, however, we don't want those -> if the file isn't a symlink. Otavio, can you fix that? Thanks, Paul
On Tue, 2014-01-28 at 08:59 +0000, Paul Eggleton wrote: > So I think this is mostly a good change, however, we don't want those -> if > the file isn't a symlink. Otavio, can you fix that? Isn't that what the sed 's/ -> $//' in the original patch is dealing with? p.
On Tuesday 28 January 2014 09:19:59 Phil Blundell wrote: > On Tue, 2014-01-28 at 08:59 +0000, Paul Eggleton wrote: > > So I think this is mostly a good change, however, we don't want those -> > > if the file isn't a symlink. Otavio, can you fix that? > > Isn't that what the sed 's/ -> $//' in the original patch is dealing > with? Oops, you're right. Ignore this :) Cheers, Paul
On Mon, 2014-01-27 at 23:52 -0200, Otavio Salvador wrote: > On Mon, Jan 27, 2014 at 7:52 PM, Randy MacLeod > <randy.macleod@windriver.com> wrote: > > 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 -> > > Richard, do you want me to send a v2 or can you fix the typo when applying it? I fixed this one up and merged it. Cheers, Richard
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 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. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> --- meta/classes/buildhistory.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)