Delete legacy external jars

For some time now all external dependencies are imported through Maven, so
we no longer need the directory of external jars.

Target: trunk
Require-notes: no
Require-book: no
Acked-by: Tigran Mkrthchyan <tigran.mkrtchyan@desy.de>
Patch: none (ack'ed through jabber)
Added instructions on how to build dCache

Target: master
Require-book: no
Require-notes: no
Acked-by: Paul Millar <paul.millar@desy.de>
Patch: http://rb.dcache.org/r/5595/
dcache: Remove rogue logback-test.xml file

Commit 6a3276cfdcd17c73a4b9d2e57cd7913b6d2b86cf added a custom logback-test.xml
file needed for a single test. The logback configuration however applied to
all tests in the dcache module and resulted in severily bloated log output during
testing.

Since then, the test has been modified and it doesn't appear to rely on the
custom logback configuration anymore. However, the logback-test.xml file
remained.

This patch removes the file.

Target: trunk
Require-notes: no
Require-book: no
Acked-by: Paul Millar <paul.millar@desy.de>
Patch: http://rb.dcache.org/r/5594/
system-test: avoid awkward cell.name values

A few of the system-test cell.name values includes a forward
slash character, which the cells shell interprets as an
attempt to switch to the alternative addressing mode.

This patch updates these cells to use the neutral '-' character
instead.

Patch: http://rb.dcache.org/r/5585/
Acked-by: Gerd Behrmann
Target: master
Request: 2.6
GLUE2: add GLUE2EndpointImplementation information

The EGI GLUE2 profile requires us to publish the implementation name
and version for all published endpoints, which we currently don't
do.

This patch adds this information.

Target: master
Request: 2.6
Request: 2.2
Patch: http://rb.dcache.org/r/5591/
Acked-by: Gerd Behrmann
Various improvements to short-lived Java invocations

This patch adds several features to improve responsiveness
for various short-lived java invocations and in particular
the chimera-cli command.

The '-client' option is used (sporadically) as a hint to
the JVM not to waste time optimising the byte-code as much
of the code won't be run multiple times.  This option only has
an effect on 32-bit JVMs.  This patch adds '-client' to the
places where it's missing and adds the '-XX:+TieredCompilation
-XX:TieredStopAtLevel=1' options that have the same effect for
64-bit JVMs.

For short-lived tasks, much of the time is spent processing
the classes.  By limiting the classpath to only the jar files
that are needed, less time is taken.  This patch adds support
for this and applies it to the chimera-cli command.

A considerable fraction of the time processing a class involves
verifying certain aspects of the byte-code.  If we trust the
Java compiler and the source of the code, we can choose to
side-step this verification by adding the classes to the
bootstrap-classpath.  This patch does this for the
chimera-cli command.

The chimera-cli creates a BoneCP database pool.  The current
options are not optimal.  This patch updates them.

The effect of these changes were tested by timing how long it
takes to run "chimera-cli ls /" 10 times (discarding output)
using the system-test deployment.  This is then repeated 5
times and the mean and std. deviation is calculated.

The initial time to run "chimera-cli ls /" on my laptop is
(2.99 +/- 0.03) s

Each of the improvements had the following improvements:

    -client -XX:+TieredCompilat... (0.64 +/- 0.07) s
    Limiting jars on classpath     (0.44 +/- 0.03) s
    Using boot-classpath           (0.45 +/- 0.02) s
    Updated BoneCP configuration   (0.07 +/- 0.02) s

    Total improvement              (1.56 +/- 0.03) s

Time to run "chimera-cli ls /" with all improvements is
(1.43 +/- 0.01) s

Acked-by: Tigran Mkrtchyan
Acked-by: Gerd Behrmann
Patch: http://rb.dcache.org/r/5584/
Target: master
Request: 2.6
dcache-webadmin: Rename to webadmin.war in assembly

The httpd cell hard-codes the webapp name to the alias name, meaning
the war file must have the same name as the mount point. This is
obviously a bad coupling and it broke when we renamed the webadmin
module to dcache-webadmin, however in the interest of fixing this
regression quikly, this patch renames the artifact during packaging.

Target: trunk
Require-notes: no
Require-book: no
Acked-by: Paul Millar <paul.millar@desy.de>
Acked-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
Patch: http://rb.dcache.org/r/5597/
Make packages/packaging both parent and aggregator of packaging modules

I think this makes the structure easier to recognize.

Target: trunk
Require-notes: no
Require-book: no
Acked-by: Paul Millar <paul.millar@desy.de>
Patch: http://rb.dcache.org/r/5596/
Remove HSM cleaner for PNFS

We do not support PNFS.

Target: trunk
Require-notes: no
Require-book: no
Acked-by: Paul Millar <paul.millar@desy.de>
Patch: http://rb.dcache.org/r/5600/
Add DelayedCommand base class

The class is suitable for creating annotated commands that can
execute on another thread.

Target: trunk
Require-notes: no
Require-book: no
Acked-by: Paul Millar <paul.millar@desy.de>
Patch: http://rb.dcache.org/r/5598/
Simplify use of DelayedReply

DelayedReply is used to provide message replies asynchronously. The existing
code blocks in the send() method until the cells code has injected the
endpoint used to send the reply. This forces the sender to catch an unlikely
InterruptedException and leads to deadlocks if the send method happens to be
called from the cells thread (as the injection will not happen until that
thread is released).

Both problems had already been addressed in the MessageReply class, however
the simpler DelayedReply class was never updated.

Target: trunk
Require-notes: no
Require-book: no
Acked-by: Paul Millar <paul.millar@desy.de>
Patch: http://rb.dcache.org/r/5599/
Fix quickJava for some shell versions

The current implementation and usage of quickJava relies on a shell-
specific behaviour; specifically, that specifying a environment
variable for a command that is actually a shell function becomes
an environment variable for that shell function.

Although this works for some versions of bash, it's now clear that
there are other versions of bash (and perhaps other shells) for
which this does not hold.

This patch fixes this problem by explicitly exporting the CLASSPATH
variable as an environment variable.

Patch: http://rb.dcache.org/r/5603
Acked-by: Tigran Mkrtchyan
Target: master
Requires-book: no
Requires-notes: no