[OE-core] [PATCH] perl: fix re-execution of task
richard.purdie at linuxfoundation.org
richard.purdie at linuxfoundation.org
Fri Apr 13 15:29:36 UTC 2012
> ---
a/meta/recipes-devtools/perl/perl_5.14.2.bb
> +++
b/meta/recipes-devtools/perl/perl_5.14.2.bb
> @@ -164,8 +164,12 @@
do_configure() {
> 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
> - echo Fixing: $foo
> -
sed -e "s%/usr/include/%${STAGING_INCDIR}/%g" -i $foo
> + # D2194:Fixing
the issue "patch file link is replaced with modified file"
> + # Ignore if
file is a link, as actual file will also get caught during grep
> + if [
! -h $foo ]; then
> + echo Fixing: $foo
> + sed -e
"s%/usr/include/%${STAGING_INCDIR}/%g" -i $foo
> + fi
From: Richard Purdie <richard.purdie at linuxfoundation.org>
To: Venkata ramana gollamudi <ramana.gollamudi at huawei.com>
Cc: "'openembedded-core at lists.openembedded.org'"
<openembedded-core at lists.openembedded.org>, Sanil kumar
<sanil.kumar at huawei.com>
Date: Fri, 13 Apr 2012 16:29:36 +0100
In-Reply-To: <36ED13F3654AE54CA763E6821D93A5711043A0F7 at szxeml534-mbs.china.huawei.com>
References:
<36ED13F3654AE54CA763E6821D93A5711043A0F7 at szxeml534-mbs.china.huawei.com>
Content-Type: text/plain; charset="UTF-8"
X-Mailer: Evolution 3.2.2-
Content-Transfer-Encoding: 7bit
Mime-Version: 1.0
On Fri, 2012-04-13 at 11:46 +0000, Venkata ramana gollamudi wrote:
> perl package do_configure is changing "/perl-5.14.2/patches/h2ph-multiarch.diff"
> from link to normal file in the process of correcting the paths.
> So when patch task is re-executed after complete package building, giving error.
>
> This path correction is not required for links as the link target file
> will be also be modified individually.
> Fix done to ignore the path correction during do_configure,
> if file is a link.
>
> [Yocto #2194]
>
> Signed-off-by: Venkata Ramana Gollamudi <ramana.gollamudi at huawei.com>
> ---
> meta/recipes-devtools/perl/perl_5.14.2.bb | 8 ++++++--
> 1 files changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/meta/recipes-devtools/perl/perl_5.14.2.bb b/meta/recipes-devtools/perl/perl_5.14.2.bb
> index 92ca9b8..414aa22 100644
> --- a/meta/recipes-devtools/perl/perl_5.14.2.bb
> +++ b/meta/recipes-devtools/perl/perl_5.14.2.bb
> @@ -164,8 +164,12 @@ do_configure() {
> 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
> - echo Fixing: $foo
> - sed -e "s%/usr/include/%${STAGING_INCDIR}/%g" -i $foo
> + # D2194:Fixing the issue "patch file link is replaced with modified file"
> + # Ignore if file is a link, as actual file will also get caught during grep
> + if [ ! -h $foo ]; then
> + echo Fixing: $foo
> + sed -e "s%/usr/include/%${STAGING_INCDIR}/%g" -i $foo
> + fi
> done
>
> rm -f config
I think its a bad idea to assume patches are symlinks. Could we add
something like --exclude=patches to the grep command?
Secondly, the above will still cause problems if ${STAGING_INCDIR}
contains /usr/include which it usually will, for example if:
STAGING_INCDIR=/foo/usr/include
then you can end up with:
/foo/foo/foo/foo/usr/include
after a few runs. This fix therefore still needs some work.
Cheers,
Richard
More information about the Openembedded-core
mailing list