Yocto Recipe Review
Use this skill for .bb, .bbappend, and .bbclass review. Optimize for release-aware, reproducible, package-correct metadata.
Review Checklist
Inspect:
SUMMARY
DESCRIPTION
HOMEPAGE
LICENSE
LIC_FILES_CHKSUM
SRC_URI
SRCREV
S
inherit
DEPENDS
PACKAGECONFIG
do_configure
do_compile
do_install
FILES:${PN}
RDEPENDS:${PN}
SYSTEMD_SERVICE:${PN}
Findings to Prioritize
- old override syntax in a modern layer without a release reason
- missing or vague
LICENSEandLIC_FILES_CHKSUM ${AUTOREV}in production metadata- missing
DEPENDSfor headers, libraries, generated code tools, or-nativetools - runtime dependency added to
DEPENDSinstead ofRDEPENDS:<package> - installed files not covered by
FILES:* - installing outside
${D} - host path or host tool contamination
- unnecessary
INSANE_SKIP - patch entries with missing upstream status or fuzz
- bbappend that is too version-specific or too broad for the intended target
Modern Syntax
Prefer:
FILES:${PN} += "${bindir}/tool"
RDEPENDS:${PN} += "bash"
PACKAGECONFIG:append = " feature"
do_install:append() {
install -d ${D}${bindir}
}
Avoid _append, _prepend, _remove, and old package override syntax unless the target release requires it.
References
- Read references/variables-core.md for variable semantics.
- Read references/classes-core.md for class-specific review.
- Read references/qa-errors.md for package QA risks.
- Use references/official-doc-map.md to route official docs.
Output
Lead with code-review findings:
Findings:
- [severity] file:line issue and Yocto impact
Suggested metadata:
...
Validation:
- bitbake -e <recipe>
- bitbake -c patch <recipe>
- bitbake <recipe>
- bitbake <image>