summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2014-06-27 10:23:23 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-06-29 08:54:21 +0100
commit7d61661348cf48cbe379ae600565840ea08664b1 (patch)
tree2a92d12bb26e33c7b0972bf75a990081218f54d5
parentb4cd268cf7506a521d7800112cb775bd49e1ef09 (diff)
downloadopenembedded-core-7d61661348cf48cbe379ae600565840ea08664b1.tar.gz
openembedded-core-7d61661348cf48cbe379ae600565840ea08664b1.tar.bz2
openembedded-core-7d61661348cf48cbe379ae600565840ea08664b1.zip
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 <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/classes/distutils.bbclass8
-rw-r--r--meta/classes/distutils3.bbclass4
2 files changed, 3 insertions, 9 deletions
diff --git a/meta/classes/distutils.bbclass b/meta/classes/distutils.bbclass
index 12f26036fa..6ed7ecc99f 100644
--- a/meta/classes/distutils.bbclass
+++ b/meta/classes/distutils.bbclass
@@ -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 \
diff --git a/meta/classes/distutils3.bbclass b/meta/classes/distutils3.bbclass
index bbd645cc63..e909ef41b6 100644
--- a/meta/classes/distutils3.bbclass
+++ b/meta/classes/distutils3.bbclass
@@ -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 \