On Saturday 01 March 2008, Jason Beaudoin wrote: > > I'm not concerned about long time users like you or me, or people > > who are already familiar with UNIX and it's tools. But if this was > > your very first adventure into CVS, both the docs and ways things > > work should be clear and correct. > > As a new user of CVS and maintaining an OpenBSD install, I'm > certainly a bit confused about this. Even more so now.. what is the > suggested method.. I understand that depends on what you're trying to > accomplish: > > I'm not (yet) modifying any code under /usr/src.. so my goal is > simply pulling the -stable repositories and updating my system as > needed.
Historically, OpenBSD keeps the X server code in it's own branch. You can see the cvs layout here: http://www.openbsd.org/cgi-bin/cvsweb/ There's a description of the brances here: http://www.openbsd.org/anoncvs.html On OpenBSD 4.1 and eariler the suggested layout would be: /usr/src -The system source code /usr/XF4 -The X source code /usr/obj -System build object files /usr/objx -The X build object files In 4.1 and earlier, to update both system source and X source, you'd run two separate cvs commands, one for each branch. With the new 4.2 release of OpenBSD the suggested layout has changed. /usr/src -The system source code /usr/src/xenocara -The X source code /usr/obj -System build object files /usr/objx -The X build object files In 4.2 and later, to update both system source and X source, you can supposedly run just one cvs command according to the claim by Owain Ainsworth in this thread, but I personally have not tested this, and the documentation in the FAQ-5 and anoncvs.html do not mention it. I need to test this... If the claim is true, then the docs need more work. The goal of the new layout is to simplify things but since this is new, we're still ironing out the rough spots, namely making sure docs match expected behavior and are consistent (steven@ corrected anoncvs.html just a few hours ago). As for the obvious qusetion of "why keep X in it's own branch?" the answer is because it makes things simple (surprisingly enough). Keeping the build of X separated from the rest of the system allows one a lot of flexibility... If you want to add a new X server (such as the recent addition of xenocara-X.org), it's a very straight forward change. If you have esoteric/old hardware and need to run XFree86-3 (the "X11/" branch), or if you need/want XFree86-4 (the "XF4/" branch), you can easily do it. Some folks don't even bother with X, so there's not point in forcing cvs downloads/updates on them when they are just trying to maintain a simple system. Additionally, like Dongsheng Song mentioned, there are people who like keeping their X source separated from their system source tree. Of course, there are people who keep their source trees Read-Only in a central location and export them over nfs to their build machine(s). In short, there's a lot of flexibility, and how *you* want to do it is *your* own choice. The only problem here is all this flexibility tends to be a bit confusing when you're first learning it, so keeping the docs clean, correct and clear is important. Kind Regards, JCR