(#15591) Skip test that causes segfault on Windows

Previously, this test would segfault on Windows with ruby 1.8.7 p370, but
not p334. The test can never work on Windows as currently written
(Kernel.fork). And we can't mark it as pending, because rspec attempts to
run the test, expecting either a failure or exception, but ruby segfaults.
So we have to skip entirely on Windows.

Note in the merge up to 3.x, this spec file has been removed.
Maint: Large or complex HEREDOC strings w/ no interpolation should be single-quote type

We were getting accidental interpolation of \t and \n sequences in the desc string
for the file type's content parameter. To avoid this, any description string which:

* Does not deliberately interpolate values from the surrounding code

AND

* Is long enough or complex enough that it can't be read in a single glance

...should probably be the single-quoted type of HEREDOC instead of the
double-quoted type. This commit changes a bunch of HEREDOCs that match this
description.
Add yaml files
Switch off building gem for 2.7.x

The 2.7 series packages binaries in sbin which is not
compatible with gems. We'll use the existing gem task
for gems rather than packaging repo because it hacks
around this already.

Signed-off-by: Moses Mendoza <moses@puppetlabs.com>
(#16119) Recognize carriage return escape sequence

Previously, the lexer would issue a warning when encountering a carriage
return escape sequence \r. Such as when specifying file content in a
manifest. This commit modifies the lexer to accept \r.
(#16019) Don't add Unix paths to Windows search path

Previously, we were adding `/usr/sbin` and `/sbin` to Puppet's shell
search path on all platforms, including Windows.

This commit changes the behavior on Windows so that those paths are not
added. It also doesn't add Windows equivalents, because the environment
it inherits from its parent process already contains a suitable search
path.

This commit also sets File::PATH_SEPARATOR appropriately when using the
windows or posix shared context.
Move redhat spec file to erb template in ext/redhat
Add debian packaging artifacts and template
Move and template all apple pkging artifacts to ext/osx

Also add a file_mapping.yaml file for apple packaging.
Fixup Rakefile to use packaging repo
Add in manpage listings that should have been there
Remove broken dual build-requires of facter in redhat spec
Revert "(#15797) Change the argument to chkconfig from 'on' to 'reset'"

This reverts commit d2012aec0a2cce06f8db830c3f4d5a4950fe9ce0.

The chkconfig line can use `-` to indicate the service should
not be enabled by default.  In this case, `reset` disables all
runlevels, which is the opposite of what `enable=>true` should do.

The original bug referenced in #15797, #528, was also reverted
for (presumably) the same reason:
    https://github.com/puppetlabs/puppet/commit/41e1285553870f0b425b88a6209fab8733b421b2
(#15797) Update chkconfig test to reflect reality

Let's never forget that we call chkconfig with `on`.
(Service scripts are allowed to specify `-` for default runlevels,
which makes `reset` disable the service in all levels.)
Fix yum repo path in yaml file
Merge pull request #1098 from ahpook/2.7.x

(#15797) Revert changing 'chkconfig' argument from 'on' to 'reset'
Don't pollute Functions namespace in shellquote function

This moves two constants into local variables inside the function, as the
constants polluted the Puppet::Parser::Functions namespace and caused warnings
when the function was reloaded.
Backport fix for commandline spec

This makes the commandline spec not try to execute a command that does not
exist.
Don't make executables in /tmp in posix_spec

The posix specs were creating executable files in /tmp, which caused a warning
about an insecure directory in the path. This adds an intermediate safe
directory.
Merge pull request #1090 from joshcooper/ticket/2.7.x/16119-accept-cr

(#16119) Recognize carriage return escape sequence