The Yocto Project uses a mailing list and patch-based workflow
that is similar to the Linux kernel but contains important
differences.
In general, a mailing list exists through which you can submit
patches.
The specific mailing list you need to use depends on the
location of the code you are changing.
Each component (e.g. layer) should have a
README
file that indicates where to send
the changes and which process to follow.
You can send the patch to the mailing list using whichever approach you feel comfortable with to generate the patch. Once sent, the patch is usually reviewed by the community at large. If somebody has concerns with the patch, they will usually voice their concern over the mailing list. If a patch does not receive any negative reviews, the maintainer of the affected layer typically takes the patch, tests it, and then based on successful testing, merges the patch.
Specific to OpenEmbedded-Core, two commonly used testing trees exist:
"ross/mut" branch:
The "mut" (master-under-test) tree
exists in the poky-contrib
repository
in the
Yocto Project source repositories.
"master-next" branch: This branch is part of the main "poky" repository in the Yocto Project source repositories.
Maintainers use these branches to test submissions prior to merging patches. Thus, you can get an idea of the status of a patch based on whether the patch has been merged into one of these branches.
This system is imperfect and patches can sometimes get lost in the flow. Asking about the status of a patch is reasonable if the patch has been idle for a while with no feedback. The Yocto Project does have plans to use Patchwork to track the status of patches and also to automatically preview patches.
The following sections provide general instructions for both pushing changes upstream and for submitting changes as patches.