This document describes the organization of the source tree and what is appropriate to put where. doc --- This hierarchy contains documentation related to the maintenance of the source tree. Documentation for specific pieces of software does not belong here. athena ------ This hierarchy contains software (running code) for which we are the primary maintainers. The contents of this hierarchy should not be highly tailored to the Athena environment (for instance, referencing AFS paths in the Athena cell is a no-no), and should use the Athena build system as documented in the file "build-system" in this directory. This hierarchy is divided up into "bin", "etc", and "lib" directories according to where the software lives. At the current time, this division is very rough; for instance, packages under "lib" generally contain programs as well as libraries. third ----- This hierarchy contains software which we use which is maintained by other people, with changes for our build environment. Software in this hierarchy does not use the Athena build system; it has not yet been determined or documented how third-party software will be built, but it will attempt to require as few modifications to the original build system as possible. packs ----- This hierarchy contains "stuff" which is relevant to the construction of the system packs and the configuration and maintenance of an Athena workstation. Running code in the "packs" hierarchy is highly tailored to the Athena environment would generally be useless to the outside world except as examples. The packs hirearchy has the following subdirectories: build Scripts et al used to build the system packs from the source tree. config Configuration files for Athena workstations. dotfiles Shell scripts sourced when the user logs in, and their subsidiaries. glue Shell scripts and symlink generation for making the packs refer to software which is not built as part of the release. install The workstation installation system. maint Workstation maintenance software, including boot-time scripts, reactivate, scripts for cleaning temporary areas, etc.. update The workstation update system. Platform-dependent information in each of these directories lives under a platform/${HOSTTYPE}, which the Makefile can traverse.