Thanks Pablo, The long log explained the changes very well, so I have no issues or further questions.
This has now been merged. Bruce On Thu, Feb 15, 2018 at 5:33 PM, Pablo Saavedra <[email protected]> wrote: > * Upstream to 5.4.0 [1][2][3][4][5] > * Puppet 5 recipe is the official Puppet agent version > with support for Ruby 2.4 [6] > * Updated reference versions in the README file > * Hiera isn’t separate from Puppet anymore [7]. > * Do not install extlookup2hiera, it has been removed upstream > * Hiera began as an independent Ruby library that worked with > Puppet. Over time, it became a requirement and was even included > in the puppet-agent package, but it was limited by its original > design. > * Removed puppet_3.7.3.bb recipe > * Drop the superseded patches > * Added init script > * Added systemd script > > Facter 2.5 upstream release > > * Puppet 5 relays on Facter 3.10. Facter 3.10 reworks Facter 2.X > code [8] in native code instead of Ruby gem. Facter 2.5 is > still compatible with 5 series to help with Puppet 5 testing. > > * facter before 2.4.0 uses a deprecated Puppet settings API > making `facter --puppet` no longer work with Puppet 4 or > higher [9]. > > * Community, partner, and some of Puppet's internal testing > workflows continue to use (ruby) Facter 2.4 [10], instead of > native Facter 3, which is not (yet) available as a gem. > > * To help with Puppet 5 testing, we need to do a maintenance > release in the Facter 2 series. > > [1] https://docs.puppet.com/puppet/5.0/release_notes.html > [2] https://docs.puppet.com/puppet/5.1/release_notes.html > [3] https://docs.puppet.com/puppet/5.2/release_notes.html > [4] https://docs.puppet.com/puppet/5.3/release_notes.html > [5] https://docs.puppet.com/puppet/5.4/release_notes.html > [6] https://puppet.com/docs/puppet/4.10/hiera_intro.html > [7] https://tickets.puppetlabs.com/browse/PA-1107 > [8] https://github.com/puppetlabs/facter/tree/3.10.x > [9] > http://metadata.ftp-master.debian.org/changelogs/main/p/puppet/puppet_5.1.0-1_changelog > [10] https://tickets.puppetlabs.com/browse/FACT-1630 > > Signed-off-by: Pablo Saavedra <[email protected]> > --- > .../facter/{facter_2.3.0.bb => facter_2.5.0.bb} | 4 +- > recipes-support/puppet/README | 12 +++- > ...uplicate-key-which-ruby-2.2-complains-abo.patch | 30 --------- > .../puppet/puppet/add_puppet_gemspec.patch | 2 +- > ...aint-Change-spec-test-to-pass-on-ruby-2.2.patch | 37 ----------- > recipes-support/puppet/puppet/puppet.init | 72 > ++++++++++++++++++++++ > recipes-support/puppet/puppet/puppet.service | 10 +++ > ..._yaml-syck-isn-t-available-for-Ruby-2.0.0.patch | 35 ----------- > .../puppet/{puppet_3.7.3.bb => puppet_5.4.0.bb} | 30 ++++++--- > 9 files changed, 114 insertions(+), 118 deletions(-) > rename recipes-support/facter/{facter_2.3.0.bb => facter_2.5.0.bb} (74%) > delete mode 100644 > recipes-support/puppet/puppet/MAINT-Fix-duplicate-key-which-ruby-2.2-complains-abo.patch > delete mode 100644 > recipes-support/puppet/puppet/maint-Change-spec-test-to-pass-on-ruby-2.2.patch > create mode 100644 recipes-support/puppet/puppet/puppet.init > create mode 100644 recipes-support/puppet/puppet/puppet.service > delete mode 100644 > recipes-support/puppet/puppet/safe_yaml-syck-isn-t-available-for-Ruby-2.0.0.patch > rename recipes-support/puppet/{puppet_3.7.3.bb => puppet_5.4.0.bb} (51%) > > diff --git a/recipes-support/facter/facter_2.3.0.bb > b/recipes-support/facter/facter_2.5.0.bb > similarity index 74% > rename from recipes-support/facter/facter_2.3.0.bb > rename to recipes-support/facter/facter_2.5.0.bb > index b5a46e7..ef04e93 100644 > --- a/recipes-support/facter/facter_2.3.0.bb > +++ b/recipes-support/facter/facter_2.5.0.bb > @@ -7,8 +7,8 @@ SRC_URI = " \ > http://downloads.puppetlabs.com/facter/facter-${PV}.tar.gz \ > file://add_facter_gemspec.patch \ > " > -SRC_URI[md5sum] = "7bb6dbeaef86cd79300b4723c06932bc" > -SRC_URI[sha256sum] = > "a91ea915b276172e002a8670684e5c6be7df1dfdd55db6937d27fffad70c5e51" > +SRC_URI[md5sum] = "58b6b609f19d1c146c600c4dc6e7fa39" > +SRC_URI[sha256sum] = > "47ccbfb8a69e4d48c3c88e47ac1ae754fcc583d4090fa9d838461b3ede7b07cb" > > inherit ruby > > diff --git a/recipes-support/puppet/README b/recipes-support/puppet/README > index 2de808a..8befb15 100644 > --- a/recipes-support/puppet/README > +++ b/recipes-support/puppet/README > @@ -6,11 +6,17 @@ state of your IT infrastructure, then automatically > enforces the correct state. > > Basic Requirements > ------------------------ > -Ruby 1.8.7 or later > -Facter 1.7.0 or later > -Hiera 1.0 or later > +Ruby 2.4 or later > +Facter 3.10.0 or later > +Hiera 5 or later [1] > The json gem (any modern version) > > +[1] Hiera isn’t separate from Puppet anymore > + Hiera began as an independent Ruby library that worked with Puppet. > + Over time, it became a requirement and was even included in the > + puppet-agent package, but it was limited by its original design. > + > + https://puppet.com/docs/puppet/4.10/hiera_intro.html > > Simple Demo > ------------------------ > diff --git > a/recipes-support/puppet/puppet/MAINT-Fix-duplicate-key-which-ruby-2.2-complains-abo.patch > > b/recipes-support/puppet/puppet/MAINT-Fix-duplicate-key-which-ruby-2.2-complains-abo.patch > deleted file mode 100644 > index 696c642..0000000 > --- > a/recipes-support/puppet/puppet/MAINT-Fix-duplicate-key-which-ruby-2.2-complains-abo.patch > +++ /dev/null > @@ -1,30 +0,0 @@ > -From 05dad9b1d30a8ff1e8e4a06bc5eaf0b19dab43e2 Mon Sep 17 00:00:00 2001 > -From: Jasper Lievisse Adriaanse <[email protected]> > -Date: Fri, 24 Jul 2015 20:18:08 +0200 > -Subject: [PATCH] (MAINT) Fix duplicate key which ruby 2.2 complains about > - > -commit 05dad9b1d30a8ff1e8e4a06bc5eaf0b19dab43e2 from > -https://github.com/puppetlabs/puppet.git > - > ---- > - lib/puppet/defaults.rb | 4 ---- > - 1 file changed, 4 deletions(-) > - > -diff --git a/lib/puppet/defaults.rb b/lib/puppet/defaults.rb > -index eeefefa..b591697 100644 > ---- a/lib/puppet/defaults.rb > -+++ b/lib/puppet/defaults.rb > -@@ -486,10 +486,6 @@ module Puppet > - :default => "stomp", > - :desc => "Which type of queue to use for asynchronous > processing.", > - }, > -- :queue_type => { > -- :default => "stomp", > -- :desc => "Which type of queue to use for asynchronous > processing.", > -- }, > - :queue_source => { > - :default => "stomp://localhost:61613/", > - :desc => "Which type of queue to use for asynchronous > processing. If your stomp server requires > --- > -2.1.4 > - > diff --git a/recipes-support/puppet/puppet/add_puppet_gemspec.patch > b/recipes-support/puppet/puppet/add_puppet_gemspec.patch > index a5c8e3b..50c215c 100644 > --- a/recipes-support/puppet/puppet/add_puppet_gemspec.patch > +++ b/recipes-support/puppet/puppet/add_puppet_gemspec.patch > @@ -17,7 +17,7 @@ diff -urN puppet-3.7.3_ori/puppet.gemspec > puppet-3.7.3/puppet.gemspec > + s.license = 'Apache 2.0' > + > + s.bindir = 'bin' > -+ s.executables = ['puppet', 'extlookup2hiera'] > ++ s.executables = ['puppet'] > + s.require_path = 'lib' > + s.files = %w(LICENSE README.md Rakefile) + Dir.glob('{lib,spec}/**/*') > +end > diff --git > a/recipes-support/puppet/puppet/maint-Change-spec-test-to-pass-on-ruby-2.2.patch > > b/recipes-support/puppet/puppet/maint-Change-spec-test-to-pass-on-ruby-2.2.patch > deleted file mode 100644 > index 73e1769..0000000 > --- > a/recipes-support/puppet/puppet/maint-Change-spec-test-to-pass-on-ruby-2.2.patch > +++ /dev/null > @@ -1,37 +0,0 @@ > -From d183826136ca77847da5f3e460f2e460faabc5be Mon Sep 17 00:00:00 2001 > -From: Kylo Ginsberg <[email protected]> > -Date: Mon, 22 Dec 2014 10:11:38 -0800 > -Subject: [PATCH] (maint) Change spec test to pass on ruby 2.2 > - > -commit d183826136ca77847da5f3e460f2e460faabc5be from > -https://github.com/puppetlabs/puppet.git > - > -Prior to this change, this spec test failed on ruby 2.2.0-rc1 with: > - > - Failure/Error: Time.stubs(:now).returns(Time.parse("2011-01-06 12:00:00 > UTC")) > - NoMethodError: > - undefined method `utc_offset' for nil:NilClass > - > -I didn't track down the root cause of this failure, but just > -normalized this stub to use Time.utc, which (along with Time.local) > -is the more common way of stubbing Time objects in the codebase. > ---- > - spec/unit/reports/store_spec.rb | 2 +- > - 1 file changed, 1 insertion(+), 1 deletion(-) > - > -diff --git a/spec/unit/reports/store_spec.rb > b/spec/unit/reports/store_spec.rb > -index 7f94f7d..f56eccd 100755 > ---- a/spec/unit/reports/store_spec.rb > -+++ b/spec/unit/reports/store_spec.rb > -@@ -24,7 +24,7 @@ describe processor do > - end > - > - it "should write the report to the file in YAML" do > -- Time.stubs(:now).returns(Time.parse("2011-01-06 12:00:00 UTC")) > -+ Time.stubs(:now).returns(Time.utc(2011,01,06,12,00,00)) > - @report.process > - > - File.read(File.join(Puppet[:reportdir], @report.host, > "201101061200.yaml")).should == @report.to_yaml > --- > -2.1.4 > - > diff --git a/recipes-support/puppet/puppet/puppet.init > b/recipes-support/puppet/puppet/puppet.init > new file mode 100644 > index 0000000..64ab32e > --- /dev/null > +++ b/recipes-support/puppet/puppet/puppet.init > @@ -0,0 +1,72 @@ > +#!/bin/bash > +# > +# chkconfig: 35 20 80 > +# description: The puppet agent connects to a puppet master, requests a > +# catalog of resources, and configures the local system. > +# > + > +# Get function from functions library > +. /etc/init.d/functions > + > +PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin > +DAEMON=/usr/bin/puppet > +DAEMON_OPTS="agent --server master --no-daemonize" > +NAME="agent" > +DESC="puppet agent" > +PIDFILE="/var/run/${NAME}.pid" > +PID=`test -f $PIDFILE && cat $PIDFILE` > +RETVAL=0 > + > +test -x $DAEMON || exit 0 > + > +[ -r /etc/default/puppet ] && . /etc/default/puppet > + > +reload_puppet_agent() { > + start-stop-daemon --stop --quiet --signal HUP --pidfile $PIDFILE > +} > + > +start_puppet_agent() { > + start-stop-daemon --start --quiet --pidfile $PIDFILE \ > + --startas $DAEMON -- $NAME $DAEMON_OPTS > +} > + > +stop_puppet_agent() { > + start-stop-daemon --stop --retry TERM/10/KILL/5 --quiet --oknodo > --pidfile $PIDFILE > +} > + > +status_puppet_agent() { > + status_of_proc -p "${PIDFILE}" "${DAEMON}" "${NAME}" > +} > + > +case "$1" in > + start) > + echo -n "Starting $DESC" > + start_puppet_agent > + log_end_msg $? > + ;; > + stop) > + echo -n "Stopping $DESC" > + stop_puppet_agent > + log_end_msg $? > + ;; > + reload) > + echo -n "Reloading $DESC" > + reload_puppet_agent > + log_end_msg $? > + ;; > + status) > + status_puppet_agent > + ;; > + restart|force-reload) > + echo -n "Restarting $DESC" > + stop_puppet_agent > + start_puppet_agent > + log_end_msg $? > + ;; > +*) > + echo "Usage: $0 {start|stop|status|restart|force-reload|reload}" >&2 > + exit 1 > + ;; > +esac > + > +exit 0 > diff --git a/recipes-support/puppet/puppet/puppet.service > b/recipes-support/puppet/puppet/puppet.service > new file mode 100644 > index 0000000..c49dacf > --- /dev/null > +++ b/recipes-support/puppet/puppet/puppet.service > @@ -0,0 +1,10 @@ > +[Unit] > +Description=Puppet agent > +After=network.target > + > +[Service] > +ExecStart=/usr/bin/puppet agent --server master --no-daemonize > +ExecReload=/bin/kill -HUP $MAINPID > + > +[Install] > +WantedBy=multi-user.target > diff --git > a/recipes-support/puppet/puppet/safe_yaml-syck-isn-t-available-for-Ruby-2.0.0.patch > > b/recipes-support/puppet/puppet/safe_yaml-syck-isn-t-available-for-Ruby-2.0.0.patch > deleted file mode 100644 > index 1cd5e25..0000000 > --- > a/recipes-support/puppet/puppet/safe_yaml-syck-isn-t-available-for-Ruby-2.0.0.patch > +++ /dev/null > @@ -1,35 +0,0 @@ > -From fca1579d62d5b978375511e062b9c18f4413dd5a Mon Sep 17 00:00:00 2001 > -From: Mark Asselstine <[email protected]> > -Date: Thu, 20 Aug 2015 14:06:32 -0400 > -Subject: [PATCH] safe_yaml: syck isn't available for Ruby >= 2.0.0 > - > -This change was taken from various puppet forks but does not exist in > -puppet upstream as they drop support for YAML on the network as part > -of work to fix PUP-3272. > - > -https://tickets.puppetlabs.com/browse/PUP-3272 > - > -Community versions of this change: > -https://github.com/kylog/puppet/commit/42b2e77ec24dfbbf2317d08615a35127afbc4782 > - > -Signed-off-by: Mark Asselstine <[email protected]> > ---- > - lib/puppet/vendor/safe_yaml/lib/safe_yaml.rb | 2 +- > - 1 file changed, 1 insertion(+), 1 deletion(-) > - > -diff --git a/lib/puppet/vendor/safe_yaml/lib/safe_yaml.rb > b/lib/puppet/vendor/safe_yaml/lib/safe_yaml.rb > -index 8670ace..722dd3e 100644 > ---- a/lib/puppet/vendor/safe_yaml/lib/safe_yaml.rb > -+++ b/lib/puppet/vendor/safe_yaml/lib/safe_yaml.rb > -@@ -3,7 +3,7 @@ require "yaml" > - # This needs to be defined up front in case any internal classes need to > base > - # their behavior off of this. > - module SafeYAML > -- YAML_ENGINE = defined?(YAML::ENGINE) ? YAML::ENGINE.yamler : "syck" > -+ YAML_ENGINE = defined?(YAML::ENGINE) ? YAML::ENGINE.yamler : > (defined?(Psych) && YAML == Psych ? "psych" : "syck") > - end > - > - require "set" > --- > -2.1.4 > - > diff --git a/recipes-support/puppet/puppet_3.7.3.bb > b/recipes-support/puppet/puppet_5.4.0.bb > similarity index 51% > rename from recipes-support/puppet/puppet_3.7.3.bb > rename to recipes-support/puppet/puppet_5.4.0.bb > index 3e8f869..54574e4 100644 > --- a/recipes-support/puppet/puppet_3.7.3.bb > +++ b/recipes-support/puppet/puppet_5.4.0.bb > @@ -1,37 +1,41 @@ > SUMMARY = "Open source Puppet is a configuration management system" > HOMEPAGE = "https://puppetlabs.com/puppet/puppet-open-source" > LICENSE = "Apache-2.0" > -LIC_FILES_CHKSUM = "file://LICENSE;md5=f257790c70561550fd666c6e0044fd89" > +LIC_FILES_CHKSUM = "file://LICENSE;md5=7c9045ec00cc0d6b6e0e09ee811da4a0" > > SRC_URI = " \ > https://downloads.puppetlabs.com/puppet/puppet-${PV}.tar.gz \ > file://add_puppet_gemspec.patch \ > file://puppet.conf \ > - file://maint-Change-spec-test-to-pass-on-ruby-2.2.patch \ > - file://MAINT-Fix-duplicate-key-which-ruby-2.2-complains-abo.patch \ > - file://safe_yaml-syck-isn-t-available-for-Ruby-2.0.0.patch \ > + file://puppet.init \ > + file://puppet.service \ > " > -SRC_URI[md5sum] = "cc294da1d51df07bcc7f6cf78bd90ce0" > -SRC_URI[sha256sum] = > "4a3bd7ddb51072c3dd898a8de158cde204a2d8fd0b84e8ac806b84c074348637" > +SRC_URI[md5sum] = "e26702fbfb464121d8d60e639ea254d9" > +SRC_URI[sha256sum] = > "8db3a89c9ced01b43c57f89e42d099a763d02f38bcea5d6c73e1245556932bb2" > > -inherit ruby > +inherit ruby update-rc.d systemd > > DEPENDS += " \ > ruby \ > facter \ > - hiera \ > " > > RDEPENDS_${PN} += " \ > ruby \ > facter \ > - hiera \ > ruby-shadow \ > bash \ > " > > RUBY_INSTALL_GEMS = "puppet-${PV}.gem" > > +INITSCRIPT_NAME = "${BPN}" > +INITSCRIPT_PARAMS = "start 02 5 3 2 . stop 20 0 1 6 ." > + > +SYSTEMD_AUTO_ENABLE = "enable" > +SYSTEMD_PACKAGES = "${PN}" > +SYSTEMD_SERVICE_${PN} = "${BPN}.service" > + > do_install_append() { > install -d ${D}${sysconfdir}/puppet > install -d ${D}${sysconfdir}/puppet/manifests > @@ -39,6 +43,12 @@ do_install_append() { > > install -m 655 ${S}/conf/auth.conf ${D}${sysconfdir}/puppet/ > install -m 655 ${S}/conf/fileserver.conf ${D}${sysconfdir}/puppet/ > - install -m 655 ${S}/conf/tagmail.conf ${D}${sysconfdir}/puppet/ > + install -m 655 ${S}/conf/environment.conf ${D}${sysconfdir}/puppet/ > install -m 655 ${WORKDIR}/puppet.conf ${D}${sysconfdir}/puppet/ > + > + install -d ${D}${systemd_unitdir}/system > + install -m 0644 ${WORKDIR}/puppet.service ${D}${systemd_unitdir}/system > + > + install -d ${D}${sysconfdir}/init.d > + install -m 0755 ${WORKDIR}/puppet.init ${D}${sysconfdir}/init.d/puppet > } > -- > 2.11.0 > > -- > _______________________________________________ > meta-virtualization mailing list > [email protected] > https://lists.yoctoproject.org/listinfo/meta-virtualization -- "Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end" -- _______________________________________________ meta-virtualization mailing list [email protected] https://lists.yoctoproject.org/listinfo/meta-virtualization
