(no commit message)
[openafs-wiki.git] / AFSLore / CodeArchitecture.mdwn
index 806f9ec..b1e6510 100644 (file)
@@ -4,24 +4,24 @@ This is an entry point into the code architecture. As always, the source for you
 
 -- Starting Point --
 
-- <http://www.openafs.org/cgi-bin/cvsweb.cgi/openafs/doc/pdf/> Early architectural documents. Out of date, but still important. You should especially read the Architectural Overview document (archov-doc.pdf)
-- <http://www.eyrie.org/~eagle/tmp/openafs/1/rxgen.html> for more rxgen documentation
+- Early architectural documents are in the source tree at openafs/doc/pdf. They are out of date, but still important. You should especially read the Architectural Overview document (archov-doc.pdf)
 - To understand the source layout, consult src/SOURCE-MAP -- this is a good place to go after reading the Architectural Overview
 - Need to document the build environment issues -- README, README.DEVEL, README.CVS
 - src/BUILDNOTES (at least in the 1.4 tree) is not very helpful
 
 -- Source Browsing --
 
-- Getting the source, preferably via CVS
+- The source tree has been converted to git - see [[GitDevelopers]] for how to access it. 
+- If you must use CVS, see [[OpenAFSCVS]]
 
-README.CVS has the following line:
+But in that tree, README.CVS has the following line:
 
 Do not use the CVS tree unless you know what you're doing.
 
 This document helps you learn what you're doing.
 
 - cvs co, regen.sh (&amp; when to run regen.sh)
-
+- [http://www.linhkiendienthoai.cellphone.vn/ linh kien dien thoai]
 ----
 
 In the source itself ---
@@ -56,14 +56,25 @@ In other words, if something starts with BOZO\_, you know that it is generated b
 
 In addition to the package name, also note that only rxstat uses an M prefix; all others use S.
 
+- Assuming you have a fairly modern grep, you can use its recursive facility:
+
+  $ **grep -r regex .**
+
+and find every time <pattern> appears in a file
+
+- If you're looking for one specific word, the <tt>-w</tt> switch is your friend as well.
+
+  $ **egrep -w -r VFORMAT .**
+
+will find all instances of **VFORMAT** but will not find **ABVFORMAT**
+
 - cscope: a source code browser, linked to your editor. Setup is simple: cd to your source tree and run:
 
-    find . -name \*.[ch] > namelist
-    cscope -R -b
+    $ **cscope -R -b**
 
 Then run
 
-    cscope -d
+    $ **cscope -d**
 
 to start. The interface is simple. I tend to use it for finding things, but not necessarily for editing. When I'm studying the source, trying to understand how components link together, or bug-hunting, I tend to live inside `cscope`.