Skip to contentSkip to conversation

Make sstate cache local tool independent

DISCUSSION Mike Looijmans 2 participants 2 messages Jan 31, 2014

lore
Share & tools
lore
#0 lore raw

I'm forced to using external tools in some recipes (that build FPGA bitstreams using huge proprietary packages). Building these takes between half an hour and several hours on big fast machines, so I definitely want to use sstate-cache for these.

The trouble I'm running into is that I have a variable like XILINX_TOOL_PATH which is in local.conf so people can tell where the tools are.

The compile part of the recipe runs something like ${XILINX_TOOL_PATH}/bin/something

This makes the "compile" step dependent on that variable. When a machine installs the tools somewhere else, it will have a different value for that tool, and because OE thinks that matters, it will insist on building its very own version of that package instead of just fetching it from the sstate-cache on the buildserver.

How do I explain to OE that the value of this variable does not matter for the sstate-cache?

I tried: do_compile[vardepsexclude] = "XILINX_TOOL_PATH"

that didn't appear to help.

Signature · 18 lines
Mike Looijmans - TOPIC Automation


Met vriendelijke groet / kind regards,

Mike Looijmans

TOPIC Embedded Systems
Eindhovenseweg 32-C, NL-5683 KH Best
Postbus 440, NL-5680 AK Best
Telefoon: (+31) – (0)499 - 33.69.79
Telefax: (+31) - (0)499 - 33.69.70
E-mail: [email protected]
Website: www.topic.nl

Dit e-mail bericht en de eventueel daarbij behorende bijlagen zijn uitsluitend bestemd voor de geadresseerde, zoals die blijkt uit het e-mail bericht en/of de bijlagen. Er kunnen gegevens met betrekking tot een derde instaan. Indien u als niet-geadresseerde dit bericht en de bijlagen ontvangt, terwijl u niet bevoegd of gemachtigd bent om dit bericht namens de geadresseerde te ontvangen, wordt u verzocht de afzender hierover direct te informeren en het e-mail bericht met de bijlagen te vernietigen. Ieder gebruik van de inhoud van het e-mail bericht, waaronder de daarbij behorende bijlagen, door een ander dan de geadresseerde is onrechtmatig jegens ons dan wel de eventueel in het e-mail bericht of de bijlagen voorkomende andere personen. TOPIC Embedded Systems is niet aansprakelijk voor enigerlei schade voortvloeiend uit het gebruik en/of acceptatie van dit e-mail bericht of de daarbij behorende bijlagen.

The contents of this message, as well as any enclosures, are addressed personally to, and thus solely intended for the addressee. They may contain information regarding a third party. A recipient who is neither the addressee, nor empowered to receive this message on behalf of the addressee, is kindly requested to immediately inform the sender of receipt, and to destroy the message and the enclosures. Any use of the contents of this message and/or the enclosures by any other person than the addressee or person who is empowered to receive this message, is illegal towards the sender and/or the aforementioned third party. TOPIC Embedded Systems is not  liable for any damage as a result of the use and/or acceptance of this message and as well as any enclosures.
#1 lore raw
Quoted 17 lines · Mike Looijmans

I'm forced to using external tools in some recipes (that build FPGA bitstreams using huge proprietary packages). Building these takes between half an hour and several hours on big fast machines, so I definitely want to use sstate-cache for these.

The trouble I'm running into is that I have a variable like XILINX_TOOL_PATH which is in local.conf so people can tell where the tools are.

The compile part of the recipe runs something like ${XILINX_TOOL_PATH}/bin/something

This makes the "compile" step dependent on that variable. When a machine installs the tools somewhere else, it will have a different value for that tool, and because OE thinks that matters, it will insist on building its very own version of that package instead of just fetching it from the sstate-cache on the buildserver.

Quoted 6 lines

How do I explain to OE that the value of this variable does not matter for the sstate-cache?

I tried: do_compile[vardepsexclude] = "XILINX_TOOL_PATH"

that didn't appear to help.

Is the name of the compile step do_compile, or are there intermediate functions?

vardepsexclude should work but you need to make sure you apply it to the right variable/function.

Cheers,

Richard