Don't split paths with spaces

setup.sh uses the anti-pattern `for f in $(find ...); do` in several
places. `find` returns one path per line, but `for` splits its arguments
by words, so paths which contain spaces are incorrectly split! The
correct way is `find ... | while read f; do`
This commit is contained in:
Thomas Tuegel 2014-01-11 07:54:35 -06:00
parent 51713fbbfc
commit e15fc83fc9

View file

@ -575,7 +575,7 @@ configurePhase() {
fi fi
if [ -z "$dontFixLibtool" ]; then if [ -z "$dontFixLibtool" ]; then
for i in $(find . -name "ltmain.sh"); do find . -iname "ltmain.sh" | while read i; do
echo "fixing libtool script $i" echo "fixing libtool script $i"
fixLibtool $i fixLibtool $i
done done
@ -670,7 +670,7 @@ patchShebangs() {
local oldInterpreterLine local oldInterpreterLine
local newInterpreterLine local newInterpreterLine
for f in $(find "$dir" -type f -perm +0100); do find "$dir" -type f -perm +0100 | while read f; do
if [ "$(head -1 "$f" | head -c +2)" != '#!' ]; then if [ "$(head -1 "$f" | head -c +2)" != '#!' ]; then
# missing shebang => not a script # missing shebang => not a script
continue continue