solaris: fix solaris package script and add work-around for pkgmk bug

When building a tagged version of dCache, one of the directories is "-P
pkg".  The space in the directory name breaks the script and pkgmk
application.

This patch fixes the script by adding quotes to paths and adds a
work-around for the pkgmk bug.

Target: master
Patch: https://rb.dcache.org/r/7212/
Acked-by: Tigran Mkrtchyan
Request: 2.10
Request: 2.9
Request: 2.8
Request: 2.7
chimera: mark as-run if i_dirs_ipnfsid exists

Acked-by: Paul Millar
Target: master, 2.10, 2.9, 2.8, 2.7, 2.6
Require-book: no
Require-notes: no
dcache-srm: Move SRM specific dCache code to new module

Makes the depedency between WebDAV and SRM explicit.

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: https://rb.dcache.org/r/7214/
dcache-info: Move info service to its own Maven module

Target: trunk
Require-notes: no
Require-book: no
Acked-by: Paul Millar <paul.millar@desy.de>
Patch: https://rb.dcache.org/r/7216/
build: Update to findbugs 3

Ensures Java 8 compatibility.

The patch also adds/corrects various pieces of meta data in the pom.

Target: trunk
Require-notes: no
Require-book: no
Request: 2.10
Request: 2.9
Request: 2.8
Request: 2.7
Request: 2.6
Acked-by: Paul Millar <paul.millar@desy.de>
Acked-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
chimera: Move new CLI to chimera and delete old CLI

The patch moves the chimera shell to the chimera module. The patch
removes the old CLI classes.

Target: trunk
Require-notes: no
Require-book: no
Acked-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
Patch: https://rb.dcache.org/r/7221/
libs: update to nfs4j-0.8.1

Changelog for nfs4j-0.8.0..nfs4j-0.8.1
    * [a041674] nfsv41: client: do not send getattr to DS
    * [2b6703e] test: suppress deprecation warning
    * [3a33b4c] acl: fix permission check on listdirectory
    * [e6f0783] mount: add support for symlinks

Ticket: #8410
Acked-by: Paul Millar
Target: master, 2.10, 2.9, 2.8, 2.7, 2.6
Require-book: no
Require-notes: yes
libs: update to jglobus-2.0.6-rc7.d

Changelog for v2.0.6-rc6.d..v2.0.6-rc7.d
    * [7e2d73d] Signal end-of-stream when remote sends a CLOSE notification
    * [d636727] Enable TLS 1.2 clients

Acked-by: Paul Millar
Target: master, 2.10, 2.9, 2.8, 2.7, 2.6
Require-book: no
Require-notes: no
pool,ftp: do not query for checksum on write

pool fetches checksum on write, even if in most cases it's not defined.
From now on, the pool fetches the  checksum only if it's not defined.
Doors will always define a checksum ( possibly empty ).

Acked-by: Paul Millar
Acked-by: Gerd Behrmann
Target: master
Require-book: no
Require-notes: no
srm: Fix set max ready get command

A regression in 2.9.0 caused the 'set max ready get' command of the
SRM to break. The regression is fixed by this patch.

Target: trunk
Require-notes: yes
Require-book: no
Request: 2.10
Request: 2.9
Acked-by: Dmitry Litvintsev <litvinse@fnal.gov>
Acked-by: Paul Millar <paul.millar@desy.de>
Patch: https://rb.dcache.org/r/7228/
srm: Fix restore of bring-online requests on restart

A regression introduced in 2.10.0 prevents the SRM from starting
when active bring-online requests are found in the SRM database.
The problem is that the scheduler timestamp isn't updated when
restoring jobs. This patch resolves the issue.

Target: trunk
Request: 2.10
Require-notes: yes
Require-book: no
Acked-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
Acked-by: Paul Millar <paul.millar@desy.de>
Patch: https://rb.dcache.org/r/7224/
srm: Fix credential store registration

A regression in 2.10.0 prevents credentials from being reloaded. This regression
results in errors like these:

