The perl recipe's do_configure() does some manual sed replacements over
the entire WORKDIR. Fix the following issues with this:
* Skip patches, which fixes re-execution of do_patch after do_configure
has run once
* Ensure that the replacement operation does nothing if do_configure is
re-executed
* Avoid unnecessarily modifying /usr/include paths within documentation
that will end up being packaged
* Fix a quoting issue in the expression used in the grep command that
ended up causing files that did not contain .*\.h after /usr/include
to be matched and modified.
The files modified during do_configure have been compared before and
after this patch to ensure there are no unexpected changes. Some
/usr/include paths that are not within documentation are no longer
being substituted however these are all within comments or scripts for
other Unix operating systems that are not applicable.
[YOCTO #2194]
(From OE-Core rev:
19255032e7744fce5cbe466e4869ded378d3b4f5)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
# We need gnugrep (for -I)
DEPENDS = "virtual/db grep-native"
DEPENDS += "gdbm zlib"
-PR = "r5"
+PR = "r6"
# 5.10.1 has Module::Build built-in
PROVIDES += "libmodule-build-perl"
;;
esac
# These are strewn all over the source tree
- for foo in `grep -I -m1 \/usr\/include\/.*\\.h ${WORKDIR}/* -r | cut -f 1 -d ":"` ; do
+ for foo in `grep -I --exclude="*.patch" --exclude="*.diff" --exclude="*.pod" --exclude="README*" -m1 "/usr/include/.*\.h" ${WORKDIR}/* -r -l` ${S}/utils/h2xs.PL ; do
echo Fixing: $foo
- sed -e "s%/usr/include/%${STAGING_INCDIR}/%g" -i $foo
+ sed -e 's|\([ "^'\''I]\+\)/usr/include/|\1${STAGING_INCDIR}/|g' -i $foo
done
rm -f config