Bug 12707

Summary: HOSTTOOLS: include version checks
Product: [Build System, Metadata & Runtime] OE-Core Reporter: Juro Bystricky <juro.bystricky>
Component: coreAssignee: Richard Purdie <richard.purdie>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: Medium+ CC: meta.mr.watcher, meta.watcher, randy.macleod, stephano
Version: 2.5   
Target Milestone: 4.99   
Hardware: x86   
OS: Multiple   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: Don't know
Bug Depends on:    
Bug Blocks: 11177    

Description Juro Bystricky 2018-04-22 10:38:01 UTC
We often build class-target packages with host tools, instead of the "native" version of the tools. This is done for performance reasons. Unfortunately, the host tools are not tested for any particular version, so recipes must assume the "lowest common denominator". This make life difficult when trying to build reproducible binaries, as various utilities (tar, cpio, etc.) have new command line options to support binary reproducibility (and present in the -native packages), but we cannot use these arguments as they may not be present in the host tools.
So it would be nice to either check for supported command line arguments in host tools (possibly via a version check) or provide a well documented way to replace host tools with native tools when building reproducible images (class-target).
Comment 1 Randy MacLeod 2020-05-07 08:08:19 UTC
Richard.
Comment 2 Richard Purdie 2021-09-20 15:43:54 UTC
We do have several known good methods for replacing host tools now. A recipe can have a DEPENDS on them, the sanity.bbclass code also knows how to verify versions. We can't do it generically as there is no generic way to get the version of a given tool (we can parse the output for a --version commandline option but the parser is still tool specific). I therefore believe we have done what we can for this issue.