From: M. R. B. <mr...@0x...> - 2001-10-16 16:43:38
|
Ok, I've imported a "drop-in" tree into a new CVS module called linux. This tree exploits the branch feature of CVS to allow concurrent development of both the 2.4 and 2.5 kernel trees. By maintaining branches (as opposed to two seperate "stable" and "devel" modules) I can do janitoral work in say, include/asm-sh/dma.h, and merge those changes back into the 2.4 tree or vice versa. CVS HEAD is against 2.5.0, so all 2.5 development takes place in HEAD. The linux-2_4-branch is for 2.4.x development. This is similar to the approach the gcc developers use, where HEAD is 3.x development but there is a gcc-3_0-branch (for 3.0.1, 3.0.2, etc.). This has worked well for that group and I think it'll be equally beneficial here. Anyway, if you plan on doing development in both trees (2.5 and 2.4) you should check out HEAD and move that directory to linux-2.5 or whatever. Then, checkout the 2.4 branch (cvs co -r linux-2_4-branch linux) and move that to linux-2.4. This is the easiest way to work on both trees simultaneously. Also, if you note the version of the AGAINST file in the toplevel directory, it denotes the kernel version that the drop-in tree should be applied against. Since this a drop-in tree as opposed to the full kernel source, syncing from Linus should be a lot simpler, but it comes with it's own complexites. I'm currently writing a doc that explains this process. As far as what does and doesn't belong in the drop-in tree (so we can keep the tree "lean n' mean") the basic rule is: If it was written by a LinuxSH developer specifically for a LinuxSH target/platform, then it stays in the drop-in tree. OTOH, something like mm/vmscan.c, once it's in sync with Linus and doesn't require any SH-specific changes, should be removed from the drop-in tree. LinuxSH currently "owns" files in include/asm-sh, include/linux, arch/sh, and various driver/ subdirectories. Perhaps, in addition to the normal copyright and GPL comment at the top of the source file, we should say "This file is part of the LinuxSH project (linuxsh.sourceforge.net)" ? I've attached the treelink.sh script which is used to overlay a drop-in tree on top of a full kernel tree. I can also make a file release for this script, but I don't have any of those (file release) admin priveledges. NIIBE, Paul, or Greg, can you make me a release admin? To make this easier for developers (even though using the treelink.sh script is easy enough) and end users, we should start making file releases at kernel point releases for the full kernel tree, so that an end user can download the point release and build it normally. We can also do it for -pre releases if demand is high enough. Anyway, I need to finish the new CVS docs, I'll be updating the web CVS once they're ready. We should probably wait a good week or so for people to get adjusted to the drop-in tree before killing off the kernel tree. binutils, gcc-core, and gdb should be killed immediately. M. R. |