distutils/distutils3: Fix bashism
PATCH 1/1 distutils/distutils3: Fix bashism
read -d is a bashism. Replace with a direct exec to avoid the problem in this case. This fixes silent build failures in do_install of tasks on systems with dash as /bin/sh.
Also merge the fix to distutils for only changing necessary files to disutils3 as well.
Signed-off-by Richard Purdie <[email protected]>
meta/classes/distutils.bbclass +2 -6
@@ -42,12 +42,8 @@ distutils_do_install() { bbfatal "${PYTHON_PN} setup.py install execution failed." # support filenames with *spaces* - find ${D} -name "*.py" -print0 | while read -d $'\0' i ; do \ - # only modify file if it contains path to avoid recompilation on the target - if grep -q "${D}" "$i"; then - sed -i -e s:${D}::g "$i" - fi - done + # only modify file if it contains path to avoid recompilation on the target + find ${D} -name "*.py" -exec grep -q ${D} {} \; -exec sed -i -e s:${D}::g {} \; if test -e ${D}${bindir} ; then for i in ${D}${bindir}/* ; do \
meta/classes/distutils3.bbclass +1 -3
@@ -64,9 +64,7 @@ distutils3_do_install() { bbfatal "${PYTHON_PN} setup.py install execution failed." # support filenames with *spaces* - find ${D} -name "*.py" -print0 | while read -d $'\0' i ; do \ - sed -i -e s:${D}::g "$i" - done + find ${D} -name "*.py" -exec grep -q ${D} {} \; -exec sed -i -e s:${D}::g {} \; if test -e ${D}${bindir} ; then for i in ${D}${bindir}/* ; do \