File system layout
Layout:
/infragrid -- the root directory of all InfraGrid-related tools and files;
/infragrid/packages -- the parent directory of all software packages;
/infragrid/packages/<name> -- the parent directory for a package;
/infragrid/packages/<name>/current -- a symlink to the current (latest) version of the package (for the default architecture);
/infragrid/packages/<name>/<version> -- contains all the files related with the given package at a certain version;
/infragrid/users;
/infragrid/users/<name> -- available on all nodes;
/infragrid/stores -- the parent directory of all data-related folders;
/infragrid/stores/local -- available only on the current node;
/infragrid/stores/global -- available on all nodes;
/infragrid/stores/local|global
/infragrid/stores/local|global/temporary -- available only until the next boot;
/infragrid/stores/local|global/<name> -- for custom purposes;
/infragrid/services -- the parent directory of all service-related folders;
/infragrid/services/<name>;
/infragrid/services/<name>/control -- rc-like script with the commands: start|stop|check|restart|is-stoped|is-started;
/infragrid/bin -- symlinks to all binaries (either bin or sbin) in the current version of each package;
/infragrid/development -- used as a collection point for all development-related files;
/infragrid/developmnet/include;
/infragrid/development/lib;
/infragrid/development/python-<version>-site-packages;
/infragrid/development/python-<version>-site-packages;
/infragrid/development/pkg-config;
/infragrid/development/libtool;
Observations:
/infragrid/packages/*, /infragrid/bin/*, /infragrid/services/*, and /infragrid/development/* should be read-only;
/infragrid/users/*, and /infragrid/stores/local|global/* should be writable;
References:
Package identifiers
name := [a-z0-9_.]+;
version := <release>-<arch>-<build>;
release|build := [a-z0-9_.]+;
arch := ???;
User or service names
name := [a-z0-9_.]+;