Openembedded Core Discussions
 help / color / mirror / Atom feed
From: Bruce Ashfield <bruce.ashfield@windriver.com>
To: Darren Hart <dvhart@linux.intel.com>,
	<openembedded-core@lists.openembedded.org>,
	Saul Wold <sgw@linux.intel.com>,
	Richard Purdie <richard.purdie@linuxfoundation.org>
Subject: Re: [PATCH] linux-yocto-dev: Dynamic SRCREV update
Date: Fri, 23 May 2014 12:58:55 -0400	[thread overview]
Message-ID: <537F7E4F.3090908@windriver.com> (raw)
In-Reply-To: <b3bebaeb85b2dbd47744319dbd3bcf38f452537a.1400864279.git.dvhart@linux.intel.com>

On 14-05-23 12:57 PM, Darren Hart wrote:
> The current implementation would result in the default SRCREVs being
> used by the fetcher, even though the anonymous python would update them
> to AUTOREV. This appears to be something to do with early parsing
> bitbake black magic.
>
> This patch ensures the default is never assigned if we are actually
> building the recipe by using a function to assign it in the first place.
>
> The USE_DEFAULT* variables are removed as they are not necessary to
> allow for overriding the SRCREVs.
>
> The anonymous python parse check is moved closer to the top of the
> recipe to be a bit more logically representative of its intended
> purpose.

Looks good to me.

Acked-by: Bruce Ashfield <bruce.ashfield@windriver.com>

>
> Signed-off-by: Darren Hart <dvhart@linux.intel.com>
> ---
>   meta/recipes-kernel/linux/linux-yocto-dev.bb |   29 ++++++++++----------------
>   1 file changed, 11 insertions(+), 18 deletions(-)
>
> diff --git a/meta/recipes-kernel/linux/linux-yocto-dev.bb b/meta/recipes-kernel/linux/linux-yocto-dev.bb
> index 5e09720..9b49eee 100644
> --- a/meta/recipes-kernel/linux/linux-yocto-dev.bb
> +++ b/meta/recipes-kernel/linux/linux-yocto-dev.bb
> @@ -11,37 +11,30 @@
>   inherit kernel
>   require recipes-kernel/linux/linux-yocto.inc
>
> -USE_MACHINE_AUTOREV ?= "1"
> -USE_META_AUTOREV ?= "1"
> -
>   # provide this .inc to set specific revisions
>   include recipes-kernel/linux/linux-yocto-dev-revisions.inc
>
> +# Skip processing of this recipe if it is not explicitly specified as the
> +# PREFERRED_PROVIDER for virtual/kernel. This avoids network access required
> +# by the use of AUTOREV SRCREVs, which are the default for this recipe.
> +python () {
> +    if d.getVar("PREFERRED_PROVIDER_virtual/kernel", True) != "linux-yocto-dev":
> +        raise bb.parse.SkipPackage("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-dev to enable it")
> +}
> +
>   KBRANCH = "standard/base"
>   KBRANCH_DEFAULT = "${KBRANCH}"
>   KMETA = "meta"
>
> -SRC_URI = "git://git.pokylinux.org/linux-yocto-dev.git;nocheckout=1;branch=${KBRANCH},${KMETA};name=machine,meta"
> +SRC_URI = "git://git.yoctoproject.org/linux-yocto-dev.git;bareclone=1;branch=${KBRANCH},${KMETA};name=machine,meta"
>
>   # Set default SRCREVs. Both the machine and meta SRCREVs are statically set
>   # to the korg v3.7 tag, and hence prevent network access during parsing. If
>   # linux-yocto-dev is the preferred provider, they will be overridden to
>   # AUTOREV in following anonymous python routine and resolved when the
>   # variables are finalized.
> -SRCREV_machine ?= "29594404d7fe73cd80eaa4ee8c43dcc53970c60e"
> -SRCREV_meta ?= "29594404d7fe73cd80eaa4ee8c43dcc53970c60e"
> -
> -python () {
> -    if d.getVar("PREFERRED_PROVIDER_virtual/kernel", True) != "linux-yocto-dev":
> -        raise bb.parse.SkipPackage("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-dev to enable it")
> -    else:
> -        # if the revisions have been changed from the defaults above we leave them
> -        # alone. But if the defaults are left, we change to AUTOREV.
> -        if d.getVar("USE_MACHINE_AUTOREV", True) == "1":
> -            d.setVar("SRCREV_machine", "${AUTOREV}")
> -        if d.getVar("USE_META_AUTOREV", True) == "1":
> -            d.setVar("SRCREV_meta", "${AUTOREV}")
> -}
> +SRCREV_machine ?= '${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/kernel", "linux-yocto-dev", "${AUTOREV}", "29594404d7fe73cd80eaa4ee8c43dcc53970c60e", d)}'
> +SRCREV_meta ?= '${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/kernel", "linux-yocto-dev", "${AUTOREV}", "29594404d7fe73cd80eaa4ee8c43dcc53970c60e", d)}'
>
>   LINUX_VERSION ?= "3.14+"
>   LINUX_VERSION_EXTENSION ?= "-yoctodev-${LINUX_KERNEL_TYPE}"
>



      reply	other threads:[~2014-05-23 16:59 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-05-23 16:57 [PATCH] linux-yocto-dev: Dynamic SRCREV update Darren Hart
2014-05-23 16:58 ` Bruce Ashfield [this message]

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=537F7E4F.3090908@windriver.com \
    --to=bruce.ashfield@windriver.com \
    --cc=dvhart@linux.intel.com \
    --cc=openembedded-core@lists.openembedded.org \
    --cc=richard.purdie@linuxfoundation.org \
    --cc=sgw@linux.intel.com \
    /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