target-finalize: Use NULL deliminators when stripping the target directory.
authorAndrew Parlane <andrewp@carallon.com>
Wed, 18 Mar 2015 15:10:29 +0000 (15:10 +0000)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Fri, 20 Mar 2015 21:46:02 +0000 (22:46 +0100)
commit26f215d13756b0356c2aaa6d6bfc71ae99d6c1e5
treeedf9ebe8e05a7e7bd2cabb4f62f838d5feb8a705
parent3503386aad14e662bc101b7184973a59dab489bb
target-finalize: Use NULL deliminators when stripping the target directory.

Special characters in files or directories in the rootfs can cause
problems when stripping files.  For example "target/some song.mp3"
gets treated as two entries. "target/some" and "song.mp3" are both
passed to $(STRIPCMD). This then errors saying files don't exist.

Additionally a ' and possibly other special characters in a file path
causes xargs to give the error: "xargs: unmatched single quote; by
default quotes are special to xargs unless you use the -0
option". This also has the effect of removing this entry and further
entries from the list of files to strip.  This can be demonstrated by
having a test directory with the files: "cat" "rabbit's"
"elephant". then running the command: "find -name "*" -print | xargs"

To fix this we pass -print0 to find which seperates entries with a
NULL character, and we pass -0 to xargs to tell it to only use NULL
characters as the deliminator.

Signed-off-by: Andrew Parlane <andrewp@carallon.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Makefile