From: Richard Purdie <richard.purdie@linuxfoundation.org>
To: Paul Barker <paul@paulbarker.me.uk>
Cc: openembedded-core <openembedded-core@lists.openembedded.org>
Subject: Re: Ensuring a task is re-ran when local.conf is updated
Date: Fri, 02 May 2014 23:07:08 +0100 [thread overview]
Message-ID: <1399068428.12731.88.camel@ted> (raw)
In-Reply-To: <CANyK_8eUuUqAMf87-pSVdd7X5_BTXOn7iQCdQ0XYyTjxu=PKbA@mail.gmail.com>
On Fri, 2014-05-02 at 22:51 +0100, Paul Barker wrote:
> On 2 May 2014 22:34, Richard Purdie <richard.purdie@linuxfoundation.org> wrote:
> > On Fri, 2014-05-02 at 17:43 +0100, Paul Barker wrote:
> >>
> >> Am I missing something here? Is it expected that this variable change
> >> is detected and the relevant tasks re-executed? I know changing
> >> variables like PREFERRED_PROVIDER_* in local.conf causes things to be
> >> rebuilt, so why does that work and this not?
> >
> > This should work, I'm not sure why it wouldn't. The code should be able
> > to detect the dependency on the IPK_HIERARCHICAL_FEED variable and
> > notice when the value changes.
> >
> > I'd have to experiment with some builds to figure out anything further
> > but its probably worth opening a bug report as it sounds broken.
> >
> > bitbake-dffsigs on a siginfo file of a do_package_write_ipk is where to
> > start with debugging, it should show the dependency on the variable.
>
> Looks like I found the issue quickly using bitbake-diffsigs.
> do_package_write_ipk does:
> localdata = bb.data.createCopy(d)
> Then uses localdata.
>
> If I check localdata.getVar(), the variable name doesn't appear in the
> list of dependencies.
>
> If instead I check d.getVar(), it does appear in the list of dependencies.
>
> It looks like localdata is used so that certain variables can be set
> without the changes affecting anything else (PKG, OVERRIDES, ROOT,
> etc). But there are also some calls to localdata.getVar() for
> PACKAGE_ARCH and ALLOW_EMPTY.
>
> With my check changed to d.getVar(), the dependencies are: (['PKGE',
> 'IPK_HIERARCHICAL_FEED', 'get_package_additional_metadata',
> 'PKGWRITEDIRIPK', 'OPKGBUILDCMD', 'mapping_rename_hook', 'PKGDEST',
> 'PACKAGES', 'HOMEPAGE'])
>
> Does this mean changes to PACKAGE_ARCH and ALLOW_EMPTY may go unnoticed?
It may well do and I've realised the issue:
codeparser.py:
class PythonParser():
getvars = ("d.getVar", "bb.data.getVar", "data.getVar", "d.appendVar", "d.prependVar")
we probably need to change this to an .endswith(".getVar", ".appendVar",
".prependVar") type check...
Cheers,
Richard
next prev parent reply other threads:[~2014-05-02 22:07 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-02 16:43 Ensuring a task is re-ran when local.conf is updated Paul Barker
2014-05-02 21:34 ` Richard Purdie
2014-05-02 21:51 ` Paul Barker
2014-05-02 22:07 ` Richard Purdie [this message]
2014-05-03 9:03 ` Burton, Ross
2014-05-03 9:08 ` Richard Purdie
2014-05-03 20:46 ` Burton, Ross
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=1399068428.12731.88.camel@ted \
--to=richard.purdie@linuxfoundation.org \
--cc=openembedded-core@lists.openembedded.org \
--cc=paul@paulbarker.me.uk \
/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.