From: Richard Purdie <richard.purdie@linuxfoundation.org>
To: Gary Thomas <gary@mlbassoc.com>
Cc: openembedded-core@lists.openembedded.org
Subject: Re: Deployment for machine X will remove its results from machine Y's deploy dir
Date: Thu, 27 Nov 2014 13:17:42 +0000 [thread overview]
Message-ID: <1417094262.15614.6.camel@linuxfoundation.org> (raw)
In-Reply-To: <547712F1.9090209@mlbassoc.com>
On Thu, 2014-11-27 at 05:02 -0700, Gary Thomas wrote:
> On 2014-11-27 01:35, Mike Looijmans wrote:
> > Here's an example recipe to demonstrate the issue. Save it as "deployme.bb" into a recipe dir. Then build it for two machines. Building it for one machine will remove it from the
> > deployment directory of the other. This problem has been bugging me for months, I had files just "disappear" mysteriously from the deploy directory and seemingly random times, and
> > now I finally figured out what causes it.
> >
> > (cut here)
> >
> > SUMMARY = "Demonstrate a bug in OE deployment"
> > DESCRIPTION = "Build this package for a machine X, then look at the image's \
> > deploy directory. You'll see a deployme.txt there. Now build it for another \
> > machine, e.g. "Y". The deployme.txt for machine X will have disappeared \
> > from the image dir. This appears to be a bug in OE's deployment."
> > LICENSE = "GPLv2"
> > LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690"
> >
> > inherit allarch deploy
> >
> > do_compile () {
> > echo "Hello world!" > deployme.txt
> > }
> >
> > do_deploy () {
> > install -d ${DEPLOYDIR}
> > install -m 644 ${B}/deployme.txt ${DEPLOYDIR}/
> > }
> >
> > addtask deploy before do_build after do_compile
> >
> > (cut here)
>
> Very interesting & verified with the latest master.
>
> Have you filed a bug? https://bugzilla.yoctoproject.org/
Well, I'm not convinced this is a bug as such. You've created an
"allarch" deploy task, how would you expect this to behave?
"allarch" means that the output from this task is universal and can be
used on all targets. It will therefore get run once.
A "deploy" task is machine specific.
What ends up happening is therefore the task has a stamp is
"universally" created. When you change machine, the checksum of the task
changes, the previous version is removed, the new version is installed.
So in many ways the system is doing exactly what I would expect it to do
and it isn't a bug in that sense.
The real question is how should an "allarch" + "deploy" task behave when
you've specified machine specific paths? Perhaps erroring would be
better?
Cheers,
Richard
next prev parent reply other threads:[~2014-11-27 13:17 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-11-27 8:35 Deployment for machine X will remove its results from machine Y's deploy dir Mike Looijmans
2014-11-27 12:02 ` Gary Thomas
2014-11-27 13:17 ` Richard Purdie [this message]
2014-11-27 14:22 ` Mike Looijmans
2014-11-27 14:41 ` Richard Purdie
2014-11-27 15:17 ` Mike Looijmans
2014-11-27 16:21 ` Richard Purdie
2014-11-28 7:09 ` Mike Looijmans
2014-11-28 10:18 ` Richard Purdie
2014-11-28 18:48 ` Mike Looijmans
2014-12-03 11:32 ` Mike Looijmans
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=1417094262.15614.6.camel@linuxfoundation.org \
--to=richard.purdie@linuxfoundation.org \
--cc=gary@mlbassoc.com \
--cc=openembedded-core@lists.openembedded.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox