How to contribute (was Re: Kernelnewbies Digest, Vol 77, Issue 7
Arthur Brainville (Ybalrid)
ybalrid at ybalrid.info
Wed Apr 12 17:25:06 EDT 2017
On Wed, Apr 12, 2017 at 04:47:45PM -0400, valdis.kletnieks at vt.edu wrote:
> On Wed, 12 Apr 2017 20:25:11 +0200, "Arthur Brainville (Ybalrid)" said:
>
> > So, the best "branch" of developement to test if it doesn't break our
> > system is the linux-next branch, or the mainline kernel (currently
> > tagged by Linus as 4.11-RC6) ?
>
> Depends how brave you are. Linus is currently at -rc6, and linux-next
> *should* be what will become 4.12. (Should be, as in "4.11 is at -rc5, so
> people *should* already have sent maintainers patches for the next release").
>
> > I'm currently trying to understand how kernel developement is actually
> > organized, here's what I've understood
>
> You're a bit off...
>
> > So, how "linux-next" works ? Is that a "testing ground" for new kernel
> > patches? When/how does the changes the maintainers accepted are merged into
> > the mainline kernel? ^^"
>
> And explaining how you're off answers this question as well... :)
>
> Here's how it works..
>
> Developers create patches. See Documentation/process/submitting-patches.rst
> for the details on that.
>
> They then e-mail those to maintainers. See MAINTAINERS for the canonical
> list.
>
> Maintainers then review the patches, and if there's an issue, e-mail back
> to the submitter with an explanation of the issue. If the patch is OK,
> the maintainer puts it into his git tree (usually with 'git am').
>
> There may be several levels of sub-maintainer. For instance, somebody may
> maintain a driver for one specific USB sound card. They feed those patches
> to the USB sound maintainer, who then feeds it to the USB subsystem maintainer.
> That gets done by the higher-up maintainer doing a 'git pull' of the appropriate
> tree.
>
> In addition, most of the trees *also* get pulled every day and built into
> 'linux-next', to find merge conflicts and provide a test kernel.
>
> So at this point, we have top-level maintainers with trees full of patches.
>
> At some point, Linus tags the final V4.11. This opens the "merge window".
> For 2 weeks, Linus does 'git pull' from all the maintainers and merges it
> to his tree, and then tags V4.12-rc1, which closes the merge window. During
> the merge window, most maintainers will not accept new patches, because there's
> a chance that a patch could come in and be immediately merged upstream without
> having appeared in several linux-next dailys - so no testing. Once the
> window is closed, maintainers start collecting patches for the v4.13 cycle,
> and only sending Linus bugfixes and minor stuff between 4.12-rc1 and final 4.12
>
> Lather, rinse, repeat. release, merge cycle, -rc1, collect patches for next
> release, -rc8 (or so) and another release....
>
> > Oh, and, I almost forgot : If I try to use a linux-next kenrel, and
> > things breaks, who do I tell? ^^"
>
> Depends how granular you can identify the issue. If you do a 'git bisect'
> of a problem, you can narrow it down to a specific patch, you mail the patch
> author, the maintainer, any subsystem-specific list, and the linux-kernel list.
> If you just know "USB is hosed", you send it to the USB list and linux-kernel,
> and if you have *no* idea, toss it to linux-kernel.
> _______________________________________________
> Kernelnewbies mailing list
> Kernelnewbies at kernelnewbies.org
> https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
Thanks for the explaination!
Indeed I was quite a bit off, now I know the process better ;-)
Regards,
Arthur Brainville
More information about the Kernelnewbies
mailing list