This is to work around a validation issue that arises under the 3.x future
parser, as proper numeric types have been introduced (ie, not all scalar values
are strings). Users have come to expect to to be able to pass in unquoted
integer values to the order parameter which will fail to validate as a string
when the future parser is enabled.
Per discussion on #174, Solaris 10 does not support the find/xargs
switches that were introduced in that PR (but Solaris 11 does).
+ add a shebang to concatfragments.rb
+ fix linter warnings/errors
Under Puppet 3.5.1 (and possibly earlier versions, too), the validate_string($order)
fails when $order is actaully a numeric type. Apparently there is more strict type
checking now. Can't just change validate_string to a is_numeric check, because it's
fairly common to use strings like '01' for the order parameter, which doesn't pass
the is_numeric test. Additionally, there is nothing saying that $order must be a
number. Ultimately the ordering gets implemented as filesystem directory list
sorting.
ignore vim swp files. May be especially important when those sneak into
released packages, such as in the case of 1.0.1:
concat/manifests/.setup.pp.swp
concat/manifests/.init.pp.swp
concat/manifests/.fragment.pp.swp
concat/files/.concatfragments.sh.swp
concat/spec/acceptance/.warn_spec.rb.swp
concat/spec/acceptance/.symbolic_name_spec.rb.swp
concat/spec/acceptance/.order_spec.rb.swp
concat/spec/acceptance/.fragment_source_spec.rb.swp
concat/spec/acceptance/.deprecation_warnings_spec.rb.swp
concat/spec/acceptance/.empty_spec.rb.swp
concat/spec/acceptance/.concat_spec.rb.swo
concat/spec/acceptance/.replace_spec.rb.swp
concat/spec/acceptance/.basic_spec.rb.swp
concat/spec/acceptance/.deprecation_warnings_spec.rb.swo
concat/spec/acceptance/.concat_spec.rb.swp
concat/spec/acceptance/.backup_spec.rb.swp
If the spec files are run in a random order, removing /tmp/concat after
certain tests could cause the next tests to fail if they do not recreate
this directory.
(cherry picked from commit 1edafdcf42)
The current code doesn't correctly account for an absent with a
path set, incorrectly trying to remove $name instead. Fixing this
raised the issue that fragments left with no ensure will fail when
absent is set as the fragdir is deleted.
As a workaround for this we check the `ensure` parameter from the
concat{} resource with getparam() and then pass that to the fragment
if no specific ensure was passed in. This effectively ensures
fragments inherit their parents ensure status.