For a guide on how to load the ATNF pulsar group shared software into your environment, see [[ATNFPulsarLogin]].
!! Layout of /psr
The disk normally called "/psr" is mounted at @@/pulsar/psr@@, though on some machines there is a symlink from @@/psr@@ to @@/pulsar/psr@@. It is best to always assume that the disk will be at @@/pusar/psr@@ however, as this will work on any computer, rather than just those specifically with the @@/psr@@ symlink.
If you have loaded the [[pulsar login script|ATNFPulsarLogin]], then you will also find this disk located at @@$PSRHOME@@. All paths in this guide should be considered to be relative to @@$PSRHOME@@ unless otherwise stated.
The [[pulsar login script|ATNFPulsarLogin]] also defines a new value for @@$LOGIN_ARCH@@ which is a combination of the debian "codename" of the OS and the machine architecture (as returned by @@`uname -m`@@). Currently (as of May 2011) there are three supported architectures: @@etch_i686@@, @@lenny_i686@@ and @@lenny_x64_86@@. Thus, paths such as @@$PSRHOME/linux/bin@@ are replaced by paths such as @@$PSRHOME/dist/etch_i686/bin@@. The full details of this are discussed below.
@@$PSRHOME@@ has the following subdirectories:
dev
dist
login
people
projects
tex
These will be discussed below
!!!dev/
The @@dev/@@ path contains developmental software. This includes: source code currently under development, "untested" or "unsupported" software, "customised" versions of standard software or simply software that is not commonly used enough to be in the main distribution.
@@dev/@@ contains the following primary subdirectories
dev/cvshome
dev/cvsroot
dev/$LOGIN_ARCH
the @@dev/cvshome@@ and @@dev/cvsroot@@ are the pulsar group local CVS repositories. This mainly contains archival software, however there are a number of important files stored in here, such as the catalogue files for psrcat.
@dev/$LOGIN_ARCH@@ contains "dev" binaries, libraries, headers, etc. This is the @@$PREFIX@@ for "dev" software, and so there should exist, at a minimum, a @@dev/$LOGIN_ARCH/bin@@ path.
!!!dist/
The @@dist/@@ path contains the "distribution" install of software. This code can only be updated by the "psrmgr" unix account to prevent accidental overwriting of files with "make install". All users of the "psrmgr" account are expected to take care to avoid installing "broken" code in this location. Trials of these packages can be installed in @@dev/@@ to first check that they are working.
The @@dist/@@ path has the following subdirectories:
dist/src
dist/share
dist/$LOGIN_ARCH
As with @@dev/@@, the software is installed with the @@$PREFIX@@ set to @@dist/$LOGIN_ARCH@@, and so there will exist @@dist/$LOGIN_ARCH/bin@@, @@dist/$LOGIN_ARCH/lib@@, @@dist/$LOGIN_ARCH/include@@, etc.
The @@dist/src@@ path contains the source code that is installed in @@dist/$LOGIN_ARCH@@. This code is all checked out via anonymous CVS (or similar) so that they can be updated by any @@psrmgr@@ user. Code that is built here is expected to be build for all supported architectures. This means that currently any update here requires building on each of the three "buildhosts".
Software, or files, which are not architecture specific (e.g. locations pointed to by @@$TEMPO2@@, @@$PSRCAT_RUNDIR@@ or python/java/etc codes) are stored in @@dist/share@@.