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
next prev parent 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