[yocto] recipe dependency on externally built binaries?

Paul Eggleton paul.eggleton at linux.intel.com
Wed Jul 31 02:51:50 PDT 2013


Hi Brian,

On Monday 29 July 2013 19:05:04 Brian Karcz wrote:
> I'm curious if there is a way to tell a package recipe that its resulting
> package output is dependent on the pieces it's assembling. The scenario I
> have is as follows. I created a series of recipes that assemble an
> externally built executable, and some configurations files that are local
> to the recipe:
> 
> xyz-app.bb
> 
>     SRC_URI = "file://<path to xyz-app executable> \
>                File://xyz-app.config<File:///\\xyz-app.config>"
> 
>     do_install () {
>         <make the required directories>
>         <put the files in their places>
>     }
> 
> abc-image.bb
> 
>     POKY_EXTRA_INSTALL += "xyz-app"
> 
> This setup works for assembling all the pieces I need, but unless the app
> recipe revision gets bumped, it's not able to tell when the xyz-app
> executable or xyz-app.config get changed and create a new xyz-app package
> file. Is there a way to tell the recipe that there is a dependency for its
> output package on the contents of the SRC_URI line without having to bump
> the revision?

It depends on which version of the build system you are using. In danny (1.3) 
and later a checksum is performed on every local file referred to in SRC_URI 
(and the checksum will be refreshed if the file's mtime changes); if the 
checksum is different then do_fetch for the recipe and all tasks that depend 
upon it should be re-executed.

However, the fact that you refer to POKY_EXTRA_INSTALL suggests you might be 
using an older version of the build system - the current equivalent variable 
is called CORE_IMAGE_EXTRA_INSTALL. Which version are you currently working 
with?

Cheers,
Paul

-- 

Paul Eggleton
Intel Open Source Technology Centre



More information about the yocto mailing list