source: trunk/doc/organization @ 8786

Revision 8786, 2.6 KB checked in by ghudson, 28 years ago (diff)
Fix a few typographical errors. Add a note about how "packs" is built.
Line 
1This document describes the organization of the source tree and what
2is appropriate to put where.
3
4doc
5---
6
7This hierarchy contains documentation related to the maintenance of
8the source tree.  Documentation for specific pieces of software does
9not belong here.
10
11athena
12------
13
14This hierarchy contains software (running code) for which we are the
15primary maintainers.  The contents of this hierarchy should not be
16highly tailored to the Athena environment (for instance, referencing
17AFS paths in the Athena cell is a no-no), and should use the Athena
18build system as documented in the file "build-system" in this
19directory.
20
21This hierarchy is divided up into "bin", "etc", and "lib" directories
22according to where the software lives.  At the current time, this
23division is very rough; for instance, packages under "lib" generally
24contain programs as well as libraries.
25
26third
27-----
28
29This hierarchy contains software which we use which is maintained by
30other people, with changes for our build environment.  Software in
31this hierarchy does not use the Athena build system; it has not yet
32been determined or documented how third-party software will be built,
33but it will attempt to require as few modifications to the original
34build system as possible.
35
36packs
37-----
38
39This hierarchy contains "stuff" which is relevant to the construction
40of the system packs and the configuration and maintenance of an Athena
41workstation.  Running code in the "packs" hierarchy is highly tailored
42to the Athena environment would generally be useless to the outside
43world except as examples.
44
45The packs hirearchy has the following subdirectories:
46
47        build
48                Scripts et al used to build the system packs from the
49                source tree.
50
51        config
52                Configuration files for Athena workstations.
53
54        dotfiles
55                Shell scripts sourced when the user logs in, and
56                their subsidiaries.
57
58        glue
59                Shell scripts and symlink generation for making the
60                packs refer to software which is not built as part
61                of the release.
62
63        install
64                The workstation installation system.
65
66        maint
67                Workstation maintenance software, including boot-time
68                scripts, reactivate, scripts for cleaning temporary
69                areas, etc..
70
71        update
72                The workstation update system.
73
74Platform-dependent information in each of these directories lives
75under a platform/${HOSTTYPE}, which the Makefile can traverse.
76
77There are a couple of small C source flies in the packs hierarchy, too
78closely tailored to the Athena environment to be moved to the athena
79hierarchy.  No particular autoconfiguration needs to be done for these
80programs, but the correct C compiler needs to be selected; thus the
81build system sets the environment variable CC while building the packs
82directory.
Note: See TracBrowser for help on using the repository browser.