Products
Deliverables shall be in the form of UPS products. ENCP and Enstore
shall be distributed via UPD. The distribution of PNFS is described
below.
Deliverables shall have a directory structure which is a sub-tree
of the development tree. Files in the distribution shall be in
directory which corresponds to the file's place in the development
tree.
The deliverable tree shall not include CVS directories.
PNFS product
One copy of this software is needed per ENSTORE installation.
PNFS is supplied by DESY. DESY allows us to use it on site, and
would like to supply any off site users with this software.
It is desirable to package PNFS as a UPS product. The actual
requirements on PNFS packaging are TBD. It is TBD whether there is
compile time configuration required with this package.
Enstore product
The Enstore product shall contain the Enstore servers + the mover +
ENCP.
The Enstore product shall contain user documents and administration
documents.
ENCP product
The ENCP product shall contain files sufficient to run, install
and maintain the ENCP program. ENCP may be merged into FMSS. The ENCP
product shall not require a python interpreter as a run-time UPS dependency.
The ENCP product shall contain ENCP user documentation.
Enstore Directory Names
Below is a summary of the directories in the Enstore directory tree.
The kinds of files in each directory are specified below.
Development Tree Enstore ENCP
Distribution Distribution
root+
|
+ man + TBD yes yes
+ doc + yes yes
+ WWW yes yes
+ src yes yes
+ bin yes yes
+ sbin no no
+ lib yes no
+ src no no
+ tests +
+ regression yes no
+ unit no no
+ templates no no
+ ups yes yes
+ etc yes yes
+ modules ? /
- The man directory shall hold all man pages. The purpose of
the subdurectories is to support pointing the MANPATH directory into
enstore distributions.
- The doc directory shall hold all document source that needs to be
processed by a documentation processor to make a deliverable. The doc
directory shall hold all documents which are meant to _not_ be web-visible,
except for man pages.
- The doc/WWW directory shall hold all web-visible documentation.
- The bin directory shall hold all executables visible in any deliverable.
- The sbin directory shall hold executables which are not
in _any_ deliverable.
- The lib directory shall hold any object, object file, archive or shared
object files.
- The src directory shall contain python language source.
- The modules directory holds c language source for python C extensions.
- The tests/regression Directory shall hold working regression tests
- The tests/unit directory archives other unit tests for the
project. Not all unit tests need be working at any given time.
- The templates directory holds templates for various source files.
- The ups directory holds files which support Fermilab UPS.
File naming conventions
- Python file names are lower case with words seperated by underscore.
- Python files containing server code shall end in "_server.py".
- Python files containing client stub code shall end in "_client.py"
- Other python files shall have descriptive names.
- Makefiles shall be named Makefile.