28 Aug 2014 16:54:25 (c-dCacheDomain-101-102) [] Uncaught exception in thread pool-2-thread-1
java.lang.NullPointerException: null
        at org.dcache.srm.request.RequestCredential.getRequestCredential(RequestCredential.java:120) ~[srm-server-2.10.4-SNAPSHOT.jar:2.10.4-SNAPSHOT]
        at org.dcache.srm.request.Request.getCredential(Request.java:226) ~[srm-server-2.10.4-SNAPSHOT.jar:2.10.4-SNAPSHOT]
        at org.dcache.srm.request.ContainerRequest.toString(ContainerRequest.java:679) ~[srm-server-2.10.4-SNAPSHOT.jar:2.10.4-SNAPSHOT]
        at org.dcache.srm.SRM.listRequest(SRM.java:1183) ~[srm-server-2.10.4-SNAPSHOT.jar:2.10.4-SNAPSHOT]
        at diskCacheV111.srm.dcache.SrmCommandLineInterface.ac_ls_$_0_1(SrmCommandLineInterface.java:218) ~[dcache-core-2.10.4-SNAPSHOT.jar:2.10.4-SNAPSHOT]
        at sun.reflect.GeneratedMethodAccessor364.invoke(Unknown Source) ~[na:na]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_65]
        at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_65]
        at dmg.util.command.AcCommandExecutor.execute(AcCommandExecutor.java:140) ~[cells-2.10.4-SNAPSHOT.jar:2.10.4-SNAPSHOT]
        at org.dcache.util.cli.CommandInterpreter$CommandEntry.execute(CommandInterpreter.java:260) ~[common-cli-2.10.4-SNAPSHOT.jar:2.10.4-SNAPSHOT]
        at org.dcache.util.cli.CommandInterpreter.doExecute(CommandInterpreter.java:169) ~[common-cli-2.10.4-SNAPSHOT.jar:2.10.4-SNAPSHOT]
        at dmg.cells.nucleus.CellAdapter.doExecute(CellAdapter.java:955) ~[cells-2.10.4-SNAPSHOT.jar:2.10.4-SNAPSHOT]
        at org.dcache.util.cli.CommandInterpreter.command(CommandInterpreter.java:155) ~[common-cli-2.10.4-SNAPSHOT.jar:2.10.4-SNAPSHOT]
        at dmg.cells.nucleus.CellAdapter.command(CellAdapter.java:184) ~[cells-2.10.4-SNAPSHOT.jar:2.10.4-SNAPSHOT]
        at dmg.cells.nucleus.CellAdapter.executeLocalCommand(CellAdapter.java:891) ~[cells-2.10.4-SNAPSHOT.jar:2.10.4-SNAPSHOT]
        at dmg.cells.nucleus.CellAdapter.messageArrived(CellAdapter.java:817) ~[cells-2.10.4-SNAPSHOT.jar:2.10.4-SNAPSHOT]
        at dmg.cells.nucleus.CellNucleus$DeliverMessageTask.innerRun(CellNucleus.java:1092) ~[cells-2.10.4-SNAPSHOT.jar:2.10.4-SNAPSHOT]
        at dmg.cells.nucleus.CellNucleus$AbstractNucleusTask.run(CellNucleus.java:1000) ~[cells-2.10.4-SNAPSHOT.jar:2.10.4-SNAPSHOT]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_65]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_65]
        at java.lang.Thread.run(Thread.java:745) [na:1.7.0_65]

The regression is fixed by this patch.

Target: trunk
Require-notes: yes
Require-book: no
Request: 2.10
Acked-by: Dmitry Litvintsev <litvinse@fnal.gov>
Acked-by: Paul Millar <paul.millar@desy.de>
srm: Remove dead null check

Target: trunk
Require-notes: no
Require-book: no
Acked-by: Dmitry Litvintsev <litvinse@fnal.gov>
Acked-by: Paul Millar <paul.millar@desy.de>
Patch: https://rb.dcache.org/r/7227/
Update billing indexer to avoid deprecated Guava API

Target: trunk
Require-notes: no
Require-book: no
Acked-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
Acked-by: Paul Millar <paul.millar@desy.de>
Patch: https://rb.dcache.org/r/7225/
dcache-spacemanager: Move space manager to its own Maven module

Target: trunk
Require-notes: no
Require-book: no
Acked-by: Paul Millar <paul.millar@desy.de>
Patch: https://rb.dcache.org/r/7217/
Avoid thread-unsafe use of SimpleDateFormatter

SimpleDateFormatter is not thread safe, yet there are places in which we
use it in multi-threaded environments - or potentially multi-threaded
environments. The standard approach is to use a thread local instance.

This patch converts the places I could find. In a few cases I conservatively
estimated that a formatter could possibly be used from multiple thread and
converted it even when maybe not strictly required.

The alternative would be to use Java 8's new date/time API, but since we
are refusing to use Java 8 we have to solve the problem in other ways.

Target: trunk
Request: 2.10
Request: 2.9
Request: 2.8
Request: 2.7
Request: 2.6
Require-notes: yes
Require-book: no
Acked-by: Paul Millar <paul.millar@desy.de>
Patch: https://rb.dcache.org/r/7219/
cells: Improve pinboard

- Changes the time format to use the local time format (rather than
  hard-coding a 12 hour format with no indication wheter it is am or pm).

- Uses a circular buffer rather than an array to keep the log - removing
  the oldest entry from an array is rather expensive as the entire array
  has to be copied. This change reduce the CPU overhead of the pinboard.
  This also reduces a potential contention point between threads of a cell
  all writing to the pinboard.

- Reduces the memory foot print and CPU overhead of creating a
  pinboard entry (static inner and no Date instance stored in a field).

Target: trunk
Require-notes: yes
Require-book: yes
Request: 2.10
Acked-by: Paul Millar <paul.millar@desy.de>
Acked-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
Patch: https://rb.dcache.org/r/7220/
srm: Fix incomplete restore of "ready queued" jobs

When restoring jobs in the RQUEUED state, they are counted as a ready-queued
job, but the code fails to add them to the actual ready queue. As a consequence
such jobs do not appear in the output when listing the queue, and the queue
length and the count are different.

This patch resolves this issue. It is unknown for how long this bug has existed,
but until version 2.9 we didn't attempt to restore RQUEUED jobs and the bug
doesn't matter before that release.

Target: trunk
Request: 2.10
Reqeuest: 2.9
Require-notes: yes
Require-book: no
Acked-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
Patch: https://rb.dcache.org/r/7230/
Update netty and berkeley DB to latest version

Target: trunk
Require-notes: no
Require-book: no
Acked-by: Paul Millar <paul.millar@desy.de>
Patch: https://rb.dcache.org/r/7226/
libs: switch to jglobus-2.1.0-SNAPSHOT and bcpkix-1.50

Acked-by: Gerd Behrmann
Target: master
Require-book: no
Require-notes: yes