Openembedded Core Discussions
 help / color / mirror / Atom feed
From: richard.purdie@linuxfoundation.org
Subject: Re: [PATCH] perl: fix re-execution of task
Date: Fri, 13 Apr 2012 16:29:36 +0100	[thread overview]
Message-ID: <1334330976.7309.77.camel@ted> (raw)

> ---
 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@linuxfoundation.org>
To: Venkata ramana gollamudi <ramana.gollamudi@huawei.com>
Cc: "'openembedded-core@lists.openembedded.org'"
 <openembedded-core@lists.openembedded.org>, Sanil kumar
 <sanil.kumar@huawei.com>
Date: Fri, 13 Apr 2012 16:29:36 +0100
In-Reply-To: <36ED13F3654AE54CA763E6821D93A5711043A0F7@szxeml534-mbs.china.huawei.com>
References: 
	<36ED13F3654AE54CA763E6821D93A5711043A0F7@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@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








             reply	other threads:[~2012-04-13 15:39 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-13 15:29 richard.purdie [this message]
  -- strict thread matches above, loose matches on Subject: below --
2012-04-13 11:46 [PATCH] perl: fix re-execution of task Venkata ramana gollamudi
2012-04-13 18:02 ` Khem Raj

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1334330976.7309.77.camel@ted \
    --to=richard.purdie@linuxfoundation.org \
    --cc=openembedded-core@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox