All of lore.kernel.org
 help / color / mirror / Atom feed
From: William Mills <wmills@ti.com>
To: Joshua Immanuel <josh@hipro.co.in>
Cc: Yocto Project <yocto@yoctoproject.org>
Subject: Re: creating global variables in a recipes
Date: Wed, 1 Feb 2012 11:50:16 -0500	[thread overview]
Message-ID: <4F296D48.4080807@ti.com> (raw)
In-Reply-To: <1328111395.2628.32.camel@babel.joshhome>



On 02/01/2012 10:49 AM, Joshua Immanuel wrote:
> Hello all,
>
> On Wed, 2012-02-01 at 12:07 +0530, Joshua Immanuel wrote:
>>> At present in my custom image recipe I've added the following
>>> lines
>>>
>>>          SOME_VARIABLE = "Blah"
>>>          do_bootimg[depends] += "base-files:do_install"
>>>
>>> But the contents of ${SOME_VARIABLE} is not available in the
>>> 'base-files' recipe. Even
>>>
>>>          export SOME_VARIABLE = "Blah"
>>>
>>> doesn't solve the problem.
>>
>>          $ bitbake custom-image -c devshell
>>
>> In the above devshell I can find the contents of ${SOME_VARIABLE}
>> available but the content of it is empty in 'base-files' recipe.
>
> In other words, I need to define global variables in a package which can
> be used across multiple packages. At present the only option I have is
> to export the variable in build/conf/local.conf. IMHO, this doesn't feel
> like a proper solution (as the variable is my layer specific). Moreover,
> I can't change the value of it in one package to be used in other
> package(s).
>
> Is there any other way to do this? Please guide me.
>

I am not sure I can give you a better option that local.conf but I can 
explain why what your doing does not work.

It may feel from your usage that the image recipe is the ancestor of all 
the recipes but this is really not true.  The settings in a image recipe 
effect the assembly of that image and not the packages that they depend 
on.  An image could be assembled from packages that were built long ago 
or inherited via shared state.

settings in local,conf on the other hand affect all recipes.  If you add 
something there it will be seen by all recipes.  Unfortunately this 
means that all recipes are dependent on the settings and everything will 
need to be rebuilt in case the new setting effects them.  I believe this 
also means you will not be able to used share state with someone with a 
different setting of (or unset) SOME_VARIABLE.  (Well you can but you 
will both be rebuild everything.)

Alternatives to the whole approach are to make alternative packages for 
the various cases (busybox-minimal vs busybox-full) or use an image task 
to create an asset in the file system that then makes a difference at 
run time.

> Regards
> Joshua
>
>
>
> _______________________________________________
> yocto mailing list
> yocto@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto


  parent reply	other threads:[~2012-02-01 16:50 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-01-31  7:10 forcing a task to run while building an image Joshua Immanuel
2012-02-01  6:37 ` Joshua Immanuel
2012-02-01 15:49   ` creating global variables in a recipes Joshua Immanuel
2012-02-01 16:14     ` Christopher Larson
2012-02-01 16:50     ` William Mills [this message]
2012-02-02  5:17       ` Joshua Immanuel
2012-02-02 15:17         ` Chris Larson
2012-02-03  7:13           ` Joshua Immanuel
2012-02-02 22:27       ` Richard Purdie
2012-02-03 16:13         ` William Mills
2012-02-01 11:04 ` forcing a task to run while building an image Sathishkumar Duraisamy
2012-02-01 11:42   ` Joshua Immanuel
2012-02-01 12:22     ` Sathishkumar Duraisamy
2012-02-01 12:31       ` Joshua Immanuel
2012-02-03  8:04     ` Joshua Immanuel
2012-02-03  8:51       ` Sathishkumar Duraisamy
2012-02-03  9:57         ` Joshua Immanuel

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=4F296D48.4080807@ti.com \
    --to=wmills@ti.com \
    --cc=josh@hipro.co.in \
    --cc=yocto@yoctoproject.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.