(#17824) PMT should not prefer pre-release versions to existing stable versions.
(packaging) Update PUPPETVERSION to 3.2.0-rc2
(maint) Add documentation on side effects in tests
(#18895) Fix documentation in runit provider

The documentation and error messages for the runit provider made a couple of
statements that were inconsistent with the code:

  - `/etc` is not checked as a daemon directory. The path checked is `/etc/sv`.

  - `/var/lib/service` is checked as a daemon directory, but this wasn't
    documented.

  - The service directory `/etc/service` is checked before `/var/service`.
Merge pull request #1639 from Sharpie/18895-fix-runit-documentation

(#18895) Fix documentation in runit provider
Merge pull request #1636 from adrienthebo/maint-readme_developer_explain_side_effects_in_tests

(maint) Add documentation on side effects in tests
(#20677 Raise error on missing path for auth stanza)

This patch raises a ConfigurationError when the user has specified an
allow/allow_ip directive without a preceding path directive.
This is, presumably, a bit more user friendly than having a NilClass
exception thrown when you forget to specify the path directive in your
auth.conf
(#20442) Add tests for base provider methods

Prior to this commit, the base AixObject provider was supposed to raise
a Puppet::Error if called on several of the base methods; however, no
tests existed and those methods instead raised an error because the
non-existant `detail` was left in the error message from some copypasta.
This commit begins adding tests for the AixObject provider by starting
with these methods.
(#20442) Add tests for attribute conversion methods

Prior to this commit, no tests existed for the AixObject base provider
attribute conversion methods. This commit adds tests to verify validity
and structure of the attribute conversion methods.
(#20442) only execute lscmd once

Prior to this command, the AixObject provider was executing the lscmd
three times because the output is parsed in different ways. This commit
changes the provider to simply used the cached output in subsequent
parse commands.
Maint: Improve documentation of filebucket attributes

The docs were unclear and partially inaccurate about the behavior of the
filebucket type's path and server attributes. I have tested the precedence of
these and documented the actual behavior. This commit also improves docs for the
file type's "backup" attribute and the static compiler, in light of what was
learned about default values.
Merge branch 'maint/stable/filebucket_clarifications' into stable

* maint/stable/filebucket_clarifications:
  Maint: Improve documentation of filebucket attributes
Merge branch 'maint/stable/filebucket_clarifications'

* maint/stable/filebucket_clarifications:
  Maint: Improve documentation of filebucket attributes
  (packaging) Update PUPPETVERSION to 3.2.0-rc2
(maint) Clarify the merge-up process in COMMITTERS

Without this patch some of the committers are using a process that
involves merging a topic branch based on stable into both `stable` and
`master`.  This is a problem because it's confusing and inconsistent
from other committers who are merging a topic branch into `stable`, then
merging `stable` into `master.

The two processes, while equivalent in nature, produce different and
inconsistent log messages when reviewing `git lg`.  For example, the
following log is produced by the process that does not merge up:

    *   e130aa5 Merge branch 'maint/stable/filebucket_clarifications' 30 minutes ago Hailee Kenney  (HEAD, origin/master, master)
    |\
    | * b301ada Maint: Improve documentation of filebucket attributes 33 minutes ago Nick Fagerlund
    * |   9aa9d69 Merge pull request #1636 from adrienthebo/maint-readme_developer_explain_side_effects_in_tests 3 days ago Hailee Kenney
    |\ \
    * \ \   515cd97 Merge pull request #1639 from Sharpie/18895-fix-runit-documentation 3 days ago Hailee Kenney
    |\ \ \
    | * | | 713bcbe (#18895) Fix documentation in runit provider 3 days ago Charlie Sharpsteen
    |/ / /
    * | |   4c2655f Merge pull request #1637 from jeffweiss/tickets/bug/18393_diffargs_broken_on_aix53 4 days ago Chris Price
    |\ \ \
    | * | | bb86ff6 (#18393) AIX 5.3 doesn't support diff -u 4 days ago Jeff Weiss
    * | | |   325b8bf Merge pull request #1635 from hlindberg/issues/fix-20581 5 days ago Adrien Thebo
    |\ \ \ \
    | |/ / /
    |/| | |
    | | * | a3941d4 (maint) Add documentation on side effects in tests 6 days ago Adrien Thebo
    | * | | 23005e6 (#20581) Correct parser future's validation of query expression 7 days ago Henrik Lindberg
    |/ / /
    | | * edfabfd (packaging) Update PUPPETVERSION to 3.2.0-rc2 7 days ago Matthaus Owens  (3.2.0-rc2)
    * | |   8c0e1b3 Merge branch 'stable' 7 days ago Jeff McCune
    |\ \ \
    | | |/
    | |/|
    | * |   761de6b Merge branch 'fix_activerecord_centos' into stable 7 days ago Jeff McCune

Compare this to the log of the stable branch and observe how there are two very
similar merge commits with the log `Merge branch
'maint/stable/filebucket_clarifications'`  Please observe these similar commit
messages have different commit ID's, e130aa5 and 47fd6f9 respectively, and both
merge commits are bringing in the change contained in b301ada.

    *   47fd6f9 Merge branch 'maint/stable/filebucket_clarifications' into stable 33 minutes ago Hailee Kenney  (origin/stable, stable)
    |\
    | * b301ada Maint: Improve documentation of filebucket attributes 34 minutes ago Nick Fagerlund
    |/
    * edfabfd (packaging) Update PUPPETVERSION to 3.2.0-rc2 7 days ago Matthaus Owens  (3.2.0-rc2)

Using the merge-up process made clear in this patch, the history will look as
follows:

    *   1f79310 Merge branch 'stable' 5 seconds ago Jeff McCune  (HEAD, master)
    |\
    | *   c6f6ffb Merge branch 'fix/stable/clarify_merge_up' into stable 45 seconds ago Jeff McCune  (stable)
    | |\
    | | * 44b999c (maint) Clarify the merge-up process in COMMITTERS 53 seconds ago Jeff McCune  (fix/stable/clarify_merge_up)
    | |/
    * |   e130aa5 Merge branch 'maint/stable/filebucket_clarifications' 35 minutes ago Hailee Kenney  (origin/master)
    |\ \
    | | *   47fd6f9 Merge branch 'maint/stable/filebucket_clarifications' into stable 36 minutes ago Hailee Kenney  (origin/stable)

This minor difference also has the effect of making `git branch --contains
c6f6ffb` much more useful, as both `master` and `stable` will contain merge
commits made into `stable`.
(#19760) Use combine when running pkginfo

pkginfo was previously executed with combine => false so stderr was
discarded. This way puppet was unable to detect any errors the pkginfo
might print, especially the message `ERROR: information for
"some_package" was not found`.

As a result the provider failed every time it tries to check the current
state of an absent package.
(#19760) Use pkginfo method instead of execute

The pkginfo method is automatically created for us and provides a nice
wrapper around execute so prefer that one over building your own execute
method invocation. Please not that the buildin method does already set
combine to true so we are able to parse error messages
(#19760) Remove unnecessary stubbing in sun_spec

We do not have to stub the `command` method anymore because it is
nevery called directly. It is only called through the wrapper method
`pkginfo` which we already stub in the specs.
Merge branch 'ticket/stable/19760_fix_sun_provider' into stable

* ticket/stable/19760_fix_sun_provider:
  (#19760) Remove unnecessary stubbing in sun_spec
  (#19760) Use pkginfo method instead of execute
  (#19760) Use combine when running pkginfo
Merge branch 'stable'

* stable:
  (#19760) Remove unnecessary stubbing in sun_spec
  (#19760) Use pkginfo method instead of execute
  (#19760) Use combine when running pkginfo
(#20442) Filter attributes to only those managed

Prior to this commit, when trying to manage `attributes` for AIX users,
2 behaviours were occuring: 1) unmanaged attributes were included in the
"diff" and 2) regardless of current state, the changes were always
applied. This commit filters the changeset to only those `attributes`
explicitly mentioned in the manifest (or all of them in the case of
`puppet resource user`. Because the changeset is now sane, a change is
only enforced when necessary.