public inbox for isar-users@googlegroups.com
 help / color / mirror / Atom feed
* Custom recipe, multiple machines for same arch
@ 2021-03-03 11:37 Daniel Machon
  2021-03-03 12:04 ` Jan Kiszka
  0 siblings, 1 reply; 4+ messages in thread
From: Daniel Machon @ 2021-03-03 11:37 UTC (permalink / raw)
  To: isar-users


[-- Attachment #1.1: Type: text/plain, Size: 1722 bytes --]

Hi,

Is there an elegant way to handle custom recipes, that are used in multiple machines that target the same architecture.
Currently when I try to execute a multi-machine build, it fails with: Detect multiple executions of ..
You can get around this by changing PN = recipe-name-${MACHINE} in each custom recipe and IMAGE_INSTALL += recipe-name-${MACHINE}
I am just wondering whether this is the best solution, or if there are any alternatives?

Best regards
Daniel

Med venlig hilsen / Best regards

Daniel Machon
Embedded Linux Engineer
R&D Department
[cid:UR_New_Logo_266cf885-8c99-4fe9-bae0-ff88fedf0005.png]

Universal Robots A/S
Energivej 25
5260 Odense S

Phone: +45 89 93 89 89
Cell: +45 27 99 72 32

dama@universal-robots.com<mailto:dama@universal-robots.com>
www.universal-robots.com<http://www.universal-robots.com>



Please note that this message may contain confidential information. If you have received this message by mistake, please inform the sender of the mistake, then delete the message from your system without making, distributing or retaining any copies of it. Although we believe that the message and any attachments are free from viruses and other errors that might affect the computer or IT system where it is received and read, the recipient opens the message at his or her own risk. We assume no responsibility for any loss or damage arising from the receipt or use of this message.

If Universal Robots A/S processes personal data relating to physical persons, such processing will meet the requirements of applicable data protection legislation.Please see our Privacy Policy here.<https://www.universal-robots.com/about-universal-robots/privacy-policy/>


[-- Attachment #1.2: Type: text/html, Size: 5020 bytes --]

[-- Attachment #2: UR_New_Logo_266cf885-8c99-4fe9-bae0-ff88fedf0005.png --]
[-- Type: image/png, Size: 3508 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Custom recipe, multiple machines for same arch
  2021-03-03 11:37 Custom recipe, multiple machines for same arch Daniel Machon
@ 2021-03-03 12:04 ` Jan Kiszka
  2021-03-03 12:05   ` Jan Kiszka
  2021-03-05  8:21   ` Daniel Machon
  0 siblings, 2 replies; 4+ messages in thread
From: Jan Kiszka @ 2021-03-03 12:04 UTC (permalink / raw)
  To: Daniel Machon, isar-users

