Code is normally organised into packets or units referred to as a project or a package. Once a project or package is identified it is given a software code name e.g. the control software for the NCCS can be grouped together under the code name nccs, another example is the plotting package from Caltech code named pgplot.
Every project must have it own directory structure and the same
root directory.
In this document we will refer to this as the ~
project directory.
Source code should be organised in identical subdirectory tree structures with respect to the root directory. This facilitates the task of program developers and installers. A proposed subdirectory tree structure is :
~project | | ----------------------------------------------------------- | | | | | | | | | | | | | | README bin doc include lib src subproject | | | | | | | | | | -------- RCS -------- RCS ------------- | | | | | | | | | | | | | | | linux sun4 linux sun4
Where the different subdirectories refer to the following :
~
project is the root directory for the project,
~
subproject is used for setting up a sub-project inside
the main project, sub-projects have the identical subdirectory
tree structure as the main project, there can be more than one
sub-project,
All members of a project must belong to a common group. For a medium to large project a special group should be created for the project (usually with the same name as the project). The root directory and all subdirectories must have read, write and execute permission for all members of the project group. Files must have read permission for the group.