Openembedded Devel Discussions
 help / color / mirror / Atom feed
From: Steffen Sledz <sledz@dresearch-fe.de>
To: Paul Eggleton <paul.eggleton@linux.intel.com>
Cc: openembedded-devel@lists.openembedded.org
Subject: Re: Use python in variable assigment of a recipe
Date: Tue, 28 Feb 2012 13:11:08 +0100	[thread overview]
Message-ID: <4F4CC45C.8010501@dresearch-fe.de> (raw)
In-Reply-To: <1567078.cdBARgH5ks@helios>

On 28.02.2012 10:55, Paul Eggleton wrote:
> On Tuesday 28 February 2012 10:26:16 Steffen Sledz wrote:
>> According to the user manual it is possible to use python code in variable
>> assignments by using ${@...}.
>>
>> I like to use a function (subprocess.check_output) here which requires an
>> import statement. Where do i have to place this import?
> 
> If you've got more than one line of Python then you should probably define a 
> normal Python function (just use "def" as you would in a normal python script 
> - there are plenty of examples of this) and then call this using ${@...}.

Works. Thx.

>> And another question. Is it possible to determine the path to the recipe
>> itself from with it?
> 
> I think you just need to get the value of the FILE variable e.g
> 
>  d.getVar('FILE', True)

Because i'm working with oe-classic i tried this (found in some other examples):

  MYVAR = "${@my_func()}"

  def my_func():
      bbpath = os.path.dirname(bb.data.getVar('FILE',d,1))
      ...

But this leads to an error:

  NameError: global name 'd' is not defined

:(

-- 
DResearch Fahrzeugelektronik GmbH
Otto-Schmirgal-Str. 3, 10319 Berlin, Germany
Tel: +49 30 515932-237 mailto:sledz@dresearch-fe.de
Fax: +49 30 515932-299
Geschäftsführer: Dr. Michael Weber, Werner Mögle;
Amtsgericht Berlin Charlottenburg; HRB 130120 B;
Ust.-IDNr. DE273952058



  reply	other threads:[~2012-02-28 12:19 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-02-28  9:26 Use python in variable assigment of a recipe Steffen Sledz
2012-02-28  9:55 ` Paul Eggleton
2012-02-28 12:11   ` Steffen Sledz [this message]
2012-02-28 13:28     ` Paul Eggleton
2012-02-28 13:33     ` Phil Blundell

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=4F4CC45C.8010501@dresearch-fe.de \
    --to=sledz@dresearch-fe.de \
    --cc=openembedded-devel@lists.openembedded.org \
    --cc=paul.eggleton@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