Bug 405

Summary: Add a mechanism to do pre-build sanity based on specific configurations
Product: [Build System, Metadata & Runtime] OE-Core Reporter: Mark Hatle <mark.hatle>
Component: coreAssignee: Unassigned <unassigned>
Status: ACCEPTED --- QA Contact:
Severity: enhancement    
Priority: Medium CC: gzatko, jessica.zhang, kevin.tian, leonardo.sandoval.gonzalez, liezhi.yang, mariano.lopez, meta.mr.watcher, meta.watcher, randy.macleod, richard.purdie, sgw, song.liu, tim.orling
Version: 0.9   
Target Milestone: 6.99   
Hardware: x86   
OS: Multiple   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: Yes (doc changes required)
Bug Depends on:    
Bug Blocks: 2407    

Description Mark Hatle 2010-10-07 08:57:07 UTC
It would be nice if the recipes involved in a build had a way to specific additional system sanity checks.  This was a component using a unique host-system resource could add a sanity check that would only fail if that specific component were to be built.
Comment 1 Jessica 2011-10-19 18:41:26 UTC
*** Bug 1616 has been marked as a duplicate of this bug. ***
Comment 2 Scott Garman 2012-03-21 17:20:53 UTC
Fixed in poky master and OE-core:

http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=96dde9513c08430e12f4f1f6e6e54ca2a244bfcd
Comment 3 Scott Garman 2012-03-21 17:32:49 UTC
Sorry, that last comment was intended for another bug.
Comment 4 Scott Garman 2012-03-21 17:34:54 UTC
Mark, due to the age of this bug I've lost track of what you had in mind when this feature was first being discussed. Can you provide more details and some specific examples of these types of checks?
Comment 5 Mark Hatle 2012-05-08 15:46:43 UTC
What I would like is for specific recipes to implement sanity checks specific for those recipes.

The sanity checks would be run very early by the normal system sanity checking class, and not deferred until normal task/recipe execution.  (Note, I'm really not sure if this is possible due to the system not necessarily knowing what tasks will be executed!)

If this is not possible, the next best alternative would be provide a standard sanity checking task, and a standard template to enable it, if provided by the recipe.

An example of the type of check requested would be QEMU checking for the NVIDIA libGL drivers.  If the user is not going to build or use QEMU, then there should be no reason to check for the libGL components and/or create a failure condition.

Proposed change:

* Add a do_sanity or similar task to recipes with unique host requirements

* Add a mechanism for the recipe to trigger the sanity check

As architecture work remains to determine the implementation, an estimate is unclear to me.  I will set it to a fairly large number due to this uncertainty.
Comment 6 Mark Hatle 2017-08-03 19:51:02 UTC
Current idea would be a standard method that would do a simply sanity check during the anonymous python processing time.  If it failed, would return an error which in turn would blacklist the package with a specific error message indicating why it won't work.
Comment 7 Gregor Zatko 2020-05-31 10:57:54 UTC
@Richard, does this one make sense to you? Please add your thoughts about implementation if yes.

If I understand the proposal we want to add a new standard task that would define some requirements on host machine necessary to build the recipe's packages.
But it's not quite clear to me who would define a dependency graph for each of them.
Comment 8 Tim Orling 2026-07-02 15:27:32 UTC
Moving to 6.99.