Puppet 5 and 6 currently use Ruby 2.7, as that is the default Ruby
version. Puppet 6 can probably run on Ruby 3.0 after a distpatch,
but Puppet 5 would require additional backporting (how much is
unknown). Both Puppet 5 and 6 depend on facter and mcollective,
and all must use the same Ruby version. So setting all four ports
to use Ruby 2.7 seems like the simplest way to continue to keep things
working when the default Ruby version is switched to Ruby 3.0.
While here, add install patches for Puppet 5, 6, and mcollective
to build with Ruby 3.0, and add backport a distpatch from Puppet 7
to Puppet 6 to allow Puppet 6 to run on Ruby 3.0. This will make a
future switch to Ruby 3.0 easier.
These changes should not have a runtime effect on Puppet 5 or 6.
The Puppet 6 port is bumped, due to the backported patch, but that
patch should not change runtime behavior on Ruby 2.7.
review from sebastia@ (Puppet 5 maintainer)
OK kn@ (Puppet 6 maintainer)
if a port needs 2.x then set MODPY_VERSION=${MODPY_DEFAULT_VERSION_2}.
This commit doesn't change any versions currently used; it may be that
some ports have MODPY_DEFAULT_VERSION_2 but don't require it, those
should be cleaned up in the course of updating ports where possible.
Python module ports providing py3-* packages should still use
FLAVOR=python3 so that we don't have a mixture of dependencies some
using ${MODPY_FLAVOR} and others not.
Open Source Puppet 4 LTS reached EOL in october 2018, Puppet 5 (client,
master as well as puppetdb) have been in our tree for years, Puppet 6
(client and master, not yet puppetdb) were recently imported.
Users should long have upgraded to version 5 by now; see
https://puppet.com/docs/puppet/5.5/upgrade_minor.html for upgrade details.
OK bcallah
puppet 3 is scheduled to be removed from the tree after 6.1. for more information
on migrating to Puppet 4, please refer to [1] as a starting point.
however note we don't have a port for puppetserver yet, it's a work in progress,
see upstream SERVER-14 for more information. However the ruby puppetmaster
still works fine for us.
1: https://docs.puppet.com/puppet/latest/reference/upgrade_major_pre.html
as discussed with and OK sebastia@
The json library is shipped with ruby 1.9+, and these ports support the
json library that comes with ruby. While here, remove some
MODRUBY_ICONV_DEPENDS as those only are necessary on ruby 1.8.
OK jasper@
there is one thing to be aware of, which is that ruby 1.9 uses a stricter
yaml parser, so be sure your hier yaml files are OK before attempting to
update or your agents will fail.
ok robert@ (MAINTAINER)
version, but OS interaction with PE has been broken for a long time now.
Besides, the next PE version will be based on Puppet 3.
ok robert@ (MAINTAINER) ajacoutot@
for consistency with the gem/extconf ports.
Update non-gem/extconf ports that relied on the previous
default of ruby 1.8 to explicitly specify it.
OK ajacoutot@