(mco-166)(packaging) Remove Fedora 18 from the default package builds
Merge pull request #165 from shrug/maint/mco-166/2.4.x

(mco-166)(packaging) Remove Fedora 18 from the default package builds
Update mcollective.init

In sh the argument -e throws an error.
Snapshot from solaris 10 manual
     -e file                 True if file exists. (Not  available
                             in sh.)
Update pkginfo

Correct the NAME from mcollective- to mcollective
+ delete the description in NAME
Update build

With Release param package name from mcollective doesn't confirm the Naming.
You can check the naming with chkcat

https://github.com/dex4er/pkgutil/blob/master/chkcat
Merge pull request #168 from Reamer/master

Update mcollective.init
(maint) Remove i18n bits from packaging

i18n was removed before the 2.4.0 release, but some remnants are left in
packaging. This commit removes the dependency from the client gem and also
removes them from the gem_excludes list.
Merge pull request #171 from haus/cleanup_i18n_pieces

(maint) Remove i18n bits from packaging
(MCO-192) Implement back-off at the connector level

This commit adds higher level for exponential backoff to the
connectors.  The STOMP gem's support for exponential backoff only
handles tcp-level failures.  Here we allow for protocol-level
issues such as incorrect credentials causing a disconnection.

In order to do that we add a new execption class, BackoffSuggestion,
and two specific exception classes derived from it that allow the
code that raises the error to make a suggestion about how long the
handler should wait before proceeding.  These two classes are
MessageNotReceived for when the connector is unable to receive a
message, and UnexpectedMessageType for when a message isn't of the
kind you were expecting.  For STOMP these map to connector.receive
== nil and msg.command != 'MESSAGE' respectively.

As part of this change to the flow we refactor the tests heavily to allow for
pluginconfig to be resolved in the initializer of the connector, as we use the
existing stomp gem keepalive settings for our own connector-level
`exponential_back_off` method.
Merge pull request #172 from richardc/MCO-192

(MCO-192) Implement back-off at the connector level
(MCOP-17) Add dist macro to Release field

When building the same plugin for multiple platforms at once, it is important
for the NVR of those packages to be unique for certain deployment platforms
like satellite. Previously the release did not include the dist macro, which
is the easiest way to ensure a unique NVR across platforms. This commit adds
the dist macro to the Release field. This means that instead of having an NVR
like mco-plugin-1.2.1-1 everywhere, now the NVR will be
mco-plugin-1.2.1-1.fc19, mco-plugin-1.2.1-1.el5, etc. The leading ? in the
macro means that if undefined, nothing will be printed, but it won't be an
error.
Merge pull request #173 from haus/ticket/master/mcop_17_add_dist_tag

(MCOP-17) Add dist macro to Release field
(MCO-215) Move exception classes from mcollective.rb to lib/mcollective/exceptions.rb
The exception classes are apparently a bit difficult to find where they are now located.
This commit creates a file called exceptions.rb, and moves the exception classes there.
(MCO-188) Update rubygems dependency to 1.3.7 or greater

Mcollective will fail to start if certain very old versions of rubygems are
employed. Those versions happen to be readily available on el5. Fortunately,
yum.puppetlabs.com offers version 1.3.7 of rubygems, which alleviates this
problem. This commit updates the requires for rubygems to specify a minimum
version of 1.3.7, to ensure that once installed mcollective will actually be
able to start.
Merge pull request #174 from MichelleJaeg/improvement/master/exceptions.rb

MCO-215
Merge pull request #175 from haus/ticket/master/mco_188_update_rubygems_requires

(MCO-188) Update rubygems dependency to 1.3.7 or greater
(MCO-221) - Refactor the runner class

The commit refactors the Runner class in the following ways.

The #run method has been reworked into #main_loop and #receiver_thread.
The main loop is responsible for keeping track of the internal state of
the runner and spawning and controlling the receiver thread.

The windows_daemon has been reworked to use the new main_loop and can
now stop, start, pause and resume correctly. When the daemon is paused
the service is still alive and will continue to process any agent
actions in flight but it will also disconnect and stop the receiver
thread, thereby keeping its internal state and being truely paused.

This commit also adds a new configuration option called soft_shutdown.
This is a Unix only feature and will not work on Windows hosts and when
set it will delay the exit of the daemon until all running agents have
either ran to completion or timed out.

This commit also asserts that when implementing registration plugins,
the #run method MUST return a thread if overridden.

This commit also extends the test coverage for the Runner class.
Merge pull request #176 from ploubser/improvement/master/mco-221

(MCO-221) - Refactor the runner class
Merge remote-tracking branch 'origin/2.4.x'
MCO-231 update release notes and changelog for 2.5.0-rc1