On 03.03.21 12:37, Daniel Machon wrote:
> Hi,
> 
>  
> 
> Is there an elegant way to handle custom recipes, that are used in
> multiple machines that target the same architecture.
> 
> Currently when I try to execute a multi-machine build, it fails with:
> */Detect multiple executions of ../*
> 
> You can get around this by changing PN = /recipe-name/-${MACHINE} in
> each custom recipe and IMAGE_INSTALL += /recipe-name/-${MACHINE}
> 
> I am just wondering whether this is the best solution, or if there are
> any alternatives?
> 

Yes, you can share recipes across multiple configuration (multi-config).
You will find examples of that in Isar itself and also in [1].

But this can easily cause false-sharing problems. To detect those, we
installed an instrumentation that reported such a case in your setup. It
basically detects if there are variables evaluated by the recipe that
vary across the builds for different multi-config targets.

The next thing then is to understand what makes the recipes specific to
the machines and then resolve that. One way is building the recipes
machine-specific, this is what you described above. But maybe there is
also a more elegant way in your case. This is hard to answer generally,
though. You may try to compare the task signatures of the different runs
via bitbake-diffsigs which should visualize the varying vars.

Jan

-- 
Siemens AG, T RDA IOT
Corporate Competence Center Embedded Linux

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Custom recipe, multiple machines for same arch
  2021-03-03 12:04 ` Jan Kiszka
@ 2021-03-03 12:05   ` Jan Kiszka
  2021-03-05  8:21   ` Daniel Machon
  1 sibling, 0 replies; 4+ messages in thread
From: Jan Kiszka @ 2021-03-03 12:05 UTC (permalink / raw)
  To: Daniel Machon, isar-users

On 03.03.21 13:04, Jan Kiszka wrote:
> On 03.03.21 12:37, Daniel Machon wrote:
>> Hi,
>>
>>  
>>
>> Is there an elegant way to handle custom recipes, that are used in
>> multiple machines that target the same architecture.
>>
>> Currently when I try to execute a multi-machine build, it fails with:
>> */Detect multiple executions of ../*
>>
>> You can get around this by changing PN = /recipe-name/-${MACHINE} in
>> each custom recipe and IMAGE_INSTALL += /recipe-name/-${MACHINE}
>>
>> I am just wondering whether this is the best solution, or if there are
>> any alternatives?
>>
> 
> Yes, you can share recipes across multiple configuration (multi-config).
> You will find examples of that in Isar itself and also in [1].
> 
> But this can easily cause false-sharing problems. To detect those, we
> installed an instrumentation that reported such a case in your setup. It
> basically detects if there are variables evaluated by the recipe that
> vary across the builds for different multi-config targets.
> 
> The next thing then is to understand what makes the recipes specific to
> the machines and then resolve that. One way is building the recipes
> machine-specific, this is what you described above. But maybe there is
> also a more elegant way in your case. This is hard to answer generally,
> though. You may try to compare the task signatures of the different runs
> via bitbake-diffsigs which should visualize the varying vars.
> 
> Jan
> 

[1] https://github.com/siemens/jailhouse-images

^ permalink raw reply	[flat|nested] 4+ messages in thread

* RE: Custom recipe, multiple machines for same arch
  2021-03-03 12:04 ` Jan Kiszka
  2021-03-03 12:05   ` Jan Kiszka
@ 2021-03-05  8:21   ` Daniel Machon
  1 sibling, 0 replies; 4+ messages in thread
From: Daniel Machon @ 2021-03-05  8:21 UTC (permalink / raw)
  To: Jan Kiszka, isar-users

[-- Attachment #1: Type: text/plain, Size: 2073 bytes --]



> -----Original Message-----
> From: Jan Kiszka <jan.kiszka@siemens.com>
> Sent: 3. marts 2021 13:05
> To: Daniel Machon <dama@universal-robots.com>; isar-
> users@googlegroups.com
> Subject: Re: Custom recipe, multiple machines for same arch
>
>
> CAUTION - EXTERNAL EMAIL: Do not open attachments or links unless you
> recognize the sender and the content is safe.
>
>
> On 03.03.21 12:37, Daniel Machon wrote:
> > Hi,
> >
> >
> >
> > Is there an elegant way to handle custom recipes, that are used in
> > multiple machines that target the same architecture.
> >
> > Currently when I try to execute a multi-machine build, it fails with:
> > */Detect multiple executions of ../*
> >
> > You can get around this by changing PN = /recipe-name/-${MACHINE} in
> > each custom recipe and IMAGE_INSTALL += /recipe-name/-${MACHINE}
> >
> > I am just wondering whether this is the best solution, or if there are
> > any alternatives?
> >
>
> Yes, you can share recipes across multiple configuration (multi-config).
> You will find examples of that in Isar itself and also in [1].
>
> But this can easily cause false-sharing problems. To detect those, we installed an
> instrumentation that reported such a case in your setup. It basically detects if
> there are variables evaluated by the recipe that vary across the builds for
> different multi-config targets.
>
> The next thing then is to understand what makes the recipes specific to the
> machines and then resolve that. One way is building the recipes machine-specific,
> this is what you described above. But maybe there is also a more elegant way in
> your case. This is hard to answer generally, though. You may try to compare the
> task signatures of the different runs via bitbake-diffsigs which should visualize the
> varying vars.
>
> Jan
>
> --
> Siemens AG, T RDA IOT
> Corporate Competence Center Embedded Linux
[Daniel Machon]

I will stick with the machine-specific recipes for now - this seems to be a reasonable solution in this case.
Thank you 😊


[-- Attachment #2: Type: text/html, Size: 2963 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2021-03-05  8:21 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-03 11:37 Custom recipe, multiple machines for same arch Daniel Machon
2021-03-03 12:04 ` Jan Kiszka
2021-03-03 12:05   ` Jan Kiszka
2021-03-05  8:21   ` Daniel Machon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox