From e23a2a8c6db5084f909fcc20a2bfdc8e51a2d934 Mon Sep 17 00:00:00 2001 From: David Lutterkort Date: Wed, 12 Jul 2006 01:01:04 +0000 Subject: [PATCH 001/272] auto-import puppet-0.18.2-1 on branch devel from puppet-0.18.2-1.src.rpm --- .cvsignore | 1 + puppet.spec | 203 ++++++++++++++++++++++++++++++++++++++++++++++++++++ sources | 1 + 3 files changed, 205 insertions(+) create mode 100644 puppet.spec diff --git a/.cvsignore b/.cvsignore index e69de29..41656b7 100644 --- a/.cvsignore +++ b/.cvsignore @@ -0,0 +1 @@ +puppet-0.18.2.tgz diff --git a/puppet.spec b/puppet.spec new file mode 100644 index 0000000..090c45f --- /dev/null +++ b/puppet.spec @@ -0,0 +1,203 @@ +%{!?ruby_sitelibdir: %define ruby_sitelibdir %(ruby -rrbconfig -e 'puts Config::CONFIG["sitelibdir"]')} +%define pbuild %{_builddir}/%{name}-%{version} +%define confdir conf/redhat + +Summary: A network tool for managing many disparate systems +Name: puppet +Version: 0.18.2 +Release: 1%{?dist} +License: GPL +Group: System Environment/Base + +URL: http://reductivelabs.com/projects/puppet/ +Source: http://reductivelabs.com/downloads/puppet/%{name}-%{version}.tgz + +Requires: ruby >= 1.8.1 +Requires: ruby(abi) = 1.8 +Requires: facter >= 1.1.4 +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +BuildArchitectures: noarch +BuildRequires: ruby >= 1.8.1 + +%description +Puppet lets you centrally manage every important aspect of your system using a +cross-platform specification language that manages all the separate elements +normally aggregated in different files, like users, cron jobs, and hosts, +along with obviously discrete elements like packages, services, and files. + +%package server +Group: System Environment/Base +Summary: Server for the puppet system management tool +Requires: puppet = %{version}-%{release} + +%description server +Provides the central puppet server daemon which provides manifests to clients. +The server can also function as a certificate authority and file server. + +%prep +%setup -q + +%install +%{__rm} -rf %{buildroot} +%{__install} -d -m0755 %{buildroot}%{_sbindir} +%{__install} -d -m0755 %{buildroot}%{_bindir} +%{__install} -d -m0755 %{buildroot}%{ruby_sitelibdir} +%{__install} -d -m0755 %{buildroot}%{_sysconfdir}/puppet/manifests +%{__install} -d -m0755 %{buildroot}%{_docdir}/%{name}-%{version} +%{__install} -d -m0755 %{buildroot}%{_localstatedir}/lib/puppet +%{__install} -d -m0755 %{buildroot}%{_localstatedir}/run/puppet +%{__install} -d -m0755 %{buildroot}%{_localstatedir}/log/puppet +%{__install} -Dp -m0755 %{pbuild}/bin/* %{buildroot}%{_sbindir} +%{__mv} %{buildroot}%{_sbindir}/puppet %{buildroot}%{_bindir}/puppet +%{__mv} %{buildroot}%{_sbindir}/puppetrun %{buildroot}%{_bindir}/puppetrun +%{__install} -Dp -m0644 %{pbuild}/lib/puppet.rb %{buildroot}%{ruby_sitelibdir}/puppet.rb +%{__cp} -a %{pbuild}/lib/puppet %{buildroot}%{ruby_sitelibdir} +find %{buildroot}%{ruby_sitelibdir} -type f -perm +ugo+x -print0 | xargs -0 -r %{__chmod} a-x +%{__install} -Dp -m0644 %{confdir}/client.sysconfig %{buildroot}%{_sysconfdir}/sysconfig/puppet +%{__install} -Dp -m0755 %{confdir}/client.init %{buildroot}%{_initrddir}/puppet +%{__install} -Dp -m0644 %{confdir}/server.sysconfig %{buildroot}%{_sysconfdir}/sysconfig/puppetmaster +%{__install} -Dp -m0755 %{confdir}/server.init %{buildroot}%{_initrddir}/puppetmaster +%{__install} -Dp -m0644 %{confdir}/fileserver.conf %{buildroot}%{_sysconfdir}/puppet/fileserver.conf +%{__install} -Dp -m0644 %{confdir}/puppetd.conf %{buildroot}%{_sysconfdir}/puppet/puppetd.conf +%{__ln_s} puppetd.conf %{buildroot}%{_sysconfdir}/puppet/puppetmasterd.conf +%{__ln_s} puppetd.conf %{buildroot}%{_sysconfdir}/puppet/puppetca.conf +%{__install} -Dp -m0644 %{confdir}/logrotate %{buildroot}%{_sysconfdir}/logrotate.d/puppet + +%files +%defattr(-, root, root, 0755) +%{_bindir}/puppet +%{_sbindir}/puppetd +%{ruby_sitelibdir}/* +%{_initrddir}/puppet +%config(noreplace) %{_sysconfdir}/sysconfig/puppet +%config(noreplace) %{_sysconfdir}/puppet/puppetd.conf +%doc CHANGELOG COPYING LICENSE README TODO examples +%exclude %{_sbindir}/puppetdoc +%config(noreplace) %{_sysconfdir}/logrotate.d/puppet +# These need to be owned by puppet so the server can +# write to them +%attr(-, puppet, puppet) %{_localstatedir}/run/puppet +%attr(-, puppet, puppet) %{_localstatedir}/log/puppet +%attr(-, puppet, puppet) %{_localstatedir}/lib/puppet + +%files server +%defattr(-, root, root, 0755) +%{_sbindir}/puppetmasterd +%{_bindir}/puppetrun +%{_initrddir}/puppetmaster +%config(noreplace) %{_sysconfdir}/puppet/* +%config(noreplace) %{_sysconfdir}/sysconfig/puppetmaster +%{_sbindir}/puppetca + +%pre +/usr/sbin/groupadd -r puppet 2>/dev/null || : +/usr/sbin/useradd -g puppet -c "Puppet" \ + -s /sbin/nologin -r -d /var/puppet puppet 2> /dev/null || : + +%post +/sbin/chkconfig --add puppet +exit 0 + +%post server +/sbin/chkconfig --add puppetmaster + +%preun +if [ "$1" = 0 ] ; then + /sbin/service puppet stop > /dev/null 2>&1 + /sbin/chkconfig --del puppet +fi + +%preun server +if [ "$1" = 0 ] ; then + /sbin/service puppetmaster stop > /dev/null 2>&1 + /sbin/chkconfig --del puppetmaster +fi + +%postun server +if [ "$1" -ge 1 ]; then + /sbin/service puppetmaster condrestart > /dev/null 2>&1 +fi + +%clean +%{__rm} -rf %{buildroot} + +%changelog +* Wed Jul 5 2006 David Lutterkort - 0.18.2-1 +- New version + +* Wed Jun 28 2006 David Lutterkort - 0.18.1-1 +- Removed lsb-config.patch and yumrepo.patch since they are upstream now + +* Mon Jun 19 2006 David Lutterkort - 0.18.0-1 +- Patch config for LSB compliance (lsb-config.patch) +- Changed config moves /var/puppet to /var/lib/puppet, /etc/puppet/ssl + to /var/lib/puppet, /etc/puppet/clases.txt to /var/lib/puppet/classes.txt, + /etc/puppet/localconfig.yaml to /var/lib/puppet/localconfig.yaml + +* Fri May 19 2006 David Lutterkort - 0.17.2-1 +- Added /usr/bin/puppetrun to server subpackage +- Backported patch for yumrepo type (yumrepo.patch) + +* Wed May 3 2006 David Lutterkort - 0.16.4-1 +- Rebuilt + +* Fri Apr 21 2006 David Lutterkort - 0.16.0-1 +- Fix default file permissions in server subpackage +- Run puppetmaster as user puppet +- rebuilt for 0.16.0 + +* Mon Apr 17 2006 David Lutterkort - 0.15.3-2 +- Don't create empty log files in post-install scriptlet + +* Fri Apr 7 2006 David Lutterkort - 0.15.3-1 +- Rebuilt for new version + +* Wed Mar 22 2006 David Lutterkort - 0.15.1-1 +- Patch0: Run puppetmaster as root; running as puppet is not ready + for primetime + +* Mon Mar 13 2006 David Lutterkort - 0.15.0-1 +- Commented out noarch; requires fix for bz184199 + +* Mon Mar 6 2006 David Lutterkort - 0.14.0-1 +- Added BuildRequires for ruby + +* Wed Mar 1 2006 David Lutterkort - 0.13.5-1 +- Removed use of fedora-usermgmt. It is not required for Fedora Extras and + makes it unnecessarily hard to use this rpm outside of Fedora. Just + allocate the puppet uid/gid dynamically + +* Sun Feb 19 2006 David Lutterkort - 0.13.0-4 +- Use fedora-usermgmt to create puppet user/group. Use uid/gid 24. Fixed +problem with listing fileserver.conf and puppetmaster.conf twice + +* Wed Feb 8 2006 David Lutterkort - 0.13.0-3 +- Fix puppetd.conf + +* Wed Feb 8 2006 David Lutterkort - 0.13.0-2 +- Changes to run puppetmaster as user puppet + +* Mon Feb 6 2006 David Lutterkort - 0.13.0-1 +- Don't mark initscripts as config files + +* Mon Feb 6 2006 David Lutterkort - 0.12.0-2 +- Fix BuildRoot. Add dist to release + +* Tue Jan 17 2006 David Lutterkort - 0.11.0-1 +- Rebuild + +* Thu Jan 12 2006 David Lutterkort - 0.10.2-1 +- Updated for 0.10.2 Fixed minor kink in how Source is given + +* Wed Jan 11 2006 David Lutterkort - 0.10.1-3 +- Added basic fileserver.conf + +* Wed Jan 11 2006 David Lutterkort - 0.10.1-1 +- Updated. Moved installation of library files to sitelibdir. Pulled +initscripts into separate files. Folded tools rpm into server + +* Thu Nov 24 2005 Duane Griffin +- Added init scripts for the client + +* Wed Nov 23 2005 Duane Griffin +- First packaging diff --git a/sources b/sources index e69de29..577ba95 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +ecc586cb35dec6b496d4e5d535015f2e puppet-0.18.2.tgz From ff4285b1ae7b4e1a13cbeccd971b691b3d8067f1 Mon Sep 17 00:00:00 2001 From: David Lutterkort Date: Sat, 15 Jul 2006 01:43:36 +0000 Subject: [PATCH 002/272] auto-import puppet-0.18.3-1 on branch devel from puppet-0.18.3-1.src.rpm New Version 0.18.3 --- .cvsignore | 2 +- puppet.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.cvsignore b/.cvsignore index 41656b7..39456df 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -puppet-0.18.2.tgz +puppet-0.18.3.tgz diff --git a/puppet.spec b/puppet.spec index 090c45f..ae109d3 100644 --- a/puppet.spec +++ b/puppet.spec @@ -4,7 +4,7 @@ Summary: A network tool for managing many disparate systems Name: puppet -Version: 0.18.2 +Version: 0.18.3 Release: 1%{?dist} License: GPL Group: System Environment/Base @@ -122,6 +122,9 @@ fi %{__rm} -rf %{buildroot} %changelog +* Fri Jul 14 2006 David Lutterkort - 0.18.3-1 +- New version + * Wed Jul 5 2006 David Lutterkort - 0.18.2-1 - New version diff --git a/sources b/sources index 577ba95..e8b9ff1 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -ecc586cb35dec6b496d4e5d535015f2e puppet-0.18.2.tgz +48022dab04da16ac2cff9af8638cda8d puppet-0.18.3.tgz From bf901103f3ba12d1255aa9c6c0117fa6c27e4301 Mon Sep 17 00:00:00 2001 From: David Lutterkort Date: Tue, 1 Aug 2006 22:20:27 +0000 Subject: [PATCH 003/272] Version 0.18.4 --- .cvsignore | 2 +- puppet.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.cvsignore b/.cvsignore index 39456df..ab461e5 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -puppet-0.18.3.tgz +puppet-0.18.4.tgz diff --git a/puppet.spec b/puppet.spec index ae109d3..eb05ead 100644 --- a/puppet.spec +++ b/puppet.spec @@ -4,7 +4,7 @@ Summary: A network tool for managing many disparate systems Name: puppet -Version: 0.18.3 +Version: 0.18.4 Release: 1%{?dist} License: GPL Group: System Environment/Base @@ -122,6 +122,9 @@ fi %{__rm} -rf %{buildroot} %changelog +* Tue Aug 1 2006 David Lutterkort - 0.18.4-1 +- New version + * Fri Jul 14 2006 David Lutterkort - 0.18.3-1 - New version diff --git a/sources b/sources index e8b9ff1..c14adbf 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -48022dab04da16ac2cff9af8638cda8d puppet-0.18.3.tgz +69ff5f152a127c1c1b1ee89a63c4ca1e puppet-0.18.4.tgz From a0148e4944ede11c9ba8a6bbe7a54524610978ff Mon Sep 17 00:00:00 2001 From: David Lutterkort Date: Tue, 1 Aug 2006 23:50:39 +0000 Subject: [PATCH 004/272] Fix shebang lines in executables --- puppet.spec | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/puppet.spec b/puppet.spec index eb05ead..d1d6a4b 100644 --- a/puppet.spec +++ b/puppet.spec @@ -5,7 +5,7 @@ Summary: A network tool for managing many disparate systems Name: puppet Version: 0.18.4 -Release: 1%{?dist} +Release: 2%{?dist} License: GPL Group: System Environment/Base @@ -37,6 +37,11 @@ The server can also function as a certificate authority and file server. %prep %setup -q +%build +for f in bin/* ; do + sed -i -e '1c#!/usr/bin/ruby' $f +done + %install %{__rm} -rf %{buildroot} %{__install} -d -m0755 %{buildroot}%{_sbindir} @@ -122,6 +127,11 @@ fi %{__rm} -rf %{buildroot} %changelog +* Tue Aug 1 2006 David Lutterkort - 0.18.4-2 +- Use /usr/bin/ruby directly instead of /usr/bin/env ruby in + executables. Otherwise, initscripts break since pidof can't find the + right process + * Tue Aug 1 2006 David Lutterkort - 0.18.4-1 - New version From 690f44c3f50885edbeb6ab770f1553a19be77341 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ville=20Skytt=C3=A4?= Date: Sun, 27 Aug 2006 21:00:26 +0000 Subject: [PATCH 005/272] http://fedoraproject.org/wiki/Extras/Schedule/FC6MassRebuild --- needs.rebuild | 1 + 1 file changed, 1 insertion(+) create mode 100644 needs.rebuild diff --git a/needs.rebuild b/needs.rebuild new file mode 100644 index 0000000..815fd29 --- /dev/null +++ b/needs.rebuild @@ -0,0 +1 @@ +http://fedoraproject.org/wiki/Extras/Schedule/FC6MassRebuild From f255b7b3377c59adef8fba4a3e9d26789d25ce8e Mon Sep 17 00:00:00 2001 From: David Lutterkort Date: Fri, 8 Sep 2006 01:02:52 +0000 Subject: [PATCH 006/272] New version --- .cvsignore | 2 +- puppet.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/.cvsignore b/.cvsignore index ab461e5..055c382 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -puppet-0.18.4.tgz +puppet-0.19.0.tgz diff --git a/puppet.spec b/puppet.spec index d1d6a4b..f32bc92 100644 --- a/puppet.spec +++ b/puppet.spec @@ -4,8 +4,8 @@ Summary: A network tool for managing many disparate systems Name: puppet -Version: 0.18.4 -Release: 2%{?dist} +Version: 0.19.0 +Release: 1%{?dist} License: GPL Group: System Environment/Base @@ -127,6 +127,9 @@ fi %{__rm} -rf %{buildroot} %changelog +* Thu Sep 7 2006 David Lutterkort - 0.19.0-1 +- New version + * Tue Aug 1 2006 David Lutterkort - 0.18.4-2 - Use /usr/bin/ruby directly instead of /usr/bin/env ruby in executables. Otherwise, initscripts break since pidof can't find the diff --git a/sources b/sources index c14adbf..37e4565 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -69ff5f152a127c1c1b1ee89a63c4ca1e puppet-0.18.4.tgz +e235a1dbeb8a8296cf396a83d4fb4dfd puppet-0.19.0.tgz From 266b8846cc49c26d61e951449293e0706c626737 Mon Sep 17 00:00:00 2001 From: David Lutterkort Date: Wed, 13 Sep 2006 09:09:28 +0000 Subject: [PATCH 007/272] No rebuild for FC6 needed - already built for new version on 2006-09-07 --- needs.rebuild | 1 - 1 file changed, 1 deletion(-) delete mode 100644 needs.rebuild diff --git a/needs.rebuild b/needs.rebuild deleted file mode 100644 index 815fd29..0000000 --- a/needs.rebuild +++ /dev/null @@ -1 +0,0 @@ -http://fedoraproject.org/wiki/Extras/Schedule/FC6MassRebuild From a05502a5af4c00529e899480ec5d26abe4a8f534 Mon Sep 17 00:00:00 2001 From: David Lutterkort Date: Mon, 18 Sep 2006 13:11:15 +0000 Subject: [PATCH 008/272] auto-import puppet-0.19.1-1 on branch devel from puppet-0.19.1-1.src.rpm Version 0.19.1 --- .cvsignore | 2 +- puppet.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.cvsignore b/.cvsignore index 055c382..4072bc0 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -puppet-0.19.0.tgz +puppet-0.19.1.tgz diff --git a/puppet.spec b/puppet.spec index f32bc92..954fc6a 100644 --- a/puppet.spec +++ b/puppet.spec @@ -4,7 +4,7 @@ Summary: A network tool for managing many disparate systems Name: puppet -Version: 0.19.0 +Version: 0.19.1 Release: 1%{?dist} License: GPL Group: System Environment/Base @@ -127,6 +127,9 @@ fi %{__rm} -rf %{buildroot} %changelog +* Mon Sep 18 2006 David Lutterkort - 0.19.1-1 +- New version + * Thu Sep 7 2006 David Lutterkort - 0.19.0-1 - New version diff --git a/sources b/sources index 37e4565..e361309 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -e235a1dbeb8a8296cf396a83d4fb4dfd puppet-0.19.0.tgz +6aa4d37a5f96209d0a10aa20fab879cf puppet-0.19.1.tgz From 5e89698301cbb160bf3bab6dcadf646117336e9a Mon Sep 17 00:00:00 2001 From: David Lutterkort Date: Tue, 26 Sep 2006 14:03:26 +0000 Subject: [PATCH 009/272] Update to 0.19.3 --- .cvsignore | 2 +- puppet.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.cvsignore b/.cvsignore index 4072bc0..3b49eea 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -puppet-0.19.1.tgz +puppet-0.19.3.tgz diff --git a/puppet.spec b/puppet.spec index 954fc6a..40c18b7 100644 --- a/puppet.spec +++ b/puppet.spec @@ -4,7 +4,7 @@ Summary: A network tool for managing many disparate systems Name: puppet -Version: 0.19.1 +Version: 0.19.3 Release: 1%{?dist} License: GPL Group: System Environment/Base @@ -127,6 +127,9 @@ fi %{__rm} -rf %{buildroot} %changelog +* Tue Sep 26 2006 David Lutterkort - 0.19.3-1 +- New version + * Mon Sep 18 2006 David Lutterkort - 0.19.1-1 - New version diff --git a/sources b/sources index e361309..3afc4c3 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -6aa4d37a5f96209d0a10aa20fab879cf puppet-0.19.1.tgz +c3a15c89f5108bccc0547acbfb5eca41 puppet-0.19.3.tgz From 269ed3c6f7ef81600170c1f492fb07b71911049e Mon Sep 17 00:00:00 2001 From: David Lutterkort Date: Tue, 24 Oct 2006 00:26:21 +0000 Subject: [PATCH 010/272] New version 0.20.0 --- .cvsignore | 2 +- puppet.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.cvsignore b/.cvsignore index 3b49eea..849d718 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -puppet-0.19.3.tgz +puppet-0.20.0.tgz diff --git a/puppet.spec b/puppet.spec index 40c18b7..5af88a9 100644 --- a/puppet.spec +++ b/puppet.spec @@ -4,7 +4,7 @@ Summary: A network tool for managing many disparate systems Name: puppet -Version: 0.19.3 +Version: 0.20.0 Release: 1%{?dist} License: GPL Group: System Environment/Base @@ -127,6 +127,9 @@ fi %{__rm} -rf %{buildroot} %changelog +* Mon Oct 23 2006 David Lutterkort - 0.20.0-1 +- New version + * Tue Sep 26 2006 David Lutterkort - 0.19.3-1 - New version diff --git a/sources b/sources index 3afc4c3..de0357b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -c3a15c89f5108bccc0547acbfb5eca41 puppet-0.19.3.tgz +0f323f94e5ebab0236d60b9a093e2e6c puppet-0.20.0.tgz From e58cbb0d73579f62adba8065a3602df451292ccd Mon Sep 17 00:00:00 2001 From: David Lutterkort Date: Tue, 14 Nov 2006 02:22:46 +0000 Subject: [PATCH 011/272] New version 0.20.1 --- .cvsignore | 2 +- puppet.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.cvsignore b/.cvsignore index 849d718..3402e11 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -puppet-0.20.0.tgz +puppet-0.20.1.tgz diff --git a/puppet.spec b/puppet.spec index 5af88a9..4dd4baf 100644 --- a/puppet.spec +++ b/puppet.spec @@ -4,7 +4,7 @@ Summary: A network tool for managing many disparate systems Name: puppet -Version: 0.20.0 +Version: 0.20.1 Release: 1%{?dist} License: GPL Group: System Environment/Base @@ -127,6 +127,9 @@ fi %{__rm} -rf %{buildroot} %changelog +* Mon Nov 13 2006 David Lutterkort - 0.20.1-1 +- New version + * Mon Oct 23 2006 David Lutterkort - 0.20.0-1 - New version diff --git a/sources b/sources index de0357b..6fbcc79 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -0f323f94e5ebab0236d60b9a093e2e6c puppet-0.20.0.tgz +5d4a35b197f6342742bbd3561aac99e8 puppet-0.20.1.tgz From fcff0e11c3e135e2936d4e7e66d60704da99ab38 Mon Sep 17 00:00:00 2001 From: David Lutterkort Date: Sat, 6 Jan 2007 00:22:27 +0000 Subject: [PATCH 012/272] New version 0.22.0 --- .cvsignore | 2 +- puppet.spec | 26 ++++++++++++++++++++------ sources | 2 +- 3 files changed, 22 insertions(+), 8 deletions(-) diff --git a/.cvsignore b/.cvsignore index 3402e11..f5e5b56 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -puppet-0.20.1.tgz +puppet-0.22.0.tgz diff --git a/puppet.spec b/puppet.spec index 4dd4baf..d7f525c 100644 --- a/puppet.spec +++ b/puppet.spec @@ -2,9 +2,12 @@ %define pbuild %{_builddir}/%{name}-%{version} %define confdir conf/redhat +%define has_ruby_abi 0%{?fedora:%fedora} >= 5 || 0%{?rhel:%rhel} >= 5 +%define has_ruby_noarch %has_ruby_abi + Summary: A network tool for managing many disparate systems Name: puppet -Version: 0.20.1 +Version: 0.22.0 Release: 1%{?dist} License: GPL Group: System Environment/Base @@ -13,10 +16,14 @@ URL: http://reductivelabs.com/projects/puppet/ Source: http://reductivelabs.com/downloads/puppet/%{name}-%{version}.tgz Requires: ruby >= 1.8.1 +%if %has_ruby_abi Requires: ruby(abi) = 1.8 +%endif Requires: facter >= 1.1.4 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +%if %has_ruby_noarch BuildArchitectures: noarch +%endif BuildRequires: ruby >= 1.8.1 %description @@ -108,25 +115,32 @@ exit 0 %preun if [ "$1" = 0 ] ; then - /sbin/service puppet stop > /dev/null 2>&1 - /sbin/chkconfig --del puppet + /sbin/service puppet stop > /dev/null 2>&1 + /sbin/chkconfig --del puppet fi %preun server if [ "$1" = 0 ] ; then - /sbin/service puppetmaster stop > /dev/null 2>&1 - /sbin/chkconfig --del puppetmaster + /sbin/service puppetmaster stop > /dev/null 2>&1 + /sbin/chkconfig --del puppetmaster fi %postun server if [ "$1" -ge 1 ]; then - /sbin/service puppetmaster condrestart > /dev/null 2>&1 + /sbin/service puppetmaster condrestart > /dev/null 2>&1 fi %clean %{__rm} -rf %{buildroot} %changelog +* Fri Jan 5 2007 David Lutterkort - 0.22.0-1 +- New version + +* Mon Nov 20 2006 David Lutterkort - 0.20.1-2 +- Make require ruby(abi) and buildarch: noarch conditional for fedora 5 or + later to allow building on older fedora releases + * Mon Nov 13 2006 David Lutterkort - 0.20.1-1 - New version diff --git a/sources b/sources index 6fbcc79..63c9399 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -5d4a35b197f6342742bbd3561aac99e8 puppet-0.20.1.tgz +9d60a93ba44467f551088fc20686edba puppet-0.22.0.tgz From 7bce7b24ed13f346f33800507bc36761f4e983b0 Mon Sep 17 00:00:00 2001 From: David Lutterkort Date: Sat, 3 Feb 2007 19:35:12 +0000 Subject: [PATCH 013/272] New version 0.22.1 --- .cvsignore | 2 +- puppet.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.cvsignore b/.cvsignore index f5e5b56..08c052b 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -puppet-0.22.0.tgz +puppet-0.22.1.tgz diff --git a/puppet.spec b/puppet.spec index d7f525c..840fb71 100644 --- a/puppet.spec +++ b/puppet.spec @@ -7,7 +7,7 @@ Summary: A network tool for managing many disparate systems Name: puppet -Version: 0.22.0 +Version: 0.22.1 Release: 1%{?dist} License: GPL Group: System Environment/Base @@ -134,6 +134,9 @@ fi %{__rm} -rf %{buildroot} %changelog +* Sat Feb 3 2007 David Lutterkort - 0.22.1-1 +- New version + * Fri Jan 5 2007 David Lutterkort - 0.22.0-1 - New version diff --git a/sources b/sources index 63c9399..8adb92a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -9d60a93ba44467f551088fc20686edba puppet-0.22.0.tgz +ce1ce40b5dda8c2068aa8c804f0617bf puppet-0.22.1.tgz From e4f049dd078af9c3eb1e12ca1c3c6a5fecb621a9 Mon Sep 17 00:00:00 2001 From: David Lutterkort Date: Mon, 12 Feb 2007 14:53:12 +0000 Subject: [PATCH 014/272] Fix lockdir problem in puppetd.conf --- no-lockdir.patch | 13 +++++++++++++ puppet.spec | 7 ++++++- 2 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 no-lockdir.patch diff --git a/no-lockdir.patch b/no-lockdir.patch new file mode 100644 index 0000000..899a202 --- /dev/null +++ b/no-lockdir.patch @@ -0,0 +1,13 @@ +--- puppet-0.22.1/conf/redhat/puppetd.conf.orig 2006-09-27 10:30:35.000000000 -0700 ++++ puppet-0.22.1/conf/redhat/puppetd.conf 2007-02-11 13:27:04.000000000 -0800 +@@ -11,10 +11,6 @@ + # The default value is '$vardir/run'. + rundir = /var/run/puppet + +- # Where lock files are kept. +- # The default value is '$vardir/locks'. +- lockdir = /var/lock +- + # Where SSL certificates are kept. + # The default value is '$confdir/ssl'. + ssldir = $vardir/ssl diff --git a/puppet.spec b/puppet.spec index 840fb71..ca4c9b1 100644 --- a/puppet.spec +++ b/puppet.spec @@ -8,12 +8,13 @@ Summary: A network tool for managing many disparate systems Name: puppet Version: 0.22.1 -Release: 1%{?dist} +Release: 2%{?dist} License: GPL Group: System Environment/Base URL: http://reductivelabs.com/projects/puppet/ Source: http://reductivelabs.com/downloads/puppet/%{name}-%{version}.tgz +Patch0: no-lockdir.patch Requires: ruby >= 1.8.1 %if %has_ruby_abi @@ -43,6 +44,7 @@ The server can also function as a certificate authority and file server. %prep %setup -q +%patch0 -p1 %build for f in bin/* ; do @@ -134,6 +136,9 @@ fi %{__rm} -rf %{buildroot} %changelog +* Mon Feb 12 2007 David Lutterkort - 0.22.1-2 +- Fix bogus config parameter in puppetd.conf + * Sat Feb 3 2007 David Lutterkort - 0.22.1-1 - New version From 5b273b73e249ca5a3c71a9fa9f1d93f8259c8228 Mon Sep 17 00:00:00 2001 From: David Lutterkort Date: Tue, 20 Mar 2007 00:14:34 +0000 Subject: [PATCH 015/272] New version 0.22.2 --- .cvsignore | 2 +- puppet.spec | 16 ++++++++++------ sources | 2 +- 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/.cvsignore b/.cvsignore index 08c052b..8fd88c0 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -puppet-0.22.1.tgz +puppet-0.22.2.tgz diff --git a/puppet.spec b/puppet.spec index ca4c9b1..50acd82 100644 --- a/puppet.spec +++ b/puppet.spec @@ -7,14 +7,13 @@ Summary: A network tool for managing many disparate systems Name: puppet -Version: 0.22.1 -Release: 2%{?dist} +Version: 0.22.2 +Release: 1%{?dist} License: GPL Group: System Environment/Base URL: http://reductivelabs.com/projects/puppet/ Source: http://reductivelabs.com/downloads/puppet/%{name}-%{version}.tgz -Patch0: no-lockdir.patch Requires: ruby >= 1.8.1 %if %has_ruby_abi @@ -44,7 +43,6 @@ The server can also function as a certificate authority and file server. %prep %setup -q -%patch0 -p1 %build for f in bin/* ; do @@ -106,8 +104,10 @@ find %{buildroot}%{ruby_sitelibdir} -type f -perm +ugo+x -print0 | xargs -0 -r % %pre /usr/sbin/groupadd -r puppet 2>/dev/null || : /usr/sbin/useradd -g puppet -c "Puppet" \ - -s /sbin/nologin -r -d /var/puppet puppet 2> /dev/null || : - + -s /sbin/nologin -r -d /var/lib/puppet puppet 2> /dev/null || : +if [ $1 -gt 1 ] ; then + /usr/sbin/usermod -d /var/lib/puppet puppet || : +fi %post /sbin/chkconfig --add puppet exit 0 @@ -136,6 +136,10 @@ fi %{__rm} -rf %{buildroot} %changelog +* Mon Mar 19 2007 David Lutterkort - 0.22.2-1 +- Set puppet's homedir to /var/lib/puppet, not /var/puppet +- Remove no-lockdir patch, not needed anymore + * Mon Feb 12 2007 David Lutterkort - 0.22.1-2 - Fix bogus config parameter in puppetd.conf diff --git a/sources b/sources index 8adb92a..a68608a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -ce1ce40b5dda8c2068aa8c804f0617bf puppet-0.22.1.tgz +470581376bb1b6f7aaed666dc144bd12 puppet-0.22.2.tgz From 314198b31f1e59bee5f2bdc0e17806d060c9a5b1 Mon Sep 17 00:00:00 2001 From: David Lutterkort Date: Sat, 31 Mar 2007 01:06:54 +0000 Subject: [PATCH 016/272] New version 0.22.3 --- .cvsignore | 2 +- puppet.spec | 6 +++++- sources | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.cvsignore b/.cvsignore index 8fd88c0..f2d8905 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -puppet-0.22.2.tgz +puppet-0.22.3.tgz diff --git a/puppet.spec b/puppet.spec index 50acd82..25c76fb 100644 --- a/puppet.spec +++ b/puppet.spec @@ -7,7 +7,7 @@ Summary: A network tool for managing many disparate systems Name: puppet -Version: 0.22.2 +Version: 0.22.3 Release: 1%{?dist} License: GPL Group: System Environment/Base @@ -81,6 +81,7 @@ find %{buildroot}%{ruby_sitelibdir} -type f -perm +ugo+x -print0 | xargs -0 -r % %{_sbindir}/puppetd %{ruby_sitelibdir}/* %{_initrddir}/puppet +%dir %{_sysconfdir}/puppet %config(noreplace) %{_sysconfdir}/sysconfig/puppet %config(noreplace) %{_sysconfdir}/puppet/puppetd.conf %doc CHANGELOG COPYING LICENSE README TODO examples @@ -136,6 +137,9 @@ fi %{__rm} -rf %{buildroot} %changelog +* Thu Mar 29 2007 David Lutterkort - 0.22.3-1 +- Claim ownership of _sysconfdir/puppet (bz 233908) + * Mon Mar 19 2007 David Lutterkort - 0.22.2-1 - Set puppet's homedir to /var/lib/puppet, not /var/puppet - Remove no-lockdir patch, not needed anymore diff --git a/sources b/sources index a68608a..1c8d648 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -470581376bb1b6f7aaed666dc144bd12 puppet-0.22.2.tgz +da40886077c500c0bac980e7b755b836 puppet-0.22.3.tgz From 8bb22052ec776f5545c9b37f2d362f9a85404e20 Mon Sep 17 00:00:00 2001 From: David Lutterkort Date: Thu, 3 May 2007 18:13:30 +0000 Subject: [PATCH 017/272] New version 0.22.4 --- .cvsignore | 2 +- puppet.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.cvsignore b/.cvsignore index f2d8905..c4a03f5 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -puppet-0.22.3.tgz +puppet-0.22.4.tgz diff --git a/puppet.spec b/puppet.spec index 25c76fb..6be1b19 100644 --- a/puppet.spec +++ b/puppet.spec @@ -7,7 +7,7 @@ Summary: A network tool for managing many disparate systems Name: puppet -Version: 0.22.3 +Version: 0.22.4 Release: 1%{?dist} License: GPL Group: System Environment/Base @@ -137,6 +137,9 @@ fi %{__rm} -rf %{buildroot} %changelog +* Wed May 2 2007 David Lutterkort - 0.22.4-1 +- New version + * Thu Mar 29 2007 David Lutterkort - 0.22.3-1 - Claim ownership of _sysconfdir/puppet (bz 233908) diff --git a/sources b/sources index 1c8d648..9fd4c7b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -da40886077c500c0bac980e7b755b836 puppet-0.22.3.tgz +9bb853104f2616c7f2c8fa4e2f39b537 puppet-0.22.4.tgz From e18f387eca630c1d015255a4a89e59492e18f3c4 Mon Sep 17 00:00:00 2001 From: David Lutterkort Date: Thu, 21 Jun 2007 21:38:49 +0000 Subject: [PATCH 018/272] Version 0.23.0 --- .cvsignore | 2 +- puppet.spec | 76 ++++++++++++++++++++++++++++++++--------------------- sources | 2 +- 3 files changed, 48 insertions(+), 32 deletions(-) diff --git a/.cvsignore b/.cvsignore index c4a03f5..8a18cb0 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -puppet-0.22.4.tgz +puppet-0.23.0.tgz diff --git a/puppet.spec b/puppet.spec index 6be1b19..ec473d2 100644 --- a/puppet.spec +++ b/puppet.spec @@ -7,12 +7,12 @@ Summary: A network tool for managing many disparate systems Name: puppet -Version: 0.22.4 +Version: 0.23.0 Release: 1%{?dist} License: GPL Group: System Environment/Base -URL: http://reductivelabs.com/projects/puppet/ +URL: http://puppet.reductivelabs.com/ Source: http://reductivelabs.com/downloads/puppet/%{name}-%{version}.tgz Requires: ruby >= 1.8.1 @@ -43,6 +43,8 @@ The server can also function as a certificate authority and file server. %prep %setup -q +cp -p conf/redhat/puppetd.conf conf/redhat/puppet.conf +sed -i -e 's/^\[puppet\]$/[main]/' conf/redhat/puppet.conf %build for f in bin/* ; do @@ -50,41 +52,47 @@ for f in bin/* ; do done %install -%{__rm} -rf %{buildroot} -%{__install} -d -m0755 %{buildroot}%{_sbindir} -%{__install} -d -m0755 %{buildroot}%{_bindir} -%{__install} -d -m0755 %{buildroot}%{ruby_sitelibdir} -%{__install} -d -m0755 %{buildroot}%{_sysconfdir}/puppet/manifests -%{__install} -d -m0755 %{buildroot}%{_docdir}/%{name}-%{version} -%{__install} -d -m0755 %{buildroot}%{_localstatedir}/lib/puppet -%{__install} -d -m0755 %{buildroot}%{_localstatedir}/run/puppet -%{__install} -d -m0755 %{buildroot}%{_localstatedir}/log/puppet -%{__install} -Dp -m0755 %{pbuild}/bin/* %{buildroot}%{_sbindir} -%{__mv} %{buildroot}%{_sbindir}/puppet %{buildroot}%{_bindir}/puppet -%{__mv} %{buildroot}%{_sbindir}/puppetrun %{buildroot}%{_bindir}/puppetrun -%{__install} -Dp -m0644 %{pbuild}/lib/puppet.rb %{buildroot}%{ruby_sitelibdir}/puppet.rb -%{__cp} -a %{pbuild}/lib/puppet %{buildroot}%{ruby_sitelibdir} -find %{buildroot}%{ruby_sitelibdir} -type f -perm +ugo+x -print0 | xargs -0 -r %{__chmod} a-x -%{__install} -Dp -m0644 %{confdir}/client.sysconfig %{buildroot}%{_sysconfdir}/sysconfig/puppet -%{__install} -Dp -m0755 %{confdir}/client.init %{buildroot}%{_initrddir}/puppet -%{__install} -Dp -m0644 %{confdir}/server.sysconfig %{buildroot}%{_sysconfdir}/sysconfig/puppetmaster -%{__install} -Dp -m0755 %{confdir}/server.init %{buildroot}%{_initrddir}/puppetmaster -%{__install} -Dp -m0644 %{confdir}/fileserver.conf %{buildroot}%{_sysconfdir}/puppet/fileserver.conf -%{__install} -Dp -m0644 %{confdir}/puppetd.conf %{buildroot}%{_sysconfdir}/puppet/puppetd.conf -%{__ln_s} puppetd.conf %{buildroot}%{_sysconfdir}/puppet/puppetmasterd.conf -%{__ln_s} puppetd.conf %{buildroot}%{_sysconfdir}/puppet/puppetca.conf -%{__install} -Dp -m0644 %{confdir}/logrotate %{buildroot}%{_sysconfdir}/logrotate.d/puppet +rm -rf %{buildroot} +install -d -m0755 %{buildroot}%{_sbindir} +install -d -m0755 %{buildroot}%{_bindir} +install -d -m0755 %{buildroot}%{ruby_sitelibdir} +install -d -m0755 %{buildroot}%{_sysconfdir}/puppet/manifests +install -d -m0755 %{buildroot}%{_docdir}/%{name}-%{version} +install -d -m0755 %{buildroot}%{_localstatedir}/lib/puppet +install -d -m0755 %{buildroot}%{_localstatedir}/run/puppet +install -d -m0755 %{buildroot}%{_localstatedir}/log/puppet +install -Dp -m0755 %{pbuild}/bin/* %{buildroot}%{_sbindir} +mv %{buildroot}%{_sbindir}/puppet %{buildroot}%{_bindir}/puppet +mv %{buildroot}%{_sbindir}/ralsh %{buildroot}%{_bindir}/ralsh +mv %{buildroot}%{_sbindir}/filebucket %{buildroot}%{_bindir}/filebucket +mv %{buildroot}%{_sbindir}/puppetrun %{buildroot}%{_bindir}/puppetrun +install -Dp -m0644 %{pbuild}/lib/puppet.rb %{buildroot}%{ruby_sitelibdir}/puppet.rb +cp -a %{pbuild}/lib/puppet %{buildroot}%{ruby_sitelibdir} +find %{buildroot}%{ruby_sitelibdir} -type f -perm +ugo+x -print0 | xargs -0 -r chmod a-x +install -Dp -m0644 %{confdir}/client.sysconfig %{buildroot}%{_sysconfdir}/sysconfig/puppet +install -Dp -m0755 %{confdir}/client.init %{buildroot}%{_initrddir}/puppet +install -Dp -m0644 %{confdir}/server.sysconfig %{buildroot}%{_sysconfdir}/sysconfig/puppetmaster +install -Dp -m0755 %{confdir}/server.init %{buildroot}%{_initrddir}/puppetmaster +install -Dp -m0644 %{confdir}/fileserver.conf %{buildroot}%{_sysconfdir}/puppet/fileserver.conf +install -Dp -m0644 %{confdir}/puppet.conf %{buildroot}%{_sysconfdir}/puppet/puppet.conf +ln -s puppetd.conf %{buildroot}%{_sysconfdir}/puppet/puppetmasterd.conf +ln -s puppetd.conf %{buildroot}%{_sysconfdir}/puppet/puppetca.conf +install -Dp -m0644 %{confdir}/puppetd.conf %{buildroot}%{_sysconfdir}/puppet/puppetd.conf +install -Dp -m0644 %{confdir}/logrotate %{buildroot}%{_sysconfdir}/logrotate.d/puppet %files %defattr(-, root, root, 0755) %{_bindir}/puppet +%{_bindir}/ralsh +%{_bindir}/filebucket %{_sbindir}/puppetd %{ruby_sitelibdir}/* %{_initrddir}/puppet %dir %{_sysconfdir}/puppet %config(noreplace) %{_sysconfdir}/sysconfig/puppet -%config(noreplace) %{_sysconfdir}/puppet/puppetd.conf -%doc CHANGELOG COPYING LICENSE README TODO examples +%config(noreplace) %{_sysconfdir}/puppet/puppet.conf +%ghost %config(noreplace,missingok) %{_sysconfdir}/puppet/puppetd.conf +%doc CHANGELOG COPYING LICENSE README examples %exclude %{_sbindir}/puppetdoc %config(noreplace) %{_sysconfdir}/logrotate.d/puppet # These need to be owned by puppet so the server can @@ -98,8 +106,11 @@ find %{buildroot}%{ruby_sitelibdir} -type f -perm +ugo+x -print0 | xargs -0 -r % %{_sbindir}/puppetmasterd %{_bindir}/puppetrun %{_initrddir}/puppetmaster -%config(noreplace) %{_sysconfdir}/puppet/* +%config(noreplace) %{_sysconfdir}/puppet/fileserver.conf +%dir %{_sysconfdir}/puppet/manifests %config(noreplace) %{_sysconfdir}/sysconfig/puppetmaster +%ghost %config(noreplace,missingok) %{_sysconfdir}/puppet/puppetca.conf +%ghost %config(noreplace,missingok) %{_sysconfdir}/puppet/puppetmasterd.conf %{_sbindir}/puppetca %pre @@ -134,9 +145,14 @@ if [ "$1" -ge 1 ]; then fi %clean -%{__rm} -rf %{buildroot} +rm -rf %{buildroot} %changelog +* Wed Jun 20 2007 David Lutterkort - 0.23.0-1 +- Install one puppet.conf instead of old config files, keep old configs + around to ease update +- Use plain shell commands in install instead of macros + * Wed May 2 2007 David Lutterkort - 0.22.4-1 - New version diff --git a/sources b/sources index 9fd4c7b..9be7481 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -9bb853104f2616c7f2c8fa4e2f39b537 puppet-0.22.4.tgz +c43342d7d24f1fe881ec97b59e7ea02d puppet-0.23.0.tgz From e21f0c20e4fb3a177a110aa227ef59b012cef6aa Mon Sep 17 00:00:00 2001 From: David Lutterkort Date: Fri, 27 Jul 2007 00:06:30 +0000 Subject: [PATCH 019/272] Version 0.23.1 --- .cvsignore | 2 +- puppet.spec | 15 +++++++++------ sources | 2 +- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/.cvsignore b/.cvsignore index 8a18cb0..53b0c3b 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -puppet-0.23.0.tgz +puppet-0.23.1.tgz diff --git a/puppet.spec b/puppet.spec index ec473d2..a6c7a8a 100644 --- a/puppet.spec +++ b/puppet.spec @@ -7,7 +7,7 @@ Summary: A network tool for managing many disparate systems Name: puppet -Version: 0.23.0 +Version: 0.23.1 Release: 1%{?dist} License: GPL Group: System Environment/Base @@ -43,8 +43,6 @@ The server can also function as a certificate authority and file server. %prep %setup -q -cp -p conf/redhat/puppetd.conf conf/redhat/puppet.conf -sed -i -e 's/^\[puppet\]$/[main]/' conf/redhat/puppet.conf %build for f in bin/* ; do @@ -75,10 +73,12 @@ install -Dp -m0644 %{confdir}/server.sysconfig %{buildroot}%{_sysconfdir}/syscon install -Dp -m0755 %{confdir}/server.init %{buildroot}%{_initrddir}/puppetmaster install -Dp -m0644 %{confdir}/fileserver.conf %{buildroot}%{_sysconfdir}/puppet/fileserver.conf install -Dp -m0644 %{confdir}/puppet.conf %{buildroot}%{_sysconfdir}/puppet/puppet.conf -ln -s puppetd.conf %{buildroot}%{_sysconfdir}/puppet/puppetmasterd.conf -ln -s puppetd.conf %{buildroot}%{_sysconfdir}/puppet/puppetca.conf -install -Dp -m0644 %{confdir}/puppetd.conf %{buildroot}%{_sysconfdir}/puppet/puppetd.conf install -Dp -m0644 %{confdir}/logrotate %{buildroot}%{_sysconfdir}/logrotate.d/puppet +# We need something for these ghosted files, otherwise rpmbuild +# will complain loudly. They won't be included in the binary packages +touch %{buildroot}%{_sysconfdir}/puppet/puppetmasterd.conf +touch %{buildroot}%{_sysconfdir}/puppet/puppetca.conf +touch %{buildroot}%{_sysconfdir}/puppet/puppetd.conf %files %defattr(-, root, root, 0755) @@ -148,6 +148,9 @@ fi rm -rf %{buildroot} %changelog +* Thu Jul 26 2007 David Lutterkort - 0.23.1-1 +- Remove old config files + * Wed Jun 20 2007 David Lutterkort - 0.23.0-1 - Install one puppet.conf instead of old config files, keep old configs around to ease update diff --git a/sources b/sources index 9be7481..eb94ef5 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -c43342d7d24f1fe881ec97b59e7ea02d puppet-0.23.0.tgz +ecd13a353633d9dc215eb0582ef45194 puppet-0.23.1.tgz From ec1aecc45ed45e374a6251828ba29aa7195d4952 Mon Sep 17 00:00:00 2001 From: David Lutterkort Date: Wed, 22 Aug 2007 17:21:40 +0000 Subject: [PATCH 020/272] Version 0.23.2 --- .cvsignore | 2 +- puppet.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.cvsignore b/.cvsignore index 53b0c3b..072e1b8 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -puppet-0.23.1.tgz +puppet-0.23.2.tgz diff --git a/puppet.spec b/puppet.spec index a6c7a8a..98a85e5 100644 --- a/puppet.spec +++ b/puppet.spec @@ -7,7 +7,7 @@ Summary: A network tool for managing many disparate systems Name: puppet -Version: 0.23.1 +Version: 0.23.2 Release: 1%{?dist} License: GPL Group: System Environment/Base @@ -148,6 +148,9 @@ fi rm -rf %{buildroot} %changelog +* Wed Aug 22 2007 David Lutterkort - 0.23.2-1 +- New version + * Thu Jul 26 2007 David Lutterkort - 0.23.1-1 - Remove old config files diff --git a/sources b/sources index eb94ef5..ad6b850 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -ecd13a353633d9dc215eb0582ef45194 puppet-0.23.1.tgz +496373ce2a7affbb639f85bcff38da0b puppet-0.23.2.tgz From f4b7031e1b3b48c9d6a7edc8b160b0db6e6def89 Mon Sep 17 00:00:00 2001 From: David Lutterkort Date: Fri, 14 Dec 2007 19:25:44 +0000 Subject: [PATCH 021/272] New version --- .cvsignore | 2 +- puppet.spec | 17 +++++++++++++++-- sources | 2 +- 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/.cvsignore b/.cvsignore index 072e1b8..98fbe3c 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -puppet-0.23.2.tgz +puppet-0.24.0.tgz diff --git a/puppet.spec b/puppet.spec index 98a85e5..863d33b 100644 --- a/puppet.spec +++ b/puppet.spec @@ -7,9 +7,9 @@ Summary: A network tool for managing many disparate systems Name: puppet -Version: 0.23.2 +Version: 0.24.0 Release: 1%{?dist} -License: GPL +License: GPLv2+ Group: System Environment/Base URL: http://puppet.reductivelabs.com/ @@ -48,6 +48,15 @@ The server can also function as a certificate authority and file server. for f in bin/* ; do sed -i -e '1c#!/usr/bin/ruby' $f done +# Fix some rpmlint complaints +for f in mac_dscl.pp mac_dscl_revert.pp \ + mac_netinfo.pp mac_pkgdmg.pp ; do + sed -i -e'1d' examples/code/$f + chmod a-x examples/code/$f +done + +find examples/ -type f -empty | xargs rm +find examples/ -type f | xargs chmod a-x %install rm -rf %{buildroot} @@ -148,6 +157,10 @@ fi rm -rf %{buildroot} %changelog +* Fri Dec 14 2007 David Lutterkort - 0.24.0-1 +- Fixed license +- Munge examples/ to make rpmlint happier + * Wed Aug 22 2007 David Lutterkort - 0.23.2-1 - New version diff --git a/sources b/sources index ad6b850..dbb108b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -496373ce2a7affbb639f85bcff38da0b puppet-0.23.2.tgz +1956f4c8f99007ee69746b21cd62116e puppet-0.24.0.tgz From 5a39f5bf87d907fc05c369b3773e22f42a8ceb31 Mon Sep 17 00:00:00 2001 From: David Lutterkort Date: Mon, 17 Dec 2007 22:22:18 +0000 Subject: [PATCH 022/272] Use updated upstream tarball that contains yumhelper.py --- puppet.spec | 5 ++++- sources | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/puppet.spec b/puppet.spec index 863d33b..ce03416 100644 --- a/puppet.spec +++ b/puppet.spec @@ -8,7 +8,7 @@ Summary: A network tool for managing many disparate systems Name: puppet Version: 0.24.0 -Release: 1%{?dist} +Release: 2%{?dist} License: GPLv2+ Group: System Environment/Base @@ -157,6 +157,9 @@ fi rm -rf %{buildroot} %changelog +* Mon Dec 17 2007 David Lutterkort - 0.24.0-2 +- Use updated upstream tarball that contains yumhelper.py + * Fri Dec 14 2007 David Lutterkort - 0.24.0-1 - Fixed license - Munge examples/ to make rpmlint happier diff --git a/sources b/sources index dbb108b..0682de3 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -1956f4c8f99007ee69746b21cd62116e puppet-0.24.0.tgz +6729f0289393d7fe1e036c84a3d48410 puppet-0.24.0.tgz From 948fae3890a91860076b9f482b6c2f7f03238398 Mon Sep 17 00:00:00 2001 From: David Lutterkort Date: Sat, 22 Dec 2007 22:29:40 +0000 Subject: [PATCH 023/272] New version --- .cvsignore | 2 +- puppet.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/.cvsignore b/.cvsignore index 98fbe3c..73f029b 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -puppet-0.24.0.tgz +puppet-0.24.1.tgz diff --git a/puppet.spec b/puppet.spec index ce03416..9811e34 100644 --- a/puppet.spec +++ b/puppet.spec @@ -7,8 +7,8 @@ Summary: A network tool for managing many disparate systems Name: puppet -Version: 0.24.0 -Release: 2%{?dist} +Version: 0.24.1 +Release: 1%{?dist} License: GPLv2+ Group: System Environment/Base @@ -157,6 +157,9 @@ fi rm -rf %{buildroot} %changelog +* Sat Dec 22 2007 David Lutterkort - 0.24.1-1 +- New version + * Mon Dec 17 2007 David Lutterkort - 0.24.0-2 - Use updated upstream tarball that contains yumhelper.py diff --git a/sources b/sources index 0682de3..73434c4 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -6729f0289393d7fe1e036c84a3d48410 puppet-0.24.0.tgz +74111be5615714ac980473e8d24b52db puppet-0.24.1.tgz From 994dbbd9f5984231fe4090d095de7f711114d195 Mon Sep 17 00:00:00 2001 From: David Lutterkort Date: Wed, 5 Mar 2008 22:41:48 +0000 Subject: [PATCH 024/272] New version --- .cvsignore | 2 +- puppet.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.cvsignore b/.cvsignore index 73f029b..42ebba9 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -puppet-0.24.1.tgz +puppet-0.24.2.tgz diff --git a/puppet.spec b/puppet.spec index 9811e34..fc6b610 100644 --- a/puppet.spec +++ b/puppet.spec @@ -7,7 +7,7 @@ Summary: A network tool for managing many disparate systems Name: puppet -Version: 0.24.1 +Version: 0.24.2 Release: 1%{?dist} License: GPLv2+ Group: System Environment/Base @@ -157,6 +157,9 @@ fi rm -rf %{buildroot} %changelog +* Wed Mar 5 2008 David Lutterkort - 0.24.2-1 +- New version + * Sat Dec 22 2007 David Lutterkort - 0.24.1-1 - New version diff --git a/sources b/sources index 73434c4..9fdb4c7 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -74111be5615714ac980473e8d24b52db puppet-0.24.1.tgz +8f6533c8cbd1b738089671929db05c66 puppet-0.24.2.tgz From 69169c6345093dcb07c7b6ca180b33f578a6dd2f Mon Sep 17 00:00:00 2001 From: David Lutterkort Date: Mon, 24 Mar 2008 18:27:18 +0000 Subject: [PATCH 025/272] New version 0.24.3 --- .cvsignore | 2 +- puppet.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.cvsignore b/.cvsignore index 42ebba9..8f3c5c3 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -puppet-0.24.2.tgz +puppet-0.24.3.tgz diff --git a/puppet.spec b/puppet.spec index fc6b610..b543bb5 100644 --- a/puppet.spec +++ b/puppet.spec @@ -7,7 +7,7 @@ Summary: A network tool for managing many disparate systems Name: puppet -Version: 0.24.2 +Version: 0.24.3 Release: 1%{?dist} License: GPLv2+ Group: System Environment/Base @@ -157,6 +157,9 @@ fi rm -rf %{buildroot} %changelog +* Mon Mar 24 2008 David Lutterkort - 0.24.3-1 +- New version + * Wed Mar 5 2008 David Lutterkort - 0.24.2-1 - New version diff --git a/sources b/sources index 9fdb4c7..0462941 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -8f6533c8cbd1b738089671929db05c66 puppet-0.24.2.tgz +908eb07a4c2d79e4adcc619ce2a7ec24 puppet-0.24.3.tgz From 808a825079e619c4dfd781349120da48b609346f Mon Sep 17 00:00:00 2001 From: David Lutterkort Date: Tue, 25 Mar 2008 22:05:48 +0000 Subject: [PATCH 026/272] New version; add man pages --- .cvsignore | 3 ++- puppet.spec | 20 +++++++++++++++++++- sources | 3 ++- 3 files changed, 23 insertions(+), 3 deletions(-) diff --git a/.cvsignore b/.cvsignore index 8f3c5c3..96d1bec 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1,2 @@ -puppet-0.24.3.tgz +puppet-0.24.4.tgz +manpages.tar.gz diff --git a/puppet.spec b/puppet.spec index b543bb5..6b71ff7 100644 --- a/puppet.spec +++ b/puppet.spec @@ -7,13 +7,15 @@ Summary: A network tool for managing many disparate systems Name: puppet -Version: 0.24.3 +Version: 0.24.4 Release: 1%{?dist} License: GPLv2+ Group: System Environment/Base URL: http://puppet.reductivelabs.com/ Source: http://reductivelabs.com/downloads/puppet/%{name}-%{version}.tgz +# Man pages that were omitted from the release tarball +Source1: manpages.tar.gz Requires: ruby >= 1.8.1 %if %has_ruby_abi @@ -43,6 +45,8 @@ The server can also function as a certificate authority and file server. %prep %setup -q +%setup -a 1 +(cd man/man8 && rm pi.8 puppetdoc.8) %build for f in bin/* ; do @@ -65,6 +69,7 @@ install -d -m0755 %{buildroot}%{_bindir} install -d -m0755 %{buildroot}%{ruby_sitelibdir} install -d -m0755 %{buildroot}%{_sysconfdir}/puppet/manifests install -d -m0755 %{buildroot}%{_docdir}/%{name}-%{version} +install -d -m0755 %{buildroot}%{_mandir}/man8 install -d -m0755 %{buildroot}%{_localstatedir}/lib/puppet install -d -m0755 %{buildroot}%{_localstatedir}/run/puppet install -d -m0755 %{buildroot}%{_localstatedir}/log/puppet @@ -83,6 +88,7 @@ install -Dp -m0755 %{confdir}/server.init %{buildroot}%{_initrddir}/puppetmaster install -Dp -m0644 %{confdir}/fileserver.conf %{buildroot}%{_sysconfdir}/puppet/fileserver.conf install -Dp -m0644 %{confdir}/puppet.conf %{buildroot}%{_sysconfdir}/puppet/puppet.conf install -Dp -m0644 %{confdir}/logrotate %{buildroot}%{_sysconfdir}/logrotate.d/puppet +install -Dp -m0644 man/man8/* %{buildroot}%{_mandir}/man8 # We need something for these ghosted files, otherwise rpmbuild # will complain loudly. They won't be included in the binary packages touch %{buildroot}%{_sysconfdir}/puppet/puppetmasterd.conf @@ -109,6 +115,10 @@ touch %{buildroot}%{_sysconfdir}/puppet/puppetd.conf %attr(-, puppet, puppet) %{_localstatedir}/run/puppet %attr(-, puppet, puppet) %{_localstatedir}/log/puppet %attr(-, puppet, puppet) %{_localstatedir}/lib/puppet +%doc %{_mandir}/man8/puppet.8.gz +%doc %{_mandir}/man8/puppet.conf.8.gz +%doc %{_mandir}/man8/puppetd.8.gz +%doc %{_mandir}/man8/ralsh.8.gz %files server %defattr(-, root, root, 0755) @@ -121,6 +131,10 @@ touch %{buildroot}%{_sysconfdir}/puppet/puppetd.conf %ghost %config(noreplace,missingok) %{_sysconfdir}/puppet/puppetca.conf %ghost %config(noreplace,missingok) %{_sysconfdir}/puppet/puppetmasterd.conf %{_sbindir}/puppetca +%doc %{_mandir}/man8/filebucket.8.gz +%doc %{_mandir}/man8/puppetca.8.gz +%doc %{_mandir}/man8/puppetmasterd.8.gz +%doc %{_mandir}/man8/puppetrun.8.gz %pre /usr/sbin/groupadd -r puppet 2>/dev/null || : @@ -157,6 +171,10 @@ fi rm -rf %{buildroot} %changelog +* Tue Mar 25 2008 David Lutterkort - 0.24.4-1 +- Add man pages (from separate tarball, upstream will fix to + include in main tarball) + * Mon Mar 24 2008 David Lutterkort - 0.24.3-1 - New version diff --git a/sources b/sources index 0462941..1841303 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ -908eb07a4c2d79e4adcc619ce2a7ec24 puppet-0.24.3.tgz +9658624ed3745e8954772b3fbfdcc438 puppet-0.24.4.tgz +f798fd9454f33860b4545513b4b199a6 manpages.tar.gz From 7237c7549d9a9eb7f9ec05ba1a4b0baf1fc592eb Mon Sep 17 00:00:00 2001 From: David Lutterkort Date: Mon, 28 Jul 2008 17:30:00 +0000 Subject: [PATCH 027/272] New version --- .cvsignore | 3 +-- puppet.spec | 41 ++++++++++++++++++++++++----------------- sources | 3 +-- 3 files changed, 26 insertions(+), 21 deletions(-) diff --git a/.cvsignore b/.cvsignore index 96d1bec..6fd9a14 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1,2 +1 @@ -puppet-0.24.4.tgz -manpages.tar.gz +puppet-0.24.5.tgz diff --git a/puppet.spec b/puppet.spec index 6b71ff7..fc32b0f 100644 --- a/puppet.spec +++ b/puppet.spec @@ -7,15 +7,13 @@ Summary: A network tool for managing many disparate systems Name: puppet -Version: 0.24.4 +Version: 0.24.5 Release: 1%{?dist} License: GPLv2+ Group: System Environment/Base URL: http://puppet.reductivelabs.com/ Source: http://reductivelabs.com/downloads/puppet/%{name}-%{version}.tgz -# Man pages that were omitted from the release tarball -Source1: manpages.tar.gz Requires: ruby >= 1.8.1 %if %has_ruby_abi @@ -29,9 +27,9 @@ BuildArchitectures: noarch BuildRequires: ruby >= 1.8.1 %description -Puppet lets you centrally manage every important aspect of your system using a -cross-platform specification language that manages all the separate elements -normally aggregated in different files, like users, cron jobs, and hosts, +Puppet lets you centrally manage every important aspect of your system using a +cross-platform specification language that manages all the separate elements +normally aggregated in different files, like users, cron jobs, and hosts, along with obviously discrete elements like packages, services, and files. %package server @@ -45,18 +43,16 @@ The server can also function as a certificate authority and file server. %prep %setup -q -%setup -a 1 -(cd man/man8 && rm pi.8 puppetdoc.8) %build -for f in bin/* ; do +for f in bin/* ; do sed -i -e '1c#!/usr/bin/ruby' $f done # Fix some rpmlint complaints for f in mac_dscl.pp mac_dscl_revert.pp \ mac_netinfo.pp mac_pkgdmg.pp ; do - sed -i -e'1d' examples/code/$f - chmod a-x examples/code/$f + sed -i -e'1d' examples/$f + chmod a-x examples/$f done find examples/ -type f -empty | xargs rm @@ -78,6 +74,7 @@ mv %{buildroot}%{_sbindir}/puppet %{buildroot}%{_bindir}/puppet mv %{buildroot}%{_sbindir}/ralsh %{buildroot}%{_bindir}/ralsh mv %{buildroot}%{_sbindir}/filebucket %{buildroot}%{_bindir}/filebucket mv %{buildroot}%{_sbindir}/puppetrun %{buildroot}%{_bindir}/puppetrun +mv %{buildroot}%{_sbindir}/puppetdoc %{buildroot}%{_bindir}/puppetdoc install -Dp -m0644 %{pbuild}/lib/puppet.rb %{buildroot}%{ruby_sitelibdir}/puppet.rb cp -a %{pbuild}/lib/puppet %{buildroot}%{ruby_sitelibdir} find %{buildroot}%{ruby_sitelibdir} -type f -perm +ugo+x -print0 | xargs -0 -r chmod a-x @@ -100,6 +97,8 @@ touch %{buildroot}%{_sysconfdir}/puppet/puppetd.conf %{_bindir}/puppet %{_bindir}/ralsh %{_bindir}/filebucket +%{_bindir}/puppetdoc +%exclude %{_mandir}/man8/pi.8.gz %{_sbindir}/puppetd %{ruby_sitelibdir}/* %{_initrddir}/puppet @@ -108,7 +107,6 @@ touch %{buildroot}%{_sysconfdir}/puppet/puppetd.conf %config(noreplace) %{_sysconfdir}/puppet/puppet.conf %ghost %config(noreplace,missingok) %{_sysconfdir}/puppet/puppetd.conf %doc CHANGELOG COPYING LICENSE README examples -%exclude %{_sbindir}/puppetdoc %config(noreplace) %{_sysconfdir}/logrotate.d/puppet # These need to be owned by puppet so the server can # write to them @@ -119,6 +117,7 @@ touch %{buildroot}%{_sysconfdir}/puppet/puppetd.conf %doc %{_mandir}/man8/puppet.conf.8.gz %doc %{_mandir}/man8/puppetd.8.gz %doc %{_mandir}/man8/ralsh.8.gz +%doc %{_mandir}/man8/puppetdoc.8.gz %files server %defattr(-, root, root, 0755) @@ -171,6 +170,14 @@ fi rm -rf %{buildroot} %changelog +* Mon Jul 28 2008 David Lutterkort - 0.24.5-1 +- Add /usr/bin/puppetdoc + +* Thu Jul 24 2008 Brenton Leanhardt +- New version +- man pages now ship with tarball +- examples/code moved to root examples dir in upstream tarball + * Tue Mar 25 2008 David Lutterkort - 0.24.4-1 - Add man pages (from separate tarball, upstream will fix to include in main tarball) @@ -198,7 +205,7 @@ rm -rf %{buildroot} - Remove old config files * Wed Jun 20 2007 David Lutterkort - 0.23.0-1 -- Install one puppet.conf instead of old config files, keep old configs +- Install one puppet.conf instead of old config files, keep old configs around to ease update - Use plain shell commands in install instead of macros @@ -259,7 +266,7 @@ rm -rf %{buildroot} * Mon Jun 19 2006 David Lutterkort - 0.18.0-1 - Patch config for LSB compliance (lsb-config.patch) -- Changed config moves /var/puppet to /var/lib/puppet, /etc/puppet/ssl +- Changed config moves /var/puppet to /var/lib/puppet, /etc/puppet/ssl to /var/lib/puppet, /etc/puppet/clases.txt to /var/lib/puppet/classes.txt, /etc/puppet/localconfig.yaml to /var/lib/puppet/localconfig.yaml @@ -282,7 +289,7 @@ rm -rf %{buildroot} - Rebuilt for new version * Wed Mar 22 2006 David Lutterkort - 0.15.1-1 -- Patch0: Run puppetmaster as root; running as puppet is not ready +- Patch0: Run puppetmaster as root; running as puppet is not ready for primetime * Mon Mar 13 2006 David Lutterkort - 0.15.0-1 @@ -297,7 +304,7 @@ rm -rf %{buildroot} allocate the puppet uid/gid dynamically * Sun Feb 19 2006 David Lutterkort - 0.13.0-4 -- Use fedora-usermgmt to create puppet user/group. Use uid/gid 24. Fixed +- Use fedora-usermgmt to create puppet user/group. Use uid/gid 24. Fixed problem with listing fileserver.conf and puppetmaster.conf twice * Wed Feb 8 2006 David Lutterkort - 0.13.0-3 @@ -322,7 +329,7 @@ problem with listing fileserver.conf and puppetmaster.conf twice - Added basic fileserver.conf * Wed Jan 11 2006 David Lutterkort - 0.10.1-1 -- Updated. Moved installation of library files to sitelibdir. Pulled +- Updated. Moved installation of library files to sitelibdir. Pulled initscripts into separate files. Folded tools rpm into server * Thu Nov 24 2005 Duane Griffin diff --git a/sources b/sources index 1841303..634d3ac 100644 --- a/sources +++ b/sources @@ -1,2 +1 @@ -9658624ed3745e8954772b3fbfdcc438 puppet-0.24.4.tgz -f798fd9454f33860b4545513b4b199a6 manpages.tar.gz +1160bb69966b9145d9f845f1f355dd44 puppet-0.24.5.tgz From 1e6ad1bd6438016f1283b70ef4258731d4fe58d4 Mon Sep 17 00:00:00 2001 From: Todd Zullinger Date: Thu, 23 Oct 2008 21:09:00 +0000 Subject: [PATCH 028/272] - Update to 0.24.6 - Require ruby-shadow on Fedora and RHEL >= 5 - Simplify Fedora/RHEL version checks for ruby(abi) and BuildArch - Require chkconfig and initstripts for preun, post, and postun scripts - Conditionally restart puppet in %postun - Ensure %preun, %post, and %postun scripts exit cleanly - Create puppet user/group according to Fedora packaging guidelines - Quiet a few rpmlint complaints - Remove useless %pbuild macro - Make specfile more like the Fedora/EPEL template --- .cvsignore | 2 +- puppet.spec | 101 +++++++++++++++++++++++++++++++++------------------- sources | 2 +- 3 files changed, 67 insertions(+), 38 deletions(-) diff --git a/.cvsignore b/.cvsignore index 6fd9a14..ff5ea86 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -puppet-0.24.5.tgz +puppet-0.24.6.tgz diff --git a/puppet.spec b/puppet.spec index fc32b0f..e098823 100644 --- a/puppet.spec +++ b/puppet.spec @@ -1,30 +1,33 @@ %{!?ruby_sitelibdir: %define ruby_sitelibdir %(ruby -rrbconfig -e 'puts Config::CONFIG["sitelibdir"]')} -%define pbuild %{_builddir}/%{name}-%{version} %define confdir conf/redhat -%define has_ruby_abi 0%{?fedora:%fedora} >= 5 || 0%{?rhel:%rhel} >= 5 -%define has_ruby_noarch %has_ruby_abi +Name: puppet +Version: 0.24.6 +Release: 1%{?dist} +Summary: A network tool for managing many disparate systems -Summary: A network tool for managing many disparate systems -Name: puppet -Version: 0.24.5 -Release: 1%{?dist} -License: GPLv2+ -Group: System Environment/Base +Group: System Environment/Base -URL: http://puppet.reductivelabs.com/ -Source: http://reductivelabs.com/downloads/puppet/%{name}-%{version}.tgz +License: GPLv2+ +URL: http://puppet.reductivelabs.com/ +Source0: http://reductivelabs.com/downloads/puppet/%{name}-%{version}.tgz +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) -Requires: ruby >= 1.8.1 -%if %has_ruby_abi -Requires: ruby(abi) = 1.8 +BuildRequires: ruby >= 1.8.1 + +%if 0%{?fedora} || 0%{?rhel} >= 5 +BuildArch: noarch +Requires: ruby(abi) = 1.8 +Requires: ruby-shadow %endif -Requires: facter >= 1.1.4 -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) -%if %has_ruby_noarch -BuildArchitectures: noarch -%endif -BuildRequires: ruby >= 1.8.1 + +Requires: facter >= 1.1.4 +Requires: ruby >= 1.8.1 +Requires(pre): shadow-utils +Requires(post): chkconfig +Requires(preun): chkconfig +Requires(preun): initscripts +Requires(postun): initscripts %description Puppet lets you centrally manage every important aspect of your system using a @@ -33,9 +36,13 @@ normally aggregated in different files, like users, cron jobs, and hosts, along with obviously discrete elements like packages, services, and files. %package server -Group: System Environment/Base -Summary: Server for the puppet system management tool -Requires: puppet = %{version}-%{release} +Group: System Environment/Base +Summary: Server for the puppet system management tool +Requires: puppet = %{version}-%{release} +Requires(post): chkconfig +Requires(preun): chkconfig +Requires(preun): initscripts +Requires(postun): initscripts %description server Provides the central puppet server daemon which provides manifests to clients. @@ -54,6 +61,9 @@ for f in mac_dscl.pp mac_dscl_revert.pp \ sed -i -e'1d' examples/$f chmod a-x examples/$f done +for f in external/nagios.rb network/http_server/mongrel.rb relationship.rb; do + sed -i -e '1d' lib/puppet/$f +done find examples/ -type f -empty | xargs rm find examples/ -type f | xargs chmod a-x @@ -69,14 +79,14 @@ install -d -m0755 %{buildroot}%{_mandir}/man8 install -d -m0755 %{buildroot}%{_localstatedir}/lib/puppet install -d -m0755 %{buildroot}%{_localstatedir}/run/puppet install -d -m0755 %{buildroot}%{_localstatedir}/log/puppet -install -Dp -m0755 %{pbuild}/bin/* %{buildroot}%{_sbindir} +install -Dp -m0755 bin/* %{buildroot}%{_sbindir} mv %{buildroot}%{_sbindir}/puppet %{buildroot}%{_bindir}/puppet mv %{buildroot}%{_sbindir}/ralsh %{buildroot}%{_bindir}/ralsh mv %{buildroot}%{_sbindir}/filebucket %{buildroot}%{_bindir}/filebucket mv %{buildroot}%{_sbindir}/puppetrun %{buildroot}%{_bindir}/puppetrun mv %{buildroot}%{_sbindir}/puppetdoc %{buildroot}%{_bindir}/puppetdoc -install -Dp -m0644 %{pbuild}/lib/puppet.rb %{buildroot}%{ruby_sitelibdir}/puppet.rb -cp -a %{pbuild}/lib/puppet %{buildroot}%{ruby_sitelibdir} +install -Dp -m0644 lib/puppet.rb %{buildroot}%{ruby_sitelibdir}/puppet.rb +cp -a lib/puppet %{buildroot}%{ruby_sitelibdir} find %{buildroot}%{ruby_sitelibdir} -type f -perm +ugo+x -print0 | xargs -0 -r chmod a-x install -Dp -m0644 %{confdir}/client.sysconfig %{buildroot}%{_sysconfdir}/sysconfig/puppet install -Dp -m0755 %{confdir}/client.init %{buildroot}%{_initrddir}/puppet @@ -136,40 +146,59 @@ touch %{buildroot}%{_sysconfdir}/puppet/puppetd.conf %doc %{_mandir}/man8/puppetrun.8.gz %pre -/usr/sbin/groupadd -r puppet 2>/dev/null || : -/usr/sbin/useradd -g puppet -c "Puppet" \ - -s /sbin/nologin -r -d /var/lib/puppet puppet 2> /dev/null || : +getent group puppet >/dev/null || groupadd -r puppet +getent passwd puppet >/dev/null || \ +useradd -r -g puppet -d %{_localstatedir}/lib/puppet -s /sbin/nologin \ + -c "Puppet" puppet || : +# ensure that old setups have the right puppet home dir if [ $1 -gt 1 ] ; then - /usr/sbin/usermod -d /var/lib/puppet puppet || : + usermod -d %{_localstatedir}/lib/puppet puppet || : fi + %post -/sbin/chkconfig --add puppet -exit 0 +/sbin/chkconfig --add puppet || : %post server -/sbin/chkconfig --add puppetmaster +/sbin/chkconfig --add puppetmaster || : %preun if [ "$1" = 0 ] ; then /sbin/service puppet stop > /dev/null 2>&1 - /sbin/chkconfig --del puppet + /sbin/chkconfig --del puppet || : fi %preun server if [ "$1" = 0 ] ; then /sbin/service puppetmaster stop > /dev/null 2>&1 - /sbin/chkconfig --del puppetmaster + /sbin/chkconfig --del puppetmaster || : +fi + +%postun +if [ "$1" -ge 1 ]; then + /sbin/service puppet condrestart >/dev/null 2>&1 || : fi %postun server if [ "$1" -ge 1 ]; then - /sbin/service puppetmaster condrestart > /dev/null 2>&1 + /sbin/service puppetmaster condrestart > /dev/null 2>&1 || : fi %clean rm -rf %{buildroot} %changelog +* Wed Oct 22 2008 Todd Zullinger - 0.24.6-1 +- Update to 0.24.6 +- Require ruby-shadow on Fedora and RHEL >= 5 +- Simplify Fedora/RHEL version checks for ruby(abi) and BuildArch +- Require chkconfig and initstripts for preun, post, and postun scripts +- Conditionally restart puppet in %%postun +- Ensure %%preun, %%post, and %%postun scripts exit cleanly +- Create puppet user/group according to Fedora packaging guidelines +- Quiet a few rpmlint complaints +- Remove useless %%pbuild macro +- Make specfile more like the Fedora/EPEL template + * Mon Jul 28 2008 David Lutterkort - 0.24.5-1 - Add /usr/bin/puppetdoc diff --git a/sources b/sources index 634d3ac..0a43dc7 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -1160bb69966b9145d9f845f1f355dd44 puppet-0.24.5.tgz +dcc84cd9bc5c411536ab88589079459b puppet-0.24.6.tgz From e1df5a4049a77009af954fe1417fc4c0bc41060b Mon Sep 17 00:00:00 2001 From: David Lutterkort Date: Mon, 15 Dec 2008 11:23:59 +0000 Subject: [PATCH 029/272] Use fixed uid/gid pair across all active branches --- puppet.spec | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/puppet.spec b/puppet.spec index e098823..718df95 100644 --- a/puppet.spec +++ b/puppet.spec @@ -145,10 +145,12 @@ touch %{buildroot}%{_sysconfdir}/puppet/puppetd.conf %doc %{_mandir}/man8/puppetmasterd.8.gz %doc %{_mandir}/man8/puppetrun.8.gz +# Fixed uid/gid were assigned in bz 472073 (Fedora), 471918 (RHEL-5), +# and 471919 (RHEL-4) %pre -getent group puppet >/dev/null || groupadd -r puppet +getent group puppet >/dev/null || groupadd -r puppet -g 52 getent passwd puppet >/dev/null || \ -useradd -r -g puppet -d %{_localstatedir}/lib/puppet -s /sbin/nologin \ +useradd -r -u 52 -g puppet -d %{_localstatedir}/lib/puppet -s /sbin/nologin \ -c "Puppet" puppet || : # ensure that old setups have the right puppet home dir if [ $1 -gt 1 ] ; then From 2f7f048893c277d2b6b607b802804859cadb935b Mon Sep 17 00:00:00 2001 From: Jeroen van Meeuwen Date: Tue, 16 Dec 2008 08:42:47 +0000 Subject: [PATCH 030/272] 0.24.7-1 --- .cvsignore | 2 +- import.log | 1 + no-lockdir.patch | 13 ------------- puppet.spec | 19 +++++++++++-------- sources | 2 +- 5 files changed, 14 insertions(+), 23 deletions(-) create mode 100644 import.log delete mode 100644 no-lockdir.patch diff --git a/.cvsignore b/.cvsignore index ff5ea86..c26606c 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -puppet-0.24.6.tgz +puppet-0.24.7.tgz diff --git a/import.log b/import.log new file mode 100644 index 0000000..6a11ccc --- /dev/null +++ b/import.log @@ -0,0 +1 @@ +puppet-0_24_7-1_fc10:HEAD:puppet-0.24.7-1.fc10.src.rpm:1229416939 diff --git a/no-lockdir.patch b/no-lockdir.patch deleted file mode 100644 index 899a202..0000000 --- a/no-lockdir.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- puppet-0.22.1/conf/redhat/puppetd.conf.orig 2006-09-27 10:30:35.000000000 -0700 -+++ puppet-0.22.1/conf/redhat/puppetd.conf 2007-02-11 13:27:04.000000000 -0800 -@@ -11,10 +11,6 @@ - # The default value is '$vardir/run'. - rundir = /var/run/puppet - -- # Where lock files are kept. -- # The default value is '$vardir/locks'. -- lockdir = /var/lock -- - # Where SSL certificates are kept. - # The default value is '$confdir/ssl'. - ssldir = $vardir/ssl diff --git a/puppet.spec b/puppet.spec index 718df95..4fd015d 100644 --- a/puppet.spec +++ b/puppet.spec @@ -2,12 +2,9 @@ %define confdir conf/redhat Name: puppet -Version: 0.24.6 +Version: 0.24.7 Release: 1%{?dist} Summary: A network tool for managing many disparate systems - -Group: System Environment/Base - License: GPLv2+ URL: http://puppet.reductivelabs.com/ Source0: http://reductivelabs.com/downloads/puppet/%{name}-%{version}.tgz @@ -21,6 +18,11 @@ Requires: ruby(abi) = 1.8 Requires: ruby-shadow %endif +# Pull in libselinux-ruby where it is available +%if 0%{?fedora} >=9 +Requires: libselinux-ruby +%endif + Requires: facter >= 1.1.4 Requires: ruby >= 1.8.1 Requires(pre): shadow-utils @@ -145,12 +147,10 @@ touch %{buildroot}%{_sysconfdir}/puppet/puppetd.conf %doc %{_mandir}/man8/puppetmasterd.8.gz %doc %{_mandir}/man8/puppetrun.8.gz -# Fixed uid/gid were assigned in bz 472073 (Fedora), 471918 (RHEL-5), -# and 471919 (RHEL-4) %pre -getent group puppet >/dev/null || groupadd -r puppet -g 52 +getent group puppet >/dev/null || groupadd -r puppet getent passwd puppet >/dev/null || \ -useradd -r -u 52 -g puppet -d %{_localstatedir}/lib/puppet -s /sbin/nologin \ +useradd -r -g puppet -d %{_localstatedir}/lib/puppet -s /sbin/nologin \ -c "Puppet" puppet || : # ensure that old setups have the right puppet home dir if [ $1 -gt 1 ] ; then @@ -189,6 +189,9 @@ fi rm -rf %{buildroot} %changelog +* Tue Dec 16 2008 Jeroen van Meeuwen - 0.24.7-1 +- New upstream version + * Wed Oct 22 2008 Todd Zullinger - 0.24.6-1 - Update to 0.24.6 - Require ruby-shadow on Fedora and RHEL >= 5 diff --git a/sources b/sources index 0a43dc7..79aeb04 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -dcc84cd9bc5c411536ab88589079459b puppet-0.24.6.tgz +36f57de5c2e069d04752f0539034227d puppet-0.24.7.tgz From 79c31eb8eb06dfe4ad1e630d8e66c646ba97c302 Mon Sep 17 00:00:00 2001 From: Jeroen van Meeuwen Date: Tue, 16 Dec 2008 09:02:06 +0000 Subject: [PATCH 031/272] 0.24.7-3 --- import.log | 1 + puppet.spec | 15 ++++++++++++--- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/import.log b/import.log index 6a11ccc..b34d8b6 100644 --- a/import.log +++ b/import.log @@ -1 +1,2 @@ puppet-0_24_7-1_fc10:HEAD:puppet-0.24.7-1.fc10.src.rpm:1229416939 +puppet-0_24_7-3_fc10:HEAD:puppet-0.24.7-3.fc10.src.rpm:1229418101 diff --git a/puppet.spec b/puppet.spec index 4fd015d..5d95fdd 100644 --- a/puppet.spec +++ b/puppet.spec @@ -3,11 +3,13 @@ Name: puppet Version: 0.24.7 -Release: 1%{?dist} +Release: 3%{?dist} Summary: A network tool for managing many disparate systems License: GPLv2+ URL: http://puppet.reductivelabs.com/ Source0: http://reductivelabs.com/downloads/puppet/%{name}-%{version}.tgz +Group: System Environment/Base + BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: ruby >= 1.8.1 @@ -25,6 +27,7 @@ Requires: libselinux-ruby Requires: facter >= 1.1.4 Requires: ruby >= 1.8.1 +Requires: ruby-augeas Requires(pre): shadow-utils Requires(post): chkconfig Requires(preun): chkconfig @@ -147,9 +150,12 @@ touch %{buildroot}%{_sysconfdir}/puppet/puppetd.conf %doc %{_mandir}/man8/puppetmasterd.8.gz %doc %{_mandir}/man8/puppetrun.8.gz +# Fixed uid/gid were assigned in bz 472073 (Fedora), 471918 (RHEL-5), +# and 471919 (RHEL-4) %pre -getent group puppet >/dev/null || groupadd -r puppet +getent group puppet >/dev/null || groupadd -r puppet -g 52 getent passwd puppet >/dev/null || \ +useradd -r -u 52 -g puppet -d %{_localstatedir}/lib/puppet -s /sbin/nologin \ useradd -r -g puppet -d %{_localstatedir}/lib/puppet -s /sbin/nologin \ -c "Puppet" puppet || : # ensure that old setups have the right puppet home dir @@ -189,8 +195,11 @@ fi rm -rf %{buildroot} %changelog -* Tue Dec 16 2008 Jeroen van Meeuwen - 0.24.7-1 +* Tue Dec 16 2008 Jeroen van Meeuwen - 0.24.7-3 - New upstream version +- Set a static uid and gid (#472073, #471918, #471919) +- Add a conditional requirement on libselinux-ruby for Fedora >= 9 +- Add a dependency on ruby-augeas * Wed Oct 22 2008 Todd Zullinger - 0.24.6-1 - Update to 0.24.6 From c0270277a4bd091371c9712f0c14bcd0bb13513b Mon Sep 17 00:00:00 2001 From: Todd Zullinger Date: Tue, 16 Dec 2008 22:46:36 +0000 Subject: [PATCH 032/272] Remove redundant useradd from %%pre --- puppet.spec | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/puppet.spec b/puppet.spec index 5d95fdd..a4c8bf1 100644 --- a/puppet.spec +++ b/puppet.spec @@ -3,7 +3,7 @@ Name: puppet Version: 0.24.7 -Release: 3%{?dist} +Release: 4%{?dist} Summary: A network tool for managing many disparate systems License: GPLv2+ URL: http://puppet.reductivelabs.com/ @@ -156,7 +156,6 @@ touch %{buildroot}%{_sysconfdir}/puppet/puppetd.conf getent group puppet >/dev/null || groupadd -r puppet -g 52 getent passwd puppet >/dev/null || \ useradd -r -u 52 -g puppet -d %{_localstatedir}/lib/puppet -s /sbin/nologin \ -useradd -r -g puppet -d %{_localstatedir}/lib/puppet -s /sbin/nologin \ -c "Puppet" puppet || : # ensure that old setups have the right puppet home dir if [ $1 -gt 1 ] ; then @@ -195,6 +194,9 @@ fi rm -rf %{buildroot} %changelog +* Tue Dec 16 2008 Todd Zullinger - 0.24.7-4 +- Remove redundant useradd from %%pre + * Tue Dec 16 2008 Jeroen van Meeuwen - 0.24.7-3 - New upstream version - Set a static uid and gid (#472073, #471918, #471919) From 4f6a0a0b2652c01a8d62d9cb9a829504199bda6a Mon Sep 17 00:00:00 2001 From: Jesse Keating Date: Fri, 27 Feb 2009 03:00:30 +0000 Subject: [PATCH 033/272] - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild --- puppet.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/puppet.spec b/puppet.spec index a4c8bf1..d8d844c 100644 --- a/puppet.spec +++ b/puppet.spec @@ -3,7 +3,7 @@ Name: puppet Version: 0.24.7 -Release: 4%{?dist} +Release: 5%{?dist} Summary: A network tool for managing many disparate systems License: GPLv2+ URL: http://puppet.reductivelabs.com/ @@ -194,6 +194,9 @@ fi rm -rf %{buildroot} %changelog +* Thu Feb 26 2009 Fedora Release Engineering - 0.24.7-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + * Tue Dec 16 2008 Todd Zullinger - 0.24.7-4 - Remove redundant useradd from %%pre From 33c6c9b5508e49ef6b305213c94fb6321f056124 Mon Sep 17 00:00:00 2001 From: Todd Zullinger Date: Tue, 24 Mar 2009 00:08:05 +0000 Subject: [PATCH 034/272] Update to 0.24.8 - Quiet output from %pre - Use upstream install script - Increase required facter version to >= 1.5 --- .cvsignore | 2 +- puppet.spec | 46 +++++++++++++++++++++------------------------- sources | 2 +- 3 files changed, 23 insertions(+), 27 deletions(-) diff --git a/.cvsignore b/.cvsignore index c26606c..cd3e227 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -puppet-0.24.7.tgz +puppet-0.24.8.tgz diff --git a/puppet.spec b/puppet.spec index d8d844c..4b25efc 100644 --- a/puppet.spec +++ b/puppet.spec @@ -2,8 +2,8 @@ %define confdir conf/redhat Name: puppet -Version: 0.24.7 -Release: 5%{?dist} +Version: 0.24.8 +Release: 1%{?dist} Summary: A network tool for managing many disparate systems License: GPLv2+ URL: http://puppet.reductivelabs.com/ @@ -12,6 +12,7 @@ Group: System Environment/Base BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +BuildRequires: facter >= 1.5 BuildRequires: ruby >= 1.8.1 %if 0%{?fedora} || 0%{?rhel} >= 5 @@ -25,7 +26,7 @@ Requires: ruby-shadow Requires: libselinux-ruby %endif -Requires: facter >= 1.1.4 +Requires: facter >= 1.5 Requires: ruby >= 1.8.1 Requires: ruby-augeas Requires(pre): shadow-utils @@ -56,10 +57,11 @@ The server can also function as a certificate authority and file server. %prep %setup -q +# Move puppetca, puppetd, and puppetmasterd to sbin +mkdir sbin +mv bin/puppet{ca,d,masterd} sbin/ + %build -for f in bin/* ; do - sed -i -e '1c#!/usr/bin/ruby' $f -done # Fix some rpmlint complaints for f in mac_dscl.pp mac_dscl_revert.pp \ mac_netinfo.pp mac_pkgdmg.pp ; do @@ -75,24 +77,12 @@ find examples/ -type f | xargs chmod a-x %install rm -rf %{buildroot} -install -d -m0755 %{buildroot}%{_sbindir} -install -d -m0755 %{buildroot}%{_bindir} -install -d -m0755 %{buildroot}%{ruby_sitelibdir} +ruby install.rb --destdir=%{buildroot} --quick --no-rdoc + install -d -m0755 %{buildroot}%{_sysconfdir}/puppet/manifests -install -d -m0755 %{buildroot}%{_docdir}/%{name}-%{version} -install -d -m0755 %{buildroot}%{_mandir}/man8 install -d -m0755 %{buildroot}%{_localstatedir}/lib/puppet install -d -m0755 %{buildroot}%{_localstatedir}/run/puppet install -d -m0755 %{buildroot}%{_localstatedir}/log/puppet -install -Dp -m0755 bin/* %{buildroot}%{_sbindir} -mv %{buildroot}%{_sbindir}/puppet %{buildroot}%{_bindir}/puppet -mv %{buildroot}%{_sbindir}/ralsh %{buildroot}%{_bindir}/ralsh -mv %{buildroot}%{_sbindir}/filebucket %{buildroot}%{_bindir}/filebucket -mv %{buildroot}%{_sbindir}/puppetrun %{buildroot}%{_bindir}/puppetrun -mv %{buildroot}%{_sbindir}/puppetdoc %{buildroot}%{_bindir}/puppetdoc -install -Dp -m0644 lib/puppet.rb %{buildroot}%{ruby_sitelibdir}/puppet.rb -cp -a lib/puppet %{buildroot}%{ruby_sitelibdir} -find %{buildroot}%{ruby_sitelibdir} -type f -perm +ugo+x -print0 | xargs -0 -r chmod a-x install -Dp -m0644 %{confdir}/client.sysconfig %{buildroot}%{_sysconfdir}/sysconfig/puppet install -Dp -m0755 %{confdir}/client.init %{buildroot}%{_initrddir}/puppet install -Dp -m0644 %{confdir}/server.sysconfig %{buildroot}%{_sysconfdir}/sysconfig/puppetmaster @@ -100,7 +90,7 @@ install -Dp -m0755 %{confdir}/server.init %{buildroot}%{_initrddir}/puppetmaster install -Dp -m0644 %{confdir}/fileserver.conf %{buildroot}%{_sysconfdir}/puppet/fileserver.conf install -Dp -m0644 %{confdir}/puppet.conf %{buildroot}%{_sysconfdir}/puppet/puppet.conf install -Dp -m0644 %{confdir}/logrotate %{buildroot}%{_sysconfdir}/logrotate.d/puppet -install -Dp -m0644 man/man8/* %{buildroot}%{_mandir}/man8 + # We need something for these ghosted files, otherwise rpmbuild # will complain loudly. They won't be included in the binary packages touch %{buildroot}%{_sysconfdir}/puppet/puppetmasterd.conf @@ -153,13 +143,13 @@ touch %{buildroot}%{_sysconfdir}/puppet/puppetd.conf # Fixed uid/gid were assigned in bz 472073 (Fedora), 471918 (RHEL-5), # and 471919 (RHEL-4) %pre -getent group puppet >/dev/null || groupadd -r puppet -g 52 -getent passwd puppet >/dev/null || \ +getent group puppet &>/dev/null || groupadd -r puppet -g 52 &>/dev/null +getent passwd puppet &>/dev/null || \ useradd -r -u 52 -g puppet -d %{_localstatedir}/lib/puppet -s /sbin/nologin \ - -c "Puppet" puppet || : + -c "Puppet" puppet &>/dev/null || : # ensure that old setups have the right puppet home dir if [ $1 -gt 1 ] ; then - usermod -d %{_localstatedir}/lib/puppet puppet || : + usermod -d %{_localstatedir}/lib/puppet puppet &>/dev/null || : fi %post @@ -194,6 +184,12 @@ fi rm -rf %{buildroot} %changelog +* Mon Mar 23 2009 Todd Zullinger - 0.24.8-1 +- Update to 0.24.8 +- Quiet output from %%pre +- Use upstream install script +- Increase required facter version to >= 1.5 + * Thu Feb 26 2009 Fedora Release Engineering - 0.24.7-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild diff --git a/sources b/sources index 79aeb04..cc908de 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -36f57de5c2e069d04752f0539034227d puppet-0.24.7.tgz +288d46dee00acad64d0f3ecc6d8ba6fa puppet-0.24.8.tgz From 3a9df1343ada9dafcf4d216ceec4991feba04460 Mon Sep 17 00:00:00 2001 From: Jeroen van Meeuwen Date: Wed, 24 Jun 2009 11:45:39 +0000 Subject: [PATCH 035/272] 0.24.8-2 --- import.log | 1 + puppet.spec | 31 +++++++++++++++++++++++++++---- 2 files changed, 28 insertions(+), 4 deletions(-) diff --git a/import.log b/import.log index b34d8b6..e622089 100644 --- a/import.log +++ b/import.log @@ -1,2 +1,3 @@ puppet-0_24_7-1_fc10:HEAD:puppet-0.24.7-1.fc10.src.rpm:1229416939 puppet-0_24_7-3_fc10:HEAD:puppet-0.24.7-3.fc10.src.rpm:1229418101 +puppet-0_24_8-2_fc11:HEAD:puppet-0.24.8-2.fc11.src.rpm:1245843917 diff --git a/puppet.spec b/puppet.spec index 4b25efc..9895fc6 100644 --- a/puppet.spec +++ b/puppet.spec @@ -1,9 +1,12 @@ +# Augeas and SELinux requirements may be disabled at build time by passing +# --without augeas and/or --without selinux to rpmbuild or mock + %{!?ruby_sitelibdir: %define ruby_sitelibdir %(ruby -rrbconfig -e 'puts Config::CONFIG["sitelibdir"]')} %define confdir conf/redhat Name: puppet Version: 0.24.8 -Release: 1%{?dist} +Release: 2%{?dist} Summary: A network tool for managing many disparate systems License: GPLv2+ URL: http://puppet.reductivelabs.com/ @@ -23,12 +26,13 @@ Requires: ruby-shadow # Pull in libselinux-ruby where it is available %if 0%{?fedora} >=9 -Requires: libselinux-ruby +%{!?_without_selinux:Requires: libselinux-ruby} %endif Requires: facter >= 1.5 Requires: ruby >= 1.8.1 -Requires: ruby-augeas +%{!?_without_augeas:Requires: ruby-augeas} + Requires(pre): shadow-utils Requires(post): chkconfig Requires(preun): chkconfig @@ -97,8 +101,20 @@ touch %{buildroot}%{_sysconfdir}/puppet/puppetmasterd.conf touch %{buildroot}%{_sysconfdir}/puppet/puppetca.conf touch %{buildroot}%{_sysconfdir}/puppet/puppetd.conf +# Install emacs mode files +emacsdir=%{buildroot}%{_datadir}/emacs/site-lisp +install -Dp -m0644 ext/emacs/puppet-mode.el $emacsdir/puppet-mode.el +install -Dp -m0644 ext/emacs/puppet-mode-init.el \ + $emacsdir/site-start.d/puppet-mode-init.el + +# Install vim syntax files +vimdir=%{buildroot}%{_datadir}/vim/vimfiles +install -Dp -m0644 ext/vim/ftdetect/puppet.vim $vimdir/ftdetect/puppet.vim +install -Dp -m0644 ext/vim/syntax/puppet.vim $vimdir/syntax/puppet.vim + %files %defattr(-, root, root, 0755) +%doc CHANGELOG COPYING LICENSE README examples ext %{_bindir}/puppet %{_bindir}/ralsh %{_bindir}/filebucket @@ -111,8 +127,10 @@ touch %{buildroot}%{_sysconfdir}/puppet/puppetd.conf %config(noreplace) %{_sysconfdir}/sysconfig/puppet %config(noreplace) %{_sysconfdir}/puppet/puppet.conf %ghost %config(noreplace,missingok) %{_sysconfdir}/puppet/puppetd.conf -%doc CHANGELOG COPYING LICENSE README examples %config(noreplace) %{_sysconfdir}/logrotate.d/puppet +# We don't want to require emacs or vim, so we need to own these dirs +%{_datadir}/emacs +%{_datadir}/vim/vimfiles # These need to be owned by puppet so the server can # write to them %attr(-, puppet, puppet) %{_localstatedir}/run/puppet @@ -184,6 +202,11 @@ fi rm -rf %{buildroot} %changelog +* Fri May 29 2009 Todd Zullinger - 0.24.8-2 +- Make Augeas and SELinux requirements build time options +- Install emacs mode and vim syntax files (#491437) +- Include ext/ directory in %%doc + * Mon Mar 23 2009 Todd Zullinger - 0.24.8-1 - Update to 0.24.8 - Quiet output from %%pre From 5e5467ffebc10aa4b8b0506d8fd6ac16ae25809a Mon Sep 17 00:00:00 2001 From: Jesse Keating Date: Sun, 26 Jul 2009 19:39:51 +0000 Subject: [PATCH 036/272] - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild --- puppet.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/puppet.spec b/puppet.spec index 9895fc6..60d100d 100644 --- a/puppet.spec +++ b/puppet.spec @@ -6,7 +6,7 @@ Name: puppet Version: 0.24.8 -Release: 2%{?dist} +Release: 3%{?dist} Summary: A network tool for managing many disparate systems License: GPLv2+ URL: http://puppet.reductivelabs.com/ @@ -202,6 +202,9 @@ fi rm -rf %{buildroot} %changelog +* Sun Jul 26 2009 Fedora Release Engineering - 0.24.8-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + * Fri May 29 2009 Todd Zullinger - 0.24.8-2 - Make Augeas and SELinux requirements build time options - Install emacs mode and vim syntax files (#491437) From 53644be93211491d2299612e2e6e616a3b67718b Mon Sep 17 00:00:00 2001 From: Todd Zullinger Date: Sat, 8 Aug 2009 15:17:00 +0000 Subject: [PATCH 037/272] Fix a number of packaging and source bugs Fri Aug 07 2009 Todd Zullinger - 0.24.8-4 - Fix status -p handling on older RHEL (#501577) - Fix condrestart when daemon's aren't running (#480600) - Fix timeout reading /proc/mounts (upstream #1963) - Fix permissions on /var/log/puppet (#495096) - Fix rails test for activerecord-2.3 (#515728) Wed Jun 24 2009 Jeroen van Meeuwen - Fix permissions on /var/run/puppet/ (#495096) - Support initializing supplementary groups (#1806, #475201, Till Maas) - Own the correct vim directory - Move ext/ outside of doc datadir (rpmlint) - Require ruby(selinux) rather then libselinux-ruby (#507848) --- puppet-0.24.8-activerecord-test.patch | 46 +++++++++++++ puppet-0.24.8-condrestart.patch | 82 ++++++++++++++++++++++++ puppet-0.24.8-read-proc-mounts.patch | 36 +++++++++++ puppet-0.24.8-rundir-perms.patch | 25 ++++++++ puppet-0.24.8-status-options.patch | 41 ++++++++++++ puppet-0.24.8-supplementary-groups.patch | 74 +++++++++++++++++++++ puppet.spec | 61 ++++++++++++++++-- 7 files changed, 359 insertions(+), 6 deletions(-) create mode 100644 puppet-0.24.8-activerecord-test.patch create mode 100644 puppet-0.24.8-condrestart.patch create mode 100644 puppet-0.24.8-read-proc-mounts.patch create mode 100644 puppet-0.24.8-rundir-perms.patch create mode 100644 puppet-0.24.8-status-options.patch create mode 100644 puppet-0.24.8-supplementary-groups.patch diff --git a/puppet-0.24.8-activerecord-test.patch b/puppet-0.24.8-activerecord-test.patch new file mode 100644 index 0000000..fac8473 --- /dev/null +++ b/puppet-0.24.8-activerecord-test.patch @@ -0,0 +1,46 @@ +From a7a9fb5afaa58922bb6ecb49e04b5ed59f381d22 Mon Sep 17 00:00:00 2001 +From: Luke Kanies +Date: Thu, 23 Apr 2009 18:56:30 -0500 +Subject: [PATCH/puppet] Fixing the Rails feature test to require 2.3.x + +Signed-off-by: Luke Kanies +--- + lib/puppet/feature/rails.rb | 21 ++++----------------- + 1 files changed, 4 insertions(+), 17 deletions(-) + +diff --git a/lib/puppet/feature/rails.rb b/lib/puppet/feature/rails.rb +index 63e6f00..561863c 100644 +--- a/lib/puppet/feature/rails.rb ++++ b/lib/puppet/feature/rails.rb +@@ -28,24 +28,11 @@ Puppet.features.add(:rails) do + end + end + +- # If we couldn't find it the normal way, try using a Gem. +- unless defined? ActiveRecord +- begin +- require 'rubygems' +- require 'rails' +- rescue LoadError +- # Nothing +- end ++ unless defined?(::ActiveRecord) and ::ActiveRecord::VERSION::MAJOR == 2 and ::ActiveRecord::VERSION::MINOR == 3 ++ Puppet.err "ActiveRecord 2.3 required for StoreConfigs" ++ raise "ActiveRecord 2.3 required for StoreConfigs" + end + +- # We check a fairly specific class, so that we can be sure that we've +- # loaded a new enough version of AR that will support the features we +- # actually use. +- if defined? ActiveRecord::Associations::BelongsToPolymorphicAssociation +- require 'puppet/rails' +- true +- else +- false +- end ++ true + end + +-- +1.6.4 + diff --git a/puppet-0.24.8-condrestart.patch b/puppet-0.24.8-condrestart.patch new file mode 100644 index 0000000..2809c1c --- /dev/null +++ b/puppet-0.24.8-condrestart.patch @@ -0,0 +1,82 @@ +From fc161e4a5ad4d470d0fe17b734004ab675eaa6ae Mon Sep 17 00:00:00 2001 +From: Todd Zullinger +Date: Fri, 3 Jul 2009 10:22:19 -0400 +Subject: [PATCH/puppet 2/2] conf/redhat/*.init: Fix condrestart/try-restart + +Previously, the Red Hat init scripts used the $pidfile or $lockfile as a +test for whether to restart the daemons. This caused condrestart to +start the daemons even when they were not running, in cases where they +had died or been killed without cleaning up the $pidfile/$lockfile. + +This was reported by Ingvar Hagelund in Red Hat bug #480600. +--- + conf/redhat/client.init | 7 ++++++- + conf/redhat/server.init | 11 ++++++++--- + 2 files changed, 14 insertions(+), 4 deletions(-) + +diff --git a/conf/redhat/client.init b/conf/redhat/client.init +index f40e81d..fda156c 100644 +--- a/conf/redhat/client.init ++++ b/conf/redhat/client.init +@@ -67,6 +67,10 @@ rh_status() { + status $statusopts $puppetd + } + ++rh_status_q() { ++ rh_status >/dev/null 2>&1 ++} ++ + genconfig() { + echo -n $"Generate configuration puppet: " + $puppetd ${PUPPET_OPTS} ${PUPPET_EXTRA_OPTS} --genconfig +@@ -86,7 +90,8 @@ case "$1" in + reload + ;; + condrestart|try-restart) +- [ -f "$pidfile" ] && restart ++ rh_status_q || exit 0 ++ restart + ;; + status) + rh_status +diff --git a/conf/redhat/server.init b/conf/redhat/server.init +index 6871b9a..74cb52f 100644 +--- a/conf/redhat/server.init ++++ b/conf/redhat/server.init +@@ -89,7 +89,7 @@ genconfig() { + $PUPPETMASTER $PUPPETMASTER_OPTS --genconfig + } + +-puppetmaster_status() { ++rh_status() { + if [ -n "$PUPPETMASTER_PORTS" ] && [ ${#PUPPETMASTER_PORTS[@]} -gt 1 ]; then + for ((i=0; i<${#PUPPETMASTER_PORTS[@]}; i++)); do + echo -en "Port ${PUPPETMASTER_PORTS[$i]}: " +@@ -103,6 +103,10 @@ puppetmaster_status() { + return $RETVAL + } + ++rh_status_q() { ++ rh_status >/dev/null 2>&1 ++} ++ + case "$1" in + start) + start +@@ -114,10 +118,11 @@ case "$1" in + restart + ;; + condrestart) +- [ -f "$lockfile" ] && restart ++ rh_status_q || exit 0 ++ restart + ;; + status) +- puppetmaster_status ++ rh_status + ;; + genconfig) + genconfig +-- +1.6.3.3 + diff --git a/puppet-0.24.8-read-proc-mounts.patch b/puppet-0.24.8-read-proc-mounts.patch new file mode 100644 index 0000000..4c22b79 --- /dev/null +++ b/puppet-0.24.8-read-proc-mounts.patch @@ -0,0 +1,36 @@ +From 0ce5b22a45d675de6969f3f5e5d4565be0a2d2d1 Mon Sep 17 00:00:00 2001 +From: Ricky Zhou +Date: Sat, 11 Jul 2009 01:57:52 -0400 +Subject: [PATCH/puppet] Fix #1963 - Failing to read /proc/mounts for selinux kills file downloads + +This works around a linux kernel bug that causes a select() on +/proc/mounts to hang. +--- + lib/puppet/util/selinux.rb | 10 ++++++++-- + 1 files changed, 8 insertions(+), 2 deletions(-) + +diff --git a/lib/puppet/util/selinux.rb b/lib/puppet/util/selinux.rb +index cd3b2ac..dc5daec 100644 +--- a/lib/puppet/util/selinux.rb ++++ b/lib/puppet/util/selinux.rb +@@ -152,9 +152,15 @@ module Puppet::Util::SELinux + + # Internal helper function to read and parse /proc/mounts + def read_mounts ++ mounts = "" + begin +- mountfh = File.open("/proc/mounts", NONBLOCK) +- mounts = mountfh.read ++ mountfh = File.open("/proc/mounts") ++ # We use read_nonblock() in a loop rather than read() to work-around ++ # a linux kernel bug. See ticket #1963 for details. ++ while true ++ mounts += mountfh.read_nonblock(1024) ++ end ++ rescue EOFError + mountfh.close + rescue + return nil +-- +1.6.3.3 + diff --git a/puppet-0.24.8-rundir-perms.patch b/puppet-0.24.8-rundir-perms.patch new file mode 100644 index 0000000..d7205fe --- /dev/null +++ b/puppet-0.24.8-rundir-perms.patch @@ -0,0 +1,25 @@ +From f9ccc92662c53d9890e337d4e9f1629eb1ff650f Mon Sep 17 00:00:00 2001 +From: Jeroen van Meeuwen (Fedora Unity) +Date: Wed, 24 Jun 2009 15:19:01 +0200 +Subject: [PATCH/puppet 1/6] Simplest fix for #495096 as it applies to the Fedora based distributions using the Red Hat RPM. Story continues. + +--- + lib/puppet/defaults.rb | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/lib/puppet/defaults.rb b/lib/puppet/defaults.rb +index e36dd70..077faab 100644 +--- a/lib/puppet/defaults.rb ++++ b/lib/puppet/defaults.rb +@@ -68,7 +68,7 @@ module Puppet + }, + :rundir => { + :default => rundir, +- :mode => 01777, ++ :mode => 0755, + :desc => "Where Puppet PID files are kept." + }, + :genconfig => [false, +-- +1.6.3.3 + diff --git a/puppet-0.24.8-status-options.patch b/puppet-0.24.8-status-options.patch new file mode 100644 index 0000000..aad9ee5 --- /dev/null +++ b/puppet-0.24.8-status-options.patch @@ -0,0 +1,41 @@ +From ea04f2700ebdbac7c5abd263df1bbda9eee12097 Mon Sep 17 00:00:00 2001 +From: Todd Zullinger +Date: Fri, 3 Jul 2009 09:08:17 -0400 +Subject: [PATCH/puppet 1/2] conf/redhat/client.init: Fix #2123, status options on older RHEL + +On RHEL < 5, the status function does not accept a -p option. Using it +causes 'service puppet status' to produce erroneous output. This was +also reported by Aaron Dummer in Red Hat bug #501577. +--- + conf/redhat/client.init | 8 ++++++-- + 1 files changed, 6 insertions(+), 2 deletions(-) + +diff --git a/conf/redhat/client.init b/conf/redhat/client.init +index 44caab1..f40e81d 100644 +--- a/conf/redhat/client.init ++++ b/conf/redhat/client.init +@@ -62,6 +62,11 @@ restart() { + start + } + ++rh_status() { ++ status | grep -q -- '-p' 2>/dev/null && statusopts="-p $pidfile" ++ status $statusopts $puppetd ++} ++ + genconfig() { + echo -n $"Generate configuration puppet: " + $puppetd ${PUPPET_OPTS} ${PUPPET_EXTRA_OPTS} --genconfig +@@ -84,8 +89,7 @@ case "$1" in + [ -f "$pidfile" ] && restart + ;; + status) +- status -p "$pidfile" $puppetd +- RETVAL=$? ++ rh_status + ;; + once) + shift +-- +1.6.3.3 + diff --git a/puppet-0.24.8-supplementary-groups.patch b/puppet-0.24.8-supplementary-groups.patch new file mode 100644 index 0000000..42687da --- /dev/null +++ b/puppet-0.24.8-supplementary-groups.patch @@ -0,0 +1,74 @@ +From 2a401c6897af3abbc27dfaaf162556745267d6b2 Mon Sep 17 00:00:00 2001 +From: Jeroen van Meeuwen (Fedora Unity) +Date: Wed, 24 Jun 2009 15:30:19 +0200 +Subject: [PATCH/puppet 2/6] Support supplementary groups (Till Maas) + +--- + lib/puppet/util.rb | 5 +++-- + lib/puppet/util/suidmanager.rb | 11 ++++++++++- + 2 files changed, 13 insertions(+), 3 deletions(-) + +diff --git a/lib/puppet/util.rb b/lib/puppet/util.rb +index f8a8721..51a2a16 100644 +--- a/lib/puppet/util.rb ++++ b/lib/puppet/util.rb +@@ -58,10 +58,11 @@ module Util + end + unless Puppet::Util::SUIDManager.uid == user + begin ++ Puppet::Util::SUIDManager.initgroups(user) + Puppet::Util::SUIDManager.uid = user + Puppet::Util::SUIDManager.euid = user +- rescue +- $stderr.puts "could not change to user %s" % user ++ rescue => detail ++ $stderr.puts "could not change to user %s: %s" % [user, detail] + exit(74) + end + end +diff --git a/lib/puppet/util/suidmanager.rb b/lib/puppet/util/suidmanager.rb +index b071dca..9f6e3b6 100644 +--- a/lib/puppet/util/suidmanager.rb ++++ b/lib/puppet/util/suidmanager.rb +@@ -7,7 +7,7 @@ module Puppet::Util::SUIDManager + extend Forwardable + + to_delegate_to_process = [ :euid=, :euid, :egid=, :egid, +- :uid=, :uid, :gid=, :gid ] ++ :uid=, :uid, :gid=, :gid, :groups=, :groups ] + + to_delegate_to_process.each do |method| + def_delegator Process, method +@@ -26,13 +26,16 @@ module Puppet::Util::SUIDManager + # We set both because some programs like to drop privs, i.e. bash. + old_uid, old_gid = self.uid, self.gid + old_euid, old_egid = self.euid, self.egid ++ old_groups = self.groups + begin + self.egid = convert_xid :gid, new_gid if new_gid ++ self.initgroups(convert_xid(:uid, new_uid)) if new_uid + self.euid = convert_xid :uid, new_uid if new_uid + + yield + ensure + self.euid, self.egid = old_euid, old_egid ++ self.groups = old_groups + end + end + module_function :asuser +@@ -49,6 +52,12 @@ module Puppet::Util::SUIDManager + end + module_function :convert_xid + ++ # Initialize supplementary groups ++ def initgroups(user) ++ require 'etc' ++ Process.initgroups(Etc.getpwuid(user).name, Process.gid) ++ end ++ module_function :initgroups + + def run_and_capture(command, new_uid=nil, new_gid=nil) + output = Puppet::Util.execute(command, :failonfail => false, :uid => new_uid, :gid => new_gid) +-- +1.6.3.3 + diff --git a/puppet.spec b/puppet.spec index 60d100d..d2cc5f7 100644 --- a/puppet.spec +++ b/puppet.spec @@ -6,11 +6,25 @@ Name: puppet Version: 0.24.8 -Release: 3%{?dist} +Release: 4%{?dist} Summary: A network tool for managing many disparate systems License: GPLv2+ URL: http://puppet.reductivelabs.com/ Source0: http://reductivelabs.com/downloads/puppet/%{name}-%{version}.tgz + +# https://bugzilla.redhat.com/495096 +Patch0: puppet-0.24.8-rundir-perms.patch +# https://bugzilla.redhat.com/475201 +Patch1: puppet-0.24.8-supplementary-groups.patch +# http://projects.reductivelabs.com/issues/1963 +Patch2: puppet-0.24.8-read-proc-mounts.patch +# https://bugzilla.redhat.com/501577 +Patch3: puppet-0.24.8-status-options.patch +# https://bugzilla.redhat.com/480600 +Patch4: puppet-0.24.8-condrestart.patch +# https://bugzilla.redhat.com/515728 +Patch5: puppet-0.24.8-activerecord-test.patch + Group: System Environment/Base BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -24,10 +38,14 @@ Requires: ruby(abi) = 1.8 Requires: ruby-shadow %endif -# Pull in libselinux-ruby where it is available -%if 0%{?fedora} >=9 +# Pull in ruby selinux bindings where available +%if 0%{?fedora} +%if 0%{?fedora} >= 12 +%{!?_without_selinux:Requires: ruby(selinux)} +%else %{!?_without_selinux:Requires: libselinux-ruby} %endif +%endif Requires: facter >= 1.5 Requires: ruby >= 1.8.1 @@ -61,6 +79,15 @@ The server can also function as a certificate authority and file server. %prep %setup -q +%patch0 -p1 +%patch1 -p1 +%patch2 -p1 +%patch3 -p1 +%patch4 -p1 +%if 0%{?fedora} >= 11 +%patch5 -p1 +%endif + # Move puppetca, puppetd, and puppetmasterd to sbin mkdir sbin mv bin/puppet{ca,d,masterd} sbin/ @@ -75,6 +102,7 @@ done for f in external/nagios.rb network/http_server/mongrel.rb relationship.rb; do sed -i -e '1d' lib/puppet/$f done +chmod +x ext/puppetstoredconfigclean.rb find examples/ -type f -empty | xargs rm find examples/ -type f | xargs chmod a-x @@ -86,7 +114,7 @@ ruby install.rb --destdir=%{buildroot} --quick --no-rdoc install -d -m0755 %{buildroot}%{_sysconfdir}/puppet/manifests install -d -m0755 %{buildroot}%{_localstatedir}/lib/puppet install -d -m0755 %{buildroot}%{_localstatedir}/run/puppet -install -d -m0755 %{buildroot}%{_localstatedir}/log/puppet +install -d -m0750 %{buildroot}%{_localstatedir}/log/puppet install -Dp -m0644 %{confdir}/client.sysconfig %{buildroot}%{_sysconfdir}/sysconfig/puppet install -Dp -m0755 %{confdir}/client.init %{buildroot}%{_initrddir}/puppet install -Dp -m0644 %{confdir}/server.sysconfig %{buildroot}%{_sysconfdir}/sysconfig/puppetmaster @@ -101,6 +129,12 @@ touch %{buildroot}%{_sysconfdir}/puppet/puppetmasterd.conf touch %{buildroot}%{_sysconfdir}/puppet/puppetca.conf touch %{buildroot}%{_sysconfdir}/puppet/puppetd.conf +# Install the ext/ directory to %{_datadir}/%{name} +install -d %{buildroot}%{_datadir}/%{name} +cp -a ext/ %{buildroot}%{_datadir}/%{name} +# emacs and vim bits are installed elsewhere +rm -rf %{buildroot}%{_datadir}/%{name}/ext/{emacs,vim} + # Install emacs mode files emacsdir=%{buildroot}%{_datadir}/emacs/site-lisp install -Dp -m0644 ext/emacs/puppet-mode.el $emacsdir/puppet-mode.el @@ -114,7 +148,7 @@ install -Dp -m0644 ext/vim/syntax/puppet.vim $vimdir/syntax/puppet.vim %files %defattr(-, root, root, 0755) -%doc CHANGELOG COPYING LICENSE README examples ext +%doc CHANGELOG COPYING LICENSE README examples %{_bindir}/puppet %{_bindir}/ralsh %{_bindir}/filebucket @@ -130,7 +164,8 @@ install -Dp -m0644 ext/vim/syntax/puppet.vim $vimdir/syntax/puppet.vim %config(noreplace) %{_sysconfdir}/logrotate.d/puppet # We don't want to require emacs or vim, so we need to own these dirs %{_datadir}/emacs -%{_datadir}/vim/vimfiles +%{_datadir}/vim +%{_datadir}/%{name} # These need to be owned by puppet so the server can # write to them %attr(-, puppet, puppet) %{_localstatedir}/run/puppet @@ -202,9 +237,23 @@ fi rm -rf %{buildroot} %changelog +* Fri Aug 07 2009 Todd Zullinger - 0.24.8-4 +- Fix status -p handling on older RHEL (#501577) +- Fix condrestart when daemon's aren't running (#480600) +- Fix timeout reading /proc/mounts (upstream #1963) +- Fix permissions on /var/log/puppet (#495096) +- Fix rails test for activerecord-2.3 (#515728) + * Sun Jul 26 2009 Fedora Release Engineering - 0.24.8-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild +* Wed Jun 24 2009 Jeroen van Meeuwen +- Fix permissions on /var/run/puppet/ (#495096) +- Support initializing supplementary groups (#1806, #475201, Till Maas) +- Own the correct vim directory +- Move ext/ outside of doc datadir (rpmlint) +- Require ruby(selinux) rather then libselinux-ruby (#507848) + * Fri May 29 2009 Todd Zullinger - 0.24.8-2 - Make Augeas and SELinux requirements build time options - Install emacs mode and vim syntax files (#491437) From 863097c2b4eac402211a3dc1b455b21f2a0f3825 Mon Sep 17 00:00:00 2001 From: Bill Nottingham Date: Wed, 25 Nov 2009 23:31:48 +0000 Subject: [PATCH 038/272] Fix typo that causes a failure to update the common directory. (releng #2781) --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 692e64a..89d4096 100644 --- a/Makefile +++ b/Makefile @@ -4,7 +4,7 @@ NAME := puppet SPECFILE = $(firstword $(wildcard *.spec)) define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done +for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done endef MAKEFILE_COMMON := $(shell $(find-makefile-common)) From 5442b2341332aeabe344750aa43701486d7dbbf1 Mon Sep 17 00:00:00 2001 From: Jeroen van Meeuwen Date: Thu, 26 Nov 2009 07:23:04 +0000 Subject: [PATCH 039/272] 0.25.1 --- .cvsignore | 2 +- import.log | 1 + puppet-0.24.8-activerecord-test.patch | 46 -------- puppet-0.24.8-condrestart.patch | 82 -------------- puppet-0.24.8-read-proc-mounts.patch | 36 ------ puppet-0.24.8-status-options.patch | 41 ------- ...ementary-groups-ported-patch-from-0..patch | 27 ++--- ...25.1-0002-Correct-rundir-permissions.patch | 14 +-- puppet-0.25.1-server-initscript.patch | 27 +++++ puppet.spec | 107 ++++++++---------- sources | 2 +- 11 files changed, 97 insertions(+), 288 deletions(-) delete mode 100644 puppet-0.24.8-activerecord-test.patch delete mode 100644 puppet-0.24.8-condrestart.patch delete mode 100644 puppet-0.24.8-read-proc-mounts.patch delete mode 100644 puppet-0.24.8-status-options.patch rename puppet-0.24.8-supplementary-groups.patch => puppet-0.25.1-0001-Initialize-supplementary-groups-ported-patch-from-0..patch (79%) rename puppet-0.24.8-rundir-perms.patch => puppet-0.25.1-0002-Correct-rundir-permissions.patch (59%) create mode 100644 puppet-0.25.1-server-initscript.patch diff --git a/.cvsignore b/.cvsignore index cd3e227..58fb452 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -puppet-0.24.8.tgz +puppet-0.25.1.tar.gz diff --git a/import.log b/import.log index e622089..4a451c6 100644 --- a/import.log +++ b/import.log @@ -1,3 +1,4 @@ puppet-0_24_7-1_fc10:HEAD:puppet-0.24.7-1.fc10.src.rpm:1229416939 puppet-0_24_7-3_fc10:HEAD:puppet-0.24.7-3.fc10.src.rpm:1229418101 puppet-0_24_8-2_fc11:HEAD:puppet-0.24.8-2.fc11.src.rpm:1245843917 +puppet-0_25_1-1_fc12:HEAD:puppet-0.25.1-1.fc12.src.rpm:1259220140 diff --git a/puppet-0.24.8-activerecord-test.patch b/puppet-0.24.8-activerecord-test.patch deleted file mode 100644 index fac8473..0000000 --- a/puppet-0.24.8-activerecord-test.patch +++ /dev/null @@ -1,46 +0,0 @@ -From a7a9fb5afaa58922bb6ecb49e04b5ed59f381d22 Mon Sep 17 00:00:00 2001 -From: Luke Kanies -Date: Thu, 23 Apr 2009 18:56:30 -0500 -Subject: [PATCH/puppet] Fixing the Rails feature test to require 2.3.x - -Signed-off-by: Luke Kanies ---- - lib/puppet/feature/rails.rb | 21 ++++----------------- - 1 files changed, 4 insertions(+), 17 deletions(-) - -diff --git a/lib/puppet/feature/rails.rb b/lib/puppet/feature/rails.rb -index 63e6f00..561863c 100644 ---- a/lib/puppet/feature/rails.rb -+++ b/lib/puppet/feature/rails.rb -@@ -28,24 +28,11 @@ Puppet.features.add(:rails) do - end - end - -- # If we couldn't find it the normal way, try using a Gem. -- unless defined? ActiveRecord -- begin -- require 'rubygems' -- require 'rails' -- rescue LoadError -- # Nothing -- end -+ unless defined?(::ActiveRecord) and ::ActiveRecord::VERSION::MAJOR == 2 and ::ActiveRecord::VERSION::MINOR == 3 -+ Puppet.err "ActiveRecord 2.3 required for StoreConfigs" -+ raise "ActiveRecord 2.3 required for StoreConfigs" - end - -- # We check a fairly specific class, so that we can be sure that we've -- # loaded a new enough version of AR that will support the features we -- # actually use. -- if defined? ActiveRecord::Associations::BelongsToPolymorphicAssociation -- require 'puppet/rails' -- true -- else -- false -- end -+ true - end - --- -1.6.4 - diff --git a/puppet-0.24.8-condrestart.patch b/puppet-0.24.8-condrestart.patch deleted file mode 100644 index 2809c1c..0000000 --- a/puppet-0.24.8-condrestart.patch +++ /dev/null @@ -1,82 +0,0 @@ -From fc161e4a5ad4d470d0fe17b734004ab675eaa6ae Mon Sep 17 00:00:00 2001 -From: Todd Zullinger -Date: Fri, 3 Jul 2009 10:22:19 -0400 -Subject: [PATCH/puppet 2/2] conf/redhat/*.init: Fix condrestart/try-restart - -Previously, the Red Hat init scripts used the $pidfile or $lockfile as a -test for whether to restart the daemons. This caused condrestart to -start the daemons even when they were not running, in cases where they -had died or been killed without cleaning up the $pidfile/$lockfile. - -This was reported by Ingvar Hagelund in Red Hat bug #480600. ---- - conf/redhat/client.init | 7 ++++++- - conf/redhat/server.init | 11 ++++++++--- - 2 files changed, 14 insertions(+), 4 deletions(-) - -diff --git a/conf/redhat/client.init b/conf/redhat/client.init -index f40e81d..fda156c 100644 ---- a/conf/redhat/client.init -+++ b/conf/redhat/client.init -@@ -67,6 +67,10 @@ rh_status() { - status $statusopts $puppetd - } - -+rh_status_q() { -+ rh_status >/dev/null 2>&1 -+} -+ - genconfig() { - echo -n $"Generate configuration puppet: " - $puppetd ${PUPPET_OPTS} ${PUPPET_EXTRA_OPTS} --genconfig -@@ -86,7 +90,8 @@ case "$1" in - reload - ;; - condrestart|try-restart) -- [ -f "$pidfile" ] && restart -+ rh_status_q || exit 0 -+ restart - ;; - status) - rh_status -diff --git a/conf/redhat/server.init b/conf/redhat/server.init -index 6871b9a..74cb52f 100644 ---- a/conf/redhat/server.init -+++ b/conf/redhat/server.init -@@ -89,7 +89,7 @@ genconfig() { - $PUPPETMASTER $PUPPETMASTER_OPTS --genconfig - } - --puppetmaster_status() { -+rh_status() { - if [ -n "$PUPPETMASTER_PORTS" ] && [ ${#PUPPETMASTER_PORTS[@]} -gt 1 ]; then - for ((i=0; i<${#PUPPETMASTER_PORTS[@]}; i++)); do - echo -en "Port ${PUPPETMASTER_PORTS[$i]}: " -@@ -103,6 +103,10 @@ puppetmaster_status() { - return $RETVAL - } - -+rh_status_q() { -+ rh_status >/dev/null 2>&1 -+} -+ - case "$1" in - start) - start -@@ -114,10 +118,11 @@ case "$1" in - restart - ;; - condrestart) -- [ -f "$lockfile" ] && restart -+ rh_status_q || exit 0 -+ restart - ;; - status) -- puppetmaster_status -+ rh_status - ;; - genconfig) - genconfig --- -1.6.3.3 - diff --git a/puppet-0.24.8-read-proc-mounts.patch b/puppet-0.24.8-read-proc-mounts.patch deleted file mode 100644 index 4c22b79..0000000 --- a/puppet-0.24.8-read-proc-mounts.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 0ce5b22a45d675de6969f3f5e5d4565be0a2d2d1 Mon Sep 17 00:00:00 2001 -From: Ricky Zhou -Date: Sat, 11 Jul 2009 01:57:52 -0400 -Subject: [PATCH/puppet] Fix #1963 - Failing to read /proc/mounts for selinux kills file downloads - -This works around a linux kernel bug that causes a select() on -/proc/mounts to hang. ---- - lib/puppet/util/selinux.rb | 10 ++++++++-- - 1 files changed, 8 insertions(+), 2 deletions(-) - -diff --git a/lib/puppet/util/selinux.rb b/lib/puppet/util/selinux.rb -index cd3b2ac..dc5daec 100644 ---- a/lib/puppet/util/selinux.rb -+++ b/lib/puppet/util/selinux.rb -@@ -152,9 +152,15 @@ module Puppet::Util::SELinux - - # Internal helper function to read and parse /proc/mounts - def read_mounts -+ mounts = "" - begin -- mountfh = File.open("/proc/mounts", NONBLOCK) -- mounts = mountfh.read -+ mountfh = File.open("/proc/mounts") -+ # We use read_nonblock() in a loop rather than read() to work-around -+ # a linux kernel bug. See ticket #1963 for details. -+ while true -+ mounts += mountfh.read_nonblock(1024) -+ end -+ rescue EOFError - mountfh.close - rescue - return nil --- -1.6.3.3 - diff --git a/puppet-0.24.8-status-options.patch b/puppet-0.24.8-status-options.patch deleted file mode 100644 index aad9ee5..0000000 --- a/puppet-0.24.8-status-options.patch +++ /dev/null @@ -1,41 +0,0 @@ -From ea04f2700ebdbac7c5abd263df1bbda9eee12097 Mon Sep 17 00:00:00 2001 -From: Todd Zullinger -Date: Fri, 3 Jul 2009 09:08:17 -0400 -Subject: [PATCH/puppet 1/2] conf/redhat/client.init: Fix #2123, status options on older RHEL - -On RHEL < 5, the status function does not accept a -p option. Using it -causes 'service puppet status' to produce erroneous output. This was -also reported by Aaron Dummer in Red Hat bug #501577. ---- - conf/redhat/client.init | 8 ++++++-- - 1 files changed, 6 insertions(+), 2 deletions(-) - -diff --git a/conf/redhat/client.init b/conf/redhat/client.init -index 44caab1..f40e81d 100644 ---- a/conf/redhat/client.init -+++ b/conf/redhat/client.init -@@ -62,6 +62,11 @@ restart() { - start - } - -+rh_status() { -+ status | grep -q -- '-p' 2>/dev/null && statusopts="-p $pidfile" -+ status $statusopts $puppetd -+} -+ - genconfig() { - echo -n $"Generate configuration puppet: " - $puppetd ${PUPPET_OPTS} ${PUPPET_EXTRA_OPTS} --genconfig -@@ -84,8 +89,7 @@ case "$1" in - [ -f "$pidfile" ] && restart - ;; - status) -- status -p "$pidfile" $puppetd -- RETVAL=$? -+ rh_status - ;; - once) - shift --- -1.6.3.3 - diff --git a/puppet-0.24.8-supplementary-groups.patch b/puppet-0.25.1-0001-Initialize-supplementary-groups-ported-patch-from-0..patch similarity index 79% rename from puppet-0.24.8-supplementary-groups.patch rename to puppet-0.25.1-0001-Initialize-supplementary-groups-ported-patch-from-0..patch index 42687da..3cc8c09 100644 --- a/puppet-0.24.8-supplementary-groups.patch +++ b/puppet-0.25.1-0001-Initialize-supplementary-groups-ported-patch-from-0..patch @@ -1,24 +1,24 @@ -From 2a401c6897af3abbc27dfaaf162556745267d6b2 Mon Sep 17 00:00:00 2001 +From 50952a627a9c96a147c7bcac91f6e2380e483310 Mon Sep 17 00:00:00 2001 From: Jeroen van Meeuwen (Fedora Unity) -Date: Wed, 24 Jun 2009 15:30:19 +0200 -Subject: [PATCH/puppet 2/6] Support supplementary groups (Till Maas) +Date: Wed, 25 Nov 2009 13:38:52 +0100 +Subject: [PATCH] Initialize supplementary groups (ported patch from 0.24.8 originally from Till Maas) --- lib/puppet/util.rb | 5 +++-- - lib/puppet/util/suidmanager.rb | 11 ++++++++++- - 2 files changed, 13 insertions(+), 3 deletions(-) + lib/puppet/util/suidmanager.rb | 12 +++++++++++- + 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/lib/puppet/util.rb b/lib/puppet/util.rb -index f8a8721..51a2a16 100644 +index 6f83c7a..8e2e8a3 100644 --- a/lib/puppet/util.rb +++ b/lib/puppet/util.rb -@@ -58,10 +58,11 @@ module Util +@@ -55,10 +55,11 @@ module Util end unless Puppet::Util::SUIDManager.uid == user begin + Puppet::Util::SUIDManager.initgroups(user) - Puppet::Util::SUIDManager.uid = user - Puppet::Util::SUIDManager.euid = user + Puppet::Util::SUIDManager.uid = user + Puppet::Util::SUIDManager.euid = user - rescue - $stderr.puts "could not change to user %s" % user + rescue => detail @@ -27,7 +27,7 @@ index f8a8721..51a2a16 100644 end end diff --git a/lib/puppet/util/suidmanager.rb b/lib/puppet/util/suidmanager.rb -index b071dca..9f6e3b6 100644 +index c5df0d1..7896945 100644 --- a/lib/puppet/util/suidmanager.rb +++ b/lib/puppet/util/suidmanager.rb @@ -7,7 +7,7 @@ module Puppet::Util::SUIDManager @@ -48,7 +48,7 @@ index b071dca..9f6e3b6 100644 self.egid = convert_xid :gid, new_gid if new_gid + self.initgroups(convert_xid(:uid, new_uid)) if new_uid self.euid = convert_xid :uid, new_uid if new_uid - + yield ensure self.euid, self.egid = old_euid, old_egid @@ -56,7 +56,7 @@ index b071dca..9f6e3b6 100644 end end module_function :asuser -@@ -49,6 +52,12 @@ module Puppet::Util::SUIDManager +@@ -49,6 +52,13 @@ module Puppet::Util::SUIDManager end module_function :convert_xid @@ -66,9 +66,10 @@ index b071dca..9f6e3b6 100644 + Process.initgroups(Etc.getpwuid(user).name, Process.gid) + end + module_function :initgroups ++ def run_and_capture(command, new_uid=nil, new_gid=nil) output = Puppet::Util.execute(command, :failonfail => false, :uid => new_uid, :gid => new_gid) -- -1.6.3.3 +1.6.5.2 diff --git a/puppet-0.24.8-rundir-perms.patch b/puppet-0.25.1-0002-Correct-rundir-permissions.patch similarity index 59% rename from puppet-0.24.8-rundir-perms.patch rename to puppet-0.25.1-0002-Correct-rundir-permissions.patch index d7205fe..0463dbe 100644 --- a/puppet-0.24.8-rundir-perms.patch +++ b/puppet-0.25.1-0002-Correct-rundir-permissions.patch @@ -1,19 +1,19 @@ -From f9ccc92662c53d9890e337d4e9f1629eb1ff650f Mon Sep 17 00:00:00 2001 +From 1c7130844b241c1cc2d6c97545dcf895b310eec5 Mon Sep 17 00:00:00 2001 From: Jeroen van Meeuwen (Fedora Unity) -Date: Wed, 24 Jun 2009 15:19:01 +0200 -Subject: [PATCH/puppet 1/6] Simplest fix for #495096 as it applies to the Fedora based distributions using the Red Hat RPM. Story continues. +Date: Wed, 25 Nov 2009 13:42:59 +0100 +Subject: [PATCH 2/2] Correct rundir permissions --- lib/puppet/defaults.rb | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/lib/puppet/defaults.rb b/lib/puppet/defaults.rb -index e36dd70..077faab 100644 +index 9d992dd..7967877 100644 --- a/lib/puppet/defaults.rb +++ b/lib/puppet/defaults.rb -@@ -68,7 +68,7 @@ module Puppet +@@ -62,7 +62,7 @@ module Puppet }, - :rundir => { + :rundir => { :default => rundir, - :mode => 01777, + :mode => 0755, @@ -21,5 +21,5 @@ index e36dd70..077faab 100644 }, :genconfig => [false, -- -1.6.3.3 +1.6.5.2 diff --git a/puppet-0.25.1-server-initscript.patch b/puppet-0.25.1-server-initscript.patch new file mode 100644 index 0000000..69bbfac --- /dev/null +++ b/puppet-0.25.1-server-initscript.patch @@ -0,0 +1,27 @@ +From 8894aae81d26a9564305ae89ac159320c53dca83 Mon Sep 17 00:00:00 2001 +From: Todd Zullinger +Date: Tue, 27 Oct 2009 10:30:08 -0400 +Subject: [PATCH/puppet] conf/redhat: Prevent killproc from removing /usr/sbin/puppetmasterd + +Mattias Saou ran into a serious bug cause by 9dff71 (Use -p option to +killproc). The puppetmaster init script lacked a pidfile variable, +which ended up with /usr/sbin/puppetmasterd being removed. +--- + conf/redhat/server.init | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) + +diff --git a/conf/redhat/server.init b/conf/redhat/server.init +index 5505058..4f44206 100644 +--- a/conf/redhat/server.init ++++ b/conf/redhat/server.init +@@ -13,6 +13,7 @@ PATH=/usr/bin:/sbin:/bin:/usr/sbin + export PATH + + lockfile=/var/lock/subsys/puppetmaster ++pidfile=/var/run/puppet/puppetmasterd.pid + + # Source function library. + . /etc/rc.d/init.d/functions +-- +1.6.5.2 + diff --git a/puppet.spec b/puppet.spec index d2cc5f7..0e8a7a0 100644 --- a/puppet.spec +++ b/puppet.spec @@ -5,25 +5,18 @@ %define confdir conf/redhat Name: puppet -Version: 0.24.8 -Release: 4%{?dist} +Version: 0.25.1 +Release: 1%{?dist} Summary: A network tool for managing many disparate systems License: GPLv2+ URL: http://puppet.reductivelabs.com/ -Source0: http://reductivelabs.com/downloads/puppet/%{name}-%{version}.tgz - -# https://bugzilla.redhat.com/495096 -Patch0: puppet-0.24.8-rundir-perms.patch +Source0: http://reductivelabs.com/downloads/puppet/%{name}-%{version}.tar.gz +# Brown paper bag fix for my killproc blunder (tmz) +Patch0: puppet-0.25.1-server-initscript.patch # https://bugzilla.redhat.com/475201 -Patch1: puppet-0.24.8-supplementary-groups.patch -# http://projects.reductivelabs.com/issues/1963 -Patch2: puppet-0.24.8-read-proc-mounts.patch -# https://bugzilla.redhat.com/501577 -Patch3: puppet-0.24.8-status-options.patch -# https://bugzilla.redhat.com/480600 -Patch4: puppet-0.24.8-condrestart.patch -# https://bugzilla.redhat.com/515728 -Patch5: puppet-0.24.8-activerecord-test.patch +Patch1: puppet-0.25.1-0001-Initialize-supplementary-groups-ported-patch-from-0..patch +# https://bugzilla.redhat.com/495096 +Patch2: puppet-0.25.1-0002-Correct-rundir-permissions.patch Group: System Environment/Base @@ -78,24 +71,14 @@ The server can also function as a certificate authority and file server. %prep %setup -q - %patch0 -p1 %patch1 -p1 %patch2 -p1 -%patch3 -p1 -%patch4 -p1 -%if 0%{?fedora} >= 11 -%patch5 -p1 -%endif - -# Move puppetca, puppetd, and puppetmasterd to sbin -mkdir sbin -mv bin/puppet{ca,d,masterd} sbin/ %build # Fix some rpmlint complaints for f in mac_dscl.pp mac_dscl_revert.pp \ - mac_netinfo.pp mac_pkgdmg.pp ; do + mac_pkgdmg.pp ; do sed -i -e'1d' examples/$f chmod a-x examples/$f done @@ -149,17 +132,19 @@ install -Dp -m0644 ext/vim/syntax/puppet.vim $vimdir/syntax/puppet.vim %files %defattr(-, root, root, 0755) %doc CHANGELOG COPYING LICENSE README examples +%{_bindir}/pi %{_bindir}/puppet %{_bindir}/ralsh %{_bindir}/filebucket %{_bindir}/puppetdoc -%exclude %{_mandir}/man8/pi.8.gz +%{_sbindir}/puppetca %{_sbindir}/puppetd %{ruby_sitelibdir}/* %{_initrddir}/puppet %dir %{_sysconfdir}/puppet %config(noreplace) %{_sysconfdir}/sysconfig/puppet %config(noreplace) %{_sysconfdir}/puppet/puppet.conf +%ghost %config(noreplace,missingok) %{_sysconfdir}/puppet/puppetca.conf %ghost %config(noreplace,missingok) %{_sysconfdir}/puppet/puppetd.conf %config(noreplace) %{_sysconfdir}/logrotate.d/puppet # We don't want to require emacs or vim, so we need to own these dirs @@ -171,27 +156,27 @@ install -Dp -m0644 ext/vim/syntax/puppet.vim $vimdir/syntax/puppet.vim %attr(-, puppet, puppet) %{_localstatedir}/run/puppet %attr(-, puppet, puppet) %{_localstatedir}/log/puppet %attr(-, puppet, puppet) %{_localstatedir}/lib/puppet -%doc %{_mandir}/man8/puppet.8.gz -%doc %{_mandir}/man8/puppet.conf.8.gz -%doc %{_mandir}/man8/puppetd.8.gz -%doc %{_mandir}/man8/ralsh.8.gz -%doc %{_mandir}/man8/puppetdoc.8.gz +%{_mandir}/man8/pi.8.gz +%{_mandir}/man8/puppet.8.gz +%{_mandir}/man8/puppet.conf.8.gz +%{_mandir}/man8/puppetca.8.gz +%{_mandir}/man8/puppetd.8.gz +%{_mandir}/man8/ralsh.8.gz +%{_mandir}/man8/puppetdoc.8.gz %files server %defattr(-, root, root, 0755) %{_sbindir}/puppetmasterd -%{_bindir}/puppetrun +%{_sbindir}/puppetrun +%{_sbindir}/puppetqd %{_initrddir}/puppetmaster %config(noreplace) %{_sysconfdir}/puppet/fileserver.conf %dir %{_sysconfdir}/puppet/manifests %config(noreplace) %{_sysconfdir}/sysconfig/puppetmaster -%ghost %config(noreplace,missingok) %{_sysconfdir}/puppet/puppetca.conf %ghost %config(noreplace,missingok) %{_sysconfdir}/puppet/puppetmasterd.conf -%{_sbindir}/puppetca -%doc %{_mandir}/man8/filebucket.8.gz -%doc %{_mandir}/man8/puppetca.8.gz -%doc %{_mandir}/man8/puppetmasterd.8.gz -%doc %{_mandir}/man8/puppetrun.8.gz +%{_mandir}/man8/filebucket.8.gz +%{_mandir}/man8/puppetmasterd.8.gz +%{_mandir}/man8/puppetrun.8.gz # Fixed uid/gid were assigned in bz 472073 (Fedora), 471918 (RHEL-5), # and 471919 (RHEL-4) @@ -237,27 +222,30 @@ fi rm -rf %{buildroot} %changelog -* Fri Aug 07 2009 Todd Zullinger - 0.24.8-4 -- Fix status -p handling on older RHEL (#501577) -- Fix condrestart when daemon's aren't running (#480600) -- Fix timeout reading /proc/mounts (upstream #1963) +* Wed Nov 25 2009 Jeroen van Meeuwen - 0.25.1-1 +- New upstream version + +* Tue Oct 27 2009 Todd Zullinger - 0.25.1-0.3 +- Update to 0.25.1 +- Include the pi program and man page (R.I.Pienaar) + +* Sat Oct 17 2009 Todd Zullinger - 0.25.1-0.2.rc2 +- Update to 0.25.1rc2 + +* Tue Sep 22 2009 Todd Zullinger - 0.25.1-0.1.rc1 +- Update to 0.25.1rc1 +- Move puppetca to puppet package, it has uses on client systems +- Drop redundant %%doc from manpage %%file listings + +* Fri Sep 04 2009 Todd Zullinger - 0.25.0-1 +- Update to 0.25.0 - Fix permissions on /var/log/puppet (#495096) -- Fix rails test for activerecord-2.3 (#515728) - -* Sun Jul 26 2009 Fedora Release Engineering - 0.24.8-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild - -* Wed Jun 24 2009 Jeroen van Meeuwen -- Fix permissions on /var/run/puppet/ (#495096) -- Support initializing supplementary groups (#1806, #475201, Till Maas) -- Own the correct vim directory -- Move ext/ outside of doc datadir (rpmlint) -- Require ruby(selinux) rather then libselinux-ruby (#507848) - -* Fri May 29 2009 Todd Zullinger - 0.24.8-2 -- Make Augeas and SELinux requirements build time options - Install emacs mode and vim syntax files (#491437) -- Include ext/ directory in %%doc +- Install ext/ directory in %%{_datadir}/%{name} (/usr/share/puppet) + +* Mon May 04 2009 Todd Zullinger - 0.25.0-0.1.beta1 +- Update to 0.25.0beta1 +- Make Augeas and SELinux requirements build time options * Mon Mar 23 2009 Todd Zullinger - 0.24.8-1 - Update to 0.24.8 @@ -265,9 +253,6 @@ rm -rf %{buildroot} - Use upstream install script - Increase required facter version to >= 1.5 -* Thu Feb 26 2009 Fedora Release Engineering - 0.24.7-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild - * Tue Dec 16 2008 Todd Zullinger - 0.24.7-4 - Remove redundant useradd from %%pre diff --git a/sources b/sources index cc908de..a00c1fb 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -288d46dee00acad64d0f3ecc6d8ba6fa puppet-0.24.8.tgz +55ced6102fe6ad8b2ecb2b1384008167 puppet-0.25.1.tar.gz From 0838ed6def0c1ff04e2b791ab35a30cc2fd314fe Mon Sep 17 00:00:00 2001 From: Todd Zullinger Date: Thu, 3 Dec 2009 20:06:15 +0000 Subject: [PATCH 040/272] Bump and rebuild to get 0.25.1 into rawhide --- puppet.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/puppet.spec b/puppet.spec index 0e8a7a0..377e247 100644 --- a/puppet.spec +++ b/puppet.spec @@ -6,7 +6,7 @@ Name: puppet Version: 0.25.1 -Release: 1%{?dist} +Release: 1%{?dist}.1 Summary: A network tool for managing many disparate systems License: GPLv2+ URL: http://puppet.reductivelabs.com/ @@ -222,6 +222,9 @@ fi rm -rf %{buildroot} %changelog +* Thu Dec 03 2009 Todd Zullinger - 0.25.1-1.1 +- Bump and rebuild to get 0.25.1 into rawhide + * Wed Nov 25 2009 Jeroen van Meeuwen - 0.25.1-1 - New upstream version From 298cd0f156d6322eff42b1b8d66608c2c5f72d0f Mon Sep 17 00:00:00 2001 From: Todd Zullinger Date: Tue, 5 Jan 2010 21:30:27 +0000 Subject: [PATCH 041/272] - Update to 0.25.2 - Fixes CVE-2010-0156, tmpfile security issue (#502881) - Install auth.conf, puppetqd manpage, and queuing examples/docs --- .cvsignore | 2 +- puppet.spec | 26 ++++++++++++++------------ sources | 2 +- 3 files changed, 16 insertions(+), 14 deletions(-) diff --git a/.cvsignore b/.cvsignore index 58fb452..728a193 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -puppet-0.25.1.tar.gz +puppet-0.25.2.tar.gz diff --git a/puppet.spec b/puppet.spec index 377e247..b08b81a 100644 --- a/puppet.spec +++ b/puppet.spec @@ -5,18 +5,14 @@ %define confdir conf/redhat Name: puppet -Version: 0.25.1 -Release: 1%{?dist}.1 +Version: 0.25.2 +Release: 1%{?dist} Summary: A network tool for managing many disparate systems License: GPLv2+ URL: http://puppet.reductivelabs.com/ Source0: http://reductivelabs.com/downloads/puppet/%{name}-%{version}.tar.gz -# Brown paper bag fix for my killproc blunder (tmz) -Patch0: puppet-0.25.1-server-initscript.patch -# https://bugzilla.redhat.com/475201 -Patch1: puppet-0.25.1-0001-Initialize-supplementary-groups-ported-patch-from-0..patch # https://bugzilla.redhat.com/495096 -Patch2: puppet-0.25.1-0002-Correct-rundir-permissions.patch +Patch0: puppet-0.25.1-0002-Correct-rundir-permissions.patch Group: System Environment/Base @@ -72,8 +68,6 @@ The server can also function as a certificate authority and file server. %prep %setup -q %patch0 -p1 -%patch1 -p1 -%patch2 -p1 %build # Fix some rpmlint complaints @@ -90,6 +84,9 @@ chmod +x ext/puppetstoredconfigclean.rb find examples/ -type f -empty | xargs rm find examples/ -type f | xargs chmod a-x +# puppet-queue.conf is more of an example, used for stompserver +mv conf/puppet-queue.conf examples/etc/puppet/ + %install rm -rf %{buildroot} ruby install.rb --destdir=%{buildroot} --quick --no-rdoc @@ -104,6 +101,7 @@ install -Dp -m0644 %{confdir}/server.sysconfig %{buildroot}%{_sysconfdir}/syscon install -Dp -m0755 %{confdir}/server.init %{buildroot}%{_initrddir}/puppetmaster install -Dp -m0644 %{confdir}/fileserver.conf %{buildroot}%{_sysconfdir}/puppet/fileserver.conf install -Dp -m0644 %{confdir}/puppet.conf %{buildroot}%{_sysconfdir}/puppet/puppet.conf +install -Dp -m0644 conf/auth.conf %{buildroot}%{_sysconfdir}/puppet/auth.conf install -Dp -m0644 %{confdir}/logrotate %{buildroot}%{_sysconfdir}/logrotate.d/puppet # We need something for these ghosted files, otherwise rpmbuild @@ -131,7 +129,7 @@ install -Dp -m0644 ext/vim/syntax/puppet.vim $vimdir/syntax/puppet.vim %files %defattr(-, root, root, 0755) -%doc CHANGELOG COPYING LICENSE README examples +%doc CHANGELOG COPYING LICENSE README README.queueing examples %{_bindir}/pi %{_bindir}/puppet %{_bindir}/ralsh @@ -144,6 +142,7 @@ install -Dp -m0644 ext/vim/syntax/puppet.vim $vimdir/syntax/puppet.vim %dir %{_sysconfdir}/puppet %config(noreplace) %{_sysconfdir}/sysconfig/puppet %config(noreplace) %{_sysconfdir}/puppet/puppet.conf +%config(noreplace) %{_sysconfdir}/puppet/auth.conf %ghost %config(noreplace,missingok) %{_sysconfdir}/puppet/puppetca.conf %ghost %config(noreplace,missingok) %{_sysconfdir}/puppet/puppetd.conf %config(noreplace) %{_sysconfdir}/logrotate.d/puppet @@ -177,6 +176,7 @@ install -Dp -m0644 ext/vim/syntax/puppet.vim $vimdir/syntax/puppet.vim %{_mandir}/man8/filebucket.8.gz %{_mandir}/man8/puppetmasterd.8.gz %{_mandir}/man8/puppetrun.8.gz +%{_mandir}/man8/puppetqd.8.gz # Fixed uid/gid were assigned in bz 472073 (Fedora), 471918 (RHEL-5), # and 471919 (RHEL-4) @@ -222,8 +222,10 @@ fi rm -rf %{buildroot} %changelog -* Thu Dec 03 2009 Todd Zullinger - 0.25.1-1.1 -- Bump and rebuild to get 0.25.1 into rawhide +* Tue Jan 05 2010 Todd Zullinger - 0.25.2-1 +- Update to 0.25.2 +- Fixes CVE-2010-0156, tmpfile security issue (#502881) +- Install auth.conf, puppetqd manpage, and queuing examples/docs * Wed Nov 25 2009 Jeroen van Meeuwen - 0.25.1-1 - New upstream version diff --git a/sources b/sources index a00c1fb..a914bda 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -55ced6102fe6ad8b2ecb2b1384008167 puppet-0.25.1.tar.gz +d96be601ca6f936ec7c35a7206b2fa85 puppet-0.25.2.tar.gz From 3e7073eecc187fdd072b17fa193691c9d58320b6 Mon Sep 17 00:00:00 2001 From: Todd Zullinger Date: Tue, 5 Jan 2010 21:33:30 +0000 Subject: [PATCH 042/272] Remove unused patches --- ...ementary-groups-ported-patch-from-0..patch | 75 ------------------- puppet-0.25.1-server-initscript.patch | 27 ------- 2 files changed, 102 deletions(-) delete mode 100644 puppet-0.25.1-0001-Initialize-supplementary-groups-ported-patch-from-0..patch delete mode 100644 puppet-0.25.1-server-initscript.patch diff --git a/puppet-0.25.1-0001-Initialize-supplementary-groups-ported-patch-from-0..patch b/puppet-0.25.1-0001-Initialize-supplementary-groups-ported-patch-from-0..patch deleted file mode 100644 index 3cc8c09..0000000 --- a/puppet-0.25.1-0001-Initialize-supplementary-groups-ported-patch-from-0..patch +++ /dev/null @@ -1,75 +0,0 @@ -From 50952a627a9c96a147c7bcac91f6e2380e483310 Mon Sep 17 00:00:00 2001 -From: Jeroen van Meeuwen (Fedora Unity) -Date: Wed, 25 Nov 2009 13:38:52 +0100 -Subject: [PATCH] Initialize supplementary groups (ported patch from 0.24.8 originally from Till Maas) - ---- - lib/puppet/util.rb | 5 +++-- - lib/puppet/util/suidmanager.rb | 12 +++++++++++- - 2 files changed, 14 insertions(+), 3 deletions(-) - -diff --git a/lib/puppet/util.rb b/lib/puppet/util.rb -index 6f83c7a..8e2e8a3 100644 ---- a/lib/puppet/util.rb -+++ b/lib/puppet/util.rb -@@ -55,10 +55,11 @@ module Util - end - unless Puppet::Util::SUIDManager.uid == user - begin -+ Puppet::Util::SUIDManager.initgroups(user) - Puppet::Util::SUIDManager.uid = user - Puppet::Util::SUIDManager.euid = user -- rescue -- $stderr.puts "could not change to user %s" % user -+ rescue => detail -+ $stderr.puts "could not change to user %s: %s" % [user, detail] - exit(74) - end - end -diff --git a/lib/puppet/util/suidmanager.rb b/lib/puppet/util/suidmanager.rb -index c5df0d1..7896945 100644 ---- a/lib/puppet/util/suidmanager.rb -+++ b/lib/puppet/util/suidmanager.rb -@@ -7,7 +7,7 @@ module Puppet::Util::SUIDManager - extend Forwardable - - to_delegate_to_process = [ :euid=, :euid, :egid=, :egid, -- :uid=, :uid, :gid=, :gid ] -+ :uid=, :uid, :gid=, :gid, :groups=, :groups ] - - to_delegate_to_process.each do |method| - def_delegator Process, method -@@ -26,13 +26,16 @@ module Puppet::Util::SUIDManager - # We set both because some programs like to drop privs, i.e. bash. - old_uid, old_gid = self.uid, self.gid - old_euid, old_egid = self.euid, self.egid -+ old_groups = self.groups - begin - self.egid = convert_xid :gid, new_gid if new_gid -+ self.initgroups(convert_xid(:uid, new_uid)) if new_uid - self.euid = convert_xid :uid, new_uid if new_uid - - yield - ensure - self.euid, self.egid = old_euid, old_egid -+ self.groups = old_groups - end - end - module_function :asuser -@@ -49,6 +52,13 @@ module Puppet::Util::SUIDManager - end - module_function :convert_xid - -+ # Initialize supplementary groups -+ def initgroups(user) -+ require 'etc' -+ Process.initgroups(Etc.getpwuid(user).name, Process.gid) -+ end -+ module_function :initgroups -+ - - def run_and_capture(command, new_uid=nil, new_gid=nil) - output = Puppet::Util.execute(command, :failonfail => false, :uid => new_uid, :gid => new_gid) --- -1.6.5.2 - diff --git a/puppet-0.25.1-server-initscript.patch b/puppet-0.25.1-server-initscript.patch deleted file mode 100644 index 69bbfac..0000000 --- a/puppet-0.25.1-server-initscript.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 8894aae81d26a9564305ae89ac159320c53dca83 Mon Sep 17 00:00:00 2001 -From: Todd Zullinger -Date: Tue, 27 Oct 2009 10:30:08 -0400 -Subject: [PATCH/puppet] conf/redhat: Prevent killproc from removing /usr/sbin/puppetmasterd - -Mattias Saou ran into a serious bug cause by 9dff71 (Use -p option to -killproc). The puppetmaster init script lacked a pidfile variable, -which ended up with /usr/sbin/puppetmasterd being removed. ---- - conf/redhat/server.init | 1 + - 1 files changed, 1 insertions(+), 0 deletions(-) - -diff --git a/conf/redhat/server.init b/conf/redhat/server.init -index 5505058..4f44206 100644 ---- a/conf/redhat/server.init -+++ b/conf/redhat/server.init -@@ -13,6 +13,7 @@ PATH=/usr/bin:/sbin:/bin:/usr/sbin - export PATH - - lockfile=/var/lock/subsys/puppetmaster -+pidfile=/var/run/puppet/puppetmasterd.pid - - # Source function library. - . /etc/rc.d/init.d/functions --- -1.6.5.2 - From ed84aa863a722bbbad135fe82ae1dc549be89f3c Mon Sep 17 00:00:00 2001 From: Todd Zullinger Date: Tue, 5 Jan 2010 21:47:02 +0000 Subject: [PATCH 043/272] Replace %%define with %%global for macros --- puppet.spec | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/puppet.spec b/puppet.spec index b08b81a..ef5d2fc 100644 --- a/puppet.spec +++ b/puppet.spec @@ -1,12 +1,12 @@ # Augeas and SELinux requirements may be disabled at build time by passing # --without augeas and/or --without selinux to rpmbuild or mock -%{!?ruby_sitelibdir: %define ruby_sitelibdir %(ruby -rrbconfig -e 'puts Config::CONFIG["sitelibdir"]')} -%define confdir conf/redhat +%{!?ruby_sitelibdir: %global ruby_sitelibdir %(ruby -rrbconfig -e 'puts Config::CONFIG["sitelibdir"]')} +%global confdir conf/redhat Name: puppet Version: 0.25.2 -Release: 1%{?dist} +Release: 1%{?dist}.1 Summary: A network tool for managing many disparate systems License: GPLv2+ URL: http://puppet.reductivelabs.com/ @@ -222,6 +222,9 @@ fi rm -rf %{buildroot} %changelog +* Tue Jan 05 2010 Todd Zullinger - 0.25.2-1.1 +- Replace %%define with %%global for macros + * Tue Jan 05 2010 Todd Zullinger - 0.25.2-1 - Update to 0.25.2 - Fixes CVE-2010-0156, tmpfile security issue (#502881) From 2703742d937a82051e6f73c3fe354b37ef219245 Mon Sep 17 00:00:00 2001 From: Todd Zullinger Date: Tue, 12 Jan 2010 04:04:51 +0000 Subject: [PATCH 044/272] Replace %%define with %%global for macros --- .cvsignore | 2 +- puppet-0.25.3.tar.gz.sign | 17 +++++++++++++++++ puppet.spec | 8 ++++++-- sources | 2 +- 4 files changed, 25 insertions(+), 4 deletions(-) create mode 100644 puppet-0.25.3.tar.gz.sign diff --git a/.cvsignore b/.cvsignore index 728a193..1125240 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -puppet-0.25.2.tar.gz +puppet-0.25.3.tar.gz diff --git a/puppet-0.25.3.tar.gz.sign b/puppet-0.25.3.tar.gz.sign new file mode 100644 index 0000000..e80597a --- /dev/null +++ b/puppet-0.25.3.tar.gz.sign @@ -0,0 +1,17 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1.4.10 (GNU/Linux) + +iQIcBAABAgAGBQJLS8k5AAoJEP+shliDR6J/rukP/ArL4G3L27Y1YSMSCJN6uYby +WxCxnAI2lfkmiAoJtFUClnkbnWecHMSaambT+cabqng8fZWrBORpX3QNk9cZ8vEq +3pSFCNoUkMqCPDzXin1i7ykJW7l18NS3tPvHR7+w5ErvYopuvvQT+hUbo1GM1res +tRsfJz2PR5BVzK2qAS9rgER/c5A1OIz+6WlcS/VnsOaPMfxqWUnRRSozQpnUlX0N +ijuAn39VTbgnaK2D7TmDpDboTz+G3WHGONTQ9uAAoHJqV6uOFkekCgeD7N99uMkR +v5ZpdEUAkczw91H46qKMA4J+Cp0/WTHwDJTQ/BMtqRD6Ch37Gv4Xkcwes01m2jS+ +YCGcJzBFijl2Z/C8/DKFTtlyEY2qTeAs6BiSmMl9mQB8xmD4TDfenhdIq1QejKFz +Oq8kUyvfJ/JVX0TC1GLAqb5RzHihxO2y0I1O1XL+nq+cL8Vm9Zes8wvOwewkyubE +dCR7dDk46Mj163X/Nu/JNMkrESXn7iopVHbKh4X/0bV4QQ6ESBREmPMKG8wIu12I +kEIWUxJ4GAFeHio2jx0sRyZrr7mN56Ve2vwfxEsxlwGJ4zgpP5AB6hEaR92uDyMH +Abmc6oWgKVJQHxB7jGMQXPQ9iLPb7u2sYU2EbbPGpB1dw/+A2TGgaNndjJm+tbL3 +5lfnigur13poRtgMYvjz +=liWb +-----END PGP SIGNATURE----- diff --git a/puppet.spec b/puppet.spec index ef5d2fc..ee934f0 100644 --- a/puppet.spec +++ b/puppet.spec @@ -5,12 +5,13 @@ %global confdir conf/redhat Name: puppet -Version: 0.25.2 -Release: 1%{?dist}.1 +Version: 0.25.3 +Release: 1%{?dist} Summary: A network tool for managing many disparate systems License: GPLv2+ URL: http://puppet.reductivelabs.com/ Source0: http://reductivelabs.com/downloads/puppet/%{name}-%{version}.tar.gz +Source1: http://reductivelabs.com/downloads/puppet/%{name}-%{version}.tar.gz.sign # https://bugzilla.redhat.com/495096 Patch0: puppet-0.25.1-0002-Correct-rundir-permissions.patch @@ -222,6 +223,9 @@ fi rm -rf %{buildroot} %changelog +* Mon Jan 11 2010 Todd Zullinger - 0.25.3-1 +- Update to 0.25.3 + * Tue Jan 05 2010 Todd Zullinger - 0.25.2-1.1 - Replace %%define with %%global for macros diff --git a/sources b/sources index a914bda..7390943 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -d96be601ca6f936ec7c35a7206b2fa85 puppet-0.25.2.tar.gz +44bd7408e01d985992fa8b318f4e227e puppet-0.25.3.tar.gz From 7cf223fb4c13cf681fc738b7c53e273586f9dda3 Mon Sep 17 00:00:00 2001 From: Todd Zullinger Date: Wed, 20 Jan 2010 01:23:50 +0000 Subject: [PATCH 045/272] Apply upstream patch to fix cron resources (upstream #2845) --- ...Cron-entries-using-special-parameter.patch | 71 +++++++++++++++++++ puppet.spec | 8 ++- 2 files changed, 78 insertions(+), 1 deletion(-) create mode 100644 0001-Revert-Fix-2845-Cron-entries-using-special-parameter.patch diff --git a/0001-Revert-Fix-2845-Cron-entries-using-special-parameter.patch b/0001-Revert-Fix-2845-Cron-entries-using-special-parameter.patch new file mode 100644 index 0000000..2191001 --- /dev/null +++ b/0001-Revert-Fix-2845-Cron-entries-using-special-parameter.patch @@ -0,0 +1,71 @@ +From 441879f7999f4724e8ab344e796015a7ffbfb21b Mon Sep 17 00:00:00 2001 +From: James Turnbull +Date: Thu, 14 Jan 2010 14:14:19 +1100 +Subject: [PATCH/puppet] Revert "Fix #2845 Cron entries using "special" parameter lose their title when changed" + +This reverts commit c99f394bf8c10d13f3fa7d3ab7ab43ecf454c081. + +The fix broke cron jobs in 0.25.3 and was reverted for the 0.25.4 release. +--- + lib/puppet/provider/cron/crontab.rb | 13 +++++++++---- + spec/unit/provider/cron/crontab.rb | 21 --------------------- + 2 files changed, 9 insertions(+), 25 deletions(-) + delete mode 100755 spec/unit/provider/cron/crontab.rb + +diff --git a/lib/puppet/provider/cron/crontab.rb b/lib/puppet/provider/cron/crontab.rb +index 28ef059..6dee2e5 100755 +--- a/lib/puppet/provider/cron/crontab.rb ++++ b/lib/puppet/provider/cron/crontab.rb +@@ -27,13 +27,18 @@ Puppet::Type.type(:cron).provide(:crontab, + + text_line :environment, :match => %r{^\w+=} + +- crontab = record_line :crontab, :fields => %w{special minute hour monthday month weekday command}, +- :match => %r{^\s*(?:@(\w+)|(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+))\s+(.+)$}, +- :optional => %w{special minute hour weekday month monthday}, :absent => "*" ++ record_line :freebsd_special, :fields => %w{special command}, ++ :match => %r{^@(\w+)\s+(.+)$}, :pre_gen => proc { |record| ++ record[:special] = "@" + record[:special] ++ } ++ ++ crontab = record_line :crontab, :fields => %w{minute hour monthday month weekday command}, ++ :match => %r{^\s*(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(.+)$}, ++ :optional => %w{minute hour weekday month monthday}, :absent => "*" + + class << crontab + def numeric_fields +- fields - [:command, :special] ++ fields - [:command] + end + # Do some post-processing of the parsed record. Basically just + # split the numeric fields on ','. +diff --git a/spec/unit/provider/cron/crontab.rb b/spec/unit/provider/cron/crontab.rb +deleted file mode 100755 +index 5904a58..0000000 +--- a/spec/unit/provider/cron/crontab.rb ++++ /dev/null +@@ -1,21 +0,0 @@ +-#!/usr/bin/env ruby +- +-Dir.chdir(File.dirname(__FILE__)) { (s = lambda { |f| File.exist?(f) ? require(f) : Dir.chdir("..") { s.call(f) } }).call("spec/spec_helper.rb") } +- +-describe Puppet::Type.type(:cron).provider(:crontab) do +- before :each do +- @cron_type = Puppet::Type.type(:cron) +- @provider = @cron_type.provider(:crontab) +- end +- +- it "should round-trip the name as a comment for @special events" do +- parse = @provider.parse <<-CRON +-# Puppet Name: test +-@reboot /bin/echo > /tmp/puppet.txt +- CRON +- prefetch = @provider.prefetch_hook(parse) +- +- @provider.to_line(prefetch[0]).should =~ /Puppet Name: test/ +- end +- +-end +-- +1.6.6 + diff --git a/puppet.spec b/puppet.spec index ee934f0..59db0dc 100644 --- a/puppet.spec +++ b/puppet.spec @@ -6,7 +6,7 @@ Name: puppet Version: 0.25.3 -Release: 1%{?dist} +Release: 2%{?dist} Summary: A network tool for managing many disparate systems License: GPLv2+ URL: http://puppet.reductivelabs.com/ @@ -14,6 +14,8 @@ Source0: http://reductivelabs.com/downloads/puppet/%{name}-%{version}.tar Source1: http://reductivelabs.com/downloads/puppet/%{name}-%{version}.tar.gz.sign # https://bugzilla.redhat.com/495096 Patch0: puppet-0.25.1-0002-Correct-rundir-permissions.patch +# http://projects.reductivelabs.com/issues/show/2845 +Patch1: 0001-Revert-Fix-2845-Cron-entries-using-special-parameter.patch Group: System Environment/Base @@ -69,6 +71,7 @@ The server can also function as a certificate authority and file server. %prep %setup -q %patch0 -p1 +%patch1 -p1 %build # Fix some rpmlint complaints @@ -223,6 +226,9 @@ fi rm -rf %{buildroot} %changelog +* Tue Jan 19 2010 Todd Zullinger - 0.25.3-2 +- Apply upstream patch to fix cron resources (upstream #2845) + * Mon Jan 11 2010 Todd Zullinger - 0.25.3-1 - Update to 0.25.3 From bf0afbcfa085f2cdc06fd3cbd05039097f7f3719 Mon Sep 17 00:00:00 2001 From: Todd Zullinger Date: Sun, 31 Jan 2010 14:50:45 +0000 Subject: [PATCH 046/272] Update to 0.25.4 --- .cvsignore | 2 +- ...Cron-entries-using-special-parameter.patch | 71 ------------------- puppet-0.25.3.tar.gz.sign | 17 ----- puppet-0.25.4.tar.gz.sign | 17 +++++ puppet.spec | 10 +-- sources | 2 +- 6 files changed, 24 insertions(+), 95 deletions(-) delete mode 100644 0001-Revert-Fix-2845-Cron-entries-using-special-parameter.patch delete mode 100644 puppet-0.25.3.tar.gz.sign create mode 100644 puppet-0.25.4.tar.gz.sign diff --git a/.cvsignore b/.cvsignore index 1125240..aaf3649 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -puppet-0.25.3.tar.gz +puppet-0.25.4.tar.gz diff --git a/0001-Revert-Fix-2845-Cron-entries-using-special-parameter.patch b/0001-Revert-Fix-2845-Cron-entries-using-special-parameter.patch deleted file mode 100644 index 2191001..0000000 --- a/0001-Revert-Fix-2845-Cron-entries-using-special-parameter.patch +++ /dev/null @@ -1,71 +0,0 @@ -From 441879f7999f4724e8ab344e796015a7ffbfb21b Mon Sep 17 00:00:00 2001 -From: James Turnbull -Date: Thu, 14 Jan 2010 14:14:19 +1100 -Subject: [PATCH/puppet] Revert "Fix #2845 Cron entries using "special" parameter lose their title when changed" - -This reverts commit c99f394bf8c10d13f3fa7d3ab7ab43ecf454c081. - -The fix broke cron jobs in 0.25.3 and was reverted for the 0.25.4 release. ---- - lib/puppet/provider/cron/crontab.rb | 13 +++++++++---- - spec/unit/provider/cron/crontab.rb | 21 --------------------- - 2 files changed, 9 insertions(+), 25 deletions(-) - delete mode 100755 spec/unit/provider/cron/crontab.rb - -diff --git a/lib/puppet/provider/cron/crontab.rb b/lib/puppet/provider/cron/crontab.rb -index 28ef059..6dee2e5 100755 ---- a/lib/puppet/provider/cron/crontab.rb -+++ b/lib/puppet/provider/cron/crontab.rb -@@ -27,13 +27,18 @@ Puppet::Type.type(:cron).provide(:crontab, - - text_line :environment, :match => %r{^\w+=} - -- crontab = record_line :crontab, :fields => %w{special minute hour monthday month weekday command}, -- :match => %r{^\s*(?:@(\w+)|(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+))\s+(.+)$}, -- :optional => %w{special minute hour weekday month monthday}, :absent => "*" -+ record_line :freebsd_special, :fields => %w{special command}, -+ :match => %r{^@(\w+)\s+(.+)$}, :pre_gen => proc { |record| -+ record[:special] = "@" + record[:special] -+ } -+ -+ crontab = record_line :crontab, :fields => %w{minute hour monthday month weekday command}, -+ :match => %r{^\s*(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(.+)$}, -+ :optional => %w{minute hour weekday month monthday}, :absent => "*" - - class << crontab - def numeric_fields -- fields - [:command, :special] -+ fields - [:command] - end - # Do some post-processing of the parsed record. Basically just - # split the numeric fields on ','. -diff --git a/spec/unit/provider/cron/crontab.rb b/spec/unit/provider/cron/crontab.rb -deleted file mode 100755 -index 5904a58..0000000 ---- a/spec/unit/provider/cron/crontab.rb -+++ /dev/null -@@ -1,21 +0,0 @@ --#!/usr/bin/env ruby -- --Dir.chdir(File.dirname(__FILE__)) { (s = lambda { |f| File.exist?(f) ? require(f) : Dir.chdir("..") { s.call(f) } }).call("spec/spec_helper.rb") } -- --describe Puppet::Type.type(:cron).provider(:crontab) do -- before :each do -- @cron_type = Puppet::Type.type(:cron) -- @provider = @cron_type.provider(:crontab) -- end -- -- it "should round-trip the name as a comment for @special events" do -- parse = @provider.parse <<-CRON --# Puppet Name: test --@reboot /bin/echo > /tmp/puppet.txt -- CRON -- prefetch = @provider.prefetch_hook(parse) -- -- @provider.to_line(prefetch[0]).should =~ /Puppet Name: test/ -- end -- --end --- -1.6.6 - diff --git a/puppet-0.25.3.tar.gz.sign b/puppet-0.25.3.tar.gz.sign deleted file mode 100644 index e80597a..0000000 --- a/puppet-0.25.3.tar.gz.sign +++ /dev/null @@ -1,17 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v1.4.10 (GNU/Linux) - -iQIcBAABAgAGBQJLS8k5AAoJEP+shliDR6J/rukP/ArL4G3L27Y1YSMSCJN6uYby -WxCxnAI2lfkmiAoJtFUClnkbnWecHMSaambT+cabqng8fZWrBORpX3QNk9cZ8vEq -3pSFCNoUkMqCPDzXin1i7ykJW7l18NS3tPvHR7+w5ErvYopuvvQT+hUbo1GM1res -tRsfJz2PR5BVzK2qAS9rgER/c5A1OIz+6WlcS/VnsOaPMfxqWUnRRSozQpnUlX0N -ijuAn39VTbgnaK2D7TmDpDboTz+G3WHGONTQ9uAAoHJqV6uOFkekCgeD7N99uMkR -v5ZpdEUAkczw91H46qKMA4J+Cp0/WTHwDJTQ/BMtqRD6Ch37Gv4Xkcwes01m2jS+ -YCGcJzBFijl2Z/C8/DKFTtlyEY2qTeAs6BiSmMl9mQB8xmD4TDfenhdIq1QejKFz -Oq8kUyvfJ/JVX0TC1GLAqb5RzHihxO2y0I1O1XL+nq+cL8Vm9Zes8wvOwewkyubE -dCR7dDk46Mj163X/Nu/JNMkrESXn7iopVHbKh4X/0bV4QQ6ESBREmPMKG8wIu12I -kEIWUxJ4GAFeHio2jx0sRyZrr7mN56Ve2vwfxEsxlwGJ4zgpP5AB6hEaR92uDyMH -Abmc6oWgKVJQHxB7jGMQXPQ9iLPb7u2sYU2EbbPGpB1dw/+A2TGgaNndjJm+tbL3 -5lfnigur13poRtgMYvjz -=liWb ------END PGP SIGNATURE----- diff --git a/puppet-0.25.4.tar.gz.sign b/puppet-0.25.4.tar.gz.sign new file mode 100644 index 0000000..0929784 --- /dev/null +++ b/puppet-0.25.4.tar.gz.sign @@ -0,0 +1,17 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1.4.10 (GNU/Linux) + +iQIcBAABAgAGBQJLYokwAAoJEP+shliDR6J/Q2YP/Rz7MNMThLBwMlP7rb8AhLub +0IuOIPeeaJRJIM3Rp/H/CuLaQSg2jOU/NDfhDgMsNLbPdIE748hZ4BLuCAeUoDaa +LqXGuMLxyTGZF2Y8Jf74+78fcYMyyOoSaVixZl/eE9r3I8P9K7m/ANh/UBstdfFe +Ai64MHIaXLnNpvkE4JHoa+CKcihNgyk+MYUFBz/KK8QCdpFPDwuaTOo08a22WHhc +LtnPWOShms26FI9mDg3/wrnorbiJ2r2tCfokXB49F7GP0yHIPyJ8B8A8LrEJFtDt +00thP7eL6kwK/n3GvpgxTgkSDO6PrYkep+mMy73VeCTdmg/3YwjFld67O16qki97 +y+k9rwKW5QyYbLFs+V2itK/AFBRMv4iKDu/KGKGTF1liTwnGQM8GCa7WuwgrcMV7 +kv4FseJaCFR6YAt3Z6z/l5RknxIgfxym0UQ6n5qKjZ1/PJqFZz0Eq+CmNqFiz11X +Aqq2WFt0mVn8a6nOw9MCcCQ3mxI7ZVGobqI3C+M3xJDmLTZaTDHp+sIj/kR0szhS +bSTu0+MhLXxvSXCBMxUkGvSNfxO9Lz9Z988NrLdcyfAzPc9w/ENyvgwu8lhtvuRu +NIuwnQViiam5cBX4SFC2VjNL0XCfsjVWhxQTIibY8mWViybWenvSwyyyajJuC9SU +BjCta1BL09L6fJv5Rh/g +=H0bT +-----END PGP SIGNATURE----- diff --git a/puppet.spec b/puppet.spec index 59db0dc..b499a75 100644 --- a/puppet.spec +++ b/puppet.spec @@ -5,8 +5,8 @@ %global confdir conf/redhat Name: puppet -Version: 0.25.3 -Release: 2%{?dist} +Version: 0.25.4 +Release: 1%{?dist} Summary: A network tool for managing many disparate systems License: GPLv2+ URL: http://puppet.reductivelabs.com/ @@ -14,8 +14,6 @@ Source0: http://reductivelabs.com/downloads/puppet/%{name}-%{version}.tar Source1: http://reductivelabs.com/downloads/puppet/%{name}-%{version}.tar.gz.sign # https://bugzilla.redhat.com/495096 Patch0: puppet-0.25.1-0002-Correct-rundir-permissions.patch -# http://projects.reductivelabs.com/issues/show/2845 -Patch1: 0001-Revert-Fix-2845-Cron-entries-using-special-parameter.patch Group: System Environment/Base @@ -71,7 +69,6 @@ The server can also function as a certificate authority and file server. %prep %setup -q %patch0 -p1 -%patch1 -p1 %build # Fix some rpmlint complaints @@ -226,6 +223,9 @@ fi rm -rf %{buildroot} %changelog +* Fri Jan 29 2010 Todd Zullinger - 0.25.4-1 +- Update to 0.25.4 + * Tue Jan 19 2010 Todd Zullinger - 0.25.3-2 - Apply upstream patch to fix cron resources (upstream #2845) diff --git a/sources b/sources index 7390943..90c1c17 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -44bd7408e01d985992fa8b318f4e227e puppet-0.25.3.tar.gz +69c97019fda5620f9f45f6ad64407e3b puppet-0.25.4.tar.gz From 9110c70d10f236336f3a608674ee336e493d8dc5 Mon Sep 17 00:00:00 2001 From: Todd Zullinger Date: Tue, 18 May 2010 02:02:12 +0000 Subject: [PATCH 047/272] Update to 0.25.5 - Adjust selinux conditional for EL-6 - Apply rundir-perms patch from tarball rather than including it separately - Update URL's to reflect the new puppetlabs.com domain --- .cvsignore | 2 +- ...25.1-0002-Correct-rundir-permissions.patch | 25 ------------------- puppet-0.25.4.tar.gz.sign | 17 ------------- puppet-0.25.5.tar.gz.sign | 17 +++++++++++++ puppet.spec | 24 ++++++++++-------- sources | 2 +- 6 files changed, 33 insertions(+), 54 deletions(-) delete mode 100644 puppet-0.25.1-0002-Correct-rundir-permissions.patch delete mode 100644 puppet-0.25.4.tar.gz.sign create mode 100644 puppet-0.25.5.tar.gz.sign diff --git a/.cvsignore b/.cvsignore index aaf3649..725e4bc 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -puppet-0.25.4.tar.gz +puppet-0.25.5.tar.gz diff --git a/puppet-0.25.1-0002-Correct-rundir-permissions.patch b/puppet-0.25.1-0002-Correct-rundir-permissions.patch deleted file mode 100644 index 0463dbe..0000000 --- a/puppet-0.25.1-0002-Correct-rundir-permissions.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 1c7130844b241c1cc2d6c97545dcf895b310eec5 Mon Sep 17 00:00:00 2001 -From: Jeroen van Meeuwen (Fedora Unity) -Date: Wed, 25 Nov 2009 13:42:59 +0100 -Subject: [PATCH 2/2] Correct rundir permissions - ---- - lib/puppet/defaults.rb | 2 +- - 1 files changed, 1 insertions(+), 1 deletions(-) - -diff --git a/lib/puppet/defaults.rb b/lib/puppet/defaults.rb -index 9d992dd..7967877 100644 ---- a/lib/puppet/defaults.rb -+++ b/lib/puppet/defaults.rb -@@ -62,7 +62,7 @@ module Puppet - }, - :rundir => { - :default => rundir, -- :mode => 01777, -+ :mode => 0755, - :desc => "Where Puppet PID files are kept." - }, - :genconfig => [false, --- -1.6.5.2 - diff --git a/puppet-0.25.4.tar.gz.sign b/puppet-0.25.4.tar.gz.sign deleted file mode 100644 index 0929784..0000000 --- a/puppet-0.25.4.tar.gz.sign +++ /dev/null @@ -1,17 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v1.4.10 (GNU/Linux) - -iQIcBAABAgAGBQJLYokwAAoJEP+shliDR6J/Q2YP/Rz7MNMThLBwMlP7rb8AhLub -0IuOIPeeaJRJIM3Rp/H/CuLaQSg2jOU/NDfhDgMsNLbPdIE748hZ4BLuCAeUoDaa -LqXGuMLxyTGZF2Y8Jf74+78fcYMyyOoSaVixZl/eE9r3I8P9K7m/ANh/UBstdfFe -Ai64MHIaXLnNpvkE4JHoa+CKcihNgyk+MYUFBz/KK8QCdpFPDwuaTOo08a22WHhc -LtnPWOShms26FI9mDg3/wrnorbiJ2r2tCfokXB49F7GP0yHIPyJ8B8A8LrEJFtDt -00thP7eL6kwK/n3GvpgxTgkSDO6PrYkep+mMy73VeCTdmg/3YwjFld67O16qki97 -y+k9rwKW5QyYbLFs+V2itK/AFBRMv4iKDu/KGKGTF1liTwnGQM8GCa7WuwgrcMV7 -kv4FseJaCFR6YAt3Z6z/l5RknxIgfxym0UQ6n5qKjZ1/PJqFZz0Eq+CmNqFiz11X -Aqq2WFt0mVn8a6nOw9MCcCQ3mxI7ZVGobqI3C+M3xJDmLTZaTDHp+sIj/kR0szhS -bSTu0+MhLXxvSXCBMxUkGvSNfxO9Lz9Z988NrLdcyfAzPc9w/ENyvgwu8lhtvuRu -NIuwnQViiam5cBX4SFC2VjNL0XCfsjVWhxQTIibY8mWViybWenvSwyyyajJuC9SU -BjCta1BL09L6fJv5Rh/g -=H0bT ------END PGP SIGNATURE----- diff --git a/puppet-0.25.5.tar.gz.sign b/puppet-0.25.5.tar.gz.sign new file mode 100644 index 0000000..8cb537d --- /dev/null +++ b/puppet-0.25.5.tar.gz.sign @@ -0,0 +1,17 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1.4.10 (GNU/Linux) + +iQIcBAABAgAGBQJL8eKBAAoJEP+shliDR6J/INUP/1ge+BehyMcruFXKNyISr8Df +ZrWVYWs0keUqK2pxx34zeO/MUGbhGMwArxsH2eWcagXgujVZmW104B1EiFjw75Ok +3+pEjskUSWYoBJ4CpwZ0iJzr2D4L73A27xlzaDahGBd/sjLBwYjv69gs8EWdtBug +bvWIfJ2nbcMzipCY77JxECAcbqhVzEi/6hkrUs4bisXN4atiiPihEbBWdlCwS+Pw +nBTxZVqrTC/y7e+nxRtEvX0O3LZTAibfzE89SJX3YWVPSoUiR90jB/DWhPVaJEzr +0X1V3D79IE2gs2EO+S7JsoQfnWgVYGBYQmUGi9a3ZfDppo7aa4dDRTdQWHsF4bac +jHXkVFB1RV+nVF6O19YTbgrXcG5b/YcUEVqGXB+NvSDSrrF+aRoahFS4x+0HqK+h +DbnCv2ykPoCE/q7obbrYgx71pfskU4GEtL+rwtuynxMItq3E1lW0ZpQWt30+LwDW +tjMPrtsjuk/h48d79AbEWl3PPme5SZUfReQUcAs+yt0Y1yxjmvmAKzu0HQgJDtZL +io5JJ38zdMqtL7FLvnr6cK/rLDWz10yuvouwV922rghGh2qSFq0RZtt04RTjzcAJ +W/VVkUeL0BCccTzGX67DgkvRi7DEIGtZuw73M8kCkF/+TqlanHN8vSwRAKCmp3GU +UqZuvCGmazIIj4JH38/t +=1DPy +-----END PGP SIGNATURE----- diff --git a/puppet.spec b/puppet.spec index b499a75..5943e70 100644 --- a/puppet.spec +++ b/puppet.spec @@ -5,15 +5,13 @@ %global confdir conf/redhat Name: puppet -Version: 0.25.4 +Version: 0.25.5 Release: 1%{?dist} Summary: A network tool for managing many disparate systems License: GPLv2+ -URL: http://puppet.reductivelabs.com/ -Source0: http://reductivelabs.com/downloads/puppet/%{name}-%{version}.tar.gz -Source1: http://reductivelabs.com/downloads/puppet/%{name}-%{version}.tar.gz.sign -# https://bugzilla.redhat.com/495096 -Patch0: puppet-0.25.1-0002-Correct-rundir-permissions.patch +URL: http://puppetlabs.com +Source0: http://puppetlabs.com/downloads/%{name}/%{name}-%{version}.tar.gz +Source1: http://puppetlabs.com/downloads/%{name}/%{name}-%{version}.tar.gz.sign Group: System Environment/Base @@ -29,10 +27,10 @@ Requires: ruby-shadow %endif # Pull in ruby selinux bindings where available -%if 0%{?fedora} -%if 0%{?fedora} >= 12 +%if 0%{?fedora} >= 12 || 0%{?rhel} >= 6 %{!?_without_selinux:Requires: ruby(selinux)} %else +%if 0%{?fedora} || 0%{?rhel} >= 5 %{!?_without_selinux:Requires: libselinux-ruby} %endif %endif @@ -68,7 +66,7 @@ The server can also function as a certificate authority and file server. %prep %setup -q -%patch0 -p1 +patch -p1 < conf/redhat/rundir-perms.patch %build # Fix some rpmlint complaints @@ -156,9 +154,9 @@ install -Dp -m0644 ext/vim/syntax/puppet.vim $vimdir/syntax/puppet.vim %attr(-, puppet, puppet) %{_localstatedir}/run/puppet %attr(-, puppet, puppet) %{_localstatedir}/log/puppet %attr(-, puppet, puppet) %{_localstatedir}/lib/puppet +%{_mandir}/man5/puppet.conf.5.gz %{_mandir}/man8/pi.8.gz %{_mandir}/man8/puppet.8.gz -%{_mandir}/man8/puppet.conf.8.gz %{_mandir}/man8/puppetca.8.gz %{_mandir}/man8/puppetd.8.gz %{_mandir}/man8/ralsh.8.gz @@ -223,6 +221,12 @@ fi rm -rf %{buildroot} %changelog +* Mon May 17 2010 Todd Zullinger - 0.25.5-1 +- Update to 0.25.5 +- Adjust selinux conditional for EL-6 +- Apply rundir-perms patch from tarball rather than including it separately +- Update URL's to reflect the new puppetlabs.com domain + * Fri Jan 29 2010 Todd Zullinger - 0.25.4-1 - Update to 0.25.4 diff --git a/sources b/sources index 90c1c17..592fef7 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -69c97019fda5620f9f45f6ad64407e3b puppet-0.25.4.tar.gz +2988385801c967f7262cdf08640c9e07 puppet-0.25.5.tar.gz From 00ea46843264223e08f69f7a638fe9e495774879 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 29 Jul 2010 09:54:08 +0000 Subject: [PATCH 048/272] dist-git conversion --- .cvsignore => .gitignore | 0 Makefile | 21 --------------------- import.log | 4 ---- 3 files changed, 25 deletions(-) rename .cvsignore => .gitignore (100%) delete mode 100644 Makefile delete mode 100644 import.log diff --git a/.cvsignore b/.gitignore similarity index 100% rename from .cvsignore rename to .gitignore diff --git a/Makefile b/Makefile deleted file mode 100644 index 89d4096..0000000 --- a/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# Makefile for source rpm: puppet -# $Id$ -NAME := puppet -SPECFILE = $(firstword $(wildcard *.spec)) - -define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done -endef - -MAKEFILE_COMMON := $(shell $(find-makefile-common)) - -ifeq ($(MAKEFILE_COMMON),) -# attept a checkout -define checkout-makefile-common -test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2 -endef - -MAKEFILE_COMMON := $(shell $(checkout-makefile-common)) -endif - -include $(MAKEFILE_COMMON) diff --git a/import.log b/import.log deleted file mode 100644 index 4a451c6..0000000 --- a/import.log +++ /dev/null @@ -1,4 +0,0 @@ -puppet-0_24_7-1_fc10:HEAD:puppet-0.24.7-1.fc10.src.rpm:1229416939 -puppet-0_24_7-3_fc10:HEAD:puppet-0.24.7-3.fc10.src.rpm:1229418101 -puppet-0_24_8-2_fc11:HEAD:puppet-0.24.8-2.fc11.src.rpm:1245843917 -puppet-0_25_1-1_fc12:HEAD:puppet-0.25.1-1.fc12.src.rpm:1259220140 From 291d3b16072da23ed250a9a2b357b7cfd9c8b8a8 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Wed, 9 Feb 2011 11:19:58 -0600 Subject: [PATCH 049/272] - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild --- puppet.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/puppet.spec b/puppet.spec index 5943e70..3366343 100644 --- a/puppet.spec +++ b/puppet.spec @@ -6,7 +6,7 @@ Name: puppet Version: 0.25.5 -Release: 1%{?dist} +Release: 2%{?dist} Summary: A network tool for managing many disparate systems License: GPLv2+ URL: http://puppetlabs.com @@ -221,6 +221,9 @@ fi rm -rf %{buildroot} %changelog +* Wed Feb 09 2011 Fedora Release Engineering - 0.25.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + * Mon May 17 2010 Todd Zullinger - 0.25.5-1 - Update to 0.25.5 - Adjust selinux conditional for EL-6 From c1c8031682ced3b6ee2e5cd113ca88f7ac2fd23c Mon Sep 17 00:00:00 2001 From: Todd Zullinger Date: Wed, 16 Mar 2011 10:20:24 -0400 Subject: [PATCH 050/272] Update to 2.6.6 --- .gitignore | 6 +++++- puppet-0.25.5.tar.gz.sign | 17 ----------------- puppet-2.6.6.tar.gz.sign | 17 +++++++++++++++++ puppet.spec | 13 ++++++++----- sources | 2 +- 5 files changed, 31 insertions(+), 24 deletions(-) delete mode 100644 puppet-0.25.5.tar.gz.sign create mode 100644 puppet-2.6.6.tar.gz.sign diff --git a/.gitignore b/.gitignore index 725e4bc..310dfe7 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,5 @@ -puppet-0.25.5.tar.gz +*~ +*.rpm +*.tar.gz +/.build*.log +/puppet-*/ diff --git a/puppet-0.25.5.tar.gz.sign b/puppet-0.25.5.tar.gz.sign deleted file mode 100644 index 8cb537d..0000000 --- a/puppet-0.25.5.tar.gz.sign +++ /dev/null @@ -1,17 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v1.4.10 (GNU/Linux) - -iQIcBAABAgAGBQJL8eKBAAoJEP+shliDR6J/INUP/1ge+BehyMcruFXKNyISr8Df -ZrWVYWs0keUqK2pxx34zeO/MUGbhGMwArxsH2eWcagXgujVZmW104B1EiFjw75Ok -3+pEjskUSWYoBJ4CpwZ0iJzr2D4L73A27xlzaDahGBd/sjLBwYjv69gs8EWdtBug -bvWIfJ2nbcMzipCY77JxECAcbqhVzEi/6hkrUs4bisXN4atiiPihEbBWdlCwS+Pw -nBTxZVqrTC/y7e+nxRtEvX0O3LZTAibfzE89SJX3YWVPSoUiR90jB/DWhPVaJEzr -0X1V3D79IE2gs2EO+S7JsoQfnWgVYGBYQmUGi9a3ZfDppo7aa4dDRTdQWHsF4bac -jHXkVFB1RV+nVF6O19YTbgrXcG5b/YcUEVqGXB+NvSDSrrF+aRoahFS4x+0HqK+h -DbnCv2ykPoCE/q7obbrYgx71pfskU4GEtL+rwtuynxMItq3E1lW0ZpQWt30+LwDW -tjMPrtsjuk/h48d79AbEWl3PPme5SZUfReQUcAs+yt0Y1yxjmvmAKzu0HQgJDtZL -io5JJ38zdMqtL7FLvnr6cK/rLDWz10yuvouwV922rghGh2qSFq0RZtt04RTjzcAJ -W/VVkUeL0BCccTzGX67DgkvRi7DEIGtZuw73M8kCkF/+TqlanHN8vSwRAKCmp3GU -UqZuvCGmazIIj4JH38/t -=1DPy ------END PGP SIGNATURE----- diff --git a/puppet-2.6.6.tar.gz.sign b/puppet-2.6.6.tar.gz.sign new file mode 100644 index 0000000..9ff429a --- /dev/null +++ b/puppet-2.6.6.tar.gz.sign @@ -0,0 +1,17 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1.4.10 (GNU/Linux) + +iQIcBAABAgAGBQJNeAIeAAoJEBBUt6JL1uwwLqMP/A7L+ikXqLTc3X4gaPuiJcuI +dJW9fmzbOaeU1Bit4CaoA8e3gS2u+GybaxpW8eYhwAVGwws6NeKfoLXk7xXAl0X7 +pke5LMWl87vGw7orzeA/ck5QO4Gxel+OsDCXO18kRpnPswX/4FnaH8sF8u+y5kUU +2NuDabKPkMiDLjyC5TdXFP397hj0bRLmJjd2WtYo41nbjBJR6l3JOXWo5LlxGx6+ +8fzkqDXiNe/vERXm9As42SCehZ0QybRGEW8SgaXjLt4eXO4YJSpRhShRHP2f9d5C +3pUUnUHVuoQUWuNNA0W7wzS8CSKkmDVHyW5hWsMiyyE0u5THvOHBV8UvQ10QAF90 +mvcxiqwJYlxvPhuLGyEqGF+XpMqu4cS+f7ikNWtbacOdTY+uFLg5qSk25RwFGld7 +ASvlMP+H/Dp8uaxorCZt3dCTETmGbFWFiBgRrHRef6GR2H6gKqzDaRPoW30MNrVM +RAmb7xHHYeBoDf4msi5TJE546S3xfUwB/XjCNrQ8myuzg6engCgEmKB122BLq/DN +MmTZQx8DViYH+oPNQnOBkuFr3FeGNii+sZzC5VHyir3/8ksSQ4dSnKWbS8p8mGnP +5yR/WrUguN1HCdimKANWyGGfiKmNgADrDlOT3iUhjZs09ZR3IR2mTWVCLFcyu/Ft +ukGK0gYzxjK/2FF6uHoR +=/iZd +-----END PGP SIGNATURE----- diff --git a/puppet.spec b/puppet.spec index 3366343..74743ac 100644 --- a/puppet.spec +++ b/puppet.spec @@ -5,8 +5,8 @@ %global confdir conf/redhat Name: puppet -Version: 0.25.5 -Release: 2%{?dist} +Version: 2.6.6 +Release: 1%{?dist} Summary: A network tool for managing many disparate systems License: GPLv2+ URL: http://puppetlabs.com @@ -66,7 +66,8 @@ The server can also function as a certificate authority and file server. %prep %setup -q -patch -p1 < conf/redhat/rundir-perms.patch +patch -s -p1 < conf/redhat/rundir-perms.patch + %build # Fix some rpmlint complaints @@ -100,7 +101,6 @@ install -Dp -m0644 %{confdir}/server.sysconfig %{buildroot}%{_sysconfdir}/syscon install -Dp -m0755 %{confdir}/server.init %{buildroot}%{_initrddir}/puppetmaster install -Dp -m0644 %{confdir}/fileserver.conf %{buildroot}%{_sysconfdir}/puppet/fileserver.conf install -Dp -m0644 %{confdir}/puppet.conf %{buildroot}%{_sysconfdir}/puppet/puppet.conf -install -Dp -m0644 conf/auth.conf %{buildroot}%{_sysconfdir}/puppet/auth.conf install -Dp -m0644 %{confdir}/logrotate %{buildroot}%{_sysconfdir}/logrotate.d/puppet # We need something for these ghosted files, otherwise rpmbuild @@ -214,13 +214,16 @@ fi %postun server if [ "$1" -ge 1 ]; then - /sbin/service puppetmaster condrestart > /dev/null 2>&1 || : + /sbin/service puppetmaster condrestart >/dev/null 2>&1 || : fi %clean rm -rf %{buildroot} %changelog +* Wed Mar 16 2011 Todd Zullinger - 2.6.6-1 +- Update to 2.6.6 + * Wed Feb 09 2011 Fedora Release Engineering - 0.25.5-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild diff --git a/sources b/sources index 592fef7..4396540 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -2988385801c967f7262cdf08640c9e07 puppet-0.25.5.tar.gz +58315e94ff00aedc4a19177877c3e865 puppet-2.6.6.tar.gz From d072deb12671b53383f5eb7105594d6367e3729e Mon Sep 17 00:00:00 2001 From: Todd Zullinger Date: Wed, 16 Mar 2011 10:23:45 -0400 Subject: [PATCH 051/272] Ensure %pre exits cleanly --- puppet.spec | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/puppet.spec b/puppet.spec index 74743ac..f03f1f7 100644 --- a/puppet.spec +++ b/puppet.spec @@ -183,11 +183,12 @@ install -Dp -m0644 ext/vim/syntax/puppet.vim $vimdir/syntax/puppet.vim getent group puppet &>/dev/null || groupadd -r puppet -g 52 &>/dev/null getent passwd puppet &>/dev/null || \ useradd -r -u 52 -g puppet -d %{_localstatedir}/lib/puppet -s /sbin/nologin \ - -c "Puppet" puppet &>/dev/null || : + -c "Puppet" puppet &>/dev/null # ensure that old setups have the right puppet home dir if [ $1 -gt 1 ] ; then - usermod -d %{_localstatedir}/lib/puppet puppet &>/dev/null || : + usermod -d %{_localstatedir}/lib/puppet puppet &>/dev/null fi +exit 0 %post /sbin/chkconfig --add puppet || : @@ -197,13 +198,13 @@ fi %preun if [ "$1" = 0 ] ; then - /sbin/service puppet stop > /dev/null 2>&1 + /sbin/service puppet stop >/dev/null 2>&1 /sbin/chkconfig --del puppet || : fi %preun server if [ "$1" = 0 ] ; then - /sbin/service puppetmaster stop > /dev/null 2>&1 + /sbin/service puppetmaster stop >/dev/null 2>&1 /sbin/chkconfig --del puppetmaster || : fi @@ -223,6 +224,7 @@ rm -rf %{buildroot} %changelog * Wed Mar 16 2011 Todd Zullinger - 2.6.6-1 - Update to 2.6.6 +- Ensure %%pre exits cleanly * Wed Feb 09 2011 Fedora Release Engineering - 0.25.5-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild From 42f1b775815b0a6d4e085db433cf6ae42104f69d Mon Sep 17 00:00:00 2001 From: Todd Zullinger Date: Wed, 16 Mar 2011 10:24:57 -0400 Subject: [PATCH 052/272] Fix License tag, puppet is now GPLv2 only Upstream is exploring the possibility of moving to a more liberal license like the Apache Software License and the advice of their legal team was that it would be easier to move from GPLv2 than GPLv2 or later. --- puppet.spec | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/puppet.spec b/puppet.spec index f03f1f7..2db7dde 100644 --- a/puppet.spec +++ b/puppet.spec @@ -8,7 +8,7 @@ Name: puppet Version: 2.6.6 Release: 1%{?dist} Summary: A network tool for managing many disparate systems -License: GPLv2+ +License: GPLv2 URL: http://puppetlabs.com Source0: http://puppetlabs.com/downloads/%{name}/%{name}-%{version}.tar.gz Source1: http://puppetlabs.com/downloads/%{name}/%{name}-%{version}.tar.gz.sign @@ -225,6 +225,7 @@ rm -rf %{buildroot} * Wed Mar 16 2011 Todd Zullinger - 2.6.6-1 - Update to 2.6.6 - Ensure %%pre exits cleanly +- Fix License tag, puppet is now GPLv2 only * Wed Feb 09 2011 Fedora Release Engineering - 0.25.5-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild From 9bf6b15a1edba1b35a85099317a4b665e8da3a17 Mon Sep 17 00:00:00 2001 From: Todd Zullinger Date: Wed, 16 Mar 2011 10:35:31 -0400 Subject: [PATCH 053/272] Create and own /usr/share/puppet/modules (#615432) --- puppet.spec | 2 ++ 1 file changed, 2 insertions(+) diff --git a/puppet.spec b/puppet.spec index 2db7dde..9e2d2d3 100644 --- a/puppet.spec +++ b/puppet.spec @@ -92,6 +92,7 @@ rm -rf %{buildroot} ruby install.rb --destdir=%{buildroot} --quick --no-rdoc install -d -m0755 %{buildroot}%{_sysconfdir}/puppet/manifests +install -d -m0755 %{buildroot}%{_datadir}/%{name}/modules install -d -m0755 %{buildroot}%{_localstatedir}/lib/puppet install -d -m0755 %{buildroot}%{_localstatedir}/run/puppet install -d -m0750 %{buildroot}%{_localstatedir}/log/puppet @@ -226,6 +227,7 @@ rm -rf %{buildroot} - Update to 2.6.6 - Ensure %%pre exits cleanly - Fix License tag, puppet is now GPLv2 only +- Create and own /usr/share/puppet/modules (#615432) * Wed Feb 09 2011 Fedora Release Engineering - 0.25.5-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild From 6e7f2a531d1b3e2cdd517de0d477d2cb143f5ae1 Mon Sep 17 00:00:00 2001 From: Todd Zullinger Date: Wed, 16 Mar 2011 10:36:41 -0400 Subject: [PATCH 054/272] Properly restart puppet agent/master daemons on upgrades from 0.25.x The pidfile changed from 0.25.x to 2.6.x. Attempt to handle upgrades without leaving the old process running. --- puppet.spec | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/puppet.spec b/puppet.spec index 9e2d2d3..f3776ec 100644 --- a/puppet.spec +++ b/puppet.spec @@ -193,9 +193,29 @@ exit 0 %post /sbin/chkconfig --add puppet || : +if [ "$1" -ge 1 ]; then + # The pidfile changed from 0.25.x to 2.6.x, handle upgrades without leaving + # the old process running. + oldpid="%{_localstatedir}/run/puppet/puppetd.pid" + newpid="%{_localstatedir}/run/puppet/agent.pid" + if [ -s "$oldpid" -a ! -s "$newpid" ]; then + (kill $(< "$oldpid") && rm -f "$oldpid" && \ + /sbin/service puppet start) >/dev/null 2>&1 || : + fi +fi %post server /sbin/chkconfig --add puppetmaster || : +if [ "$1" -ge 1 ]; then + # The pidfile changed from 0.25.x to 2.6.x, handle upgrades without leaving + # the old process running. + oldpid="%{_localstatedir}/run/puppet/puppetmasterd.pid" + newpid="%{_localstatedir}/run/puppet/master.pid" + if [ -s "$oldpid" -a ! -s "$newpid" ]; then + (kill $(< "$oldpid") && rm -f "$oldpid" && \ + /sbin/service puppetmaster start) >/dev/null 2>&1 || : + fi +fi %preun if [ "$1" = 0 ] ; then @@ -228,6 +248,7 @@ rm -rf %{buildroot} - Ensure %%pre exits cleanly - Fix License tag, puppet is now GPLv2 only - Create and own /usr/share/puppet/modules (#615432) +- Properly restart puppet agent/master daemons on upgrades from 0.25.x * Wed Feb 09 2011 Fedora Release Engineering - 0.25.5-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild From 930375d8ab5dad56de1d366a983e2e3828e3f9ae Mon Sep 17 00:00:00 2001 From: Todd Zullinger Date: Wed, 16 Mar 2011 10:38:27 -0400 Subject: [PATCH 055/272] Require libselinux-utils when selinux support is enabled Some of the selinux types/providers call binaries from libselinux-utils directly. Ideally, these would be converted to use the ruby bindings, but it is not clear if that is feasible at this time. --- puppet.spec | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/puppet.spec b/puppet.spec index f3776ec..8bd2f2c 100644 --- a/puppet.spec +++ b/puppet.spec @@ -27,11 +27,11 @@ Requires: ruby-shadow %endif # Pull in ruby selinux bindings where available -%if 0%{?fedora} >= 12 || 0%{?rhel} >= 6 -%{!?_without_selinux:Requires: ruby(selinux)} +%if 0%{?fedora} || 0%{?rhel} >= 6 +%{!?_without_selinux:Requires: ruby(selinux), libselinux-utils} %else -%if 0%{?fedora} || 0%{?rhel} >= 5 -%{!?_without_selinux:Requires: libselinux-ruby} +%if 0%{?rhel} && 0%{?rhel} == 5 +%{!?_without_selinux:Requires: libselinux-ruby, libselinux-utils} %endif %endif @@ -249,6 +249,7 @@ rm -rf %{buildroot} - Fix License tag, puppet is now GPLv2 only - Create and own /usr/share/puppet/modules (#615432) - Properly restart puppet agent/master daemons on upgrades from 0.25.x +- Require libselinux-utils when selinux support is enabled * Wed Feb 09 2011 Fedora Release Engineering - 0.25.5-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild From 9bfa9137f0d797cefc7fd74239679c62010cd0f1 Mon Sep 17 00:00:00 2001 From: Todd Zullinger Date: Wed, 16 Mar 2011 10:41:44 -0400 Subject: [PATCH 056/272] Support tmpfiles.d for Fedora >= 15 (#656677) --- puppet.spec | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/puppet.spec b/puppet.spec index 8bd2f2c..c40c54c 100644 --- a/puppet.spec +++ b/puppet.spec @@ -127,6 +127,13 @@ vimdir=%{buildroot}%{_datadir}/vim/vimfiles install -Dp -m0644 ext/vim/ftdetect/puppet.vim $vimdir/ftdetect/puppet.vim install -Dp -m0644 ext/vim/syntax/puppet.vim $vimdir/syntax/puppet.vim +%if 0%{?fedora} >= 15 +# Setup tmpfiles.d config +mkdir mkdir -p %{buildroot}%{_sysconfdir}/tmpfiles.d +echo "D /var/run/%{name} 0755 %{name} %{name} -" > \ + %{buildroot}%{_sysconfdir}/tmpfiles.d/%{name}.conf +%endif + %files %defattr(-, root, root, 0755) %doc CHANGELOG COPYING LICENSE README README.queueing examples @@ -140,6 +147,9 @@ install -Dp -m0644 ext/vim/syntax/puppet.vim $vimdir/syntax/puppet.vim %{ruby_sitelibdir}/* %{_initrddir}/puppet %dir %{_sysconfdir}/puppet +%if 0%{?fedora} >= 15 +%config(noreplace) %{_sysconfdir}/tmpfiles.d/%{name}.conf +%endif %config(noreplace) %{_sysconfdir}/sysconfig/puppet %config(noreplace) %{_sysconfdir}/puppet/puppet.conf %config(noreplace) %{_sysconfdir}/puppet/auth.conf @@ -250,6 +260,7 @@ rm -rf %{buildroot} - Create and own /usr/share/puppet/modules (#615432) - Properly restart puppet agent/master daemons on upgrades from 0.25.x - Require libselinux-utils when selinux support is enabled +- Support tmpfiles.d for Fedora >= 15 (#656677) * Wed Feb 09 2011 Fedora Release Engineering - 0.25.5-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild From 97a1f9e0c101fb87e10c7a299537adbda9532fd6 Mon Sep 17 00:00:00 2001 From: Todd Zullinger Date: Wed, 16 Mar 2011 17:01:09 -0400 Subject: [PATCH 057/272] Apply a few upstream fixes for 0.25.5 regressions The patches are from 2.6.7rc1. (#4922) Don't truncate remotely-sourced files on 404 (#5073) Download plugins even if you're filtering on tags (#5428) More fully "stub" Puppet::Resource::Reference for use with storedconfigs --- ...uncate-remotely-sourced-files-on-404.patch | 273 ++++++++++++++++++ ...ugins-even-if-you-re-filtering-on-ta.patch | 123 ++++++++ ...stub-Puppet-Resource-Reference-for-u.patch | 182 ++++++++++++ puppet.spec | 10 + 4 files changed, 588 insertions(+) create mode 100644 0001-4922-Don-t-truncate-remotely-sourced-files-on-404.patch create mode 100644 0001-5073-Download-plugins-even-if-you-re-filtering-on-ta.patch create mode 100644 0001-5428-More-fully-stub-Puppet-Resource-Reference-for-u.patch diff --git a/0001-4922-Don-t-truncate-remotely-sourced-files-on-404.patch b/0001-4922-Don-t-truncate-remotely-sourced-files-on-404.patch new file mode 100644 index 0000000..1b4f1ce --- /dev/null +++ b/0001-4922-Don-t-truncate-remotely-sourced-files-on-404.patch @@ -0,0 +1,273 @@ +From 743e03930758d17ed35fc6b73f7c2c68d8212137 Mon Sep 17 00:00:00 2001 +From: Nick Lewis +Date: Mon, 28 Feb 2011 13:40:18 -0800 +Subject: [PATCH/puppet] (#4922) Don't truncate remotely-sourced files on 404 + +We were 'handling' 404's on remote file content retrieval by returning nil +rather than raising an exception. This caused no content to be written to the +temporary file, but still appeared successful, so the destination file was +overwritten, instead of preserved. Now we just handle 404 like any other +error. + +Note that the root cause of these 404s seems to have been #4319, which has been +fixed. However, in the event we do happen to get a 404 here, it's better not to +have code to specifically handle it incorrectly. + +Paired-With: Max Martin +Reviewed-By: Matt Robinson +--- + lib/puppet/type/file/content.rb | 1 - + spec/unit/type/file/content_spec.rb | 175 ++++++++--------------------------- + 2 files changed, 38 insertions(+), 138 deletions(-) + +diff --git a/lib/puppet/type/file/content.rb b/lib/puppet/type/file/content.rb +index 63c0aaf..1b36acb 100755 +--- a/lib/puppet/type/file/content.rb ++++ b/lib/puppet/type/file/content.rb +@@ -194,7 +194,6 @@ module Puppet + connection = Puppet::Network::HttpPool.http_instance(source_or_content.server, source_or_content.port) + connection.request_get(indirection2uri(request), add_accept_encoding({"Accept" => "raw"})) do |response| + case response.code +- when "404"; nil + when /^2/; uncompress(response) { |uncompressor| response.read_body { |chunk| yield uncompressor.uncompress(chunk) } } + else + # Raise the http error if we didn't get a 'success' of some kind. +diff --git a/spec/unit/type/file/content_spec.rb b/spec/unit/type/file/content_spec.rb +index 9178c94..7d23399 100755 +--- a/spec/unit/type/file/content_spec.rb ++++ b/spec/unit/type/file/content_spec.rb +@@ -4,15 +4,14 @@ Dir.chdir(File.dirname(__FILE__)) { (s = lambda { |f| File.exist?(f) ? require(f + + content = Puppet::Type.type(:file).attrclass(:content) + describe content do ++ include PuppetSpec::Files + before do +- @resource = Puppet::Type.type(:file).new :path => "/foo/bar" ++ @filename = tmpfile('testfile') ++ @resource = Puppet::Type.type(:file).new :path => @filename ++ File.open(@filename, 'w') {|f| f.write "initial file content"} + content.stubs(:standalone?).returns(false) + end + +- it "should be a subclass of Property" do +- content.superclass.must == Puppet::Property +- end +- + describe "when determining the checksum type" do + it "should use the type specified in the source checksum if a source is set" do + @resource[:source] = "/foo" +@@ -249,10 +248,10 @@ describe content do + describe "when writing" do + before do + @content = content.new(:resource => @resource) +- @fh = stub_everything + end + + it "should attempt to read from the filebucket if no actual content nor source exists" do ++ @fh = File.open(@filename, 'w') + @content.should = "{md5}foo" + @content.resource.bucket.class.any_instance.stubs(:getfile).returns "foo" + @content.write(@fh) +@@ -302,166 +301,68 @@ describe content do + + describe "from local source" do + before(:each) do +- @content.stubs(:actual_content).returns(nil) +- @source = stub_everything 'source', :local? => true, :full_path => "/path/to/source" +- @resource.stubs(:parameter).with(:source).returns @source +- +- @sum = stub_everything 'sum' +- @resource.stubs(:parameter).with(:checksum).returns(@sum) +- +- @digest = stub_everything 'digest' +- @sum.stubs(:sum_stream).yields(@digest) +- +- @file = stub_everything 'file' +- File.stubs(:open).yields(@file) +- @file.stubs(:read).with(8192).returns("chunk1").then.returns("chunk2").then.returns(nil) +- end +- +- it "should open the local file" do +- File.expects(:open).with("/path/to/source", "r") +- @content.write(@fh) +- end ++ @resource = Puppet::Type.type(:file).new :path => @filename, :backup => false ++ @sourcename = tmpfile('source') ++ @source_content = "source file content"*10000 ++ @sourcefile = File.open(@sourcename, 'w') {|f| f.write @source_content} + +- it "should read the local file by chunks" do +- @file.expects(:read).with(8192).returns("chunk1").then.returns(nil) +- @content.write(@fh) ++ @content = @resource.newattr(:content) ++ @source = @resource.newattr(:source) ++ @source.stubs(:metadata).returns stub_everything('metadata', :source => @sourcename, :ftype => 'file') + end + +- it "should write each chunk to the file" do +- @fh.expects(:print).with("chunk1").then.with("chunk2") +- @content.write(@fh) +- end +- +- it "should pass each chunk to the current sum stream" do +- @digest.expects(:<<).with("chunk1").then.with("chunk2") +- @content.write(@fh) ++ it "should copy content from the source to the file" do ++ @resource.write(@source) ++ File.read(@filename).should == @source_content + end + + it "should return the checksum computed" do +- @sum.stubs(:sum_stream).yields(@digest).returns("checksum") +- @content.write(@fh).should == "checksum" ++ File.open(@filename, 'w') do |file| ++ @content.write(file).should == "{md5}#{Digest::MD5.hexdigest(@source_content)}" ++ end + end + end + + describe "from remote source" do + before(:each) do +- @response = stub_everything 'mock response', :code => "404" ++ @resource = Puppet::Type.type(:file).new :path => @filename, :backup => false ++ @response = stub_everything 'response', :code => "200" ++ @source_content = "source file content"*10000 ++ @response.stubs(:read_body).multiple_yields(*(["source file content"]*10000)) ++ + @conn = stub_everything 'connection' + @conn.stubs(:request_get).yields(@response) + Puppet::Network::HttpPool.stubs(:http_instance).returns @conn + +- @content.stubs(:actual_content).returns(nil) +- @source = stub_everything 'source', :local? => false, :full_path => "/path/to/source", :server => "server", :port => 1234 +- @resource.stubs(:parameter).with(:source).returns @source +- +- @sum = stub_everything 'sum' +- @resource.stubs(:parameter).with(:checksum).returns(@sum) +- +- @digest = stub_everything 'digest' +- @sum.stubs(:sum_stream).yields(@digest) +- end +- +- it "should open a network connection to source server and port" do +- Puppet::Network::HttpPool.expects(:http_instance).with("server", 1234).returns @conn +- @content.write(@fh) +- end +- +- it "should send the correct indirection uri" do +- @conn.expects(:request_get).with { |uri,headers| uri == "/production/file_content/path/to/source" }.yields(@response) +- @content.write(@fh) ++ @content = @resource.newattr(:content) ++ @sourcename = "puppet:///test/foo" ++ @source = @resource.newattr(:source) ++ @source.stubs(:metadata).returns stub_everything('metadata', :source => @sourcename, :ftype => 'file') + end + +- it "should return nil if source is not found" do +- @response.expects(:code).returns("404") +- @content.write(@fh).should == nil ++ it "should write the contents to the file" do ++ @resource.write(@source) ++ File.read(@filename).should == @source_content + end + + it "should not write anything if source is not found" do +- @response.expects(:code).returns("404") +- @fh.expects(:print).never +- @content.write(@fh).should == nil ++ @response.stubs(:code).returns("404") ++ lambda {@resource.write(@source)}.should raise_error(Net::HTTPError) { |e| e.message =~ /404/ } ++ File.read(@filename).should == "initial file content" + end + + it "should raise an HTTP error in case of server error" do +- @response.expects(:code).returns("500") +- lambda { @content.write(@fh) }.should raise_error +- end +- +- it "should write content by chunks" do +- @response.expects(:code).returns("200") +- @response.expects(:read_body).multiple_yields("chunk1","chunk2") +- @fh.expects(:print).with("chunk1").then.with("chunk2") +- @content.write(@fh) +- end +- +- it "should pass each chunk to the current sum stream" do +- @response.expects(:code).returns("200") +- @response.expects(:read_body).multiple_yields("chunk1","chunk2") +- @digest.expects(:<<).with("chunk1").then.with("chunk2") +- @content.write(@fh) ++ @response.stubs(:code).returns("500") ++ lambda { @content.write(@fh) }.should raise_error { |e| e.message.include? @source_content } + end + + it "should return the checksum computed" do +- @response.expects(:code).returns("200") +- @response.expects(:read_body).multiple_yields("chunk1","chunk2") +- @sum.expects(:sum_stream).yields(@digest).returns("checksum") +- @content.write(@fh).should == "checksum" +- end +- +- it "should get the current accept encoding header value" do +- @content.expects(:add_accept_encoding) +- @content.write(@fh) +- end +- +- it "should uncompress body on error" do +- @response.expects(:code).returns("500") +- @response.expects(:body).returns("compressed body") +- @content.expects(:uncompress_body).with(@response).returns("uncompressed") +- lambda { @content.write(@fh) }.should raise_error { |e| e.message =~ /uncompressed/ } +- end +- +- it "should uncompress chunk by chunk" do +- uncompressor = stub_everything 'uncompressor' +- @content.expects(:uncompress).with(@response).yields(uncompressor) +- @response.expects(:code).returns("200") +- @response.expects(:read_body).multiple_yields("chunk1","chunk2") +- +- uncompressor.expects(:uncompress).with("chunk1").then.with("chunk2") +- @content.write(@fh) +- end +- +- it "should write uncompressed chunks to the file" do +- uncompressor = stub_everything 'uncompressor' +- @content.expects(:uncompress).with(@response).yields(uncompressor) +- @response.expects(:code).returns("200") +- @response.expects(:read_body).multiple_yields("chunk1","chunk2") +- +- uncompressor.expects(:uncompress).with("chunk1").returns("uncompressed1") +- uncompressor.expects(:uncompress).with("chunk2").returns("uncompressed2") +- +- @fh.expects(:print).with("uncompressed1") +- @fh.expects(:print).with("uncompressed2") +- +- @content.write(@fh) +- end +- +- it "should pass each uncompressed chunk to the current sum stream" do +- uncompressor = stub_everything 'uncompressor' +- @content.expects(:uncompress).with(@response).yields(uncompressor) +- @response.expects(:code).returns("200") +- @response.expects(:read_body).multiple_yields("chunk1","chunk2") +- +- uncompressor.expects(:uncompress).with("chunk1").returns("uncompressed1") +- uncompressor.expects(:uncompress).with("chunk2").returns("uncompressed2") +- +- @digest.expects(:<<).with("uncompressed1").then.with("uncompressed2") +- @content.write(@fh) ++ File.open(@filename, 'w') do |file| ++ @content.write(file).should == "{md5}#{Digest::MD5.hexdigest(@source_content)}" ++ end + end + end + +- describe "from a filebucket" do +- end +- + # These are testing the implementation rather than the desired behaviour; while that bites, there are a whole + # pile of other methods in the File type that depend on intimate details of this implementation and vice-versa. + # If these blow up, you are gonna have to review the callers to make sure they don't explode! --daniel 2011-02-01 +-- +1.7.4.1 + diff --git a/0001-5073-Download-plugins-even-if-you-re-filtering-on-ta.patch b/0001-5073-Download-plugins-even-if-you-re-filtering-on-ta.patch new file mode 100644 index 0000000..3501750 --- /dev/null +++ b/0001-5073-Download-plugins-even-if-you-re-filtering-on-ta.patch @@ -0,0 +1,123 @@ +From 852fb9744320c253772c85e52b262b0290fb7dd4 Mon Sep 17 00:00:00 2001 +From: Matt Robinson +Date: Tue, 15 Mar 2011 16:13:15 -0700 +Subject: [PATCH/puppet] (#5073) Download plugins even if you're filtering on tags + +When we eval a resource in transaction.rb it was being skipped when +filtering on tags and downloading the plugins. There's a lot of +complicated conditions for whether to skip a resource, but this is a +condensed version of the path that was causing plugins not to be +downloaded. + + skip? + missing_tags? + !ignore_tags? + !host_config + +The Puppet::Configurer::Downloader creates separate catalogs and applies them +to get custom facts and plugins, so should be setting host_config to false. +Puppet::Util::Settings also sets host_config to false when you call use on +settings, while normal catalog application defaults to true. + +Thanks to Stefan Schulte for suggesting +the implementation fix. +--- + lib/puppet/configurer/downloader.rb | 1 + + lib/puppet/configurer/plugin_handler.rb | 9 +++++++- + spec/unit/configurer/downloader_spec.rb | 32 +++++++++++++++++++++--------- + 3 files changed, 31 insertions(+), 11 deletions(-) + +diff --git a/lib/puppet/configurer/downloader.rb b/lib/puppet/configurer/downloader.rb +index 1b587ed..b369620 100644 +--- a/lib/puppet/configurer/downloader.rb ++++ b/lib/puppet/configurer/downloader.rb +@@ -50,6 +50,7 @@ class Puppet::Configurer::Downloader + + def catalog + catalog = Puppet::Resource::Catalog.new ++ catalog.host_config = false + catalog.add_resource(file) + catalog + end +diff --git a/lib/puppet/configurer/plugin_handler.rb b/lib/puppet/configurer/plugin_handler.rb +index cfc6b5a..ae088f2 100644 +--- a/lib/puppet/configurer/plugin_handler.rb ++++ b/lib/puppet/configurer/plugin_handler.rb +@@ -9,7 +9,14 @@ module Puppet::Configurer::PluginHandler + # Retrieve facts from the central server. + def download_plugins + return nil unless download_plugins? +- Puppet::Configurer::Downloader.new("plugin", Puppet[:plugindest], Puppet[:pluginsource], Puppet[:pluginsignore]).evaluate.each { |file| load_plugin(file) } ++ plugin_downloader = Puppet::Configurer::Downloader.new( ++ "plugin", ++ Puppet[:plugindest], ++ Puppet[:pluginsource], ++ Puppet[:pluginsignore] ++ ) ++ ++ plugin_downloader.evaluate.each { |file| load_plugin(file) } + end + + def load_plugin(file) +diff --git a/spec/unit/configurer/downloader_spec.rb b/spec/unit/configurer/downloader_spec.rb +index c57f39f..4080263 100755 +--- a/spec/unit/configurer/downloader_spec.rb ++++ b/spec/unit/configurer/downloader_spec.rb +@@ -5,6 +5,8 @@ require File.dirname(__FILE__) + '/../../spec_helper' + require 'puppet/configurer/downloader' + + describe Puppet::Configurer::Downloader do ++ require 'puppet_spec/files' ++ include PuppetSpec::Files + it "should require a name" do + lambda { Puppet::Configurer::Downloader.new }.should raise_error(ArgumentError) + end +@@ -96,25 +98,35 @@ describe Puppet::Configurer::Downloader do + + describe "when creating the catalog to do the downloading" do + before do +- @dler = Puppet::Configurer::Downloader.new("foo", "path", "source") ++ @dler = Puppet::Configurer::Downloader.new("foo", "/download/path", "source") + end + + it "should create a catalog and add the file to it" do +- file = mock 'file' +- catalog = mock 'catalog' +- +- @dler.expects(:file).returns file +- +- Puppet::Resource::Catalog.expects(:new).returns catalog +- catalog.expects(:add_resource).with(file) ++ catalog = @dler.catalog ++ catalog.resources.size.should == 1 ++ catalog.resources.first.class.should == Puppet::Type::File ++ catalog.resources.first.name.should == "/download/path" ++ end + +- @dler.catalog.should equal(catalog) ++ it "should specify that it is not managing a host catalog" do ++ @dler.catalog.host_config.should == false + end ++ + end + + describe "when downloading" do + before do +- @dler = Puppet::Configurer::Downloader.new("foo", "path", "source") ++ @dl_name = tmpfile("downloadpath") ++ source_name = tmpfile("source") ++ File.open(source_name, 'w') {|f| f.write('hola mundo') } ++ @dler = Puppet::Configurer::Downloader.new("foo", @dl_name, source_name) ++ end ++ ++ it "should not skip downloaded resources when filtering on tags" do ++ Puppet[:tags] = 'maytag' ++ @dler.evaluate ++ ++ File.exists?(@dl_name).should be_true + end + + it "should log that it is downloading" do +-- +1.7.4.1 + diff --git a/0001-5428-More-fully-stub-Puppet-Resource-Reference-for-u.patch b/0001-5428-More-fully-stub-Puppet-Resource-Reference-for-u.patch new file mode 100644 index 0000000..55566ec --- /dev/null +++ b/0001-5428-More-fully-stub-Puppet-Resource-Reference-for-u.patch @@ -0,0 +1,182 @@ +From ff9e2425a58bb2b1ab836e440c3344b4012623c5 Mon Sep 17 00:00:00 2001 +From: Jacob Helwig +Date: Fri, 25 Feb 2011 17:03:56 -0800 +Subject: [PATCH/puppet] (#5428) More fully "stub" Puppet::Resource::Reference for use with storedconfigs + +The Puppet::Resource::Reference class wasn't stubbing enough of the 0.25.x +behavior to satisfy the needs of storedconfigs. Since P::R::Reference, +and Puppet::Resource were merged as part of 2.6.x, we can pretend that +P::Resource is P::R::Reference for the purposes of loading data from +storedconfigs. This should still satisfy the over-the-wire serialization +needs of 0.25.x. + +This also changes internal references to @parameters in +Puppet::Resource(::Reference) to go through a parameters method. This +allows us to "initialize" this instance variable lazily, since loading via +YAML bypasses the normal initialize method. + +Paired-with: Daniel Pittman +Reviewed-by: Markus Roberts +--- + lib/puppet/resource.rb | 35 +++++++++++++++++++---------------- + spec/unit/resource_spec.rb | 26 ++++++++++++++++++++++++-- + 2 files changed, 43 insertions(+), 18 deletions(-) + +diff --git a/lib/puppet/resource.rb b/lib/puppet/resource.rb +index e832804..e47fc7e 100644 +--- a/lib/puppet/resource.rb ++++ b/lib/puppet/resource.rb +@@ -5,6 +5,11 @@ require 'puppet/util/pson' + # The simplest resource class. Eventually it will function as the + # base class for all resource-like behaviour. + class Puppet::Resource ++ # This stub class is only needed for serialization compatibility with 0.25.x. ++ # Specifically, it exists to provide a compatibility API when using YAML ++ # serialized objects loaded from StoreConfigs. ++ Reference = Puppet::Resource ++ + include Puppet::Util::Tagging + + require 'puppet/resource/type_collection_helper' +@@ -104,7 +109,7 @@ class Puppet::Resource + # be overridden at some point, but this works for now. + %w{has_key? keys length delete empty? <<}.each do |method| + define_method(method) do |*args| +- @parameters.send(method, *args) ++ parameters.send(method, *args) + end + end + +@@ -112,13 +117,13 @@ class Puppet::Resource + # to lower-case symbols. + def []=(param, value) + validate_parameter(param) if validate_parameters +- @parameters[parameter_name(param)] = value ++ parameters[parameter_name(param)] = value + end + + # Return a given parameter's value. Converts all passed names + # to lower-case symbols. + def [](param) +- @parameters[parameter_name(param)] ++ parameters[parameter_name(param)] + end + + def ==(other) +@@ -140,11 +145,11 @@ class Puppet::Resource + + # Iterate over each param/value pair, as required for Enumerable. + def each +- @parameters.each { |p,v| yield p, v } ++ parameters.each { |p,v| yield p, v } + end + + def include?(parameter) +- super || @parameters.keys.include?( parameter_name(parameter) ) ++ super || parameters.keys.include?( parameter_name(parameter) ) + end + + # These two methods are extracted into a Helper +@@ -170,14 +175,6 @@ class Puppet::Resource + end + end + +- # This stub class is only needed for serialization compatibility with 0.25.x +- class Reference +- attr_accessor :type,:title +- def initialize(type,title) +- @type,@title = type,title +- end +- end +- + # Create our resource. + def initialize(type, title = nil, attributes = {}) + @parameters = {} +@@ -204,7 +201,7 @@ class Puppet::Resource + tag(self.type) + tag(self.title) if valid_tag?(self.title) + +- @reference = Reference.new(@type,@title) # for serialization compatibility with 0.25.x ++ @reference = self # for serialization compatibility with 0.25.x + if strict? and ! resource_type + if @type == 'Class' + raise ArgumentError, "Could not find declared class #{title}" +@@ -234,7 +231,7 @@ class Puppet::Resource + + # Produce a simple hash of our parameters. + def to_hash +- parse_title.merge @parameters ++ parse_title.merge parameters + end + + def to_s +@@ -256,7 +253,7 @@ class Puppet::Resource + # Convert our resource to Puppet code. + def to_manifest + "%s { '%s':\n%s\n}" % [self.type.to_s.downcase, self.title, +- @parameters.collect { |p, v| ++ parameters.collect { |p, v| + if v.is_a? Array + " #{p} => [\'#{v.join("','")}\']" + else +@@ -422,4 +419,10 @@ class Puppet::Resource + return { :name => title.to_s } + end + end ++ ++ def parameters ++ # @parameters could have been loaded from YAML, causing it to be nil (by ++ # bypassing initialize). ++ @parameters ||= {} ++ end + end +diff --git a/spec/unit/resource_spec.rb b/spec/unit/resource_spec.rb +index ff31b24..4c1dc49 100755 +--- a/spec/unit/resource_spec.rb ++++ b/spec/unit/resource_spec.rb +@@ -99,11 +99,11 @@ describe Puppet::Resource do + end + + it 'should fail if strict is set and type does not exist' do +- lambda { Puppet::Resource.new('foo', 'title', {:strict=>true}) }.should raise_error(ArgumentError, 'Invalid resource type foo') ++ lambda { Puppet::Resource.new('foo', 'title', {:strict=>true}) }.should raise_error(ArgumentError, 'Invalid resource type foo') + end + + it 'should fail if strict is set and class does not exist' do +- lambda { Puppet::Resource.new('Class', 'foo', {:strict=>true}) }.should raise_error(ArgumentError, 'Could not find declared class foo') ++ lambda { Puppet::Resource.new('Class', 'foo', {:strict=>true}) }.should raise_error(ArgumentError, 'Could not find declared class foo') + end + + it "should fail if the title is a hash and the type is not a valid resource reference string" do +@@ -463,6 +463,28 @@ describe Puppet::Resource do + end + end + ++ describe "when loading 0.25.x storedconfigs YAML" do ++ before :each do ++ @old_storedconfig_yaml = %q{--- !ruby/object:Puppet::Resource::Reference ++builtin_type: ++title: /tmp/bar ++type: File ++} ++ end ++ ++ it "should deserialize a Puppet::Resource::Reference without exceptions" do ++ lambda { YAML.load(@old_storedconfig_yaml) }.should_not raise_error ++ end ++ ++ it "should deserialize as a Puppet::Resource::Reference as a Puppet::Resource" do ++ YAML.load(@old_storedconfig_yaml).class.should == Puppet::Resource ++ end ++ ++ it "should to_hash properly" do ++ YAML.load(@old_storedconfig_yaml).to_hash.should == { :path => "/tmp/bar" } ++ end ++ end ++ + describe "when converting to a RAL resource" do + it "should use the resource type's :new method to create the resource if the resource is of a builtin type" do + resource = Puppet::Resource.new("file", @basepath+"/my/file") +-- +1.7.4.1 + diff --git a/puppet.spec b/puppet.spec index c40c54c..b00f5a5 100644 --- a/puppet.spec +++ b/puppet.spec @@ -12,6 +12,12 @@ License: GPLv2 URL: http://puppetlabs.com Source0: http://puppetlabs.com/downloads/%{name}/%{name}-%{version}.tar.gz Source1: http://puppetlabs.com/downloads/%{name}/%{name}-%{version}.tar.gz.sign +# http://projects.puppetlabs.com/issues/5428 +Patch0: 0001-5428-More-fully-stub-Puppet-Resource-Reference-for-u.patch +# http://projects.puppetlabs.com/issues/4922 +Patch1: 0001-4922-Don-t-truncate-remotely-sourced-files-on-404.patch +# http://projects.puppetlabs.com/issues/5073 +Patch2: 0001-5073-Download-plugins-even-if-you-re-filtering-on-ta.patch Group: System Environment/Base @@ -66,6 +72,9 @@ The server can also function as a certificate authority and file server. %prep %setup -q +%patch0 -p1 +%patch1 -p1 +%patch2 -p1 patch -s -p1 < conf/redhat/rundir-perms.patch @@ -261,6 +270,7 @@ rm -rf %{buildroot} - Properly restart puppet agent/master daemons on upgrades from 0.25.x - Require libselinux-utils when selinux support is enabled - Support tmpfiles.d for Fedora >= 15 (#656677) +- Apply a few upstream fixes for 0.25.5 regressions * Wed Feb 09 2011 Fedora Release Engineering - 0.25.5-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild From 702351f53fae72c311ed146d3f8f19140d4edd95 Mon Sep 17 00:00:00 2001 From: Todd Zullinger Date: Sun, 27 Mar 2011 22:59:56 -0400 Subject: [PATCH 058/272] Remove extra mkdir in tmpfiles.d setup --- puppet.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/puppet.spec b/puppet.spec index b00f5a5..9302ae9 100644 --- a/puppet.spec +++ b/puppet.spec @@ -138,7 +138,7 @@ install -Dp -m0644 ext/vim/syntax/puppet.vim $vimdir/syntax/puppet.vim %if 0%{?fedora} >= 15 # Setup tmpfiles.d config -mkdir mkdir -p %{buildroot}%{_sysconfdir}/tmpfiles.d +mkdir -p %{buildroot}%{_sysconfdir}/tmpfiles.d echo "D /var/run/%{name} 0755 %{name} %{name} -" > \ %{buildroot}%{_sysconfdir}/tmpfiles.d/%{name}.conf %endif From e29affe66625bb8493753a5c542dac6a0416e942 Mon Sep 17 00:00:00 2001 From: Todd Zullinger Date: Tue, 27 Sep 2011 20:39:11 -0400 Subject: [PATCH 059/272] Apply upstream patch for CVE-2011-3848 --- ...st-directory-traversal-attacks-2.6.x.patch | 138 ++++++++++++++++++ puppet.spec | 8 +- 2 files changed, 145 insertions(+), 1 deletion(-) create mode 100644 0001-Resist-directory-traversal-attacks-2.6.x.patch diff --git a/0001-Resist-directory-traversal-attacks-2.6.x.patch b/0001-Resist-directory-traversal-attacks-2.6.x.patch new file mode 100644 index 0000000..8c5bb49 --- /dev/null +++ b/0001-Resist-directory-traversal-attacks-2.6.x.patch @@ -0,0 +1,138 @@ +From 0a92a70a22b7e85ef60ed9b4d4070433b5ec3220 Mon Sep 17 00:00:00 2001 +From: Daniel Pittman +Date: Sat, 24 Sep 2011 12:44:20 -0700 +Subject: [PATCH] Resist directory traversal attacks through indirections. + +In various versions of Puppet it was possible to cause a directory traversal +attack through the SSLFile indirection base class. This was variously +triggered through the user-supplied key, or the Subject of the certificate, in +the code. + +Now, we detect bad patterns down in the base class for our indirections, and +fail hard on them. This reduces the attack surface with as little disruption +to the overall codebase as possible, making it suitable to deploy as part of +older, stable versions of Puppet. + +In the long term we will also address this higher up the stack, to prevent +these problems from reoccurring, but for now this will suffice. + +Huge thanks to Kristian Erik Hermansen for the +responsible disclosure, and useful analysis, around this defect. + +Signed-off-by: Daniel Pittman +--- + lib/puppet/indirector.rb | 7 +++++++ + lib/puppet/indirector/ssl_file.rb | 6 +++++- + lib/puppet/indirector/yaml.rb | 5 +++++ + spec/unit/indirector/ssl_file_spec.rb | 19 +++++++++++++++++++ + spec/unit/indirector/yaml_spec.rb | 14 ++++++++++++++ + 5 files changed, 50 insertions(+), 1 deletions(-) + +diff --git a/lib/puppet/indirector.rb b/lib/puppet/indirector.rb +index e6472f4..fd6bf30 100644 +--- a/lib/puppet/indirector.rb ++++ b/lib/puppet/indirector.rb +@@ -68,4 +68,11 @@ module Puppet::Indirector + self.class.indirection.save key, self + end + end ++ ++ ++ # Helper definition for indirections that handle filenames. ++ BadNameRegexp = Regexp.union(/^\.\./, ++ %r{[\\/]}, ++ "\0", ++ /(?i)^[a-z]:/) + end +diff --git a/lib/puppet/indirector/ssl_file.rb b/lib/puppet/indirector/ssl_file.rb +index 531180f..4510499 100644 +--- a/lib/puppet/indirector/ssl_file.rb ++++ b/lib/puppet/indirector/ssl_file.rb +@@ -52,8 +52,12 @@ class Puppet::Indirector::SslFile < Puppet::Indirector::Terminus + (collection_directory || file_location) or raise Puppet::DevError, "No file or directory setting provided; terminus #{self.class.name} cannot function" + end + +- # Use a setting to determine our path. + def path(name) ++ if name =~ Puppet::Indirector::BadNameRegexp then ++ Puppet.crit("directory traversal detected in #{self.class}: #{name.inspect}") ++ raise ArgumentError, "invalid key" ++ end ++ + if ca?(name) and ca_location + ca_location + elsif collection_directory +diff --git a/lib/puppet/indirector/yaml.rb b/lib/puppet/indirector/yaml.rb +index 23997e9..4c488da 100644 +--- a/lib/puppet/indirector/yaml.rb ++++ b/lib/puppet/indirector/yaml.rb +@@ -43,6 +43,11 @@ class Puppet::Indirector::Yaml < Puppet::Indirector::Terminus + + # Return the path to a given node's file. + def path(name,ext='.yaml') ++ if name =~ Puppet::Indirector::BadNameRegexp then ++ Puppet.crit("directory traversal detected in #{self.class}: #{name.inspect}") ++ raise ArgumentError, "invalid key" ++ end ++ + base = Puppet.run_mode.master? ? Puppet[:yamldir] : Puppet[:clientyamldir] + File.join(base, self.class.indirection_name.to_s, name.to_s + ext) + end +diff --git a/spec/unit/indirector/ssl_file_spec.rb b/spec/unit/indirector/ssl_file_spec.rb +index 37098a7..4760bd7 100755 +--- a/spec/unit/indirector/ssl_file_spec.rb ++++ b/spec/unit/indirector/ssl_file_spec.rb +@@ -87,6 +87,25 @@ describe Puppet::Indirector::SslFile do + it "should set them in the setting directory, with the certificate name plus '.pem', if a directory setting is available" do + @searcher.path(@cert.name).should == @certpath + end ++ ++ ['../foo', '..\\foo', './../foo', '.\\..\\foo', ++ '/foo', '//foo', '\\foo', '\\\\goo', ++ "test\0/../bar", "test\0\\..\\bar", ++ "..\\/bar", "/tmp/bar", "/tmp\\bar", "tmp\\bar", ++ " / bar", " /../ bar", " \\..\\ bar", ++ "c:\\foo", "c:/foo", "\\\\?\\UNC\\bar", "\\\\foo\\bar", ++ "\\\\?\\c:\\foo", "//?/UNC/bar", "//foo/bar", ++ "//?/c:/foo", ++ ].each do |input| ++ it "should resist directory traversal attacks (#{input.inspect})" do ++ expect { @searcher.path(input) }.to raise_error ++ end ++ end ++ ++ # REVISIT: Should probably test MS-DOS reserved names here, too, since ++ # they would represent a vulnerability on a Win32 system, should we ever ++ # support that path. Don't forget that 'CON.foo' == 'CON' ++ # --daniel 2011-09-24 + end + + describe "when finding certificates on disk" do +diff --git a/spec/unit/indirector/yaml_spec.rb b/spec/unit/indirector/yaml_spec.rb +index 86c13c5..c8fadf7 100755 +--- a/spec/unit/indirector/yaml_spec.rb ++++ b/spec/unit/indirector/yaml_spec.rb +@@ -63,6 +63,20 @@ describe Puppet::Indirector::Yaml, " when choosing file location" do + it "should use the object's name to determine the file name" do + @store.path(:me).should =~ %r{me.yaml$} + end ++ ++ ['../foo', '..\\foo', './../foo', '.\\..\\foo', ++ '/foo', '//foo', '\\foo', '\\\\goo', ++ "test\0/../bar", "test\0\\..\\bar", ++ "..\\/bar", "/tmp/bar", "/tmp\\bar", "tmp\\bar", ++ " / bar", " /../ bar", " \\..\\ bar", ++ "c:\\foo", "c:/foo", "\\\\?\\UNC\\bar", "\\\\foo\\bar", ++ "\\\\?\\c:\\foo", "//?/UNC/bar", "//foo/bar", ++ "//?/c:/foo", ++ ].each do |input| ++ it "should resist directory traversal attacks (#{input.inspect})" do ++ expect { @store.path(input) }.to raise_error ++ end ++ end + end + + describe Puppet::Indirector::Yaml, " when storing objects as YAML" do +-- +1.7.4.4 + diff --git a/puppet.spec b/puppet.spec index 9302ae9..4e18bf9 100644 --- a/puppet.spec +++ b/puppet.spec @@ -6,7 +6,7 @@ Name: puppet Version: 2.6.6 -Release: 1%{?dist} +Release: 2%{?dist} Summary: A network tool for managing many disparate systems License: GPLv2 URL: http://puppetlabs.com @@ -18,6 +18,8 @@ Patch0: 0001-5428-More-fully-stub-Puppet-Resource-Reference-for-u.patch Patch1: 0001-4922-Don-t-truncate-remotely-sourced-files-on-404.patch # http://projects.puppetlabs.com/issues/5073 Patch2: 0001-5073-Download-plugins-even-if-you-re-filtering-on-ta.patch +# http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-3848 +Patch3: 0001-Resist-directory-traversal-attacks-2.6.x.patch Group: System Environment/Base @@ -75,6 +77,7 @@ The server can also function as a certificate authority and file server. %patch0 -p1 %patch1 -p1 %patch2 -p1 +%patch3 -p1 patch -s -p1 < conf/redhat/rundir-perms.patch @@ -262,6 +265,9 @@ fi rm -rf %{buildroot} %changelog +* Tue Sep 27 2011 Todd Zullinger - 2.6.6-2 +- Apply upstream patch for CVE-2011-3848 + * Wed Mar 16 2011 Todd Zullinger - 2.6.6-1 - Update to 2.6.6 - Ensure %%pre exits cleanly From 62983f0d68e9771d5d78c24ff6840bfac1b2a359 Mon Sep 17 00:00:00 2001 From: Todd Zullinger Date: Thu, 29 Sep 2011 19:31:28 -0400 Subject: [PATCH 060/272] Apply upstream security patches Fixes for CVE-2011-3869, CVE-2011-3870, CVE-2011-3871, and upstream ticket #9793 are included. Further details can be found in the upstream announcement: http://groups.google.com/group/puppet-announce/browse_thread/thread/91e3b46d2328a1cb --- 2.6.x-9791-TOCTOU-in-ssh-auth-keys-type.patch | 107 ++++++ ...dictable-temporary-filename-in-ralsh.patch | 69 ++++ ...rector-file-backed-terminus-base-cla.patch | 330 ++++++++++++++++++ ...an-overwrite-arbitrary-files-as-root.patch | 40 +++ puppet.spec | 21 +- 5 files changed, 566 insertions(+), 1 deletion(-) create mode 100644 2.6.x-9791-TOCTOU-in-ssh-auth-keys-type.patch create mode 100644 2.6.x-9792-Predictable-temporary-filename-in-ralsh.patch create mode 100644 2.6.x-9793-secure-indirector-file-backed-terminus-base-cla.patch create mode 100644 2.6.x-9794-k5login-can-overwrite-arbitrary-files-as-root.patch diff --git a/2.6.x-9791-TOCTOU-in-ssh-auth-keys-type.patch b/2.6.x-9791-TOCTOU-in-ssh-auth-keys-type.patch new file mode 100644 index 0000000..a1b7728 --- /dev/null +++ b/2.6.x-9791-TOCTOU-in-ssh-auth-keys-type.patch @@ -0,0 +1,107 @@ +From 8d9575775737c08c6cbfdf7f9a22f2ea4ab21b20 Mon Sep 17 00:00:00 2001 +From: Ricky Zhou +Date: Mon, 29 Aug 2011 16:01:12 -0400 +Subject: [PATCH] Drop privileges before creating and chmodding SSH keys. + +Previously, potentially abusable chown and chmod calls were performed as +root. This tries to moves as much as possible into code which is run +after privileges have been dropped. + +Huge thanks to Ricky Zhou for discovering this and +supplying the security fix. Awesome work. + +Signed-off-by: Daniel Pittman +--- + lib/puppet/provider/ssh_authorized_key/parsed.rb | 19 ++++++++++--------- + .../provider/ssh_authorized_key/parsed_spec.rb | 16 ++++++++-------- + 2 files changed, 18 insertions(+), 17 deletions(-) + +diff --git a/lib/puppet/provider/ssh_authorized_key/parsed.rb b/lib/puppet/provider/ssh_authorized_key/parsed.rb +index 6a3855c..5243477 100644 +--- a/lib/puppet/provider/ssh_authorized_key/parsed.rb ++++ b/lib/puppet/provider/ssh_authorized_key/parsed.rb +@@ -56,21 +56,22 @@ require 'puppet/provider/parsedfile' + def flush + raise Puppet::Error, "Cannot write SSH authorized keys without user" unless @resource.should(:user) + raise Puppet::Error, "User '#{@resource.should(:user)}' does not exist" unless uid = Puppet::Util.uid(@resource.should(:user)) +- unless File.exist?(dir = File.dirname(target)) +- Puppet.debug "Creating #{dir}" +- Dir.mkdir(dir, dir_perm) +- File.chown(uid, nil, dir) +- end +- + # ParsedFile usually calls backup_target much later in the flush process, + # but our SUID makes that fail to open filebucket files for writing. + # Fortunately, there's already logic to make sure it only ever happens once, + # so calling it here supresses the later attempt by our superclass's flush method. + self.class.backup_target(target) + +- Puppet::Util::SUIDManager.asuser(@resource.should(:user)) { super } +- File.chown(uid, nil, target) +- File.chmod(file_perm, target) ++ Puppet::Util::SUIDManager.asuser(@resource.should(:user)) do ++ unless File.exist?(dir = File.dirname(target)) ++ Puppet.debug "Creating #{dir}" ++ Dir.mkdir(dir, dir_perm) ++ end ++ ++ super ++ ++ File.chmod(file_perm, target) ++ end + end + + # parse sshv2 option strings, wich is a comma separated list of +diff --git a/spec/unit/provider/ssh_authorized_key/parsed_spec.rb b/spec/unit/provider/ssh_authorized_key/parsed_spec.rb +index 2e5be16..64935df 100755 +--- a/spec/unit/provider/ssh_authorized_key/parsed_spec.rb ++++ b/spec/unit/provider/ssh_authorized_key/parsed_spec.rb +@@ -133,15 +133,15 @@ describe provider_class do + @provider.flush + end + +- it "should chown the directory to the user" do ++ it "should absolutely not chown the directory to the user" do + uid = Puppet::Util.uid("random_bob") +- File.expects(:chown).with(uid, nil, "/tmp/.ssh_dir") ++ File.expects(:chown).never + @provider.flush + end + +- it "should chown the key file to the user" do ++ it "should absolutely not chown the key file to the user" do + uid = Puppet::Util.uid("random_bob") +- File.expects(:chown).with(uid, nil, "/tmp/.ssh_dir/place_to_put_authorized_keys") ++ File.expects(:chown).never + @provider.flush + end + +@@ -177,11 +177,11 @@ describe provider_class do + @provider.flush + end + +- it "should chown the directory to the user if it creates it" do ++ it "should absolutely not chown the directory to the user if it creates it" do + File.stubs(:exist?).with(@dir).returns false + Dir.stubs(:mkdir).with(@dir,0700) + uid = Puppet::Util.uid("nobody") +- File.expects(:chown).with(uid, nil, @dir) ++ File.expects(:chown).never + @provider.flush + end + +@@ -192,9 +192,9 @@ describe provider_class do + @provider.flush + end + +- it "should chown the key file to the user" do ++ it "should absolutely not chown the key file to the user" do + uid = Puppet::Util.uid("nobody") +- File.expects(:chown).with(uid, nil, File.expand_path("~nobody/.ssh/authorized_keys")) ++ File.expects(:chown).never + @provider.flush + end + +-- +1.7.6.4 + diff --git a/2.6.x-9792-Predictable-temporary-filename-in-ralsh.patch b/2.6.x-9792-Predictable-temporary-filename-in-ralsh.patch new file mode 100644 index 0000000..5d9647b --- /dev/null +++ b/2.6.x-9792-Predictable-temporary-filename-in-ralsh.patch @@ -0,0 +1,69 @@ +From 906da37374def334b62722acf84e4b0d1324e1f7 Mon Sep 17 00:00:00 2001 +From: Daniel Pittman +Date: Wed, 28 Sep 2011 23:35:19 -0700 +Subject: [PATCH] (#9792) Predictable temporary filename in ralsh. + +When ralsh is used in edit mode the temporary filename is in a shared +directory, and is absolutely predictable. Worse, it won't be touched until +well after the startup of the command. + +It can be tricked into writing through a symlink to edit any file on the +system, or to create through it, but worse - the file is reopened with the +same name later, so it can have the target replaced between edit and +operate... + +The only possible mitigation comes from the system editor and the behaviour it +has around editing through symbolic links, which is very weak. + +This improves this to prefer the current working directory for the temporary +file, and to be somewhat less predictable and more safe in conjuring it into +being. + +Signed-off-by: Daniel Pittman +--- + lib/puppet/application/resource.rb | 27 +++++++++++++++++---------- + 1 files changed, 17 insertions(+), 10 deletions(-) + +diff --git a/lib/puppet/application/resource.rb b/lib/puppet/application/resource.rb +index bc4faf5..3e4147e 100644 +--- a/lib/puppet/application/resource.rb ++++ b/lib/puppet/application/resource.rb +@@ -88,18 +88,25 @@ class Puppet::Application::Resource < Puppet::Application + end.map(&format).join("\n") + + if options[:edit] +- file = "/tmp/x2puppet-#{Process.pid}.pp" ++ require 'tempfile' ++ # Prefer the current directory, which is more likely to be secure ++ # and, in the case of interactive use, accessible to the user. ++ tmpfile = Tempfile.new('x2puppet', Dir.pwd) + begin +- File.open(file, "w") do |f| +- f.puts text +- end +- ENV["EDITOR"] ||= "vi" +- system(ENV["EDITOR"], file) +- system("puppet -v #{file}") ++ # sync write, so nothing buffers before we invoke the editor. ++ tmpfile.sync = true ++ tmpfile.puts text ++ ++ # edit the content ++ system(ENV["EDITOR"] || 'vi', tmpfile.path) ++ ++ # ...and, now, pass that file to puppet to apply. Because ++ # many editors rename or replace the original file we need to ++ # feed the pathname, not the file content itself, to puppet. ++ system('puppet -v ' + tmpfile.path) + ensure +- #if FileTest.exists? file +- # File.unlink(file) +- #end ++ # The temporary file will be safely removed. ++ tmpfile.close(true) + end + else + puts text +-- +1.7.6.4 + diff --git a/2.6.x-9793-secure-indirector-file-backed-terminus-base-cla.patch b/2.6.x-9793-secure-indirector-file-backed-terminus-base-cla.patch new file mode 100644 index 0000000..3e15fa1 --- /dev/null +++ b/2.6.x-9793-secure-indirector-file-backed-terminus-base-cla.patch @@ -0,0 +1,330 @@ +From 40f025a9ae0373e2e642f7811face3486bfa34d4 Mon Sep 17 00:00:00 2001 +From: Daniel Pittman +Date: Thu, 29 Sep 2011 00:07:16 -0700 +Subject: [PATCH] (#9793) "secure" indirector file backed terminus base class. + +The file base class in the indirector trusted the request key directly, which +made it vulnerable to the same potential for injection attacks as other +terminus base classes. + +However, this is somewhat mitigated by the fact that base class is entirely +unused. We can simple eliminate it from the system, because nothing is more +secure than code that doesn't exist. + +The only consumer of the code was in the tests, and didn't care what base +class was used, so that was substituted with a continuing class. + +Signed-off-by: Daniel Pittman +--- + lib/puppet/indirector/file.rb | 79 -------------- + spec/unit/indirector/file_spec.rb | 181 --------------------------------- + spec/unit/indirector/terminus_spec.rb | 6 +- + 3 files changed, 3 insertions(+), 263 deletions(-) + delete mode 100644 lib/puppet/indirector/file.rb + delete mode 100755 spec/unit/indirector/file_spec.rb + +diff --git a/lib/puppet/indirector/file.rb b/lib/puppet/indirector/file.rb +deleted file mode 100644 +index b3746b7..0000000 +--- a/lib/puppet/indirector/file.rb ++++ /dev/null +@@ -1,79 +0,0 @@ +-require 'puppet/indirector/terminus' +- +-# Store instances as files, usually serialized using some format. +-class Puppet::Indirector::File < Puppet::Indirector::Terminus +- # Where do we store our data? +- def data_directory +- name = Puppet.run_mode.master? ? :server_datadir : :client_datadir +- +- File.join(Puppet.settings[name], self.class.indirection_name.to_s) +- end +- +- def file_format(path) +- path =~ /\.(\w+)$/ and return $1 +- end +- +- def file_path(request) +- File.join(data_directory, request.key + ".#{serialization_format}") +- end +- +- def latest_path(request) +- files = Dir.glob(File.join(data_directory, request.key + ".*")) +- return nil if files.empty? +- +- # Return the newest file. +- files.sort { |a, b| File.stat(b).mtime <=> File.stat(a).mtime }[0] +- end +- +- def serialization_format +- model.default_format +- end +- +- # Remove files on disk. +- def destroy(request) +- begin +- removed = false +- Dir.glob(File.join(data_directory, request.key.to_s + ".*")).each do |file| +- removed = true +- File.unlink(file) +- end +- rescue => detail +- raise Puppet::Error, "Could not remove #{request.key}: #{detail}" +- end +- +- raise Puppet::Error, "Could not find files for #{request.key} to remove" unless removed +- end +- +- # Return a model instance for a given file on disk. +- def find(request) +- return nil unless path = latest_path(request) +- format = file_format(path) +- +- raise ArgumentError, "File format #{format} is not supported by #{self.class.indirection_name}" unless model.support_format?(format) +- +- begin +- return model.convert_from(format, File.read(path)) +- rescue => detail +- raise Puppet::Error, "Could not convert path #{path} into a #{self.class.indirection_name}: #{detail}" +- end +- end +- +- # Save a new file to disk. +- def save(request) +- path = file_path(request) +- +- dir = File.dirname(path) +- +- raise Puppet::Error.new("Cannot save #{request.key}; parent directory #{dir} does not exist") unless File.directory?(dir) +- +- begin +- File.open(path, "w") { |f| f.print request.instance.render(serialization_format) } +- rescue => detail +- raise Puppet::Error, "Could not write #{request.key}: #{detail}" % [request.key, detail] +- end +- end +- +- def path(key) +- key +- end +-end +diff --git a/spec/unit/indirector/file_spec.rb b/spec/unit/indirector/file_spec.rb +deleted file mode 100755 +index 86673f0..0000000 +--- a/spec/unit/indirector/file_spec.rb ++++ /dev/null +@@ -1,181 +0,0 @@ +-#!/usr/bin/env ruby +- +-require File.dirname(__FILE__) + '/../../spec_helper' +-require 'puppet/indirector/file' +- +- +-describe Puppet::Indirector::File do +- before :each do +- Puppet::Indirector::Terminus.stubs(:register_terminus_class) +- @model = mock 'model' +- @indirection = stub 'indirection', :name => :mystuff, :register_terminus_type => nil, :model => @model +- Puppet::Indirector::Indirection.stubs(:instance).returns(@indirection) +- +- @file_class = Class.new(Puppet::Indirector::File) do +- def self.to_s +- "Testing::Mytype" +- end +- end +- +- @searcher = @file_class.new +- +- @path = "/my/file" +- @dir = "/my" +- +- @request = stub 'request', :key => @path +- end +- +- describe "when finding files" do +- it "should provide a method to return file contents at a specified path" do +- @searcher.should respond_to(:find) +- end +- +- it "should use the server data directory plus the indirection name if the run_mode is master" do +- Puppet.run_mode.expects(:master?).returns true +- Puppet.settings.expects(:value).with(:server_datadir).returns "/my/dir" +- +- @searcher.data_directory.should == File.join("/my/dir", "mystuff") +- end +- +- it "should use the client data directory plus the indirection name if the run_mode is not master" do +- Puppet.run_mode.expects(:master?).returns false +- Puppet.settings.expects(:value).with(:client_datadir).returns "/my/dir" +- +- @searcher.data_directory.should == File.join("/my/dir", "mystuff") +- end +- +- it "should use the newest file in the data directory matching the indirection key without extension" do +- @searcher.expects(:data_directory).returns "/data/dir" +- @request.stubs(:key).returns "foo" +- Dir.expects(:glob).with("/data/dir/foo.*").returns %w{/data1.stuff /data2.stuff} +- +- stat1 = stub 'data1', :mtime => (Time.now - 5) +- stat2 = stub 'data2', :mtime => Time.now +- File.expects(:stat).with("/data1.stuff").returns stat1 +- File.expects(:stat).with("/data2.stuff").returns stat2 +- +- @searcher.latest_path(@request).should == "/data2.stuff" +- end +- +- it "should return nil when no files are found" do +- @searcher.stubs(:latest_path).returns nil +- +- @searcher.find(@request).should be_nil +- end +- +- it "should determine the file format from the file extension" do +- @searcher.file_format("/data2.pson").should == "pson" +- end +- +- it "should fail if the model does not support the file format" do +- @searcher.stubs(:latest_path).returns "/my/file.pson" +- +- @model.expects(:support_format?).with("pson").returns false +- +- lambda { @searcher.find(@request) }.should raise_error(ArgumentError) +- end +- end +- +- describe "when saving files" do +- before do +- @content = "my content" +- @file = stub 'file', :content => @content, :path => @path, :name => @path, :render => "mydata" +- @request.stubs(:instance).returns @file +- end +- +- it "should provide a method to save file contents at a specified path" do +- @searcher.should respond_to(:save) +- end +- +- it "should choose the file extension based on the default format of the model" do +- @model.expects(:default_format).returns "pson" +- +- @searcher.serialization_format.should == "pson" +- end +- +- it "should place the file in the data directory, named after the indirection, key, and format" do +- @searcher.stubs(:data_directory).returns "/my/dir" +- @searcher.stubs(:serialization_format).returns "pson" +- +- @request.stubs(:key).returns "foo" +- @searcher.file_path(@request).should == File.join("/my/dir", "foo.pson") +- end +- +- it "should fail intelligently if the file's parent directory does not exist" do +- @searcher.stubs(:file_path).returns "/my/dir/file.pson" +- @searcher.stubs(:serialization_format).returns "pson" +- +- @request.stubs(:key).returns "foo" +- File.expects(:directory?).with(File.join("/my/dir")).returns(false) +- +- proc { @searcher.save(@request) }.should raise_error(Puppet::Error) +- end +- +- it "should render the instance using the file format and print it to the file path" do +- @searcher.stubs(:file_path).returns "/my/file.pson" +- @searcher.stubs(:serialization_format).returns "pson" +- +- File.stubs(:directory?).returns true +- +- @request.instance.expects(:render).with("pson").returns "data" +- +- fh = mock 'filehandle' +- File.expects(:open).with("/my/file.pson", "w").yields fh +- fh.expects(:print).with("data") +- +- @searcher.save(@request) +- end +- +- it "should fail intelligently if a file cannot be written" do +- filehandle = mock 'file' +- File.stubs(:directory?).returns(true) +- File.stubs(:open).yields(filehandle) +- filehandle.expects(:print).raises(ArgumentError) +- +- @searcher.stubs(:file_path).returns "/my/file.pson" +- @model.stubs(:default_format).returns "pson" +- +- @instance.stubs(:render).returns "stuff" +- +- proc { @searcher.save(@request) }.should raise_error(Puppet::Error) +- end +- end +- +- describe "when removing files" do +- it "should provide a method to remove files" do +- @searcher.should respond_to(:destroy) +- end +- +- it "should remove files in all formats found in the data directory that match the request key" do +- @searcher.stubs(:data_directory).returns "/my/dir" +- @request.stubs(:key).returns "me" +- +- Dir.expects(:glob).with(File.join("/my/dir", "me.*")).returns %w{/one /two} +- +- File.expects(:unlink).with("/one") +- File.expects(:unlink).with("/two") +- +- @searcher.destroy(@request) +- end +- +- it "should throw an exception if no file is found" do +- @searcher.stubs(:data_directory).returns "/my/dir" +- @request.stubs(:key).returns "me" +- +- Dir.expects(:glob).with(File.join("/my/dir", "me.*")).returns [] +- +- proc { @searcher.destroy(@request) }.should raise_error(Puppet::Error) +- end +- +- it "should fail intelligently if a file cannot be removed" do +- @searcher.stubs(:data_directory).returns "/my/dir" +- @request.stubs(:key).returns "me" +- +- Dir.expects(:glob).with(File.join("/my/dir", "me.*")).returns %w{/one} +- +- File.expects(:unlink).with("/one").raises ArgumentError +- +- proc { @searcher.destroy(@request) }.should raise_error(Puppet::Error) +- end +- end +-end +diff --git a/spec/unit/indirector/terminus_spec.rb b/spec/unit/indirector/terminus_spec.rb +index 826b934..63cb7cc 100755 +--- a/spec/unit/indirector/terminus_spec.rb ++++ b/spec/unit/indirector/terminus_spec.rb +@@ -3,7 +3,7 @@ + require File.dirname(__FILE__) + '/../../spec_helper' + require 'puppet/defaults' + require 'puppet/indirector' +-require 'puppet/indirector/file' ++require 'puppet/indirector/memory' + + describe Puppet::Indirector::Terminus do + before :each do +@@ -202,14 +202,14 @@ describe Puppet::Indirector::Terminus, " when parsing class constants for indire + @subclass.expects(:indirection=).with(:test_ind) + @subclass.stubs(:name=) + @subclass.stubs(:terminus_type=) +- Puppet::Indirector::File.inherited(@subclass) ++ Puppet::Indirector::Memory.inherited(@subclass) + end + + it "should convert the indirection name to a downcased symbol" do + @subclass.expects(:indirection=).with(:test_ind) + @subclass.stubs(:name=) + @subclass.stubs(:terminus_type=) +- Puppet::Indirector::File.inherited(@subclass) ++ Puppet::Indirector::Memory.inherited(@subclass) + end + + it "should convert camel case to lower case with underscores as word separators" do +-- +1.7.6.4 + diff --git a/2.6.x-9794-k5login-can-overwrite-arbitrary-files-as-root.patch b/2.6.x-9794-k5login-can-overwrite-arbitrary-files-as-root.patch new file mode 100644 index 0000000..7fe08d6 --- /dev/null +++ b/2.6.x-9794-k5login-can-overwrite-arbitrary-files-as-root.patch @@ -0,0 +1,40 @@ +From bdf728edc4c0b0e0e416f9d3e542b6815a4d3c0a Mon Sep 17 00:00:00 2001 +From: Daniel Pittman +Date: Thu, 29 Sep 2011 00:32:49 -0700 +Subject: [PATCH] (#9794) k5login can overwrite arbitrary files as root + +The k5login type is typically used to manage a file in the home directory of a +user; the explicit purpose of the files is to allow access to other users. + +It writes to the target file directly, as root, without doing anything to +secure the file. That would allow the owner of the home directory to symlink +to anything on the system, and have it replaced with the correct content of +the file. Which is a fairly obvious escalation to root the next time Puppet +runs. + +Now, instead, fix that to securely write the target file in a predictable and +secure fashion, using the `secure_open` helper. + +Signed-off-by: Daniel Pittman +--- + lib/puppet/type/k5login.rb | 4 +++- + 1 files changed, 3 insertions(+), 1 deletions(-) + +diff --git a/lib/puppet/type/k5login.rb b/lib/puppet/type/k5login.rb +index eac142f..2e87ca9 100644 +--- a/lib/puppet/type/k5login.rb ++++ b/lib/puppet/type/k5login.rb +@@ -79,7 +79,9 @@ Puppet::Type.newtype(:k5login) do + + private + def write(value) +- File.open(@resource[:name], "w") { |f| f.puts value.join("\n") } ++ Puppet::Util.secure_open(@resource[:name], "w") do |f| ++ f.puts value.join("\n") ++ end + end + end + end +-- +1.7.6.4 + diff --git a/puppet.spec b/puppet.spec index 4e18bf9..1add98f 100644 --- a/puppet.spec +++ b/puppet.spec @@ -6,7 +6,7 @@ Name: puppet Version: 2.6.6 -Release: 2%{?dist} +Release: 3%{?dist} Summary: A network tool for managing many disparate systems License: GPLv2 URL: http://puppetlabs.com @@ -20,6 +20,17 @@ Patch1: 0001-4922-Don-t-truncate-remotely-sourced-files-on-404.patch Patch2: 0001-5073-Download-plugins-even-if-you-re-filtering-on-ta.patch # http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-3848 Patch3: 0001-Resist-directory-traversal-attacks-2.6.x.patch +# http://projects.puppetlabs.com/issues/9791 +# http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-3870 +Patch4: 2.6.x-9791-TOCTOU-in-ssh-auth-keys-type.patch +# http://projects.puppetlabs.com/issues/9792 +# http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-3871 +Patch5: 2.6.x-9792-Predictable-temporary-filename-in-ralsh.patch +# http://projects.puppetlabs.com/issues/9794 +# http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-3869 +Patch6: 2.6.x-9794-k5login-can-overwrite-arbitrary-files-as-root.patch +# http://projects.puppetlabs.com/issues/9793 +Patch7: 2.6.x-9793-secure-indirector-file-backed-terminus-base-cla.patch Group: System Environment/Base @@ -78,6 +89,10 @@ The server can also function as a certificate authority and file server. %patch1 -p1 %patch2 -p1 %patch3 -p1 +%patch4 -p1 +%patch5 -p1 +%patch6 -p1 +%patch7 -p1 patch -s -p1 < conf/redhat/rundir-perms.patch @@ -265,6 +280,10 @@ fi rm -rf %{buildroot} %changelog +* Thu Sep 29 2011 Todd Zullinger - 2.6.6-3 +- Apply upstream patches for CVE-2011-3869, CVE-2011-3870, CVE-2011-3871, and + upstream #9793 + * Tue Sep 27 2011 Todd Zullinger - 2.6.6-2 - Apply upstream patch for CVE-2011-3848 From 65b5b66a83c978dca22b9c4e7acb6034bd736755 Mon Sep 17 00:00:00 2001 From: Todd Zullinger Date: Sun, 23 Oct 2011 21:45:12 -0400 Subject: [PATCH 061/272] Update to 2.6.12, fixes CVE-2011-3872 This includes and upstream patch to restore Mongrel XMLRPC functionality (upstream #10244) which was accidentally dropped in 2.6.12. --- ...Restore-Mongrel-XMLRPC-functionality.patch | 161 +++++++++ ...uncate-remotely-sourced-files-on-404.patch | 273 --------------- ...ugins-even-if-you-re-filtering-on-ta.patch | 123 ------- ...stub-Puppet-Resource-Reference-for-u.patch | 182 ---------- ...st-directory-traversal-attacks-2.6.x.patch | 138 -------- 2.6.x-9791-TOCTOU-in-ssh-auth-keys-type.patch | 107 ------ ...dictable-temporary-filename-in-ralsh.patch | 69 ---- ...rector-file-backed-terminus-base-cla.patch | 330 ------------------ ...an-overwrite-arbitrary-files-as-root.patch | 40 --- puppet-2.6.12.tar.gz.asc | 17 + puppet-2.6.6.tar.gz.sign | 17 - puppet.spec | 43 +-- sources | 2 +- 13 files changed, 190 insertions(+), 1312 deletions(-) create mode 100644 0001-10244-Restore-Mongrel-XMLRPC-functionality.patch delete mode 100644 0001-4922-Don-t-truncate-remotely-sourced-files-on-404.patch delete mode 100644 0001-5073-Download-plugins-even-if-you-re-filtering-on-ta.patch delete mode 100644 0001-5428-More-fully-stub-Puppet-Resource-Reference-for-u.patch delete mode 100644 0001-Resist-directory-traversal-attacks-2.6.x.patch delete mode 100644 2.6.x-9791-TOCTOU-in-ssh-auth-keys-type.patch delete mode 100644 2.6.x-9792-Predictable-temporary-filename-in-ralsh.patch delete mode 100644 2.6.x-9793-secure-indirector-file-backed-terminus-base-cla.patch delete mode 100644 2.6.x-9794-k5login-can-overwrite-arbitrary-files-as-root.patch create mode 100644 puppet-2.6.12.tar.gz.asc delete mode 100644 puppet-2.6.6.tar.gz.sign diff --git a/0001-10244-Restore-Mongrel-XMLRPC-functionality.patch b/0001-10244-Restore-Mongrel-XMLRPC-functionality.patch new file mode 100644 index 0000000..d1ba7d4 --- /dev/null +++ b/0001-10244-Restore-Mongrel-XMLRPC-functionality.patch @@ -0,0 +1,161 @@ +From 908aef3579534f7718dfbdeb24fad94591186a3f Mon Sep 17 00:00:00 2001 +From: Nick Lewis +Date: Mon, 24 Oct 2011 10:13:33 -0700 +Subject: [PATCH] (#10244) Restore Mongrel XMLRPC functionality + +This code was over-eagerly removed, when it turns out to actually +still be necessary for backward compatibility with XMLRPC clients. +--- + lib/puppet/network/http_server.rb | 3 + + lib/puppet/network/http_server/mongrel.rb | 130 +++++++++++++++++++++++++++++ + 2 files changed, 133 insertions(+), 0 deletions(-) + create mode 100644 lib/puppet/network/http_server.rb + create mode 100644 lib/puppet/network/http_server/mongrel.rb + +diff --git a/lib/puppet/network/http_server.rb b/lib/puppet/network/http_server.rb +new file mode 100644 +index 0000000..e3826a6 +--- /dev/null ++++ b/lib/puppet/network/http_server.rb +@@ -0,0 +1,3 @@ ++# Just a stub, so we can correctly scope other classes. ++module Puppet::Network::HTTPServer # :nodoc: ++end +diff --git a/lib/puppet/network/http_server/mongrel.rb b/lib/puppet/network/http_server/mongrel.rb +new file mode 100644 +index 0000000..ce0401a +--- /dev/null ++++ b/lib/puppet/network/http_server/mongrel.rb +@@ -0,0 +1,129 @@ ++#!/usr/bin/env ruby ++# File: 06-11-14-mongrel_xmlrpc.rb ++# Author: Manuel Holtgrewe ++# ++# Copyright (c) 2006 Manuel Holtgrewe, 2007 Luke Kanies ++# ++# This file is based heavily on a file retrieved from ++# http://ttt.ggnore.net/2006/11/15/xmlrpc-with-mongrel-and-ruby-off-rails/ ++ ++require 'rubygems' ++require 'mongrel' ++require 'xmlrpc/server' ++require 'puppet/network/xmlrpc/server' ++require 'puppet/network/http_server' ++require 'puppet/network/client_request' ++require 'puppet/network/handler' ++ ++require 'resolv' ++ ++# This handler can be hooked into Mongrel to accept HTTP requests. After ++# checking whether the request itself is sane, the handler forwards it ++# to an internal instance of XMLRPC::BasicServer to process it. ++# ++# You can access the server by calling the Handler's "xmlrpc_server" ++# attribute accessor method and add XMLRPC handlers there. For example: ++# ++#
++# handler = XmlRpcHandler.new
++# handler.xmlrpc_server.add_handler("my.add") { |a, b| a.to_i + b.to_i }
++# 
++module Puppet::Network ++ class HTTPServer::Mongrel < ::Mongrel::HttpHandler ++ attr_reader :xmlrpc_server ++ ++ def initialize(handlers) ++ if Puppet[:debug] ++ $mongrel_debug_client = true ++ Puppet.debug 'Mongrel client debugging enabled. [$mongrel_debug_client = true].' ++ end ++ # Create a new instance of BasicServer. We are supposed to subclass it ++ # but that does not make sense since we would not introduce any new ++ # behaviour and we have to subclass Mongrel::HttpHandler so our handler ++ # works for Mongrel. ++ @xmlrpc_server = Puppet::Network::XMLRPCServer.new ++ handlers.each do |name| ++ unless handler = Puppet::Network::Handler.handler(name) ++ raise ArgumentError, "Invalid handler #{name}" ++ end ++ @xmlrpc_server.add_handler(handler.interface, handler.new({})) ++ end ++ end ++ ++ # This method produces the same results as XMLRPC::CGIServer.serve ++ # from Ruby's stdlib XMLRPC implementation. ++ def process(request, response) ++ # Make sure this has been a POST as required for XMLRPC. ++ request_method = request.params[Mongrel::Const::REQUEST_METHOD] || Mongrel::Const::GET ++ if request_method != "POST" ++ response.start(405) { |head, out| out.write("Method Not Allowed") } ++ return ++ end ++ ++ # Make sure the user has sent text/xml data. ++ request_mime = request.params["CONTENT_TYPE"] || "text/plain" ++ if parse_content_type(request_mime).first != "text/xml" ++ response.start(400) { |head, out| out.write("Bad Request") } ++ return ++ end ++ ++ # Make sure there is data in the body at all. ++ length = request.params[Mongrel::Const::CONTENT_LENGTH].to_i ++ if length <= 0 ++ response.start(411) { |head, out| out.write("Length Required") } ++ return ++ end ++ ++ # Check the body to be valid. ++ if request.body.nil? or request.body.size != length ++ response.start(400) { |head, out| out.write("Bad Request") } ++ return ++ end ++ ++ info = client_info(request) ++ ++ # All checks above passed through ++ response.start(200) do |head, out| ++ head["Content-Type"] = "text/xml; charset=utf-8" ++ begin ++ out.write(@xmlrpc_server.process(request.body, info)) ++ rescue => detail ++ puts detail.backtrace ++ raise ++ end ++ end ++ end ++ ++ private ++ ++ def client_info(request) ++ params = request.params ++ ip = params["HTTP_X_FORWARDED_FOR"] ? params["HTTP_X_FORWARDED_FOR"].split(',').last.strip : params["REMOTE_ADDR"] ++ # JJM #906 The following dn.match regular expression is forgiving ++ # enough to match the two Distinguished Name string contents ++ # coming from Apache, Pound or other reverse SSL proxies. ++ if dn = params[Puppet[:ssl_client_header]] and dn_matchdata = dn.match(/^.*?CN\s*=\s*(.*)/) ++ client = dn_matchdata[1].to_str ++ valid = (params[Puppet[:ssl_client_verify_header]] == 'SUCCESS') ++ else ++ begin ++ client = Resolv.getname(ip) ++ rescue => detail ++ Puppet.err "Could not resolve #{ip}: #{detail}" ++ client = "unknown" ++ end ++ valid = false ++ end ++ ++ info = Puppet::Network::ClientRequest.new(client, ip, valid) ++ ++ info ++ end ++ ++ # Taken from XMLRPC::ParseContentType ++ def parse_content_type(str) ++ a, *b = str.split(";") ++ return a.strip, *b ++ end ++ end ++end +-- +1.7.7 + diff --git a/0001-4922-Don-t-truncate-remotely-sourced-files-on-404.patch b/0001-4922-Don-t-truncate-remotely-sourced-files-on-404.patch deleted file mode 100644 index 1b4f1ce..0000000 --- a/0001-4922-Don-t-truncate-remotely-sourced-files-on-404.patch +++ /dev/null @@ -1,273 +0,0 @@ -From 743e03930758d17ed35fc6b73f7c2c68d8212137 Mon Sep 17 00:00:00 2001 -From: Nick Lewis -Date: Mon, 28 Feb 2011 13:40:18 -0800 -Subject: [PATCH/puppet] (#4922) Don't truncate remotely-sourced files on 404 - -We were 'handling' 404's on remote file content retrieval by returning nil -rather than raising an exception. This caused no content to be written to the -temporary file, but still appeared successful, so the destination file was -overwritten, instead of preserved. Now we just handle 404 like any other -error. - -Note that the root cause of these 404s seems to have been #4319, which has been -fixed. However, in the event we do happen to get a 404 here, it's better not to -have code to specifically handle it incorrectly. - -Paired-With: Max Martin -Reviewed-By: Matt Robinson ---- - lib/puppet/type/file/content.rb | 1 - - spec/unit/type/file/content_spec.rb | 175 ++++++++--------------------------- - 2 files changed, 38 insertions(+), 138 deletions(-) - -diff --git a/lib/puppet/type/file/content.rb b/lib/puppet/type/file/content.rb -index 63c0aaf..1b36acb 100755 ---- a/lib/puppet/type/file/content.rb -+++ b/lib/puppet/type/file/content.rb -@@ -194,7 +194,6 @@ module Puppet - connection = Puppet::Network::HttpPool.http_instance(source_or_content.server, source_or_content.port) - connection.request_get(indirection2uri(request), add_accept_encoding({"Accept" => "raw"})) do |response| - case response.code -- when "404"; nil - when /^2/; uncompress(response) { |uncompressor| response.read_body { |chunk| yield uncompressor.uncompress(chunk) } } - else - # Raise the http error if we didn't get a 'success' of some kind. -diff --git a/spec/unit/type/file/content_spec.rb b/spec/unit/type/file/content_spec.rb -index 9178c94..7d23399 100755 ---- a/spec/unit/type/file/content_spec.rb -+++ b/spec/unit/type/file/content_spec.rb -@@ -4,15 +4,14 @@ Dir.chdir(File.dirname(__FILE__)) { (s = lambda { |f| File.exist?(f) ? require(f - - content = Puppet::Type.type(:file).attrclass(:content) - describe content do -+ include PuppetSpec::Files - before do -- @resource = Puppet::Type.type(:file).new :path => "/foo/bar" -+ @filename = tmpfile('testfile') -+ @resource = Puppet::Type.type(:file).new :path => @filename -+ File.open(@filename, 'w') {|f| f.write "initial file content"} - content.stubs(:standalone?).returns(false) - end - -- it "should be a subclass of Property" do -- content.superclass.must == Puppet::Property -- end -- - describe "when determining the checksum type" do - it "should use the type specified in the source checksum if a source is set" do - @resource[:source] = "/foo" -@@ -249,10 +248,10 @@ describe content do - describe "when writing" do - before do - @content = content.new(:resource => @resource) -- @fh = stub_everything - end - - it "should attempt to read from the filebucket if no actual content nor source exists" do -+ @fh = File.open(@filename, 'w') - @content.should = "{md5}foo" - @content.resource.bucket.class.any_instance.stubs(:getfile).returns "foo" - @content.write(@fh) -@@ -302,166 +301,68 @@ describe content do - - describe "from local source" do - before(:each) do -- @content.stubs(:actual_content).returns(nil) -- @source = stub_everything 'source', :local? => true, :full_path => "/path/to/source" -- @resource.stubs(:parameter).with(:source).returns @source -- -- @sum = stub_everything 'sum' -- @resource.stubs(:parameter).with(:checksum).returns(@sum) -- -- @digest = stub_everything 'digest' -- @sum.stubs(:sum_stream).yields(@digest) -- -- @file = stub_everything 'file' -- File.stubs(:open).yields(@file) -- @file.stubs(:read).with(8192).returns("chunk1").then.returns("chunk2").then.returns(nil) -- end -- -- it "should open the local file" do -- File.expects(:open).with("/path/to/source", "r") -- @content.write(@fh) -- end -+ @resource = Puppet::Type.type(:file).new :path => @filename, :backup => false -+ @sourcename = tmpfile('source') -+ @source_content = "source file content"*10000 -+ @sourcefile = File.open(@sourcename, 'w') {|f| f.write @source_content} - -- it "should read the local file by chunks" do -- @file.expects(:read).with(8192).returns("chunk1").then.returns(nil) -- @content.write(@fh) -+ @content = @resource.newattr(:content) -+ @source = @resource.newattr(:source) -+ @source.stubs(:metadata).returns stub_everything('metadata', :source => @sourcename, :ftype => 'file') - end - -- it "should write each chunk to the file" do -- @fh.expects(:print).with("chunk1").then.with("chunk2") -- @content.write(@fh) -- end -- -- it "should pass each chunk to the current sum stream" do -- @digest.expects(:<<).with("chunk1").then.with("chunk2") -- @content.write(@fh) -+ it "should copy content from the source to the file" do -+ @resource.write(@source) -+ File.read(@filename).should == @source_content - end - - it "should return the checksum computed" do -- @sum.stubs(:sum_stream).yields(@digest).returns("checksum") -- @content.write(@fh).should == "checksum" -+ File.open(@filename, 'w') do |file| -+ @content.write(file).should == "{md5}#{Digest::MD5.hexdigest(@source_content)}" -+ end - end - end - - describe "from remote source" do - before(:each) do -- @response = stub_everything 'mock response', :code => "404" -+ @resource = Puppet::Type.type(:file).new :path => @filename, :backup => false -+ @response = stub_everything 'response', :code => "200" -+ @source_content = "source file content"*10000 -+ @response.stubs(:read_body).multiple_yields(*(["source file content"]*10000)) -+ - @conn = stub_everything 'connection' - @conn.stubs(:request_get).yields(@response) - Puppet::Network::HttpPool.stubs(:http_instance).returns @conn - -- @content.stubs(:actual_content).returns(nil) -- @source = stub_everything 'source', :local? => false, :full_path => "/path/to/source", :server => "server", :port => 1234 -- @resource.stubs(:parameter).with(:source).returns @source -- -- @sum = stub_everything 'sum' -- @resource.stubs(:parameter).with(:checksum).returns(@sum) -- -- @digest = stub_everything 'digest' -- @sum.stubs(:sum_stream).yields(@digest) -- end -- -- it "should open a network connection to source server and port" do -- Puppet::Network::HttpPool.expects(:http_instance).with("server", 1234).returns @conn -- @content.write(@fh) -- end -- -- it "should send the correct indirection uri" do -- @conn.expects(:request_get).with { |uri,headers| uri == "/production/file_content/path/to/source" }.yields(@response) -- @content.write(@fh) -+ @content = @resource.newattr(:content) -+ @sourcename = "puppet:///test/foo" -+ @source = @resource.newattr(:source) -+ @source.stubs(:metadata).returns stub_everything('metadata', :source => @sourcename, :ftype => 'file') - end - -- it "should return nil if source is not found" do -- @response.expects(:code).returns("404") -- @content.write(@fh).should == nil -+ it "should write the contents to the file" do -+ @resource.write(@source) -+ File.read(@filename).should == @source_content - end - - it "should not write anything if source is not found" do -- @response.expects(:code).returns("404") -- @fh.expects(:print).never -- @content.write(@fh).should == nil -+ @response.stubs(:code).returns("404") -+ lambda {@resource.write(@source)}.should raise_error(Net::HTTPError) { |e| e.message =~ /404/ } -+ File.read(@filename).should == "initial file content" - end - - it "should raise an HTTP error in case of server error" do -- @response.expects(:code).returns("500") -- lambda { @content.write(@fh) }.should raise_error -- end -- -- it "should write content by chunks" do -- @response.expects(:code).returns("200") -- @response.expects(:read_body).multiple_yields("chunk1","chunk2") -- @fh.expects(:print).with("chunk1").then.with("chunk2") -- @content.write(@fh) -- end -- -- it "should pass each chunk to the current sum stream" do -- @response.expects(:code).returns("200") -- @response.expects(:read_body).multiple_yields("chunk1","chunk2") -- @digest.expects(:<<).with("chunk1").then.with("chunk2") -- @content.write(@fh) -+ @response.stubs(:code).returns("500") -+ lambda { @content.write(@fh) }.should raise_error { |e| e.message.include? @source_content } - end - - it "should return the checksum computed" do -- @response.expects(:code).returns("200") -- @response.expects(:read_body).multiple_yields("chunk1","chunk2") -- @sum.expects(:sum_stream).yields(@digest).returns("checksum") -- @content.write(@fh).should == "checksum" -- end -- -- it "should get the current accept encoding header value" do -- @content.expects(:add_accept_encoding) -- @content.write(@fh) -- end -- -- it "should uncompress body on error" do -- @response.expects(:code).returns("500") -- @response.expects(:body).returns("compressed body") -- @content.expects(:uncompress_body).with(@response).returns("uncompressed") -- lambda { @content.write(@fh) }.should raise_error { |e| e.message =~ /uncompressed/ } -- end -- -- it "should uncompress chunk by chunk" do -- uncompressor = stub_everything 'uncompressor' -- @content.expects(:uncompress).with(@response).yields(uncompressor) -- @response.expects(:code).returns("200") -- @response.expects(:read_body).multiple_yields("chunk1","chunk2") -- -- uncompressor.expects(:uncompress).with("chunk1").then.with("chunk2") -- @content.write(@fh) -- end -- -- it "should write uncompressed chunks to the file" do -- uncompressor = stub_everything 'uncompressor' -- @content.expects(:uncompress).with(@response).yields(uncompressor) -- @response.expects(:code).returns("200") -- @response.expects(:read_body).multiple_yields("chunk1","chunk2") -- -- uncompressor.expects(:uncompress).with("chunk1").returns("uncompressed1") -- uncompressor.expects(:uncompress).with("chunk2").returns("uncompressed2") -- -- @fh.expects(:print).with("uncompressed1") -- @fh.expects(:print).with("uncompressed2") -- -- @content.write(@fh) -- end -- -- it "should pass each uncompressed chunk to the current sum stream" do -- uncompressor = stub_everything 'uncompressor' -- @content.expects(:uncompress).with(@response).yields(uncompressor) -- @response.expects(:code).returns("200") -- @response.expects(:read_body).multiple_yields("chunk1","chunk2") -- -- uncompressor.expects(:uncompress).with("chunk1").returns("uncompressed1") -- uncompressor.expects(:uncompress).with("chunk2").returns("uncompressed2") -- -- @digest.expects(:<<).with("uncompressed1").then.with("uncompressed2") -- @content.write(@fh) -+ File.open(@filename, 'w') do |file| -+ @content.write(file).should == "{md5}#{Digest::MD5.hexdigest(@source_content)}" -+ end - end - end - -- describe "from a filebucket" do -- end -- - # These are testing the implementation rather than the desired behaviour; while that bites, there are a whole - # pile of other methods in the File type that depend on intimate details of this implementation and vice-versa. - # If these blow up, you are gonna have to review the callers to make sure they don't explode! --daniel 2011-02-01 --- -1.7.4.1 - diff --git a/0001-5073-Download-plugins-even-if-you-re-filtering-on-ta.patch b/0001-5073-Download-plugins-even-if-you-re-filtering-on-ta.patch deleted file mode 100644 index 3501750..0000000 --- a/0001-5073-Download-plugins-even-if-you-re-filtering-on-ta.patch +++ /dev/null @@ -1,123 +0,0 @@ -From 852fb9744320c253772c85e52b262b0290fb7dd4 Mon Sep 17 00:00:00 2001 -From: Matt Robinson -Date: Tue, 15 Mar 2011 16:13:15 -0700 -Subject: [PATCH/puppet] (#5073) Download plugins even if you're filtering on tags - -When we eval a resource in transaction.rb it was being skipped when -filtering on tags and downloading the plugins. There's a lot of -complicated conditions for whether to skip a resource, but this is a -condensed version of the path that was causing plugins not to be -downloaded. - - skip? - missing_tags? - !ignore_tags? - !host_config - -The Puppet::Configurer::Downloader creates separate catalogs and applies them -to get custom facts and plugins, so should be setting host_config to false. -Puppet::Util::Settings also sets host_config to false when you call use on -settings, while normal catalog application defaults to true. - -Thanks to Stefan Schulte for suggesting -the implementation fix. ---- - lib/puppet/configurer/downloader.rb | 1 + - lib/puppet/configurer/plugin_handler.rb | 9 +++++++- - spec/unit/configurer/downloader_spec.rb | 32 +++++++++++++++++++++--------- - 3 files changed, 31 insertions(+), 11 deletions(-) - -diff --git a/lib/puppet/configurer/downloader.rb b/lib/puppet/configurer/downloader.rb -index 1b587ed..b369620 100644 ---- a/lib/puppet/configurer/downloader.rb -+++ b/lib/puppet/configurer/downloader.rb -@@ -50,6 +50,7 @@ class Puppet::Configurer::Downloader - - def catalog - catalog = Puppet::Resource::Catalog.new -+ catalog.host_config = false - catalog.add_resource(file) - catalog - end -diff --git a/lib/puppet/configurer/plugin_handler.rb b/lib/puppet/configurer/plugin_handler.rb -index cfc6b5a..ae088f2 100644 ---- a/lib/puppet/configurer/plugin_handler.rb -+++ b/lib/puppet/configurer/plugin_handler.rb -@@ -9,7 +9,14 @@ module Puppet::Configurer::PluginHandler - # Retrieve facts from the central server. - def download_plugins - return nil unless download_plugins? -- Puppet::Configurer::Downloader.new("plugin", Puppet[:plugindest], Puppet[:pluginsource], Puppet[:pluginsignore]).evaluate.each { |file| load_plugin(file) } -+ plugin_downloader = Puppet::Configurer::Downloader.new( -+ "plugin", -+ Puppet[:plugindest], -+ Puppet[:pluginsource], -+ Puppet[:pluginsignore] -+ ) -+ -+ plugin_downloader.evaluate.each { |file| load_plugin(file) } - end - - def load_plugin(file) -diff --git a/spec/unit/configurer/downloader_spec.rb b/spec/unit/configurer/downloader_spec.rb -index c57f39f..4080263 100755 ---- a/spec/unit/configurer/downloader_spec.rb -+++ b/spec/unit/configurer/downloader_spec.rb -@@ -5,6 +5,8 @@ require File.dirname(__FILE__) + '/../../spec_helper' - require 'puppet/configurer/downloader' - - describe Puppet::Configurer::Downloader do -+ require 'puppet_spec/files' -+ include PuppetSpec::Files - it "should require a name" do - lambda { Puppet::Configurer::Downloader.new }.should raise_error(ArgumentError) - end -@@ -96,25 +98,35 @@ describe Puppet::Configurer::Downloader do - - describe "when creating the catalog to do the downloading" do - before do -- @dler = Puppet::Configurer::Downloader.new("foo", "path", "source") -+ @dler = Puppet::Configurer::Downloader.new("foo", "/download/path", "source") - end - - it "should create a catalog and add the file to it" do -- file = mock 'file' -- catalog = mock 'catalog' -- -- @dler.expects(:file).returns file -- -- Puppet::Resource::Catalog.expects(:new).returns catalog -- catalog.expects(:add_resource).with(file) -+ catalog = @dler.catalog -+ catalog.resources.size.should == 1 -+ catalog.resources.first.class.should == Puppet::Type::File -+ catalog.resources.first.name.should == "/download/path" -+ end - -- @dler.catalog.should equal(catalog) -+ it "should specify that it is not managing a host catalog" do -+ @dler.catalog.host_config.should == false - end -+ - end - - describe "when downloading" do - before do -- @dler = Puppet::Configurer::Downloader.new("foo", "path", "source") -+ @dl_name = tmpfile("downloadpath") -+ source_name = tmpfile("source") -+ File.open(source_name, 'w') {|f| f.write('hola mundo') } -+ @dler = Puppet::Configurer::Downloader.new("foo", @dl_name, source_name) -+ end -+ -+ it "should not skip downloaded resources when filtering on tags" do -+ Puppet[:tags] = 'maytag' -+ @dler.evaluate -+ -+ File.exists?(@dl_name).should be_true - end - - it "should log that it is downloading" do --- -1.7.4.1 - diff --git a/0001-5428-More-fully-stub-Puppet-Resource-Reference-for-u.patch b/0001-5428-More-fully-stub-Puppet-Resource-Reference-for-u.patch deleted file mode 100644 index 55566ec..0000000 --- a/0001-5428-More-fully-stub-Puppet-Resource-Reference-for-u.patch +++ /dev/null @@ -1,182 +0,0 @@ -From ff9e2425a58bb2b1ab836e440c3344b4012623c5 Mon Sep 17 00:00:00 2001 -From: Jacob Helwig -Date: Fri, 25 Feb 2011 17:03:56 -0800 -Subject: [PATCH/puppet] (#5428) More fully "stub" Puppet::Resource::Reference for use with storedconfigs - -The Puppet::Resource::Reference class wasn't stubbing enough of the 0.25.x -behavior to satisfy the needs of storedconfigs. Since P::R::Reference, -and Puppet::Resource were merged as part of 2.6.x, we can pretend that -P::Resource is P::R::Reference for the purposes of loading data from -storedconfigs. This should still satisfy the over-the-wire serialization -needs of 0.25.x. - -This also changes internal references to @parameters in -Puppet::Resource(::Reference) to go through a parameters method. This -allows us to "initialize" this instance variable lazily, since loading via -YAML bypasses the normal initialize method. - -Paired-with: Daniel Pittman -Reviewed-by: Markus Roberts ---- - lib/puppet/resource.rb | 35 +++++++++++++++++++---------------- - spec/unit/resource_spec.rb | 26 ++++++++++++++++++++++++-- - 2 files changed, 43 insertions(+), 18 deletions(-) - -diff --git a/lib/puppet/resource.rb b/lib/puppet/resource.rb -index e832804..e47fc7e 100644 ---- a/lib/puppet/resource.rb -+++ b/lib/puppet/resource.rb -@@ -5,6 +5,11 @@ require 'puppet/util/pson' - # The simplest resource class. Eventually it will function as the - # base class for all resource-like behaviour. - class Puppet::Resource -+ # This stub class is only needed for serialization compatibility with 0.25.x. -+ # Specifically, it exists to provide a compatibility API when using YAML -+ # serialized objects loaded from StoreConfigs. -+ Reference = Puppet::Resource -+ - include Puppet::Util::Tagging - - require 'puppet/resource/type_collection_helper' -@@ -104,7 +109,7 @@ class Puppet::Resource - # be overridden at some point, but this works for now. - %w{has_key? keys length delete empty? <<}.each do |method| - define_method(method) do |*args| -- @parameters.send(method, *args) -+ parameters.send(method, *args) - end - end - -@@ -112,13 +117,13 @@ class Puppet::Resource - # to lower-case symbols. - def []=(param, value) - validate_parameter(param) if validate_parameters -- @parameters[parameter_name(param)] = value -+ parameters[parameter_name(param)] = value - end - - # Return a given parameter's value. Converts all passed names - # to lower-case symbols. - def [](param) -- @parameters[parameter_name(param)] -+ parameters[parameter_name(param)] - end - - def ==(other) -@@ -140,11 +145,11 @@ class Puppet::Resource - - # Iterate over each param/value pair, as required for Enumerable. - def each -- @parameters.each { |p,v| yield p, v } -+ parameters.each { |p,v| yield p, v } - end - - def include?(parameter) -- super || @parameters.keys.include?( parameter_name(parameter) ) -+ super || parameters.keys.include?( parameter_name(parameter) ) - end - - # These two methods are extracted into a Helper -@@ -170,14 +175,6 @@ class Puppet::Resource - end - end - -- # This stub class is only needed for serialization compatibility with 0.25.x -- class Reference -- attr_accessor :type,:title -- def initialize(type,title) -- @type,@title = type,title -- end -- end -- - # Create our resource. - def initialize(type, title = nil, attributes = {}) - @parameters = {} -@@ -204,7 +201,7 @@ class Puppet::Resource - tag(self.type) - tag(self.title) if valid_tag?(self.title) - -- @reference = Reference.new(@type,@title) # for serialization compatibility with 0.25.x -+ @reference = self # for serialization compatibility with 0.25.x - if strict? and ! resource_type - if @type == 'Class' - raise ArgumentError, "Could not find declared class #{title}" -@@ -234,7 +231,7 @@ class Puppet::Resource - - # Produce a simple hash of our parameters. - def to_hash -- parse_title.merge @parameters -+ parse_title.merge parameters - end - - def to_s -@@ -256,7 +253,7 @@ class Puppet::Resource - # Convert our resource to Puppet code. - def to_manifest - "%s { '%s':\n%s\n}" % [self.type.to_s.downcase, self.title, -- @parameters.collect { |p, v| -+ parameters.collect { |p, v| - if v.is_a? Array - " #{p} => [\'#{v.join("','")}\']" - else -@@ -422,4 +419,10 @@ class Puppet::Resource - return { :name => title.to_s } - end - end -+ -+ def parameters -+ # @parameters could have been loaded from YAML, causing it to be nil (by -+ # bypassing initialize). -+ @parameters ||= {} -+ end - end -diff --git a/spec/unit/resource_spec.rb b/spec/unit/resource_spec.rb -index ff31b24..4c1dc49 100755 ---- a/spec/unit/resource_spec.rb -+++ b/spec/unit/resource_spec.rb -@@ -99,11 +99,11 @@ describe Puppet::Resource do - end - - it 'should fail if strict is set and type does not exist' do -- lambda { Puppet::Resource.new('foo', 'title', {:strict=>true}) }.should raise_error(ArgumentError, 'Invalid resource type foo') -+ lambda { Puppet::Resource.new('foo', 'title', {:strict=>true}) }.should raise_error(ArgumentError, 'Invalid resource type foo') - end - - it 'should fail if strict is set and class does not exist' do -- lambda { Puppet::Resource.new('Class', 'foo', {:strict=>true}) }.should raise_error(ArgumentError, 'Could not find declared class foo') -+ lambda { Puppet::Resource.new('Class', 'foo', {:strict=>true}) }.should raise_error(ArgumentError, 'Could not find declared class foo') - end - - it "should fail if the title is a hash and the type is not a valid resource reference string" do -@@ -463,6 +463,28 @@ describe Puppet::Resource do - end - end - -+ describe "when loading 0.25.x storedconfigs YAML" do -+ before :each do -+ @old_storedconfig_yaml = %q{--- !ruby/object:Puppet::Resource::Reference -+builtin_type: -+title: /tmp/bar -+type: File -+} -+ end -+ -+ it "should deserialize a Puppet::Resource::Reference without exceptions" do -+ lambda { YAML.load(@old_storedconfig_yaml) }.should_not raise_error -+ end -+ -+ it "should deserialize as a Puppet::Resource::Reference as a Puppet::Resource" do -+ YAML.load(@old_storedconfig_yaml).class.should == Puppet::Resource -+ end -+ -+ it "should to_hash properly" do -+ YAML.load(@old_storedconfig_yaml).to_hash.should == { :path => "/tmp/bar" } -+ end -+ end -+ - describe "when converting to a RAL resource" do - it "should use the resource type's :new method to create the resource if the resource is of a builtin type" do - resource = Puppet::Resource.new("file", @basepath+"/my/file") --- -1.7.4.1 - diff --git a/0001-Resist-directory-traversal-attacks-2.6.x.patch b/0001-Resist-directory-traversal-attacks-2.6.x.patch deleted file mode 100644 index 8c5bb49..0000000 --- a/0001-Resist-directory-traversal-attacks-2.6.x.patch +++ /dev/null @@ -1,138 +0,0 @@ -From 0a92a70a22b7e85ef60ed9b4d4070433b5ec3220 Mon Sep 17 00:00:00 2001 -From: Daniel Pittman -Date: Sat, 24 Sep 2011 12:44:20 -0700 -Subject: [PATCH] Resist directory traversal attacks through indirections. - -In various versions of Puppet it was possible to cause a directory traversal -attack through the SSLFile indirection base class. This was variously -triggered through the user-supplied key, or the Subject of the certificate, in -the code. - -Now, we detect bad patterns down in the base class for our indirections, and -fail hard on them. This reduces the attack surface with as little disruption -to the overall codebase as possible, making it suitable to deploy as part of -older, stable versions of Puppet. - -In the long term we will also address this higher up the stack, to prevent -these problems from reoccurring, but for now this will suffice. - -Huge thanks to Kristian Erik Hermansen for the -responsible disclosure, and useful analysis, around this defect. - -Signed-off-by: Daniel Pittman ---- - lib/puppet/indirector.rb | 7 +++++++ - lib/puppet/indirector/ssl_file.rb | 6 +++++- - lib/puppet/indirector/yaml.rb | 5 +++++ - spec/unit/indirector/ssl_file_spec.rb | 19 +++++++++++++++++++ - spec/unit/indirector/yaml_spec.rb | 14 ++++++++++++++ - 5 files changed, 50 insertions(+), 1 deletions(-) - -diff --git a/lib/puppet/indirector.rb b/lib/puppet/indirector.rb -index e6472f4..fd6bf30 100644 ---- a/lib/puppet/indirector.rb -+++ b/lib/puppet/indirector.rb -@@ -68,4 +68,11 @@ module Puppet::Indirector - self.class.indirection.save key, self - end - end -+ -+ -+ # Helper definition for indirections that handle filenames. -+ BadNameRegexp = Regexp.union(/^\.\./, -+ %r{[\\/]}, -+ "\0", -+ /(?i)^[a-z]:/) - end -diff --git a/lib/puppet/indirector/ssl_file.rb b/lib/puppet/indirector/ssl_file.rb -index 531180f..4510499 100644 ---- a/lib/puppet/indirector/ssl_file.rb -+++ b/lib/puppet/indirector/ssl_file.rb -@@ -52,8 +52,12 @@ class Puppet::Indirector::SslFile < Puppet::Indirector::Terminus - (collection_directory || file_location) or raise Puppet::DevError, "No file or directory setting provided; terminus #{self.class.name} cannot function" - end - -- # Use a setting to determine our path. - def path(name) -+ if name =~ Puppet::Indirector::BadNameRegexp then -+ Puppet.crit("directory traversal detected in #{self.class}: #{name.inspect}") -+ raise ArgumentError, "invalid key" -+ end -+ - if ca?(name) and ca_location - ca_location - elsif collection_directory -diff --git a/lib/puppet/indirector/yaml.rb b/lib/puppet/indirector/yaml.rb -index 23997e9..4c488da 100644 ---- a/lib/puppet/indirector/yaml.rb -+++ b/lib/puppet/indirector/yaml.rb -@@ -43,6 +43,11 @@ class Puppet::Indirector::Yaml < Puppet::Indirector::Terminus - - # Return the path to a given node's file. - def path(name,ext='.yaml') -+ if name =~ Puppet::Indirector::BadNameRegexp then -+ Puppet.crit("directory traversal detected in #{self.class}: #{name.inspect}") -+ raise ArgumentError, "invalid key" -+ end -+ - base = Puppet.run_mode.master? ? Puppet[:yamldir] : Puppet[:clientyamldir] - File.join(base, self.class.indirection_name.to_s, name.to_s + ext) - end -diff --git a/spec/unit/indirector/ssl_file_spec.rb b/spec/unit/indirector/ssl_file_spec.rb -index 37098a7..4760bd7 100755 ---- a/spec/unit/indirector/ssl_file_spec.rb -+++ b/spec/unit/indirector/ssl_file_spec.rb -@@ -87,6 +87,25 @@ describe Puppet::Indirector::SslFile do - it "should set them in the setting directory, with the certificate name plus '.pem', if a directory setting is available" do - @searcher.path(@cert.name).should == @certpath - end -+ -+ ['../foo', '..\\foo', './../foo', '.\\..\\foo', -+ '/foo', '//foo', '\\foo', '\\\\goo', -+ "test\0/../bar", "test\0\\..\\bar", -+ "..\\/bar", "/tmp/bar", "/tmp\\bar", "tmp\\bar", -+ " / bar", " /../ bar", " \\..\\ bar", -+ "c:\\foo", "c:/foo", "\\\\?\\UNC\\bar", "\\\\foo\\bar", -+ "\\\\?\\c:\\foo", "//?/UNC/bar", "//foo/bar", -+ "//?/c:/foo", -+ ].each do |input| -+ it "should resist directory traversal attacks (#{input.inspect})" do -+ expect { @searcher.path(input) }.to raise_error -+ end -+ end -+ -+ # REVISIT: Should probably test MS-DOS reserved names here, too, since -+ # they would represent a vulnerability on a Win32 system, should we ever -+ # support that path. Don't forget that 'CON.foo' == 'CON' -+ # --daniel 2011-09-24 - end - - describe "when finding certificates on disk" do -diff --git a/spec/unit/indirector/yaml_spec.rb b/spec/unit/indirector/yaml_spec.rb -index 86c13c5..c8fadf7 100755 ---- a/spec/unit/indirector/yaml_spec.rb -+++ b/spec/unit/indirector/yaml_spec.rb -@@ -63,6 +63,20 @@ describe Puppet::Indirector::Yaml, " when choosing file location" do - it "should use the object's name to determine the file name" do - @store.path(:me).should =~ %r{me.yaml$} - end -+ -+ ['../foo', '..\\foo', './../foo', '.\\..\\foo', -+ '/foo', '//foo', '\\foo', '\\\\goo', -+ "test\0/../bar", "test\0\\..\\bar", -+ "..\\/bar", "/tmp/bar", "/tmp\\bar", "tmp\\bar", -+ " / bar", " /../ bar", " \\..\\ bar", -+ "c:\\foo", "c:/foo", "\\\\?\\UNC\\bar", "\\\\foo\\bar", -+ "\\\\?\\c:\\foo", "//?/UNC/bar", "//foo/bar", -+ "//?/c:/foo", -+ ].each do |input| -+ it "should resist directory traversal attacks (#{input.inspect})" do -+ expect { @store.path(input) }.to raise_error -+ end -+ end - end - - describe Puppet::Indirector::Yaml, " when storing objects as YAML" do --- -1.7.4.4 - diff --git a/2.6.x-9791-TOCTOU-in-ssh-auth-keys-type.patch b/2.6.x-9791-TOCTOU-in-ssh-auth-keys-type.patch deleted file mode 100644 index a1b7728..0000000 --- a/2.6.x-9791-TOCTOU-in-ssh-auth-keys-type.patch +++ /dev/null @@ -1,107 +0,0 @@ -From 8d9575775737c08c6cbfdf7f9a22f2ea4ab21b20 Mon Sep 17 00:00:00 2001 -From: Ricky Zhou -Date: Mon, 29 Aug 2011 16:01:12 -0400 -Subject: [PATCH] Drop privileges before creating and chmodding SSH keys. - -Previously, potentially abusable chown and chmod calls were performed as -root. This tries to moves as much as possible into code which is run -after privileges have been dropped. - -Huge thanks to Ricky Zhou for discovering this and -supplying the security fix. Awesome work. - -Signed-off-by: Daniel Pittman ---- - lib/puppet/provider/ssh_authorized_key/parsed.rb | 19 ++++++++++--------- - .../provider/ssh_authorized_key/parsed_spec.rb | 16 ++++++++-------- - 2 files changed, 18 insertions(+), 17 deletions(-) - -diff --git a/lib/puppet/provider/ssh_authorized_key/parsed.rb b/lib/puppet/provider/ssh_authorized_key/parsed.rb -index 6a3855c..5243477 100644 ---- a/lib/puppet/provider/ssh_authorized_key/parsed.rb -+++ b/lib/puppet/provider/ssh_authorized_key/parsed.rb -@@ -56,21 +56,22 @@ require 'puppet/provider/parsedfile' - def flush - raise Puppet::Error, "Cannot write SSH authorized keys without user" unless @resource.should(:user) - raise Puppet::Error, "User '#{@resource.should(:user)}' does not exist" unless uid = Puppet::Util.uid(@resource.should(:user)) -- unless File.exist?(dir = File.dirname(target)) -- Puppet.debug "Creating #{dir}" -- Dir.mkdir(dir, dir_perm) -- File.chown(uid, nil, dir) -- end -- - # ParsedFile usually calls backup_target much later in the flush process, - # but our SUID makes that fail to open filebucket files for writing. - # Fortunately, there's already logic to make sure it only ever happens once, - # so calling it here supresses the later attempt by our superclass's flush method. - self.class.backup_target(target) - -- Puppet::Util::SUIDManager.asuser(@resource.should(:user)) { super } -- File.chown(uid, nil, target) -- File.chmod(file_perm, target) -+ Puppet::Util::SUIDManager.asuser(@resource.should(:user)) do -+ unless File.exist?(dir = File.dirname(target)) -+ Puppet.debug "Creating #{dir}" -+ Dir.mkdir(dir, dir_perm) -+ end -+ -+ super -+ -+ File.chmod(file_perm, target) -+ end - end - - # parse sshv2 option strings, wich is a comma separated list of -diff --git a/spec/unit/provider/ssh_authorized_key/parsed_spec.rb b/spec/unit/provider/ssh_authorized_key/parsed_spec.rb -index 2e5be16..64935df 100755 ---- a/spec/unit/provider/ssh_authorized_key/parsed_spec.rb -+++ b/spec/unit/provider/ssh_authorized_key/parsed_spec.rb -@@ -133,15 +133,15 @@ describe provider_class do - @provider.flush - end - -- it "should chown the directory to the user" do -+ it "should absolutely not chown the directory to the user" do - uid = Puppet::Util.uid("random_bob") -- File.expects(:chown).with(uid, nil, "/tmp/.ssh_dir") -+ File.expects(:chown).never - @provider.flush - end - -- it "should chown the key file to the user" do -+ it "should absolutely not chown the key file to the user" do - uid = Puppet::Util.uid("random_bob") -- File.expects(:chown).with(uid, nil, "/tmp/.ssh_dir/place_to_put_authorized_keys") -+ File.expects(:chown).never - @provider.flush - end - -@@ -177,11 +177,11 @@ describe provider_class do - @provider.flush - end - -- it "should chown the directory to the user if it creates it" do -+ it "should absolutely not chown the directory to the user if it creates it" do - File.stubs(:exist?).with(@dir).returns false - Dir.stubs(:mkdir).with(@dir,0700) - uid = Puppet::Util.uid("nobody") -- File.expects(:chown).with(uid, nil, @dir) -+ File.expects(:chown).never - @provider.flush - end - -@@ -192,9 +192,9 @@ describe provider_class do - @provider.flush - end - -- it "should chown the key file to the user" do -+ it "should absolutely not chown the key file to the user" do - uid = Puppet::Util.uid("nobody") -- File.expects(:chown).with(uid, nil, File.expand_path("~nobody/.ssh/authorized_keys")) -+ File.expects(:chown).never - @provider.flush - end - --- -1.7.6.4 - diff --git a/2.6.x-9792-Predictable-temporary-filename-in-ralsh.patch b/2.6.x-9792-Predictable-temporary-filename-in-ralsh.patch deleted file mode 100644 index 5d9647b..0000000 --- a/2.6.x-9792-Predictable-temporary-filename-in-ralsh.patch +++ /dev/null @@ -1,69 +0,0 @@ -From 906da37374def334b62722acf84e4b0d1324e1f7 Mon Sep 17 00:00:00 2001 -From: Daniel Pittman -Date: Wed, 28 Sep 2011 23:35:19 -0700 -Subject: [PATCH] (#9792) Predictable temporary filename in ralsh. - -When ralsh is used in edit mode the temporary filename is in a shared -directory, and is absolutely predictable. Worse, it won't be touched until -well after the startup of the command. - -It can be tricked into writing through a symlink to edit any file on the -system, or to create through it, but worse - the file is reopened with the -same name later, so it can have the target replaced between edit and -operate... - -The only possible mitigation comes from the system editor and the behaviour it -has around editing through symbolic links, which is very weak. - -This improves this to prefer the current working directory for the temporary -file, and to be somewhat less predictable and more safe in conjuring it into -being. - -Signed-off-by: Daniel Pittman ---- - lib/puppet/application/resource.rb | 27 +++++++++++++++++---------- - 1 files changed, 17 insertions(+), 10 deletions(-) - -diff --git a/lib/puppet/application/resource.rb b/lib/puppet/application/resource.rb -index bc4faf5..3e4147e 100644 ---- a/lib/puppet/application/resource.rb -+++ b/lib/puppet/application/resource.rb -@@ -88,18 +88,25 @@ class Puppet::Application::Resource < Puppet::Application - end.map(&format).join("\n") - - if options[:edit] -- file = "/tmp/x2puppet-#{Process.pid}.pp" -+ require 'tempfile' -+ # Prefer the current directory, which is more likely to be secure -+ # and, in the case of interactive use, accessible to the user. -+ tmpfile = Tempfile.new('x2puppet', Dir.pwd) - begin -- File.open(file, "w") do |f| -- f.puts text -- end -- ENV["EDITOR"] ||= "vi" -- system(ENV["EDITOR"], file) -- system("puppet -v #{file}") -+ # sync write, so nothing buffers before we invoke the editor. -+ tmpfile.sync = true -+ tmpfile.puts text -+ -+ # edit the content -+ system(ENV["EDITOR"] || 'vi', tmpfile.path) -+ -+ # ...and, now, pass that file to puppet to apply. Because -+ # many editors rename or replace the original file we need to -+ # feed the pathname, not the file content itself, to puppet. -+ system('puppet -v ' + tmpfile.path) - ensure -- #if FileTest.exists? file -- # File.unlink(file) -- #end -+ # The temporary file will be safely removed. -+ tmpfile.close(true) - end - else - puts text --- -1.7.6.4 - diff --git a/2.6.x-9793-secure-indirector-file-backed-terminus-base-cla.patch b/2.6.x-9793-secure-indirector-file-backed-terminus-base-cla.patch deleted file mode 100644 index 3e15fa1..0000000 --- a/2.6.x-9793-secure-indirector-file-backed-terminus-base-cla.patch +++ /dev/null @@ -1,330 +0,0 @@ -From 40f025a9ae0373e2e642f7811face3486bfa34d4 Mon Sep 17 00:00:00 2001 -From: Daniel Pittman -Date: Thu, 29 Sep 2011 00:07:16 -0700 -Subject: [PATCH] (#9793) "secure" indirector file backed terminus base class. - -The file base class in the indirector trusted the request key directly, which -made it vulnerable to the same potential for injection attacks as other -terminus base classes. - -However, this is somewhat mitigated by the fact that base class is entirely -unused. We can simple eliminate it from the system, because nothing is more -secure than code that doesn't exist. - -The only consumer of the code was in the tests, and didn't care what base -class was used, so that was substituted with a continuing class. - -Signed-off-by: Daniel Pittman ---- - lib/puppet/indirector/file.rb | 79 -------------- - spec/unit/indirector/file_spec.rb | 181 --------------------------------- - spec/unit/indirector/terminus_spec.rb | 6 +- - 3 files changed, 3 insertions(+), 263 deletions(-) - delete mode 100644 lib/puppet/indirector/file.rb - delete mode 100755 spec/unit/indirector/file_spec.rb - -diff --git a/lib/puppet/indirector/file.rb b/lib/puppet/indirector/file.rb -deleted file mode 100644 -index b3746b7..0000000 ---- a/lib/puppet/indirector/file.rb -+++ /dev/null -@@ -1,79 +0,0 @@ --require 'puppet/indirector/terminus' -- --# Store instances as files, usually serialized using some format. --class Puppet::Indirector::File < Puppet::Indirector::Terminus -- # Where do we store our data? -- def data_directory -- name = Puppet.run_mode.master? ? :server_datadir : :client_datadir -- -- File.join(Puppet.settings[name], self.class.indirection_name.to_s) -- end -- -- def file_format(path) -- path =~ /\.(\w+)$/ and return $1 -- end -- -- def file_path(request) -- File.join(data_directory, request.key + ".#{serialization_format}") -- end -- -- def latest_path(request) -- files = Dir.glob(File.join(data_directory, request.key + ".*")) -- return nil if files.empty? -- -- # Return the newest file. -- files.sort { |a, b| File.stat(b).mtime <=> File.stat(a).mtime }[0] -- end -- -- def serialization_format -- model.default_format -- end -- -- # Remove files on disk. -- def destroy(request) -- begin -- removed = false -- Dir.glob(File.join(data_directory, request.key.to_s + ".*")).each do |file| -- removed = true -- File.unlink(file) -- end -- rescue => detail -- raise Puppet::Error, "Could not remove #{request.key}: #{detail}" -- end -- -- raise Puppet::Error, "Could not find files for #{request.key} to remove" unless removed -- end -- -- # Return a model instance for a given file on disk. -- def find(request) -- return nil unless path = latest_path(request) -- format = file_format(path) -- -- raise ArgumentError, "File format #{format} is not supported by #{self.class.indirection_name}" unless model.support_format?(format) -- -- begin -- return model.convert_from(format, File.read(path)) -- rescue => detail -- raise Puppet::Error, "Could not convert path #{path} into a #{self.class.indirection_name}: #{detail}" -- end -- end -- -- # Save a new file to disk. -- def save(request) -- path = file_path(request) -- -- dir = File.dirname(path) -- -- raise Puppet::Error.new("Cannot save #{request.key}; parent directory #{dir} does not exist") unless File.directory?(dir) -- -- begin -- File.open(path, "w") { |f| f.print request.instance.render(serialization_format) } -- rescue => detail -- raise Puppet::Error, "Could not write #{request.key}: #{detail}" % [request.key, detail] -- end -- end -- -- def path(key) -- key -- end --end -diff --git a/spec/unit/indirector/file_spec.rb b/spec/unit/indirector/file_spec.rb -deleted file mode 100755 -index 86673f0..0000000 ---- a/spec/unit/indirector/file_spec.rb -+++ /dev/null -@@ -1,181 +0,0 @@ --#!/usr/bin/env ruby -- --require File.dirname(__FILE__) + '/../../spec_helper' --require 'puppet/indirector/file' -- -- --describe Puppet::Indirector::File do -- before :each do -- Puppet::Indirector::Terminus.stubs(:register_terminus_class) -- @model = mock 'model' -- @indirection = stub 'indirection', :name => :mystuff, :register_terminus_type => nil, :model => @model -- Puppet::Indirector::Indirection.stubs(:instance).returns(@indirection) -- -- @file_class = Class.new(Puppet::Indirector::File) do -- def self.to_s -- "Testing::Mytype" -- end -- end -- -- @searcher = @file_class.new -- -- @path = "/my/file" -- @dir = "/my" -- -- @request = stub 'request', :key => @path -- end -- -- describe "when finding files" do -- it "should provide a method to return file contents at a specified path" do -- @searcher.should respond_to(:find) -- end -- -- it "should use the server data directory plus the indirection name if the run_mode is master" do -- Puppet.run_mode.expects(:master?).returns true -- Puppet.settings.expects(:value).with(:server_datadir).returns "/my/dir" -- -- @searcher.data_directory.should == File.join("/my/dir", "mystuff") -- end -- -- it "should use the client data directory plus the indirection name if the run_mode is not master" do -- Puppet.run_mode.expects(:master?).returns false -- Puppet.settings.expects(:value).with(:client_datadir).returns "/my/dir" -- -- @searcher.data_directory.should == File.join("/my/dir", "mystuff") -- end -- -- it "should use the newest file in the data directory matching the indirection key without extension" do -- @searcher.expects(:data_directory).returns "/data/dir" -- @request.stubs(:key).returns "foo" -- Dir.expects(:glob).with("/data/dir/foo.*").returns %w{/data1.stuff /data2.stuff} -- -- stat1 = stub 'data1', :mtime => (Time.now - 5) -- stat2 = stub 'data2', :mtime => Time.now -- File.expects(:stat).with("/data1.stuff").returns stat1 -- File.expects(:stat).with("/data2.stuff").returns stat2 -- -- @searcher.latest_path(@request).should == "/data2.stuff" -- end -- -- it "should return nil when no files are found" do -- @searcher.stubs(:latest_path).returns nil -- -- @searcher.find(@request).should be_nil -- end -- -- it "should determine the file format from the file extension" do -- @searcher.file_format("/data2.pson").should == "pson" -- end -- -- it "should fail if the model does not support the file format" do -- @searcher.stubs(:latest_path).returns "/my/file.pson" -- -- @model.expects(:support_format?).with("pson").returns false -- -- lambda { @searcher.find(@request) }.should raise_error(ArgumentError) -- end -- end -- -- describe "when saving files" do -- before do -- @content = "my content" -- @file = stub 'file', :content => @content, :path => @path, :name => @path, :render => "mydata" -- @request.stubs(:instance).returns @file -- end -- -- it "should provide a method to save file contents at a specified path" do -- @searcher.should respond_to(:save) -- end -- -- it "should choose the file extension based on the default format of the model" do -- @model.expects(:default_format).returns "pson" -- -- @searcher.serialization_format.should == "pson" -- end -- -- it "should place the file in the data directory, named after the indirection, key, and format" do -- @searcher.stubs(:data_directory).returns "/my/dir" -- @searcher.stubs(:serialization_format).returns "pson" -- -- @request.stubs(:key).returns "foo" -- @searcher.file_path(@request).should == File.join("/my/dir", "foo.pson") -- end -- -- it "should fail intelligently if the file's parent directory does not exist" do -- @searcher.stubs(:file_path).returns "/my/dir/file.pson" -- @searcher.stubs(:serialization_format).returns "pson" -- -- @request.stubs(:key).returns "foo" -- File.expects(:directory?).with(File.join("/my/dir")).returns(false) -- -- proc { @searcher.save(@request) }.should raise_error(Puppet::Error) -- end -- -- it "should render the instance using the file format and print it to the file path" do -- @searcher.stubs(:file_path).returns "/my/file.pson" -- @searcher.stubs(:serialization_format).returns "pson" -- -- File.stubs(:directory?).returns true -- -- @request.instance.expects(:render).with("pson").returns "data" -- -- fh = mock 'filehandle' -- File.expects(:open).with("/my/file.pson", "w").yields fh -- fh.expects(:print).with("data") -- -- @searcher.save(@request) -- end -- -- it "should fail intelligently if a file cannot be written" do -- filehandle = mock 'file' -- File.stubs(:directory?).returns(true) -- File.stubs(:open).yields(filehandle) -- filehandle.expects(:print).raises(ArgumentError) -- -- @searcher.stubs(:file_path).returns "/my/file.pson" -- @model.stubs(:default_format).returns "pson" -- -- @instance.stubs(:render).returns "stuff" -- -- proc { @searcher.save(@request) }.should raise_error(Puppet::Error) -- end -- end -- -- describe "when removing files" do -- it "should provide a method to remove files" do -- @searcher.should respond_to(:destroy) -- end -- -- it "should remove files in all formats found in the data directory that match the request key" do -- @searcher.stubs(:data_directory).returns "/my/dir" -- @request.stubs(:key).returns "me" -- -- Dir.expects(:glob).with(File.join("/my/dir", "me.*")).returns %w{/one /two} -- -- File.expects(:unlink).with("/one") -- File.expects(:unlink).with("/two") -- -- @searcher.destroy(@request) -- end -- -- it "should throw an exception if no file is found" do -- @searcher.stubs(:data_directory).returns "/my/dir" -- @request.stubs(:key).returns "me" -- -- Dir.expects(:glob).with(File.join("/my/dir", "me.*")).returns [] -- -- proc { @searcher.destroy(@request) }.should raise_error(Puppet::Error) -- end -- -- it "should fail intelligently if a file cannot be removed" do -- @searcher.stubs(:data_directory).returns "/my/dir" -- @request.stubs(:key).returns "me" -- -- Dir.expects(:glob).with(File.join("/my/dir", "me.*")).returns %w{/one} -- -- File.expects(:unlink).with("/one").raises ArgumentError -- -- proc { @searcher.destroy(@request) }.should raise_error(Puppet::Error) -- end -- end --end -diff --git a/spec/unit/indirector/terminus_spec.rb b/spec/unit/indirector/terminus_spec.rb -index 826b934..63cb7cc 100755 ---- a/spec/unit/indirector/terminus_spec.rb -+++ b/spec/unit/indirector/terminus_spec.rb -@@ -3,7 +3,7 @@ - require File.dirname(__FILE__) + '/../../spec_helper' - require 'puppet/defaults' - require 'puppet/indirector' --require 'puppet/indirector/file' -+require 'puppet/indirector/memory' - - describe Puppet::Indirector::Terminus do - before :each do -@@ -202,14 +202,14 @@ describe Puppet::Indirector::Terminus, " when parsing class constants for indire - @subclass.expects(:indirection=).with(:test_ind) - @subclass.stubs(:name=) - @subclass.stubs(:terminus_type=) -- Puppet::Indirector::File.inherited(@subclass) -+ Puppet::Indirector::Memory.inherited(@subclass) - end - - it "should convert the indirection name to a downcased symbol" do - @subclass.expects(:indirection=).with(:test_ind) - @subclass.stubs(:name=) - @subclass.stubs(:terminus_type=) -- Puppet::Indirector::File.inherited(@subclass) -+ Puppet::Indirector::Memory.inherited(@subclass) - end - - it "should convert camel case to lower case with underscores as word separators" do --- -1.7.6.4 - diff --git a/2.6.x-9794-k5login-can-overwrite-arbitrary-files-as-root.patch b/2.6.x-9794-k5login-can-overwrite-arbitrary-files-as-root.patch deleted file mode 100644 index 7fe08d6..0000000 --- a/2.6.x-9794-k5login-can-overwrite-arbitrary-files-as-root.patch +++ /dev/null @@ -1,40 +0,0 @@ -From bdf728edc4c0b0e0e416f9d3e542b6815a4d3c0a Mon Sep 17 00:00:00 2001 -From: Daniel Pittman -Date: Thu, 29 Sep 2011 00:32:49 -0700 -Subject: [PATCH] (#9794) k5login can overwrite arbitrary files as root - -The k5login type is typically used to manage a file in the home directory of a -user; the explicit purpose of the files is to allow access to other users. - -It writes to the target file directly, as root, without doing anything to -secure the file. That would allow the owner of the home directory to symlink -to anything on the system, and have it replaced with the correct content of -the file. Which is a fairly obvious escalation to root the next time Puppet -runs. - -Now, instead, fix that to securely write the target file in a predictable and -secure fashion, using the `secure_open` helper. - -Signed-off-by: Daniel Pittman ---- - lib/puppet/type/k5login.rb | 4 +++- - 1 files changed, 3 insertions(+), 1 deletions(-) - -diff --git a/lib/puppet/type/k5login.rb b/lib/puppet/type/k5login.rb -index eac142f..2e87ca9 100644 ---- a/lib/puppet/type/k5login.rb -+++ b/lib/puppet/type/k5login.rb -@@ -79,7 +79,9 @@ Puppet::Type.newtype(:k5login) do - - private - def write(value) -- File.open(@resource[:name], "w") { |f| f.puts value.join("\n") } -+ Puppet::Util.secure_open(@resource[:name], "w") do |f| -+ f.puts value.join("\n") -+ end - end - end - end --- -1.7.6.4 - diff --git a/puppet-2.6.12.tar.gz.asc b/puppet-2.6.12.tar.gz.asc new file mode 100644 index 0000000..6aae796 --- /dev/null +++ b/puppet-2.6.12.tar.gz.asc @@ -0,0 +1,17 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1.4.11 (GNU/Linux) + +iQIcBAABAgAGBQJOomPfAAoJEBBUt6JL1uww6QYP/0xT7OQnK5TZ0Q94KWHRHmje +UZxqhNKt3+xlH74wNM0W81HWJNvRkhVHu0ez8S3ERnExAdFfXG4lkr1kLmmQhKeN +xLW9xN5A31GU+SnjDhRtzzCujFEeexw4ZlWTKdrWtwvli7P/katInxXlNKqpZujl +IDq4+WhjrJ9/4sE0VqjrlOwfOjJPbFMg5M1MNDkS3P5VffHLhp2wdbeFmQH1TpHi +qhEh+vmJw9WO1+z0v/kgL2S8YQH4kCJ82vGG9xfxF5fIwgrL7xVxU4a1FS4Oypy6 +2Vff9tP9iBKGErTUwOSbxeJDkHRuQ3oc2hGTUfR8cmAZ5YUavbbIqbWPvOd142rF ++vDyxpcUO+tSZn4o12Wj+sZww+KuviHyexk3BmxNAPOW2UPMPfU9CcaZdkuKV7d3 +CyJ4dWg9YX7wY42C+rh7ztQ9LW4hWGcmdvroknfMMJdrR8ARAby0fbApeB5V42Rk +fuh45I7GRlQMKcMhJR/nJM5/OL1Bjn5nyAkL6JoddJZO0LVBswTmcbgmhJaRlF6M +YL92nFrGmKiltlEoAAslSKgDMkZJCdaTv2PQxrtpMEp6wBYSfNF0h0u92gKEltkJ +/6eXIcyGIQAVWwuLPqgvZXtqMx9irB1xJTr41MVwkqZzy6kct/dAXXrosi+xg9eM +FpTONL84pFqy0qkbbM/Q +=ipk9 +-----END PGP SIGNATURE----- diff --git a/puppet-2.6.6.tar.gz.sign b/puppet-2.6.6.tar.gz.sign deleted file mode 100644 index 9ff429a..0000000 --- a/puppet-2.6.6.tar.gz.sign +++ /dev/null @@ -1,17 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v1.4.10 (GNU/Linux) - -iQIcBAABAgAGBQJNeAIeAAoJEBBUt6JL1uwwLqMP/A7L+ikXqLTc3X4gaPuiJcuI -dJW9fmzbOaeU1Bit4CaoA8e3gS2u+GybaxpW8eYhwAVGwws6NeKfoLXk7xXAl0X7 -pke5LMWl87vGw7orzeA/ck5QO4Gxel+OsDCXO18kRpnPswX/4FnaH8sF8u+y5kUU -2NuDabKPkMiDLjyC5TdXFP397hj0bRLmJjd2WtYo41nbjBJR6l3JOXWo5LlxGx6+ -8fzkqDXiNe/vERXm9As42SCehZ0QybRGEW8SgaXjLt4eXO4YJSpRhShRHP2f9d5C -3pUUnUHVuoQUWuNNA0W7wzS8CSKkmDVHyW5hWsMiyyE0u5THvOHBV8UvQ10QAF90 -mvcxiqwJYlxvPhuLGyEqGF+XpMqu4cS+f7ikNWtbacOdTY+uFLg5qSk25RwFGld7 -ASvlMP+H/Dp8uaxorCZt3dCTETmGbFWFiBgRrHRef6GR2H6gKqzDaRPoW30MNrVM -RAmb7xHHYeBoDf4msi5TJE546S3xfUwB/XjCNrQ8myuzg6engCgEmKB122BLq/DN -MmTZQx8DViYH+oPNQnOBkuFr3FeGNii+sZzC5VHyir3/8ksSQ4dSnKWbS8p8mGnP -5yR/WrUguN1HCdimKANWyGGfiKmNgADrDlOT3iUhjZs09ZR3IR2mTWVCLFcyu/Ft -ukGK0gYzxjK/2FF6uHoR -=/iZd ------END PGP SIGNATURE----- diff --git a/puppet.spec b/puppet.spec index 1add98f..9803813 100644 --- a/puppet.spec +++ b/puppet.spec @@ -5,32 +5,15 @@ %global confdir conf/redhat Name: puppet -Version: 2.6.6 -Release: 3%{?dist} +Version: 2.6.12 +Release: 1%{?dist} Summary: A network tool for managing many disparate systems License: GPLv2 URL: http://puppetlabs.com -Source0: http://puppetlabs.com/downloads/%{name}/%{name}-%{version}.tar.gz -Source1: http://puppetlabs.com/downloads/%{name}/%{name}-%{version}.tar.gz.sign -# http://projects.puppetlabs.com/issues/5428 -Patch0: 0001-5428-More-fully-stub-Puppet-Resource-Reference-for-u.patch -# http://projects.puppetlabs.com/issues/4922 -Patch1: 0001-4922-Don-t-truncate-remotely-sourced-files-on-404.patch -# http://projects.puppetlabs.com/issues/5073 -Patch2: 0001-5073-Download-plugins-even-if-you-re-filtering-on-ta.patch -# http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-3848 -Patch3: 0001-Resist-directory-traversal-attacks-2.6.x.patch -# http://projects.puppetlabs.com/issues/9791 -# http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-3870 -Patch4: 2.6.x-9791-TOCTOU-in-ssh-auth-keys-type.patch -# http://projects.puppetlabs.com/issues/9792 -# http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-3871 -Patch5: 2.6.x-9792-Predictable-temporary-filename-in-ralsh.patch -# http://projects.puppetlabs.com/issues/9794 -# http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-3869 -Patch6: 2.6.x-9794-k5login-can-overwrite-arbitrary-files-as-root.patch -# http://projects.puppetlabs.com/issues/9793 -Patch7: 2.6.x-9793-secure-indirector-file-backed-terminus-base-cla.patch +Source0: http://downloads.puppetlabs.com/%{name}/%{name}-%{version}.tar.gz +Source1: http://downloads.puppetlabs.com/%{name}/%{name}-%{version}.tar.gz.asc +# https://projects.puppetlabs.com/issues/10244 +Patch0: 0001-10244-Restore-Mongrel-XMLRPC-functionality.patch Group: System Environment/Base @@ -86,16 +69,8 @@ The server can also function as a certificate authority and file server. %prep %setup -q %patch0 -p1 -%patch1 -p1 -%patch2 -p1 -%patch3 -p1 -%patch4 -p1 -%patch5 -p1 -%patch6 -p1 -%patch7 -p1 patch -s -p1 < conf/redhat/rundir-perms.patch - %build # Fix some rpmlint complaints for f in mac_dscl.pp mac_dscl_revert.pp \ @@ -163,7 +138,7 @@ echo "D /var/run/%{name} 0755 %{name} %{name} -" > \ %files %defattr(-, root, root, 0755) -%doc CHANGELOG COPYING LICENSE README README.queueing examples +%doc CHANGELOG COPYING LICENSE README.md README.queueing examples %{_bindir}/pi %{_bindir}/puppet %{_bindir}/ralsh @@ -280,6 +255,10 @@ fi rm -rf %{buildroot} %changelog +* Sun Oct 23 2011 Todd Zullinger - 2.6.12-1 +- Update to 2.6.12, fixes CVE-2011-3872 +- Add upstream patch to restore Mongrel XMLRPC functionality (upstream #10244) + * Thu Sep 29 2011 Todd Zullinger - 2.6.6-3 - Apply upstream patches for CVE-2011-3869, CVE-2011-3870, CVE-2011-3871, and upstream #9793 diff --git a/sources b/sources index 4396540..6288f93 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -58315e94ff00aedc4a19177877c3e865 puppet-2.6.6.tar.gz +3851b1a33cde9d697d5c5c21ef795438 puppet-2.6.12.tar.gz From 47fcf33655b9457878ee0dfca6d2b6c3478affc0 Mon Sep 17 00:00:00 2001 From: Todd Zullinger Date: Fri, 21 Oct 2011 14:54:12 -0400 Subject: [PATCH 062/272] Apply partial fix for upstream #9167 Tagmail report sends email when nothing happens. This is a partial fix because it doesn't handle --noop mode. --- ...t-sent-tagmail-reports-if-no-changes.patch | 46 +++++++++++++++++++ puppet.spec | 5 ++ 2 files changed, 51 insertions(+) create mode 100644 0001-9167-Do-not-sent-tagmail-reports-if-no-changes.patch diff --git a/0001-9167-Do-not-sent-tagmail-reports-if-no-changes.patch b/0001-9167-Do-not-sent-tagmail-reports-if-no-changes.patch new file mode 100644 index 0000000..5ba1da1 --- /dev/null +++ b/0001-9167-Do-not-sent-tagmail-reports-if-no-changes.patch @@ -0,0 +1,46 @@ +From e8c0c799e6f648a90028ce2248e14247f021f1c7 Mon Sep 17 00:00:00 2001 +From: Kelsey Hightower +Date: Wed, 24 Aug 2011 21:51:45 -0400 +Subject: [PATCH/puppet] (#9167) Do not sent tagmail reports if no changes + +Prevent Puppet Master from sending tagmail reports if the status of the +puppet run is "unchanged". +--- + lib/puppet/reports/tagmail.rb | 6 ++++++ + spec/unit/reports/tagmail_spec.rb | 5 +++++ + 2 files changed, 11 insertions(+), 0 deletions(-) + +diff --git a/lib/puppet/reports/tagmail.rb b/lib/puppet/reports/tagmail.rb +index c37341e..cf33cfa 100644 +--- a/lib/puppet/reports/tagmail.rb ++++ b/lib/puppet/reports/tagmail.rb +@@ -108,6 +108,12 @@ Puppet::Reports.register_report(:tagmail) do + + # Process the report. This just calls the other associated messages. + def process ++ # Do not send the email report if nothing changed. ++ if self.status == "unchanged" ++ Puppet.info "Not sending tagmail report; no changes" ++ return ++ end ++ + unless FileTest.exists?(Puppet[:tagmap]) + Puppet.notice "Cannot send tagmail report; no tagmap file #{Puppet[:tagmap]}" + return +diff --git a/spec/unit/reports/tagmail_spec.rb b/spec/unit/reports/tagmail_spec.rb +index a53d119..0df67ec 100755 +--- a/spec/unit/reports/tagmail_spec.rb ++++ b/spec/unit/reports/tagmail_spec.rb +@@ -88,4 +88,9 @@ describe tagmail do + results.should be_nil + end + end ++ ++ describe "when there are no changes" do ++ it "should not send an email" ++ end ++ + end +-- +1.7.6 + diff --git a/puppet.spec b/puppet.spec index 9803813..9a752d7 100644 --- a/puppet.spec +++ b/puppet.spec @@ -14,6 +14,8 @@ Source0: http://downloads.puppetlabs.com/%{name}/%{name}-%{version}.tar.g Source1: http://downloads.puppetlabs.com/%{name}/%{name}-%{version}.tar.gz.asc # https://projects.puppetlabs.com/issues/10244 Patch0: 0001-10244-Restore-Mongrel-XMLRPC-functionality.patch +# https://projects.puppetlabs.com/issues/9167 +Patch1: 0001-9167-Do-not-sent-tagmail-reports-if-no-changes.patch Group: System Environment/Base @@ -69,6 +71,7 @@ The server can also function as a certificate authority and file server. %prep %setup -q %patch0 -p1 +%patch1 -p1 patch -s -p1 < conf/redhat/rundir-perms.patch %build @@ -258,6 +261,8 @@ rm -rf %{buildroot} * Sun Oct 23 2011 Todd Zullinger - 2.6.12-1 - Update to 2.6.12, fixes CVE-2011-3872 - Add upstream patch to restore Mongrel XMLRPC functionality (upstream #10244) +- Apply partial fix for upstream #9167 (tagmail report sends email when nothing + happens) * Thu Sep 29 2011 Todd Zullinger - 2.6.6-3 - Apply upstream patches for CVE-2011-3869, CVE-2011-3870, CVE-2011-3871, and From e080a6a4c0ffeeaeb93d492e959421d2c0528b5d Mon Sep 17 00:00:00 2001 From: Todd Zullinger Date: Wed, 14 Dec 2011 12:46:40 -0500 Subject: [PATCH 063/272] Update to 2.6.13 --- ...Restore-Mongrel-XMLRPC-functionality.patch | 161 ------------------ puppet-2.6.12.tar.gz.asc | 17 -- puppet-2.6.13.tar.gz.asc | 18 ++ puppet.spec | 10 +- sources | 2 +- 5 files changed, 24 insertions(+), 184 deletions(-) delete mode 100644 0001-10244-Restore-Mongrel-XMLRPC-functionality.patch delete mode 100644 puppet-2.6.12.tar.gz.asc create mode 100644 puppet-2.6.13.tar.gz.asc diff --git a/0001-10244-Restore-Mongrel-XMLRPC-functionality.patch b/0001-10244-Restore-Mongrel-XMLRPC-functionality.patch deleted file mode 100644 index d1ba7d4..0000000 --- a/0001-10244-Restore-Mongrel-XMLRPC-functionality.patch +++ /dev/null @@ -1,161 +0,0 @@ -From 908aef3579534f7718dfbdeb24fad94591186a3f Mon Sep 17 00:00:00 2001 -From: Nick Lewis -Date: Mon, 24 Oct 2011 10:13:33 -0700 -Subject: [PATCH] (#10244) Restore Mongrel XMLRPC functionality - -This code was over-eagerly removed, when it turns out to actually -still be necessary for backward compatibility with XMLRPC clients. ---- - lib/puppet/network/http_server.rb | 3 + - lib/puppet/network/http_server/mongrel.rb | 130 +++++++++++++++++++++++++++++ - 2 files changed, 133 insertions(+), 0 deletions(-) - create mode 100644 lib/puppet/network/http_server.rb - create mode 100644 lib/puppet/network/http_server/mongrel.rb - -diff --git a/lib/puppet/network/http_server.rb b/lib/puppet/network/http_server.rb -new file mode 100644 -index 0000000..e3826a6 ---- /dev/null -+++ b/lib/puppet/network/http_server.rb -@@ -0,0 +1,3 @@ -+# Just a stub, so we can correctly scope other classes. -+module Puppet::Network::HTTPServer # :nodoc: -+end -diff --git a/lib/puppet/network/http_server/mongrel.rb b/lib/puppet/network/http_server/mongrel.rb -new file mode 100644 -index 0000000..ce0401a ---- /dev/null -+++ b/lib/puppet/network/http_server/mongrel.rb -@@ -0,0 +1,129 @@ -+#!/usr/bin/env ruby -+# File: 06-11-14-mongrel_xmlrpc.rb -+# Author: Manuel Holtgrewe -+# -+# Copyright (c) 2006 Manuel Holtgrewe, 2007 Luke Kanies -+# -+# This file is based heavily on a file retrieved from -+# http://ttt.ggnore.net/2006/11/15/xmlrpc-with-mongrel-and-ruby-off-rails/ -+ -+require 'rubygems' -+require 'mongrel' -+require 'xmlrpc/server' -+require 'puppet/network/xmlrpc/server' -+require 'puppet/network/http_server' -+require 'puppet/network/client_request' -+require 'puppet/network/handler' -+ -+require 'resolv' -+ -+# This handler can be hooked into Mongrel to accept HTTP requests. After -+# checking whether the request itself is sane, the handler forwards it -+# to an internal instance of XMLRPC::BasicServer to process it. -+# -+# You can access the server by calling the Handler's "xmlrpc_server" -+# attribute accessor method and add XMLRPC handlers there. For example: -+# -+#
-+# handler = XmlRpcHandler.new
-+# handler.xmlrpc_server.add_handler("my.add") { |a, b| a.to_i + b.to_i }
-+# 
-+module Puppet::Network -+ class HTTPServer::Mongrel < ::Mongrel::HttpHandler -+ attr_reader :xmlrpc_server -+ -+ def initialize(handlers) -+ if Puppet[:debug] -+ $mongrel_debug_client = true -+ Puppet.debug 'Mongrel client debugging enabled. [$mongrel_debug_client = true].' -+ end -+ # Create a new instance of BasicServer. We are supposed to subclass it -+ # but that does not make sense since we would not introduce any new -+ # behaviour and we have to subclass Mongrel::HttpHandler so our handler -+ # works for Mongrel. -+ @xmlrpc_server = Puppet::Network::XMLRPCServer.new -+ handlers.each do |name| -+ unless handler = Puppet::Network::Handler.handler(name) -+ raise ArgumentError, "Invalid handler #{name}" -+ end -+ @xmlrpc_server.add_handler(handler.interface, handler.new({})) -+ end -+ end -+ -+ # This method produces the same results as XMLRPC::CGIServer.serve -+ # from Ruby's stdlib XMLRPC implementation. -+ def process(request, response) -+ # Make sure this has been a POST as required for XMLRPC. -+ request_method = request.params[Mongrel::Const::REQUEST_METHOD] || Mongrel::Const::GET -+ if request_method != "POST" -+ response.start(405) { |head, out| out.write("Method Not Allowed") } -+ return -+ end -+ -+ # Make sure the user has sent text/xml data. -+ request_mime = request.params["CONTENT_TYPE"] || "text/plain" -+ if parse_content_type(request_mime).first != "text/xml" -+ response.start(400) { |head, out| out.write("Bad Request") } -+ return -+ end -+ -+ # Make sure there is data in the body at all. -+ length = request.params[Mongrel::Const::CONTENT_LENGTH].to_i -+ if length <= 0 -+ response.start(411) { |head, out| out.write("Length Required") } -+ return -+ end -+ -+ # Check the body to be valid. -+ if request.body.nil? or request.body.size != length -+ response.start(400) { |head, out| out.write("Bad Request") } -+ return -+ end -+ -+ info = client_info(request) -+ -+ # All checks above passed through -+ response.start(200) do |head, out| -+ head["Content-Type"] = "text/xml; charset=utf-8" -+ begin -+ out.write(@xmlrpc_server.process(request.body, info)) -+ rescue => detail -+ puts detail.backtrace -+ raise -+ end -+ end -+ end -+ -+ private -+ -+ def client_info(request) -+ params = request.params -+ ip = params["HTTP_X_FORWARDED_FOR"] ? params["HTTP_X_FORWARDED_FOR"].split(',').last.strip : params["REMOTE_ADDR"] -+ # JJM #906 The following dn.match regular expression is forgiving -+ # enough to match the two Distinguished Name string contents -+ # coming from Apache, Pound or other reverse SSL proxies. -+ if dn = params[Puppet[:ssl_client_header]] and dn_matchdata = dn.match(/^.*?CN\s*=\s*(.*)/) -+ client = dn_matchdata[1].to_str -+ valid = (params[Puppet[:ssl_client_verify_header]] == 'SUCCESS') -+ else -+ begin -+ client = Resolv.getname(ip) -+ rescue => detail -+ Puppet.err "Could not resolve #{ip}: #{detail}" -+ client = "unknown" -+ end -+ valid = false -+ end -+ -+ info = Puppet::Network::ClientRequest.new(client, ip, valid) -+ -+ info -+ end -+ -+ # Taken from XMLRPC::ParseContentType -+ def parse_content_type(str) -+ a, *b = str.split(";") -+ return a.strip, *b -+ end -+ end -+end --- -1.7.7 - diff --git a/puppet-2.6.12.tar.gz.asc b/puppet-2.6.12.tar.gz.asc deleted file mode 100644 index 6aae796..0000000 --- a/puppet-2.6.12.tar.gz.asc +++ /dev/null @@ -1,17 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v1.4.11 (GNU/Linux) - -iQIcBAABAgAGBQJOomPfAAoJEBBUt6JL1uww6QYP/0xT7OQnK5TZ0Q94KWHRHmje -UZxqhNKt3+xlH74wNM0W81HWJNvRkhVHu0ez8S3ERnExAdFfXG4lkr1kLmmQhKeN -xLW9xN5A31GU+SnjDhRtzzCujFEeexw4ZlWTKdrWtwvli7P/katInxXlNKqpZujl -IDq4+WhjrJ9/4sE0VqjrlOwfOjJPbFMg5M1MNDkS3P5VffHLhp2wdbeFmQH1TpHi -qhEh+vmJw9WO1+z0v/kgL2S8YQH4kCJ82vGG9xfxF5fIwgrL7xVxU4a1FS4Oypy6 -2Vff9tP9iBKGErTUwOSbxeJDkHRuQ3oc2hGTUfR8cmAZ5YUavbbIqbWPvOd142rF -+vDyxpcUO+tSZn4o12Wj+sZww+KuviHyexk3BmxNAPOW2UPMPfU9CcaZdkuKV7d3 -CyJ4dWg9YX7wY42C+rh7ztQ9LW4hWGcmdvroknfMMJdrR8ARAby0fbApeB5V42Rk -fuh45I7GRlQMKcMhJR/nJM5/OL1Bjn5nyAkL6JoddJZO0LVBswTmcbgmhJaRlF6M -YL92nFrGmKiltlEoAAslSKgDMkZJCdaTv2PQxrtpMEp6wBYSfNF0h0u92gKEltkJ -/6eXIcyGIQAVWwuLPqgvZXtqMx9irB1xJTr41MVwkqZzy6kct/dAXXrosi+xg9eM -FpTONL84pFqy0qkbbM/Q -=ipk9 ------END PGP SIGNATURE----- diff --git a/puppet-2.6.13.tar.gz.asc b/puppet-2.6.13.tar.gz.asc new file mode 100644 index 0000000..a08605c --- /dev/null +++ b/puppet-2.6.13.tar.gz.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG/MacGPG2 v2.0.17 (Darwin) +Comment: GPGTools - http://gpgtools.org + +iQIcBAABAgAGBQJO5oXOAAoJEBBUt6JL1uwwpXcQAKOsWL+65lJh2lUExw7fuMsq +injUsJ+Xh5VufrKqFIiJBqJ9jj7OCeB02I8mEn+vJPmdHg9w6EgAzrmV9QBZIisQ +GpJWDo/o7AyPzFyEiNY2Z3zu2NALdo6sINya7BpIOqPrhHyEn4zVH5i8kSrD7c9U +RG6j2PMNjOWVZb1S69aFeIkFoSpX4ri6uve8zC2VBa2pLA3jbedUHJku9EI4R52d +OeEB71P4wi9OaoaebOCXDrgcmUH1BG6+YT6YhAJwGclpLVtd6bGkjnVKE7l5wuCW +6F94ZZWOo5OSx56LB+gVjOcV3GQ7SQkpOrIrS3AjEm+y8ZTzHXpHOyNmeNIqYj3l +CUWcU1ip9gK4fYU7JxNchzeQJFVPe794EIeiKW2mXRajStwnaI4SXYCVmXnTxJrL +29bzbBBiwl4xQu38MZdyrQ+a8d6EOVcTgG46dWe1COX6cKT67azx0zsdulpzPaTM +0ix9kchR0U7wVISubgyRmccZfrQ1zhoOS8EAexqDzWbAsL0046RTP5yQcIG5NGCh +MDJQFTaP/9CW075sXqe31vKjy91zOqf49Uy4PuMOuZ6mLyg3/CabLkpew7Q2L7PJ +dV3Bek2ia5tEBiYIHxuVeAVqboyBgeRvRvWooEn4Ie3MFmikXSvnddhhrk7wrTqK +6iokskdLK8l59X3bc9bz +=aeT+ +-----END PGP SIGNATURE----- diff --git a/puppet.spec b/puppet.spec index 9a752d7..b540357 100644 --- a/puppet.spec +++ b/puppet.spec @@ -5,17 +5,15 @@ %global confdir conf/redhat Name: puppet -Version: 2.6.12 +Version: 2.6.13 Release: 1%{?dist} Summary: A network tool for managing many disparate systems License: GPLv2 URL: http://puppetlabs.com Source0: http://downloads.puppetlabs.com/%{name}/%{name}-%{version}.tar.gz Source1: http://downloads.puppetlabs.com/%{name}/%{name}-%{version}.tar.gz.asc -# https://projects.puppetlabs.com/issues/10244 -Patch0: 0001-10244-Restore-Mongrel-XMLRPC-functionality.patch # https://projects.puppetlabs.com/issues/9167 -Patch1: 0001-9167-Do-not-sent-tagmail-reports-if-no-changes.patch +Patch0: 0001-9167-Do-not-sent-tagmail-reports-if-no-changes.patch Group: System Environment/Base @@ -71,7 +69,6 @@ The server can also function as a certificate authority and file server. %prep %setup -q %patch0 -p1 -%patch1 -p1 patch -s -p1 < conf/redhat/rundir-perms.patch %build @@ -258,6 +255,9 @@ fi rm -rf %{buildroot} %changelog +* Wed Dec 14 2011 Todd Zullinger - 2.6.13-1 +- Update to 2.6.13 + * Sun Oct 23 2011 Todd Zullinger - 2.6.12-1 - Update to 2.6.12, fixes CVE-2011-3872 - Add upstream patch to restore Mongrel XMLRPC functionality (upstream #10244) diff --git a/sources b/sources index 6288f93..16f8fec 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -3851b1a33cde9d697d5c5c21ef795438 puppet-2.6.12.tar.gz +e7d684c4d0b0f130aa54de4bb6759824 puppet-2.6.13.tar.gz From 9844a131e2b1674bf0bc2d29a0a8f1aa43a8d4e5 Mon Sep 17 00:00:00 2001 From: Todd Zullinger Date: Sun, 1 Jan 2012 23:13:08 -0500 Subject: [PATCH 064/272] Cherry-pick various augeas fixes from upstream (bz#771097) When augeas reached 0.10.0, various version tests failed. This is fixed in the 2.7.x branch of puppet, but a few other changes were also made since then, making a very minimal cherry-pick fix difficult. The other changes are reasonably small and are also worth of backporting to our 2.6.x packages. --- puppet-2.6.13-misc-augeas-improvements.patch | 490 +++++++++++++++++++ puppet.spec | 10 + 2 files changed, 500 insertions(+) create mode 100644 puppet-2.6.13-misc-augeas-improvements.patch diff --git a/puppet-2.6.13-misc-augeas-improvements.patch b/puppet-2.6.13-misc-augeas-improvements.patch new file mode 100644 index 0000000..9eadb26 --- /dev/null +++ b/puppet-2.6.13-misc-augeas-improvements.patch @@ -0,0 +1,490 @@ +From 0614d2293dff0fabd0e9674d3113b050373491a6 Mon Sep 17 00:00:00 2001 +From: Michael Knox +Date: Fri, 18 Mar 2011 22:37:00 +1100 +Subject: [PATCH/puppet 1/3] (#2728) Add diff output for changes made by + Augeas provider + +Utilising Augeas's SAVE_NEWFILE mode (similar to augtool -n) to +determine the changes that will be made be made by Augeas. +Output a unified diff to info + +handle non-default root, and multiple files correctly + +Adding tests for Augeas diff functionality +Add test for non-default :root when diff'ing +Ensure that multiple files are diffed if changed, not just one + +Signed-off-by: Josh Cooper +Reviewed-by: Jacob Helwig + +Conflicts: + + spec/unit/provider/augeas/augeas_spec.rb + +Merged-to-2.6.x-by: Todd Zullinger +--- + lib/puppet/provider/augeas/augeas.rb | 59 ++++++++++---- + spec/unit/provider/augeas/augeas_spec.rb | 131 +++++++++++++++++++++++++++++- + 2 files changed, 172 insertions(+), 18 deletions(-) + +diff --git a/lib/puppet/provider/augeas/augeas.rb b/lib/puppet/provider/augeas/augeas.rb +index 7dbd062..1ddb886 100644 +--- a/lib/puppet/provider/augeas/augeas.rb ++++ b/lib/puppet/provider/augeas/augeas.rb +@@ -19,9 +19,12 @@ + + require 'augeas' if Puppet.features.augeas? + require 'strscan' ++require 'puppet/util' ++require 'puppet/util/diff' + + Puppet::Type.type(:augeas).provide(:augeas) do + include Puppet::Util ++ include Puppet::Util::Diff + + confine :true => Puppet.features.augeas? + +@@ -29,6 +32,8 @@ Puppet::Type.type(:augeas).provide(:augeas) do + + SAVE_NOOP = "noop" + SAVE_OVERWRITE = "overwrite" ++ SAVE_NEWFILE = "newfile" ++ SAVE_BACKUP = "backup" + + COMMANDS = { + "set" => [ :path, :string ], +@@ -248,11 +253,6 @@ Puppet::Type.type(:augeas).provide(:augeas) do + @aug.set("/augeas/save", mode) + end + +- def files_changed? +- saved_files = @aug.match("/augeas/events/saved") +- saved_files.size > 0 +- end +- + # Determines if augeas acutally needs to run. + def need_to_run? + force = resource[:force] +@@ -281,20 +281,33 @@ Puppet::Type.type(:augeas).provide(:augeas) do + # actually do the save. + if return_value and get_augeas_version >= "0.3.6" + debug("Will attempt to save and only run if files changed") +- set_augeas_save_mode(SAVE_NOOP) ++ set_augeas_save_mode(SAVE_NEWFILE) + do_execute_changes + save_result = @aug.save + saved_files = @aug.match("/augeas/events/saved") +- if save_result and not files_changed? +- debug("Skipping because no files were changed") +- return_value = false +- else ++ if save_result and saved_files.size > 0 ++ root = resource[:root].sub(/^\/$/, "") ++ saved_files.each do |key| ++ saved_file = @aug.get(key).to_s.sub(/^\/files/, root) ++ if Puppet[:show_diff] ++ print diff(saved_file, saved_file + ".augnew") ++ end ++ if resource.noop? ++ File.delete(saved_file + ".augnew") ++ end ++ end + debug("Files changed, should execute") ++ return_value = true ++ else ++ debug("Skipping because no files were changed or save failed") ++ return_value = false + end + end + end + ensure +- close_augeas ++ if not return_value or resource.noop? ++ close_augeas ++ end + end + return_value + end +@@ -303,12 +316,24 @@ Puppet::Type.type(:augeas).provide(:augeas) do + # Re-connect to augeas, and re-execute the changes + begin + open_augeas +- set_augeas_save_mode(SAVE_OVERWRITE) if get_augeas_version >= "0.3.6" +- +- do_execute_changes +- +- success = @aug.save +- fail("Save failed with return code #{success}") if success != true ++ saved_files = @aug.match("/augeas/events/saved") ++ if saved_files ++ saved_files.each do |key| ++ root = resource[:root].sub(/^\/$/, "") ++ saved_file = @aug.get(key).to_s.sub(/^\/files/, root) ++ if File.exists?(saved_file + ".augnew") ++ success = File.rename(saved_file + ".augnew", saved_file) ++ debug(saved_file + ".augnew moved to " + saved_file) ++ fail("Rename failed with return code #{success}") if success != 0 ++ end ++ end ++ else ++ debug("No saved files, re-executing augeas") ++ set_augeas_save_mode(SAVE_OVERWRITE) if get_augeas_version >= "0.3.6" ++ do_execute_changes ++ success = @aug.save ++ fail("Save failed with return code #{success}") if success != true ++ end + ensure + close_augeas + end +diff --git a/spec/unit/provider/augeas/augeas_spec.rb b/spec/unit/provider/augeas/augeas_spec.rb +index 07b6320..764362f 100644 +--- a/spec/unit/provider/augeas/augeas_spec.rb ++++ b/spec/unit/provider/augeas/augeas_spec.rb +@@ -5,7 +5,6 @@ require File.dirname(__FILE__) + '/../../../spec_helper' + provider_class = Puppet::Type.type(:augeas).provider(:augeas) + + describe provider_class do +- + describe "command parsing" do + before do + @resource = stub("resource") +@@ -253,6 +252,7 @@ describe provider_class do + it "should handle no filters" do + resource = stub("resource") + resource.stubs(:[]).returns(false).then.returns("").then.returns("") ++ resource.stubs(:noop?).returns(false) + augeas_stub = stub("augeas", :match => ["set", "of", "values"]) + augeas_stub.stubs("close") + provider = provider_class.new(resource) +@@ -264,6 +264,7 @@ describe provider_class do + it "should return true when a get filter matches" do + resource = stub("resource") + resource.stubs(:[]).returns(false).then.returns("get path == value").then.returns("") ++ resource.stubs(:noop?).returns(false) + provider = provider_class.new(resource) + augeas_stub = stub("augeas", :get => "value") + augeas_stub.stubs("close") +@@ -286,6 +287,7 @@ describe provider_class do + it "should return true when a match filter matches" do + resource = stub("resource") + resource.stubs(:[]).returns(false).then.returns("match path size == 3").then.returns("") ++ resource.stubs(:noop?).returns(false) + provider = provider_class.new(resource) + augeas_stub = stub("augeas", :match => ["set", "of", "values"]) + augeas_stub.stubs("close") +@@ -316,6 +318,132 @@ describe provider_class do + provider.stubs(:get_augeas_version).returns("0.3.5") + provider.need_to_run?.should == false + end ++ ++ #Ticket 5211 testing ++ it "should return true when a size != the provided value" do ++ resource = stub("resource") ++ resource.stubs(:[]).returns(false).then.returns("match path size != 17").then.returns("") ++ resource.stubs(:noop?).returns(false) ++ provider = provider_class.new(resource) ++ augeas_stub = stub("augeas", :match => ["set", "of", "values"]) ++ augeas_stub.stubs("close") ++ provider.aug= augeas_stub ++ provider.stubs(:get_augeas_version).returns("0.3.5") ++ provider.need_to_run?.should == true ++ end ++ ++ #Ticket 5211 testing ++ it "should return false when a size doeas equal the provided value" do ++ resource = stub("resource") ++ resource.stubs(:[]).returns(false).then.returns("match path size != 3").then.returns("") ++ provider = provider_class.new(resource) ++ augeas_stub = stub("augeas", :match => ["set", "of", "values"]) ++ augeas_stub.stubs("close") ++ provider.aug= augeas_stub ++ provider.stubs(:get_augeas_version).returns("0.3.5") ++ provider.need_to_run?.should == false ++ end ++ ++ # Ticket 2728 (diff files) ++ describe "and Puppet[:show_diff] is set" do ++ before do ++ Puppet[:show_diff] = true ++ ++ @resource = Puppet::Type.type(:augeas).new(:name => "test") ++ @provider = provider_class.new(@resource) ++ @augeas_stub = stub("augeas") ++ @provider.aug = @augeas_stub ++ ++ @augeas_stub.stubs("get").with("/augeas/version").returns("0.7.2") ++ @augeas_stub.stubs(:set).returns(true) ++ @augeas_stub.stubs(:save).returns(true) ++ end ++ ++ it "should call diff when a file is shown to have been changed" do ++ file = "/etc/hosts" ++ ++ @resource[:context] = "/files" ++ @resource[:changes] = ["set #{file}/foo bar"] ++ ++ @augeas_stub.stubs(:match).with("/augeas/events/saved").returns(["/augeas/events/saved"]) ++ @augeas_stub.stubs(:get).with("/augeas/events/saved").returns(["/files#{file}"]) ++ @augeas_stub.expects(:set).with("/augeas/save", "newfile") ++ @augeas_stub.expects(:close).never() ++ ++ @provider.expects("diff").with("#{file}", "#{file}.augnew").returns("") ++ @provider.should be_need_to_run ++ end ++ ++ it "should call diff for each file thats changed" do ++ file1 = "/etc/hosts" ++ file2 = "/etc/resolv.conf" ++ ++ @resource[:context] = "/files" ++ @resource[:changes] = ["set #{file1}/foo bar", "set #{file2}/baz biz"] ++ ++ @augeas_stub.stubs(:match).with("/augeas/events/saved").returns(["/augeas/events/saved[1]", "/augeas/events/saved[2]"]) ++ @augeas_stub.stubs(:get).with("/augeas/events/saved[1]").returns(["/files#{file1}"]) ++ @augeas_stub.stubs(:get).with("/augeas/events/saved[2]").returns(["/files#{file2}"]) ++ @augeas_stub.expects(:set).with("/augeas/save", "newfile") ++ @augeas_stub.expects(:close).never() ++ ++ @provider.expects(:diff).with("#{file1}", "#{file1}.augnew").returns("") ++ @provider.expects(:diff).with("#{file2}", "#{file2}.augnew").returns("") ++ @provider.should be_need_to_run ++ end ++ ++ describe "and resource[:root] is set" do ++ it "should call diff when a file is shown to have been changed" do ++ root = "/tmp/foo" ++ file = "/etc/hosts" ++ ++ @resource[:context] = "/files" ++ @resource[:changes] = ["set #{file}/foo bar"] ++ @resource[:root] = root ++ ++ @augeas_stub.stubs(:match).with("/augeas/events/saved").returns(["/augeas/events/saved"]) ++ @augeas_stub.stubs(:get).with("/augeas/events/saved").returns(["/files#{file}"]) ++ @augeas_stub.expects(:set).with("/augeas/save", "newfile") ++ @augeas_stub.expects(:close).never() ++ ++ @provider.expects(:diff).with("#{root}#{file}", "#{root}#{file}.augnew").returns("") ++ @provider.should be_need_to_run ++ end ++ end ++ ++ it "should not call diff if no files change" do ++ file = "/etc/hosts" ++ ++ @resource[:context] = "/files" ++ @resource[:changes] = ["set #{file}/foo bar"] ++ ++ @augeas_stub.stubs(:match).with("/augeas/events/saved").returns([]) ++ @augeas_stub.expects(:set).with("/augeas/save", "newfile") ++ @augeas_stub.expects(:get).with("/augeas/events/saved").never() ++ @augeas_stub.expects(:close) ++ ++ @provider.expects(:diff).never() ++ @provider.should_not be_need_to_run ++ end ++ ++ it "should cleanup when in noop mode" do ++ file = "/etc/hosts" ++ ++ @resource[:noop] = true ++ @resource[:context] = "/files" ++ @resource[:changes] = ["set #{file}/foo bar"] ++ ++ @augeas_stub.stubs(:match).with("/augeas/events/saved").returns(["/augeas/events/saved"]) ++ @augeas_stub.stubs(:get).with("/augeas/events/saved").returns(["/files#{file}"]) ++ @augeas_stub.expects(:set).with("/augeas/save", "newfile") ++ @augeas_stub.expects(:close) ++ ++ File.expects(:delete).with(file + ".augnew") ++ ++ @provider.expects(:diff).with("#{file}", "#{file}.augnew").returns("") ++ @provider.should be_need_to_run ++ end ++ end + end + + describe "augeas execution integration" do +@@ -326,6 +454,7 @@ describe provider_class do + @augeas = stub("augeas") + @provider.aug= @augeas + @provider.stubs(:get_augeas_version).returns("0.3.5") ++ @augeas.stubs(:match).with("/augeas/events/saved") + end + + it "should handle set commands" do +-- +1.7.6 + + +From 7fca361f2c936f3b8db72b19a2e81b2dada0c0bf Mon Sep 17 00:00:00 2001 +From: Daniel Pittman +Date: Fri, 9 Sep 2011 14:06:19 -0700 +Subject: [PATCH/puppet 2/3] (#2744) Display file diffs through the Puppet log + system. + +When Puppet generated a diff between the file on disk, it previously just +printed it directly. This means that the user can view it, but it is lost in +the rest of the system - monitoring, logs, and reports have no visibility of +this. + +Better, then, to send it through our regular logging system, so that the +content is visible in all the places that it might be viewed by the user or +monitored by machines. + +Signed-off-by: Daniel Pittman +--- + lib/puppet/provider/augeas/augeas.rb | 2 +- + lib/puppet/type/file/content.rb | 2 +- + lib/puppet/util/diff.rb | 2 +- + spec/unit/type/file/content_spec.rb | 2 +- + 4 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/lib/puppet/provider/augeas/augeas.rb b/lib/puppet/provider/augeas/augeas.rb +index 1ddb886..82410c4 100644 +--- a/lib/puppet/provider/augeas/augeas.rb ++++ b/lib/puppet/provider/augeas/augeas.rb +@@ -290,7 +290,7 @@ Puppet::Type.type(:augeas).provide(:augeas) do + saved_files.each do |key| + saved_file = @aug.get(key).to_s.sub(/^\/files/, root) + if Puppet[:show_diff] +- print diff(saved_file, saved_file + ".augnew") ++ notice "\n" + diff(saved_file, saved_file + ".augnew") + end + if resource.noop? + File.delete(saved_file + ".augnew") +diff --git a/lib/puppet/type/file/content.rb b/lib/puppet/type/file/content.rb +index 8271832..dd402cc 100755 +--- a/lib/puppet/type/file/content.rb ++++ b/lib/puppet/type/file/content.rb +@@ -100,7 +100,7 @@ module Puppet + + if ! result and Puppet[:show_diff] + write_temporarily do |path| +- print diff(@resource[:path], path) ++ notice "\n" + diff(@resource[:path], path) + end + end + result +diff --git a/lib/puppet/util/diff.rb b/lib/puppet/util/diff.rb +index 73e1bc0..131241b 100644 +--- a/lib/puppet/util/diff.rb ++++ b/lib/puppet/util/diff.rb +@@ -67,7 +67,7 @@ module Puppet::Util::Diff + tempfile.open + tempfile.print string + tempfile.close +- print diff(path, tempfile.path) ++ notice "\n" + diff(path, tempfile.path) + tempfile.delete + end + end +diff --git a/spec/unit/type/file/content_spec.rb b/spec/unit/type/file/content_spec.rb +index bd2b2ad..9de4550 100755 +--- a/spec/unit/type/file/content_spec.rb ++++ b/spec/unit/type/file/content_spec.rb +@@ -179,7 +179,7 @@ describe content do + it "should display a diff if the current contents are different from the desired content" do + @content.should = "some content" + @content.expects(:diff).returns("my diff").once +- @content.expects(:print).with("my diff").once ++ @content.expects(:notice).with("\nmy diff").once + + @content.safe_insync?("other content") + end +-- +1.7.6 + + +From 61d5ae176079784b5a0bccf9b999fb4c3193369b Mon Sep 17 00:00:00 2001 +From: Josh Cooper +Date: Fri, 30 Dec 2011 10:28:16 -0800 +Subject: [PATCH/puppet 3/3] Merge branch 'tickets/2.7.x/11414' of + https://github.com/domcleal/puppet into 2.7.x + +* 'tickets/2.7.x/11414' of https://github.com/domcleal/puppet: + (#11414) Test Augeas versions correctly with versioncmp + (#11414) Save/execute changes on versions of Augeas < 0.3.6 +--- + lib/puppet/provider/augeas/augeas.rb | 10 ++++++---- + spec/unit/provider/augeas/augeas_spec.rb | 4 ++-- + 2 files changed, 8 insertions(+), 6 deletions(-) + +diff --git a/lib/puppet/provider/augeas/augeas.rb b/lib/puppet/provider/augeas/augeas.rb +index 82410c4..8785c78 100644 +--- a/lib/puppet/provider/augeas/augeas.rb ++++ b/lib/puppet/provider/augeas/augeas.rb +@@ -21,10 +21,12 @@ require 'augeas' if Puppet.features.augeas? + require 'strscan' + require 'puppet/util' + require 'puppet/util/diff' ++require 'puppet/util/package' + + Puppet::Type.type(:augeas).provide(:augeas) do + include Puppet::Util + include Puppet::Util::Diff ++ include Puppet::Util::Package + + confine :true => Puppet.features.augeas? + +@@ -148,7 +150,7 @@ Puppet::Type.type(:augeas).provide(:augeas) do + debug("Opening augeas with root #{root}, lens path #{load_path}, flags #{flags}") + @aug = Augeas::open(root, load_path,flags) + +- debug("Augeas version #{get_augeas_version} is installed") if get_augeas_version >= "0.3.6" ++ debug("Augeas version #{get_augeas_version} is installed") if versioncmp(get_augeas_version, "0.3.6") >= 0 + + if resource[:incl] + aug.set("/augeas/load/Xfm/lens", resource[:lens]) +@@ -279,7 +281,7 @@ Puppet::Type.type(:augeas).provide(:augeas) do + # If we have a verison of augeas which is at least 0.3.6 then we + # can make the changes now, see if changes were made, and + # actually do the save. +- if return_value and get_augeas_version >= "0.3.6" ++ if return_value and versioncmp(get_augeas_version, "0.3.6") >= 0 + debug("Will attempt to save and only run if files changed") + set_augeas_save_mode(SAVE_NEWFILE) + do_execute_changes +@@ -317,7 +319,7 @@ Puppet::Type.type(:augeas).provide(:augeas) do + begin + open_augeas + saved_files = @aug.match("/augeas/events/saved") +- if saved_files ++ unless saved_files.empty? + saved_files.each do |key| + root = resource[:root].sub(/^\/$/, "") + saved_file = @aug.get(key).to_s.sub(/^\/files/, root) +@@ -329,7 +331,7 @@ Puppet::Type.type(:augeas).provide(:augeas) do + end + else + debug("No saved files, re-executing augeas") +- set_augeas_save_mode(SAVE_OVERWRITE) if get_augeas_version >= "0.3.6" ++ set_augeas_save_mode(SAVE_OVERWRITE) if versioncmp(get_augeas_version, "0.3.6") >= 0 + do_execute_changes + success = @aug.save + fail("Save failed with return code #{success}") if success != true +diff --git a/spec/unit/provider/augeas/augeas_spec.rb b/spec/unit/provider/augeas/augeas_spec.rb +index 764362f..c9d5f06 100644 +--- a/spec/unit/provider/augeas/augeas_spec.rb ++++ b/spec/unit/provider/augeas/augeas_spec.rb +@@ -354,7 +354,7 @@ describe provider_class do + @augeas_stub = stub("augeas") + @provider.aug = @augeas_stub + +- @augeas_stub.stubs("get").with("/augeas/version").returns("0.7.2") ++ @augeas_stub.stubs("get").with("/augeas/version").returns("0.10.0") + @augeas_stub.stubs(:set).returns(true) + @augeas_stub.stubs(:save).returns(true) + end +@@ -454,7 +454,7 @@ describe provider_class do + @augeas = stub("augeas") + @provider.aug= @augeas + @provider.stubs(:get_augeas_version).returns("0.3.5") +- @augeas.stubs(:match).with("/augeas/events/saved") ++ @augeas.stubs(:match).with("/augeas/events/saved").returns([]) + end + + it "should handle set commands" do +-- +1.7.6 + diff --git a/puppet.spec b/puppet.spec index b540357..618d24c 100644 --- a/puppet.spec +++ b/puppet.spec @@ -14,6 +14,14 @@ Source0: http://downloads.puppetlabs.com/%{name}/%{name}-%{version}.tar.g Source1: http://downloads.puppetlabs.com/%{name}/%{name}-%{version}.tar.gz.asc # https://projects.puppetlabs.com/issues/9167 Patch0: 0001-9167-Do-not-sent-tagmail-reports-if-no-changes.patch +# Various augeas improvements from 2.7.x, mostly needed to fix bz#771097 +# (upstream #11414) +# http://projects.puppetlabs.com/issues/2728 +# http://projects.puppetlabs.com/issues/2744 +# http://projects.puppetlabs.com/issues/8808 +# http://projects.puppetlabs.com/issues/11414 +# https://bugzilla.redhat.com/771097 +Patch1: puppet-2.6.13-misc-augeas-improvements.patch Group: System Environment/Base @@ -69,6 +77,7 @@ The server can also function as a certificate authority and file server. %prep %setup -q %patch0 -p1 +%patch1 -p1 patch -s -p1 < conf/redhat/rundir-perms.patch %build @@ -257,6 +266,7 @@ rm -rf %{buildroot} %changelog * Wed Dec 14 2011 Todd Zullinger - 2.6.13-1 - Update to 2.6.13 +- Cherry-pick various augeas fixes from upstream (bz#771097) * Sun Oct 23 2011 Todd Zullinger - 2.6.12-1 - Update to 2.6.12, fixes CVE-2011-3872 From 04a1f392df961c396937fa6f935262354e54acc9 Mon Sep 17 00:00:00 2001 From: Todd Zullinger Date: Thu, 5 Jan 2012 00:49:19 -0500 Subject: [PATCH 065/272] Revert to minimal patch for augeas >= 0.10 (bz#771097) After discussion in bugzilla, it's clear that a more minimal backport of changes to resolve issues with augeas >= 0.10 is the better approach. (That and I missed the patch which Dominic had helpfully attached to the bug when he initially filed it.) --- puppet-2.6.13-augeas-0.10.patch | 60 +++ puppet-2.6.13-misc-augeas-improvements.patch | 490 ------------------- puppet.spec | 12 +- 3 files changed, 65 insertions(+), 497 deletions(-) create mode 100644 puppet-2.6.13-augeas-0.10.patch delete mode 100644 puppet-2.6.13-misc-augeas-improvements.patch diff --git a/puppet-2.6.13-augeas-0.10.patch b/puppet-2.6.13-augeas-0.10.patch new file mode 100644 index 0000000..2d2ee7c --- /dev/null +++ b/puppet-2.6.13-augeas-0.10.patch @@ -0,0 +1,60 @@ +From e3fc5c4960de988b81e470d9e1f6a66c1bfd15e2 Mon Sep 17 00:00:00 2001 +From: Dominic Cleal +Date: Mon, 19 Dec 2011 22:56:43 +0000 +Subject: [PATCH] (#11414) Test Augeas versions correctly with versioncmp + +The release of Augeas 0.10.0 broke simplistic version comparisons with the >= +operator, so now use versioncmp. + +(Cherry pick of 735acad5 but without the accompanying test, which doesn't exist +in 2.6.x). +--- + lib/puppet/provider/augeas/augeas.rb | 8 +++++--- + 1 files changed, 5 insertions(+), 3 deletions(-) + +diff --git a/lib/puppet/provider/augeas/augeas.rb b/lib/puppet/provider/augeas/augeas.rb +index 7dbd062..70406f6 100644 +--- a/lib/puppet/provider/augeas/augeas.rb ++++ b/lib/puppet/provider/augeas/augeas.rb +@@ -19,9 +19,11 @@ + + require 'augeas' if Puppet.features.augeas? + require 'strscan' ++require 'puppet/util/package' + + Puppet::Type.type(:augeas).provide(:augeas) do + include Puppet::Util ++ include Puppet::Util::Package + + confine :true => Puppet.features.augeas? + +@@ -143,7 +145,7 @@ def open_augeas + debug("Opening augeas with root #{root}, lens path #{load_path}, flags #{flags}") + @aug = Augeas::open(root, load_path,flags) + +- debug("Augeas version #{get_augeas_version} is installed") if get_augeas_version >= "0.3.6" ++ debug("Augeas version #{get_augeas_version} is installed") if versioncmp(get_augeas_version, "0.3.6") >= 0 + + if resource[:incl] + aug.set("/augeas/load/Xfm/lens", resource[:lens]) +@@ -279,7 +281,7 @@ def need_to_run? + # If we have a verison of augeas which is at least 0.3.6 then we + # can make the changes now, see if changes were made, and + # actually do the save. +- if return_value and get_augeas_version >= "0.3.6" ++ if return_value and versioncmp(get_augeas_version, "0.3.6") >= 0 + debug("Will attempt to save and only run if files changed") + set_augeas_save_mode(SAVE_NOOP) + do_execute_changes +@@ -303,7 +305,7 @@ def execute_changes + # Re-connect to augeas, and re-execute the changes + begin + open_augeas +- set_augeas_save_mode(SAVE_OVERWRITE) if get_augeas_version >= "0.3.6" ++ set_augeas_save_mode(SAVE_OVERWRITE) if versioncmp(get_augeas_version, "0.3.6") >= 0 + + do_execute_changes + +-- +1.7.5.4 + diff --git a/puppet-2.6.13-misc-augeas-improvements.patch b/puppet-2.6.13-misc-augeas-improvements.patch deleted file mode 100644 index 9eadb26..0000000 --- a/puppet-2.6.13-misc-augeas-improvements.patch +++ /dev/null @@ -1,490 +0,0 @@ -From 0614d2293dff0fabd0e9674d3113b050373491a6 Mon Sep 17 00:00:00 2001 -From: Michael Knox -Date: Fri, 18 Mar 2011 22:37:00 +1100 -Subject: [PATCH/puppet 1/3] (#2728) Add diff output for changes made by - Augeas provider - -Utilising Augeas's SAVE_NEWFILE mode (similar to augtool -n) to -determine the changes that will be made be made by Augeas. -Output a unified diff to info - -handle non-default root, and multiple files correctly - -Adding tests for Augeas diff functionality -Add test for non-default :root when diff'ing -Ensure that multiple files are diffed if changed, not just one - -Signed-off-by: Josh Cooper -Reviewed-by: Jacob Helwig - -Conflicts: - - spec/unit/provider/augeas/augeas_spec.rb - -Merged-to-2.6.x-by: Todd Zullinger ---- - lib/puppet/provider/augeas/augeas.rb | 59 ++++++++++---- - spec/unit/provider/augeas/augeas_spec.rb | 131 +++++++++++++++++++++++++++++- - 2 files changed, 172 insertions(+), 18 deletions(-) - -diff --git a/lib/puppet/provider/augeas/augeas.rb b/lib/puppet/provider/augeas/augeas.rb -index 7dbd062..1ddb886 100644 ---- a/lib/puppet/provider/augeas/augeas.rb -+++ b/lib/puppet/provider/augeas/augeas.rb -@@ -19,9 +19,12 @@ - - require 'augeas' if Puppet.features.augeas? - require 'strscan' -+require 'puppet/util' -+require 'puppet/util/diff' - - Puppet::Type.type(:augeas).provide(:augeas) do - include Puppet::Util -+ include Puppet::Util::Diff - - confine :true => Puppet.features.augeas? - -@@ -29,6 +32,8 @@ Puppet::Type.type(:augeas).provide(:augeas) do - - SAVE_NOOP = "noop" - SAVE_OVERWRITE = "overwrite" -+ SAVE_NEWFILE = "newfile" -+ SAVE_BACKUP = "backup" - - COMMANDS = { - "set" => [ :path, :string ], -@@ -248,11 +253,6 @@ Puppet::Type.type(:augeas).provide(:augeas) do - @aug.set("/augeas/save", mode) - end - -- def files_changed? -- saved_files = @aug.match("/augeas/events/saved") -- saved_files.size > 0 -- end -- - # Determines if augeas acutally needs to run. - def need_to_run? - force = resource[:force] -@@ -281,20 +281,33 @@ Puppet::Type.type(:augeas).provide(:augeas) do - # actually do the save. - if return_value and get_augeas_version >= "0.3.6" - debug("Will attempt to save and only run if files changed") -- set_augeas_save_mode(SAVE_NOOP) -+ set_augeas_save_mode(SAVE_NEWFILE) - do_execute_changes - save_result = @aug.save - saved_files = @aug.match("/augeas/events/saved") -- if save_result and not files_changed? -- debug("Skipping because no files were changed") -- return_value = false -- else -+ if save_result and saved_files.size > 0 -+ root = resource[:root].sub(/^\/$/, "") -+ saved_files.each do |key| -+ saved_file = @aug.get(key).to_s.sub(/^\/files/, root) -+ if Puppet[:show_diff] -+ print diff(saved_file, saved_file + ".augnew") -+ end -+ if resource.noop? -+ File.delete(saved_file + ".augnew") -+ end -+ end - debug("Files changed, should execute") -+ return_value = true -+ else -+ debug("Skipping because no files were changed or save failed") -+ return_value = false - end - end - end - ensure -- close_augeas -+ if not return_value or resource.noop? -+ close_augeas -+ end - end - return_value - end -@@ -303,12 +316,24 @@ Puppet::Type.type(:augeas).provide(:augeas) do - # Re-connect to augeas, and re-execute the changes - begin - open_augeas -- set_augeas_save_mode(SAVE_OVERWRITE) if get_augeas_version >= "0.3.6" -- -- do_execute_changes -- -- success = @aug.save -- fail("Save failed with return code #{success}") if success != true -+ saved_files = @aug.match("/augeas/events/saved") -+ if saved_files -+ saved_files.each do |key| -+ root = resource[:root].sub(/^\/$/, "") -+ saved_file = @aug.get(key).to_s.sub(/^\/files/, root) -+ if File.exists?(saved_file + ".augnew") -+ success = File.rename(saved_file + ".augnew", saved_file) -+ debug(saved_file + ".augnew moved to " + saved_file) -+ fail("Rename failed with return code #{success}") if success != 0 -+ end -+ end -+ else -+ debug("No saved files, re-executing augeas") -+ set_augeas_save_mode(SAVE_OVERWRITE) if get_augeas_version >= "0.3.6" -+ do_execute_changes -+ success = @aug.save -+ fail("Save failed with return code #{success}") if success != true -+ end - ensure - close_augeas - end -diff --git a/spec/unit/provider/augeas/augeas_spec.rb b/spec/unit/provider/augeas/augeas_spec.rb -index 07b6320..764362f 100644 ---- a/spec/unit/provider/augeas/augeas_spec.rb -+++ b/spec/unit/provider/augeas/augeas_spec.rb -@@ -5,7 +5,6 @@ require File.dirname(__FILE__) + '/../../../spec_helper' - provider_class = Puppet::Type.type(:augeas).provider(:augeas) - - describe provider_class do -- - describe "command parsing" do - before do - @resource = stub("resource") -@@ -253,6 +252,7 @@ describe provider_class do - it "should handle no filters" do - resource = stub("resource") - resource.stubs(:[]).returns(false).then.returns("").then.returns("") -+ resource.stubs(:noop?).returns(false) - augeas_stub = stub("augeas", :match => ["set", "of", "values"]) - augeas_stub.stubs("close") - provider = provider_class.new(resource) -@@ -264,6 +264,7 @@ describe provider_class do - it "should return true when a get filter matches" do - resource = stub("resource") - resource.stubs(:[]).returns(false).then.returns("get path == value").then.returns("") -+ resource.stubs(:noop?).returns(false) - provider = provider_class.new(resource) - augeas_stub = stub("augeas", :get => "value") - augeas_stub.stubs("close") -@@ -286,6 +287,7 @@ describe provider_class do - it "should return true when a match filter matches" do - resource = stub("resource") - resource.stubs(:[]).returns(false).then.returns("match path size == 3").then.returns("") -+ resource.stubs(:noop?).returns(false) - provider = provider_class.new(resource) - augeas_stub = stub("augeas", :match => ["set", "of", "values"]) - augeas_stub.stubs("close") -@@ -316,6 +318,132 @@ describe provider_class do - provider.stubs(:get_augeas_version).returns("0.3.5") - provider.need_to_run?.should == false - end -+ -+ #Ticket 5211 testing -+ it "should return true when a size != the provided value" do -+ resource = stub("resource") -+ resource.stubs(:[]).returns(false).then.returns("match path size != 17").then.returns("") -+ resource.stubs(:noop?).returns(false) -+ provider = provider_class.new(resource) -+ augeas_stub = stub("augeas", :match => ["set", "of", "values"]) -+ augeas_stub.stubs("close") -+ provider.aug= augeas_stub -+ provider.stubs(:get_augeas_version).returns("0.3.5") -+ provider.need_to_run?.should == true -+ end -+ -+ #Ticket 5211 testing -+ it "should return false when a size doeas equal the provided value" do -+ resource = stub("resource") -+ resource.stubs(:[]).returns(false).then.returns("match path size != 3").then.returns("") -+ provider = provider_class.new(resource) -+ augeas_stub = stub("augeas", :match => ["set", "of", "values"]) -+ augeas_stub.stubs("close") -+ provider.aug= augeas_stub -+ provider.stubs(:get_augeas_version).returns("0.3.5") -+ provider.need_to_run?.should == false -+ end -+ -+ # Ticket 2728 (diff files) -+ describe "and Puppet[:show_diff] is set" do -+ before do -+ Puppet[:show_diff] = true -+ -+ @resource = Puppet::Type.type(:augeas).new(:name => "test") -+ @provider = provider_class.new(@resource) -+ @augeas_stub = stub("augeas") -+ @provider.aug = @augeas_stub -+ -+ @augeas_stub.stubs("get").with("/augeas/version").returns("0.7.2") -+ @augeas_stub.stubs(:set).returns(true) -+ @augeas_stub.stubs(:save).returns(true) -+ end -+ -+ it "should call diff when a file is shown to have been changed" do -+ file = "/etc/hosts" -+ -+ @resource[:context] = "/files" -+ @resource[:changes] = ["set #{file}/foo bar"] -+ -+ @augeas_stub.stubs(:match).with("/augeas/events/saved").returns(["/augeas/events/saved"]) -+ @augeas_stub.stubs(:get).with("/augeas/events/saved").returns(["/files#{file}"]) -+ @augeas_stub.expects(:set).with("/augeas/save", "newfile") -+ @augeas_stub.expects(:close).never() -+ -+ @provider.expects("diff").with("#{file}", "#{file}.augnew").returns("") -+ @provider.should be_need_to_run -+ end -+ -+ it "should call diff for each file thats changed" do -+ file1 = "/etc/hosts" -+ file2 = "/etc/resolv.conf" -+ -+ @resource[:context] = "/files" -+ @resource[:changes] = ["set #{file1}/foo bar", "set #{file2}/baz biz"] -+ -+ @augeas_stub.stubs(:match).with("/augeas/events/saved").returns(["/augeas/events/saved[1]", "/augeas/events/saved[2]"]) -+ @augeas_stub.stubs(:get).with("/augeas/events/saved[1]").returns(["/files#{file1}"]) -+ @augeas_stub.stubs(:get).with("/augeas/events/saved[2]").returns(["/files#{file2}"]) -+ @augeas_stub.expects(:set).with("/augeas/save", "newfile") -+ @augeas_stub.expects(:close).never() -+ -+ @provider.expects(:diff).with("#{file1}", "#{file1}.augnew").returns("") -+ @provider.expects(:diff).with("#{file2}", "#{file2}.augnew").returns("") -+ @provider.should be_need_to_run -+ end -+ -+ describe "and resource[:root] is set" do -+ it "should call diff when a file is shown to have been changed" do -+ root = "/tmp/foo" -+ file = "/etc/hosts" -+ -+ @resource[:context] = "/files" -+ @resource[:changes] = ["set #{file}/foo bar"] -+ @resource[:root] = root -+ -+ @augeas_stub.stubs(:match).with("/augeas/events/saved").returns(["/augeas/events/saved"]) -+ @augeas_stub.stubs(:get).with("/augeas/events/saved").returns(["/files#{file}"]) -+ @augeas_stub.expects(:set).with("/augeas/save", "newfile") -+ @augeas_stub.expects(:close).never() -+ -+ @provider.expects(:diff).with("#{root}#{file}", "#{root}#{file}.augnew").returns("") -+ @provider.should be_need_to_run -+ end -+ end -+ -+ it "should not call diff if no files change" do -+ file = "/etc/hosts" -+ -+ @resource[:context] = "/files" -+ @resource[:changes] = ["set #{file}/foo bar"] -+ -+ @augeas_stub.stubs(:match).with("/augeas/events/saved").returns([]) -+ @augeas_stub.expects(:set).with("/augeas/save", "newfile") -+ @augeas_stub.expects(:get).with("/augeas/events/saved").never() -+ @augeas_stub.expects(:close) -+ -+ @provider.expects(:diff).never() -+ @provider.should_not be_need_to_run -+ end -+ -+ it "should cleanup when in noop mode" do -+ file = "/etc/hosts" -+ -+ @resource[:noop] = true -+ @resource[:context] = "/files" -+ @resource[:changes] = ["set #{file}/foo bar"] -+ -+ @augeas_stub.stubs(:match).with("/augeas/events/saved").returns(["/augeas/events/saved"]) -+ @augeas_stub.stubs(:get).with("/augeas/events/saved").returns(["/files#{file}"]) -+ @augeas_stub.expects(:set).with("/augeas/save", "newfile") -+ @augeas_stub.expects(:close) -+ -+ File.expects(:delete).with(file + ".augnew") -+ -+ @provider.expects(:diff).with("#{file}", "#{file}.augnew").returns("") -+ @provider.should be_need_to_run -+ end -+ end - end - - describe "augeas execution integration" do -@@ -326,6 +454,7 @@ describe provider_class do - @augeas = stub("augeas") - @provider.aug= @augeas - @provider.stubs(:get_augeas_version).returns("0.3.5") -+ @augeas.stubs(:match).with("/augeas/events/saved") - end - - it "should handle set commands" do --- -1.7.6 - - -From 7fca361f2c936f3b8db72b19a2e81b2dada0c0bf Mon Sep 17 00:00:00 2001 -From: Daniel Pittman -Date: Fri, 9 Sep 2011 14:06:19 -0700 -Subject: [PATCH/puppet 2/3] (#2744) Display file diffs through the Puppet log - system. - -When Puppet generated a diff between the file on disk, it previously just -printed it directly. This means that the user can view it, but it is lost in -the rest of the system - monitoring, logs, and reports have no visibility of -this. - -Better, then, to send it through our regular logging system, so that the -content is visible in all the places that it might be viewed by the user or -monitored by machines. - -Signed-off-by: Daniel Pittman ---- - lib/puppet/provider/augeas/augeas.rb | 2 +- - lib/puppet/type/file/content.rb | 2 +- - lib/puppet/util/diff.rb | 2 +- - spec/unit/type/file/content_spec.rb | 2 +- - 4 files changed, 4 insertions(+), 4 deletions(-) - -diff --git a/lib/puppet/provider/augeas/augeas.rb b/lib/puppet/provider/augeas/augeas.rb -index 1ddb886..82410c4 100644 ---- a/lib/puppet/provider/augeas/augeas.rb -+++ b/lib/puppet/provider/augeas/augeas.rb -@@ -290,7 +290,7 @@ Puppet::Type.type(:augeas).provide(:augeas) do - saved_files.each do |key| - saved_file = @aug.get(key).to_s.sub(/^\/files/, root) - if Puppet[:show_diff] -- print diff(saved_file, saved_file + ".augnew") -+ notice "\n" + diff(saved_file, saved_file + ".augnew") - end - if resource.noop? - File.delete(saved_file + ".augnew") -diff --git a/lib/puppet/type/file/content.rb b/lib/puppet/type/file/content.rb -index 8271832..dd402cc 100755 ---- a/lib/puppet/type/file/content.rb -+++ b/lib/puppet/type/file/content.rb -@@ -100,7 +100,7 @@ module Puppet - - if ! result and Puppet[:show_diff] - write_temporarily do |path| -- print diff(@resource[:path], path) -+ notice "\n" + diff(@resource[:path], path) - end - end - result -diff --git a/lib/puppet/util/diff.rb b/lib/puppet/util/diff.rb -index 73e1bc0..131241b 100644 ---- a/lib/puppet/util/diff.rb -+++ b/lib/puppet/util/diff.rb -@@ -67,7 +67,7 @@ module Puppet::Util::Diff - tempfile.open - tempfile.print string - tempfile.close -- print diff(path, tempfile.path) -+ notice "\n" + diff(path, tempfile.path) - tempfile.delete - end - end -diff --git a/spec/unit/type/file/content_spec.rb b/spec/unit/type/file/content_spec.rb -index bd2b2ad..9de4550 100755 ---- a/spec/unit/type/file/content_spec.rb -+++ b/spec/unit/type/file/content_spec.rb -@@ -179,7 +179,7 @@ describe content do - it "should display a diff if the current contents are different from the desired content" do - @content.should = "some content" - @content.expects(:diff).returns("my diff").once -- @content.expects(:print).with("my diff").once -+ @content.expects(:notice).with("\nmy diff").once - - @content.safe_insync?("other content") - end --- -1.7.6 - - -From 61d5ae176079784b5a0bccf9b999fb4c3193369b Mon Sep 17 00:00:00 2001 -From: Josh Cooper -Date: Fri, 30 Dec 2011 10:28:16 -0800 -Subject: [PATCH/puppet 3/3] Merge branch 'tickets/2.7.x/11414' of - https://github.com/domcleal/puppet into 2.7.x - -* 'tickets/2.7.x/11414' of https://github.com/domcleal/puppet: - (#11414) Test Augeas versions correctly with versioncmp - (#11414) Save/execute changes on versions of Augeas < 0.3.6 ---- - lib/puppet/provider/augeas/augeas.rb | 10 ++++++---- - spec/unit/provider/augeas/augeas_spec.rb | 4 ++-- - 2 files changed, 8 insertions(+), 6 deletions(-) - -diff --git a/lib/puppet/provider/augeas/augeas.rb b/lib/puppet/provider/augeas/augeas.rb -index 82410c4..8785c78 100644 ---- a/lib/puppet/provider/augeas/augeas.rb -+++ b/lib/puppet/provider/augeas/augeas.rb -@@ -21,10 +21,12 @@ require 'augeas' if Puppet.features.augeas? - require 'strscan' - require 'puppet/util' - require 'puppet/util/diff' -+require 'puppet/util/package' - - Puppet::Type.type(:augeas).provide(:augeas) do - include Puppet::Util - include Puppet::Util::Diff -+ include Puppet::Util::Package - - confine :true => Puppet.features.augeas? - -@@ -148,7 +150,7 @@ Puppet::Type.type(:augeas).provide(:augeas) do - debug("Opening augeas with root #{root}, lens path #{load_path}, flags #{flags}") - @aug = Augeas::open(root, load_path,flags) - -- debug("Augeas version #{get_augeas_version} is installed") if get_augeas_version >= "0.3.6" -+ debug("Augeas version #{get_augeas_version} is installed") if versioncmp(get_augeas_version, "0.3.6") >= 0 - - if resource[:incl] - aug.set("/augeas/load/Xfm/lens", resource[:lens]) -@@ -279,7 +281,7 @@ Puppet::Type.type(:augeas).provide(:augeas) do - # If we have a verison of augeas which is at least 0.3.6 then we - # can make the changes now, see if changes were made, and - # actually do the save. -- if return_value and get_augeas_version >= "0.3.6" -+ if return_value and versioncmp(get_augeas_version, "0.3.6") >= 0 - debug("Will attempt to save and only run if files changed") - set_augeas_save_mode(SAVE_NEWFILE) - do_execute_changes -@@ -317,7 +319,7 @@ Puppet::Type.type(:augeas).provide(:augeas) do - begin - open_augeas - saved_files = @aug.match("/augeas/events/saved") -- if saved_files -+ unless saved_files.empty? - saved_files.each do |key| - root = resource[:root].sub(/^\/$/, "") - saved_file = @aug.get(key).to_s.sub(/^\/files/, root) -@@ -329,7 +331,7 @@ Puppet::Type.type(:augeas).provide(:augeas) do - end - else - debug("No saved files, re-executing augeas") -- set_augeas_save_mode(SAVE_OVERWRITE) if get_augeas_version >= "0.3.6" -+ set_augeas_save_mode(SAVE_OVERWRITE) if versioncmp(get_augeas_version, "0.3.6") >= 0 - do_execute_changes - success = @aug.save - fail("Save failed with return code #{success}") if success != true -diff --git a/spec/unit/provider/augeas/augeas_spec.rb b/spec/unit/provider/augeas/augeas_spec.rb -index 764362f..c9d5f06 100644 ---- a/spec/unit/provider/augeas/augeas_spec.rb -+++ b/spec/unit/provider/augeas/augeas_spec.rb -@@ -354,7 +354,7 @@ describe provider_class do - @augeas_stub = stub("augeas") - @provider.aug = @augeas_stub - -- @augeas_stub.stubs("get").with("/augeas/version").returns("0.7.2") -+ @augeas_stub.stubs("get").with("/augeas/version").returns("0.10.0") - @augeas_stub.stubs(:set).returns(true) - @augeas_stub.stubs(:save).returns(true) - end -@@ -454,7 +454,7 @@ describe provider_class do - @augeas = stub("augeas") - @provider.aug= @augeas - @provider.stubs(:get_augeas_version).returns("0.3.5") -- @augeas.stubs(:match).with("/augeas/events/saved") -+ @augeas.stubs(:match).with("/augeas/events/saved").returns([]) - end - - it "should handle set commands" do --- -1.7.6 - diff --git a/puppet.spec b/puppet.spec index 618d24c..46816eb 100644 --- a/puppet.spec +++ b/puppet.spec @@ -6,7 +6,7 @@ Name: puppet Version: 2.6.13 -Release: 1%{?dist} +Release: 2%{?dist} Summary: A network tool for managing many disparate systems License: GPLv2 URL: http://puppetlabs.com @@ -14,14 +14,9 @@ Source0: http://downloads.puppetlabs.com/%{name}/%{name}-%{version}.tar.g Source1: http://downloads.puppetlabs.com/%{name}/%{name}-%{version}.tar.gz.asc # https://projects.puppetlabs.com/issues/9167 Patch0: 0001-9167-Do-not-sent-tagmail-reports-if-no-changes.patch -# Various augeas improvements from 2.7.x, mostly needed to fix bz#771097 -# (upstream #11414) -# http://projects.puppetlabs.com/issues/2728 -# http://projects.puppetlabs.com/issues/2744 -# http://projects.puppetlabs.com/issues/8808 # http://projects.puppetlabs.com/issues/11414 # https://bugzilla.redhat.com/771097 -Patch1: puppet-2.6.13-misc-augeas-improvements.patch +Patch1: puppet-2.6.13-augeas-0.10.patch Group: System Environment/Base @@ -264,6 +259,9 @@ fi rm -rf %{buildroot} %changelog +* Thu Jan 05 2012 Todd Zullinger - 2.6.13-2 +- Revert to minimal patch for augeas >= 0.10 (bz#771097) + * Wed Dec 14 2011 Todd Zullinger - 2.6.13-1 - Update to 2.6.13 - Cherry-pick various augeas fixes from upstream (bz#771097) From 18da23901de945752bd14482441fc0efdcfef6ed Mon Sep 17 00:00:00 2001 From: Todd Zullinger Date: Mon, 13 Feb 2012 17:09:09 -0500 Subject: [PATCH 066/272] Move rpmlint fixes to %prep, add a few additional fixes --- puppet.spec | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/puppet.spec b/puppet.spec index 46816eb..2292bb4 100644 --- a/puppet.spec +++ b/puppet.spec @@ -6,7 +6,7 @@ Name: puppet Version: 2.6.13 -Release: 2%{?dist} +Release: 3%{?dist} Summary: A network tool for managing many disparate systems License: GPLv2 URL: http://puppetlabs.com @@ -75,17 +75,18 @@ The server can also function as a certificate authority and file server. %patch1 -p1 patch -s -p1 < conf/redhat/rundir-perms.patch -%build # Fix some rpmlint complaints +sed -i '/^#!\/usr\/bin\/env ruby/,/^$/d' lib/puppet/util/command_line/* for f in mac_dscl.pp mac_dscl_revert.pp \ mac_pkgdmg.pp ; do - sed -i -e'1d' examples/$f - chmod a-x examples/$f + sed -i -e'1d' examples/$f + chmod a-x examples/$f done for f in external/nagios.rb network/http_server/mongrel.rb relationship.rb; do - sed -i -e '1d' lib/puppet/$f + sed -i -e '1d' lib/puppet/$f done -chmod +x ext/puppetstoredconfigclean.rb +chmod +x ext/puppet-load.rb ext/puppetstoredconfigclean.rb \ + ext/regexp_nodes/regexp_nodes.rb find examples/ -type f -empty | xargs rm find examples/ -type f | xargs chmod a-x @@ -93,6 +94,9 @@ find examples/ -type f | xargs chmod a-x # puppet-queue.conf is more of an example, used for stompserver mv conf/puppet-queue.conf examples/etc/puppet/ +%build +# Nothing to build + %install rm -rf %{buildroot} ruby install.rb --destdir=%{buildroot} --quick --no-rdoc @@ -259,6 +263,9 @@ fi rm -rf %{buildroot} %changelog +* Mon Feb 13 2012 Todd Zullinger - 2.6.13-3 +- Move rpmlint fixes to %%prep, add a few additional fixes + * Thu Jan 05 2012 Todd Zullinger - 2.6.13-2 - Revert to minimal patch for augeas >= 0.10 (bz#771097) From 763a50f37ce417d72b2d4e0d064e3e5a62eb151c Mon Sep 17 00:00:00 2001 From: Todd Zullinger Date: Mon, 13 Feb 2012 17:16:04 -0500 Subject: [PATCH 067/272] Bump minimum ruby version to 1.8.5 now that EL-4 is all but dead Ruby 1.8.1 was only supported on a best-effort basis for agent use only, mostly for EL-4 support. With EL-4 going EOL in a few weeks, we can forget about 1.8.1 --- puppet.spec | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/puppet.spec b/puppet.spec index 2292bb4..80a067c 100644 --- a/puppet.spec +++ b/puppet.spec @@ -23,7 +23,7 @@ Group: System Environment/Base BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: facter >= 1.5 -BuildRequires: ruby >= 1.8.1 +BuildRequires: ruby >= 1.8.5 %if 0%{?fedora} || 0%{?rhel} >= 5 BuildArch: noarch @@ -41,7 +41,7 @@ Requires: ruby-shadow %endif Requires: facter >= 1.5 -Requires: ruby >= 1.8.1 +Requires: ruby >= 1.8.5 %{!?_without_augeas:Requires: ruby-augeas} Requires(pre): shadow-utils @@ -265,6 +265,7 @@ rm -rf %{buildroot} %changelog * Mon Feb 13 2012 Todd Zullinger - 2.6.13-3 - Move rpmlint fixes to %%prep, add a few additional fixes +- Bump minimum ruby version to 1.8.5 now that EL-4 is all but dead * Thu Jan 05 2012 Todd Zullinger - 2.6.13-2 - Revert to minimal patch for augeas >= 0.10 (bz#771097) From 56447683b8c7d39500a0f90c14b79c24a5cc566c Mon Sep 17 00:00:00 2001 From: Todd Zullinger Date: Mon, 13 Feb 2012 17:33:55 -0500 Subject: [PATCH 068/272] Update install locations for Fedora-17 / Ruby-1.9 --- puppet.spec | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/puppet.spec b/puppet.spec index 80a067c..a235f4c 100644 --- a/puppet.spec +++ b/puppet.spec @@ -1,8 +1,15 @@ # Augeas and SELinux requirements may be disabled at build time by passing # --without augeas and/or --without selinux to rpmbuild or mock -%{!?ruby_sitelibdir: %global ruby_sitelibdir %(ruby -rrbconfig -e 'puts Config::CONFIG["sitelibdir"]')} -%global confdir conf/redhat +# F-17 and above have ruby-1.9.x, and place libs in a different location +%if 0%{?fedora} >= 17 +%global puppet_libdir %(ruby -rrbconfig -e 'puts RbConfig::CONFIG["vendorlibdir"]') +%else +%global puppet_libdir %(ruby -rrbconfig -e 'puts RbConfig::CONFIG["sitelibdir"]') +%endif + +%global confdir conf/redhat +%global ruby_version %(ruby -rrbconfig -e 'puts RbConfig::CONFIG["ruby_version"]') Name: puppet Version: 2.6.13 @@ -27,7 +34,10 @@ BuildRequires: ruby >= 1.8.5 %if 0%{?fedora} || 0%{?rhel} >= 5 BuildArch: noarch -Requires: ruby(abi) = 1.8 +# Work around the lack of ruby in the default mock buildroot +%if "%{ruby_version}" +Requires: ruby(abi) = %{ruby_version} +%endif Requires: ruby-shadow %endif @@ -41,7 +51,9 @@ Requires: ruby-shadow %endif Requires: facter >= 1.5 +%if "%{ruby_version}" == "1.8" Requires: ruby >= 1.8.5 +%endif %{!?_without_augeas:Requires: ruby-augeas} Requires(pre): shadow-utils @@ -99,7 +111,7 @@ mv conf/puppet-queue.conf examples/etc/puppet/ %install rm -rf %{buildroot} -ruby install.rb --destdir=%{buildroot} --quick --no-rdoc +ruby install.rb --destdir=%{buildroot} --quick --no-rdoc --sitelibdir=%{puppet_libdir} install -d -m0755 %{buildroot}%{_sysconfdir}/puppet/manifests install -d -m0755 %{buildroot}%{_datadir}/%{name}/modules @@ -154,7 +166,7 @@ echo "D /var/run/%{name} 0755 %{name} %{name} -" > \ %{_bindir}/puppetdoc %{_sbindir}/puppetca %{_sbindir}/puppetd -%{ruby_sitelibdir}/* +%{puppet_libdir}/* %{_initrddir}/puppet %dir %{_sysconfdir}/puppet %if 0%{?fedora} >= 15 @@ -266,6 +278,7 @@ rm -rf %{buildroot} * Mon Feb 13 2012 Todd Zullinger - 2.6.13-3 - Move rpmlint fixes to %%prep, add a few additional fixes - Bump minimum ruby version to 1.8.5 now that EL-4 is all but dead +- Update install locations for Fedora-17 / Ruby-1.9 * Thu Jan 05 2012 Todd Zullinger - 2.6.13-2 - Revert to minimal patch for augeas >= 0.10 (bz#771097) From 05448476bc415b06d6457575a3cf5b2d7cdb1630 Mon Sep 17 00:00:00 2001 From: Todd Zullinger Date: Tue, 21 Feb 2012 08:35:06 -0500 Subject: [PATCH 069/272] Use ruby($lib) for augeas and shadow requirements This is more compatible with all Fedora and EPEL branches than using the ruby-$lib package name. --- puppet.spec | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/puppet.spec b/puppet.spec index a235f4c..1b57fda 100644 --- a/puppet.spec +++ b/puppet.spec @@ -38,7 +38,7 @@ BuildArch: noarch %if "%{ruby_version}" Requires: ruby(abi) = %{ruby_version} %endif -Requires: ruby-shadow +Requires: ruby(shadow) %endif # Pull in ruby selinux bindings where available @@ -54,7 +54,7 @@ Requires: facter >= 1.5 %if "%{ruby_version}" == "1.8" Requires: ruby >= 1.8.5 %endif -%{!?_without_augeas:Requires: ruby-augeas} +%{!?_without_augeas:Requires: ruby(augeas)} Requires(pre): shadow-utils Requires(post): chkconfig @@ -279,6 +279,7 @@ rm -rf %{buildroot} - Move rpmlint fixes to %%prep, add a few additional fixes - Bump minimum ruby version to 1.8.5 now that EL-4 is all but dead - Update install locations for Fedora-17 / Ruby-1.9 +- Use ruby($lib) for augeas and shadow requirements * Thu Jan 05 2012 Todd Zullinger - 2.6.13-2 - Revert to minimal patch for augeas >= 0.10 (bz#771097) From 73d9e796558b2fb975d2bddb984ec1c9523c1f5b Mon Sep 17 00:00:00 2001 From: Todd Zullinger Date: Tue, 21 Feb 2012 14:39:09 -0500 Subject: [PATCH 070/272] Only try to run 0.25.x -> 2.6.x pid file updates on EL No supported Fedora releases ever had 0.25.5, so they could never require the ugly upgrade code in %post. If/when we move EL to 2.7.x, these can be dropped entirely. --- puppet.spec | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/puppet.spec b/puppet.spec index 1b57fda..fbc7835 100644 --- a/puppet.spec +++ b/puppet.spec @@ -225,6 +225,7 @@ exit 0 %post /sbin/chkconfig --add puppet || : +%if 0%{?rhel} if [ "$1" -ge 1 ]; then # The pidfile changed from 0.25.x to 2.6.x, handle upgrades without leaving # the old process running. @@ -235,9 +236,11 @@ if [ "$1" -ge 1 ]; then /sbin/service puppet start) >/dev/null 2>&1 || : fi fi +%endif %post server /sbin/chkconfig --add puppetmaster || : +%if 0%{?rhel} if [ "$1" -ge 1 ]; then # The pidfile changed from 0.25.x to 2.6.x, handle upgrades without leaving # the old process running. @@ -248,6 +251,7 @@ if [ "$1" -ge 1 ]; then /sbin/service puppetmaster start) >/dev/null 2>&1 || : fi fi +%endif %preun if [ "$1" = 0 ] ; then @@ -280,6 +284,7 @@ rm -rf %{buildroot} - Bump minimum ruby version to 1.8.5 now that EL-4 is all but dead - Update install locations for Fedora-17 / Ruby-1.9 - Use ruby($lib) for augeas and shadow requirements +- Only try to run 0.25.x -> 2.6.x pid file updates on EL * Thu Jan 05 2012 Todd Zullinger - 2.6.13-2 - Revert to minimal patch for augeas >= 0.10 (bz#771097) From f1b945331805268d719ba8b4f1e43b0fd7cc68dd Mon Sep 17 00:00:00 2001 From: Todd Zullinger Date: Wed, 22 Feb 2012 20:51:05 -0500 Subject: [PATCH 071/272] Update to 2.6.14, fixes CVE-2012-1053 and CVE-2012-1054 --- puppet-2.6.13.tar.gz.asc | 18 ------------------ puppet-2.6.14.tar.gz.asc | 17 +++++++++++++++++ puppet.spec | 7 +++++-- sources | 2 +- 4 files changed, 23 insertions(+), 21 deletions(-) delete mode 100644 puppet-2.6.13.tar.gz.asc create mode 100644 puppet-2.6.14.tar.gz.asc diff --git a/puppet-2.6.13.tar.gz.asc b/puppet-2.6.13.tar.gz.asc deleted file mode 100644 index a08605c..0000000 --- a/puppet-2.6.13.tar.gz.asc +++ /dev/null @@ -1,18 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG/MacGPG2 v2.0.17 (Darwin) -Comment: GPGTools - http://gpgtools.org - -iQIcBAABAgAGBQJO5oXOAAoJEBBUt6JL1uwwpXcQAKOsWL+65lJh2lUExw7fuMsq -injUsJ+Xh5VufrKqFIiJBqJ9jj7OCeB02I8mEn+vJPmdHg9w6EgAzrmV9QBZIisQ -GpJWDo/o7AyPzFyEiNY2Z3zu2NALdo6sINya7BpIOqPrhHyEn4zVH5i8kSrD7c9U -RG6j2PMNjOWVZb1S69aFeIkFoSpX4ri6uve8zC2VBa2pLA3jbedUHJku9EI4R52d -OeEB71P4wi9OaoaebOCXDrgcmUH1BG6+YT6YhAJwGclpLVtd6bGkjnVKE7l5wuCW -6F94ZZWOo5OSx56LB+gVjOcV3GQ7SQkpOrIrS3AjEm+y8ZTzHXpHOyNmeNIqYj3l -CUWcU1ip9gK4fYU7JxNchzeQJFVPe794EIeiKW2mXRajStwnaI4SXYCVmXnTxJrL -29bzbBBiwl4xQu38MZdyrQ+a8d6EOVcTgG46dWe1COX6cKT67azx0zsdulpzPaTM -0ix9kchR0U7wVISubgyRmccZfrQ1zhoOS8EAexqDzWbAsL0046RTP5yQcIG5NGCh -MDJQFTaP/9CW075sXqe31vKjy91zOqf49Uy4PuMOuZ6mLyg3/CabLkpew7Q2L7PJ -dV3Bek2ia5tEBiYIHxuVeAVqboyBgeRvRvWooEn4Ie3MFmikXSvnddhhrk7wrTqK -6iokskdLK8l59X3bc9bz -=aeT+ ------END PGP SIGNATURE----- diff --git a/puppet-2.6.14.tar.gz.asc b/puppet-2.6.14.tar.gz.asc new file mode 100644 index 0000000..7529f04 --- /dev/null +++ b/puppet-2.6.14.tar.gz.asc @@ -0,0 +1,17 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1.4.11 (Darwin) + +iQIcBAABAgAGBQJPRWJBAAoJEBBUt6JL1uww7d4QALRon+57AbTHl8MSfLTELmlS +RFcmgtA0lx0gptWpVRLiLYYwlsC/UB2zcZDbfmoc9gbY7XhbjpDSSxmKemshRjnQ +afWl7b/mAkGFEDaCC0isRPmjvUFANbq9ruYuVXm7WuW/eRVW5ksZH5yZXapTgQRk +pDn+KrKEJo73HnYluQt2s9ykn4Mhex1RDhaLzhYNXfFwDqJa2jPrwVsu7rObLoFF +8FATHDU+CI3t1Tl9/NJ1OtU7R5ufC7EQIXcDZ22J7ncjiv+RMkckIosgnwxgHwCY +mIEeU9Y6ONZbRcRsVxTMCw/eyXdtM2H91K2bb84jEoEITLX5+F7MXayozJE3+Gy5 +57lA3WXCor4VcOHjLaq+oWOXGXV4aueD4gLW4ND3omT0yVH8RQVrGFkCXpAffQQu +lU9jPEt6pZMhI4REyBBYROEldZyQ+CESM5Y7R6LzUkR/tHjqRWWbTwGld2zwJOoD +w1pKbbRPt5ewP4dknJRxrdE69W5CQOudT+TQu1FJ1czNr05s6I9DK8SQeA3wdCnm +LMdRHQkMp+zJBZQ7Ub/u12l/Oc3TdmFxVrroY0Zx4XvkyRmEywBtHKWj3veFMpmw +7whEnDSXoVOXHNdHzS2xh+vsSI7gIV9gEuClJJwThLNqHZbu0Hx1vI9ebAp+5CGW +a0oLp+BJ8aBRoJvoMhiJ +=BQvK +-----END PGP SIGNATURE----- diff --git a/puppet.spec b/puppet.spec index fbc7835..f3fd96e 100644 --- a/puppet.spec +++ b/puppet.spec @@ -12,8 +12,8 @@ %global ruby_version %(ruby -rrbconfig -e 'puts RbConfig::CONFIG["ruby_version"]') Name: puppet -Version: 2.6.13 -Release: 3%{?dist} +Version: 2.6.14 +Release: 1%{?dist} Summary: A network tool for managing many disparate systems License: GPLv2 URL: http://puppetlabs.com @@ -279,6 +279,9 @@ fi rm -rf %{buildroot} %changelog +* Wed Feb 22 2012 Todd Zullinger - 2.6.14-1 +- Update to 2.6.14, fixes CVE-2012-1053 and CVE-2012-1054 + * Mon Feb 13 2012 Todd Zullinger - 2.6.13-3 - Move rpmlint fixes to %%prep, add a few additional fixes - Bump minimum ruby version to 1.8.5 now that EL-4 is all but dead diff --git a/sources b/sources index 16f8fec..bbc309b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -e7d684c4d0b0f130aa54de4bb6759824 puppet-2.6.13.tar.gz +0da78d7d6c059aaf859abbea64af2b8f puppet-2.6.14.tar.gz From df2d26be180dda12b1dfec28287bcacd3183c70d Mon Sep 17 00:00:00 2001 From: Todd Zullinger Date: Wed, 11 Apr 2012 12:21:49 -0400 Subject: [PATCH 072/272] Update to 2.6.16, fixes CVE-2012-1986, CVE-2012-1987, and CVE-2012-1988 --- puppet-2.6.14.tar.gz.asc | 17 ----------------- puppet-2.6.16.tar.gz.asc | 17 +++++++++++++++++ puppet.spec | 5 ++++- sources | 2 +- 4 files changed, 22 insertions(+), 19 deletions(-) delete mode 100644 puppet-2.6.14.tar.gz.asc create mode 100644 puppet-2.6.16.tar.gz.asc diff --git a/puppet-2.6.14.tar.gz.asc b/puppet-2.6.14.tar.gz.asc deleted file mode 100644 index 7529f04..0000000 --- a/puppet-2.6.14.tar.gz.asc +++ /dev/null @@ -1,17 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v1.4.11 (Darwin) - -iQIcBAABAgAGBQJPRWJBAAoJEBBUt6JL1uww7d4QALRon+57AbTHl8MSfLTELmlS -RFcmgtA0lx0gptWpVRLiLYYwlsC/UB2zcZDbfmoc9gbY7XhbjpDSSxmKemshRjnQ -afWl7b/mAkGFEDaCC0isRPmjvUFANbq9ruYuVXm7WuW/eRVW5ksZH5yZXapTgQRk -pDn+KrKEJo73HnYluQt2s9ykn4Mhex1RDhaLzhYNXfFwDqJa2jPrwVsu7rObLoFF -8FATHDU+CI3t1Tl9/NJ1OtU7R5ufC7EQIXcDZ22J7ncjiv+RMkckIosgnwxgHwCY -mIEeU9Y6ONZbRcRsVxTMCw/eyXdtM2H91K2bb84jEoEITLX5+F7MXayozJE3+Gy5 -57lA3WXCor4VcOHjLaq+oWOXGXV4aueD4gLW4ND3omT0yVH8RQVrGFkCXpAffQQu -lU9jPEt6pZMhI4REyBBYROEldZyQ+CESM5Y7R6LzUkR/tHjqRWWbTwGld2zwJOoD -w1pKbbRPt5ewP4dknJRxrdE69W5CQOudT+TQu1FJ1czNr05s6I9DK8SQeA3wdCnm -LMdRHQkMp+zJBZQ7Ub/u12l/Oc3TdmFxVrroY0Zx4XvkyRmEywBtHKWj3veFMpmw -7whEnDSXoVOXHNdHzS2xh+vsSI7gIV9gEuClJJwThLNqHZbu0Hx1vI9ebAp+5CGW -a0oLp+BJ8aBRoJvoMhiJ -=BQvK ------END PGP SIGNATURE----- diff --git a/puppet-2.6.16.tar.gz.asc b/puppet-2.6.16.tar.gz.asc new file mode 100644 index 0000000..dd820d7 --- /dev/null +++ b/puppet-2.6.16.tar.gz.asc @@ -0,0 +1,17 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1.4.11 (Darwin) + +iQIcBAABAgAGBQJPhdnRAAoJEBBUt6JL1uwwgXcP/3uzzgN1OA2NVGMlSkeeMMx1 +D3V+oZxYt3IBilFKPgJLD4a0bOOFsLYOTdBWx1iHftIUpEktCY5ROIH3rOpJ3SJ8 +TckV3QxyDpCKD0OUuAu67WtQA5cDSdpOwo7K/w0OzPI8IqSFWjzQ8PYdXb807S6G +pMLXCkGvwi73nBZlAFy2ZE9AQRapDzkWNpIlpu2X0rEz84s3eKkOVBYM8sjs4Y3D +pbiAyFJEE4jcEvov76JBj+2r8CLsH+j18PxisR0RfnFK5DF4Ajbmbg2zk+A7n2Zc +qTy5kpmuj2O2a/TDMFq84U1HgdqRVunf9L4zS4/inUUjQN6uIs7dH8oKC04uKwsE +Db8JGISryukCGkSTD99ojc8nFgpsn8PfJrgKzUR/mp02mcb3so/6VtC8jREHraSH +taBVhNJI5Zvep7mmQxLgUnoaEwUEzDBVeL8HbML31gFbd7WemnQN8j5IH8e/qqS+ +SPxsT1sUauM/WcB7hWG0bklwLgQcns/nrVQ2zjzZr4Ln52WLw0bPZq/FzGwhaDvN +0lrr9hqR27gSkAyeyuodRvMHLgnk/PW82+SH92crqe/y4iIUBeonXFpo3y0Uf5Gz +4qwnxYMGNv6+tQhyC7todeOqw8BJKN0yf+DyxS1BD6uPDcBjgPk2BOmFuoYv/NtB +wZtwDKXdEUx/0jjhCexq +=32xz +-----END PGP SIGNATURE----- diff --git a/puppet.spec b/puppet.spec index f3fd96e..d634645 100644 --- a/puppet.spec +++ b/puppet.spec @@ -12,7 +12,7 @@ %global ruby_version %(ruby -rrbconfig -e 'puts RbConfig::CONFIG["ruby_version"]') Name: puppet -Version: 2.6.14 +Version: 2.6.16 Release: 1%{?dist} Summary: A network tool for managing many disparate systems License: GPLv2 @@ -279,6 +279,9 @@ fi rm -rf %{buildroot} %changelog +* Wed Apr 11 2012 Todd Zullinger - 2.6.16-1 +- Update to 2.6.16, fixes CVE-2012-1986, CVE-2012-1987, and CVE-2012-1988 + * Wed Feb 22 2012 Todd Zullinger - 2.6.14-1 - Update to 2.6.14, fixes CVE-2012-1053 and CVE-2012-1054 diff --git a/sources b/sources index bbc309b..bdba51b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -0da78d7d6c059aaf859abbea64af2b8f puppet-2.6.14.tar.gz +b565a4ea60fe678e1ce1cb275c4aeeb2 puppet-2.6.16.tar.gz From 2b0f973a67ddbb56f2e531f8f26677e56fdea14a Mon Sep 17 00:00:00 2001 From: Todd Zullinger Date: Thu, 12 Apr 2012 13:55:31 -0400 Subject: [PATCH 073/272] Correct permissions of /var/log/puppet (0750) When puppet master runs, it will set these permissions, and then rpm verification fails. Set it correctly in %files to avoid this. --- puppet.spec | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/puppet.spec b/puppet.spec index d634645..ba12f37 100644 --- a/puppet.spec +++ b/puppet.spec @@ -185,7 +185,7 @@ echo "D /var/run/%{name} 0755 %{name} %{name} -" > \ # These need to be owned by puppet so the server can # write to them %attr(-, puppet, puppet) %{_localstatedir}/run/puppet -%attr(-, puppet, puppet) %{_localstatedir}/log/puppet +%attr(0750, puppet, puppet) %{_localstatedir}/log/puppet %attr(-, puppet, puppet) %{_localstatedir}/lib/puppet %{_mandir}/man5/puppet.conf.5.gz %{_mandir}/man8/pi.8.gz @@ -281,6 +281,7 @@ rm -rf %{buildroot} %changelog * Wed Apr 11 2012 Todd Zullinger - 2.6.16-1 - Update to 2.6.16, fixes CVE-2012-1986, CVE-2012-1987, and CVE-2012-1988 +- Correct permissions of /var/log/puppet (0750) * Wed Feb 22 2012 Todd Zullinger - 2.6.14-1 - Update to 2.6.14, fixes CVE-2012-1053 and CVE-2012-1054 From ffddaa3465d95638e8e43b28dcad37085b13257b Mon Sep 17 00:00:00 2001 From: Todd Zullinger Date: Wed, 25 Apr 2012 09:28:28 -0400 Subject: [PATCH 074/272] Update to 2.7.13 Note that the license has changed from GPLv2 to ASL 2.0. With 2.7, the puppetstoredconfigclean script has been dropped from ext/ because 'puppet node clean' performs this task. Unfortunately, it does more than just cleaning up the storeconfig db (removing signed certificates and reports), so we can't just call 'puppet node clean'. Instead, restore the script and add a note that it is deprecated, pointing to 'puppet node clean' as the supported method of cleaning storedconfig and other node data. --- puppet-2.6.13-augeas-0.10.patch | 60 ------------------ puppet-2.7.13.tar.gz.asc | 17 +++++ puppet.spec | 59 +++++++++++------ puppetstoredconfigclean.rb | 109 ++++++++++++++++++++++++++++++++ sources | 2 +- 5 files changed, 168 insertions(+), 79 deletions(-) delete mode 100644 puppet-2.6.13-augeas-0.10.patch create mode 100644 puppet-2.7.13.tar.gz.asc create mode 100644 puppetstoredconfigclean.rb diff --git a/puppet-2.6.13-augeas-0.10.patch b/puppet-2.6.13-augeas-0.10.patch deleted file mode 100644 index 2d2ee7c..0000000 --- a/puppet-2.6.13-augeas-0.10.patch +++ /dev/null @@ -1,60 +0,0 @@ -From e3fc5c4960de988b81e470d9e1f6a66c1bfd15e2 Mon Sep 17 00:00:00 2001 -From: Dominic Cleal -Date: Mon, 19 Dec 2011 22:56:43 +0000 -Subject: [PATCH] (#11414) Test Augeas versions correctly with versioncmp - -The release of Augeas 0.10.0 broke simplistic version comparisons with the >= -operator, so now use versioncmp. - -(Cherry pick of 735acad5 but without the accompanying test, which doesn't exist -in 2.6.x). ---- - lib/puppet/provider/augeas/augeas.rb | 8 +++++--- - 1 files changed, 5 insertions(+), 3 deletions(-) - -diff --git a/lib/puppet/provider/augeas/augeas.rb b/lib/puppet/provider/augeas/augeas.rb -index 7dbd062..70406f6 100644 ---- a/lib/puppet/provider/augeas/augeas.rb -+++ b/lib/puppet/provider/augeas/augeas.rb -@@ -19,9 +19,11 @@ - - require 'augeas' if Puppet.features.augeas? - require 'strscan' -+require 'puppet/util/package' - - Puppet::Type.type(:augeas).provide(:augeas) do - include Puppet::Util -+ include Puppet::Util::Package - - confine :true => Puppet.features.augeas? - -@@ -143,7 +145,7 @@ def open_augeas - debug("Opening augeas with root #{root}, lens path #{load_path}, flags #{flags}") - @aug = Augeas::open(root, load_path,flags) - -- debug("Augeas version #{get_augeas_version} is installed") if get_augeas_version >= "0.3.6" -+ debug("Augeas version #{get_augeas_version} is installed") if versioncmp(get_augeas_version, "0.3.6") >= 0 - - if resource[:incl] - aug.set("/augeas/load/Xfm/lens", resource[:lens]) -@@ -279,7 +281,7 @@ def need_to_run? - # If we have a verison of augeas which is at least 0.3.6 then we - # can make the changes now, see if changes were made, and - # actually do the save. -- if return_value and get_augeas_version >= "0.3.6" -+ if return_value and versioncmp(get_augeas_version, "0.3.6") >= 0 - debug("Will attempt to save and only run if files changed") - set_augeas_save_mode(SAVE_NOOP) - do_execute_changes -@@ -303,7 +305,7 @@ def execute_changes - # Re-connect to augeas, and re-execute the changes - begin - open_augeas -- set_augeas_save_mode(SAVE_OVERWRITE) if get_augeas_version >= "0.3.6" -+ set_augeas_save_mode(SAVE_OVERWRITE) if versioncmp(get_augeas_version, "0.3.6") >= 0 - - do_execute_changes - --- -1.7.5.4 - diff --git a/puppet-2.7.13.tar.gz.asc b/puppet-2.7.13.tar.gz.asc new file mode 100644 index 0000000..0bf26bc --- /dev/null +++ b/puppet-2.7.13.tar.gz.asc @@ -0,0 +1,17 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1.4.11 (Darwin) + +iQIcBAABAgAGBQJPhJb0AAoJEBBUt6JL1uwwZDYP/jTEbdhzM5l1t2aUgdNdkk6d +otYWofbq4ClsUJfMP4giHUDtlzM5GJCqtMcDeIp8HfqsQNdDIL9BFCLyVCo7VukS +EE9VaNv8E5oOyAUAFR8wsETyPN5V7WH34o3XQ2Og1+7O6RSDXEGdWH8dkjioJ78C +HNVJvCOEdYKCGgZt6/aZUOvCXAHEolb5lcKeyQCLpK+dP5Bp/Hp/JbVqbhOmiMi2 +yJm/eV/zlFQ9sz2JovFgAzaJwSDLEetx01ROsDrJks44LaH4ibEu+MoLOPTVIGkk +EJJRfojOKrEQIBco1zjvsx7D6gIe/WGlshT9s7bvNGCAmQvhxRoga2PvZwyhQxkE +kZbSiBprYW9Z0J2FTdSuLCH9dcAcqVzvtaEJpfgzRM5lkhnSKVaBdwRYOmtSxPP4 +WyecLc1TZSkJklqc70kTq7pMFrrBkZrgufVlckXrA4ZKV8ZnP1KxPBQ/0lFseOHO +qnJV1tNgZUTRrFjPM58Va7TSD5tH5RlFci/k6v+0FowdDgko8J4vXr2XU0QTzPSK +CaR75g+jpyBk2XIkTdkQ/VR46imsMw6NEIkPuSbAo1O00BAStvJ4/7xvR+dZQ1nj +tYHO3naagP/rPRxbYZJek6lcKn9frQsx1Epev4VH1mi8NiHmc6aN4BvkxP0L0oUZ +mIfuFz6Kwagt5FSue1VL +=DjHL +-----END PGP SIGNATURE----- diff --git a/puppet.spec b/puppet.spec index ba12f37..ebc0ca1 100644 --- a/puppet.spec +++ b/puppet.spec @@ -12,18 +12,16 @@ %global ruby_version %(ruby -rrbconfig -e 'puts RbConfig::CONFIG["ruby_version"]') Name: puppet -Version: 2.6.16 +Version: 2.7.13 Release: 1%{?dist} Summary: A network tool for managing many disparate systems -License: GPLv2 +License: ASL 2.0 URL: http://puppetlabs.com Source0: http://downloads.puppetlabs.com/%{name}/%{name}-%{version}.tar.gz Source1: http://downloads.puppetlabs.com/%{name}/%{name}-%{version}.tar.gz.asc +Source2: puppetstoredconfigclean.rb # https://projects.puppetlabs.com/issues/9167 Patch0: 0001-9167-Do-not-sent-tagmail-reports-if-no-changes.patch -# http://projects.puppetlabs.com/issues/11414 -# https://bugzilla.redhat.com/771097 -Patch1: puppet-2.6.13-augeas-0.10.patch Group: System Environment/Base @@ -84,11 +82,9 @@ The server can also function as a certificate authority and file server. %prep %setup -q %patch0 -p1 -%patch1 -p1 patch -s -p1 < conf/redhat/rundir-perms.patch # Fix some rpmlint complaints -sed -i '/^#!\/usr\/bin\/env ruby/,/^$/d' lib/puppet/util/command_line/* for f in mac_dscl.pp mac_dscl_revert.pp \ mac_pkgdmg.pp ; do sed -i -e'1d' examples/$f @@ -97,8 +93,7 @@ done for f in external/nagios.rb network/http_server/mongrel.rb relationship.rb; do sed -i -e '1d' lib/puppet/$f done -chmod +x ext/puppet-load.rb ext/puppetstoredconfigclean.rb \ - ext/regexp_nodes/regexp_nodes.rb +chmod +x ext/puppet-load.rb ext/regexp_nodes/regexp_nodes.rb find examples/ -type f -empty | xargs rm find examples/ -type f | xargs chmod a-x @@ -132,12 +127,31 @@ touch %{buildroot}%{_sysconfdir}/puppet/puppetmasterd.conf touch %{buildroot}%{_sysconfdir}/puppet/puppetca.conf touch %{buildroot}%{_sysconfdir}/puppet/puppetd.conf +# Replace redundant man pages with links to the canonical man page +pushd %{buildroot}%{_mandir}/man8 >/dev/null +ln -svf puppet-cert.8.gz puppetca.8.gz +ln -svf puppet-queue.8.gz puppetqd.8.gz +ln -svf puppet-kick.8.gz puppetrun.8.gz +ln -svf puppet-describe.8.gz pi.8.gz +ln -svf puppet-master.8.gz puppetmasterd.8.gz +ln -svf puppet-filebucket.8.gz filebucket.8.gz +ln -svf puppet-agent.8.gz puppetd.8.gz +ln -svf puppet-doc.8.gz puppetdoc.8.gz +ln -svf puppet-resource.8.gz ralsh.8.gz +popd >/dev/null + # Install the ext/ directory to %{_datadir}/%{name} install -d %{buildroot}%{_datadir}/%{name} cp -a ext/ %{buildroot}%{_datadir}/%{name} # emacs and vim bits are installed elsewhere rm -rf %{buildroot}%{_datadir}/%{name}/ext/{emacs,vim} +# The puppetstoredconfigclean script was removed now that puppet node clean +# does this job and more. For folks that were using this, let's provide the +# script and give them a hint to use puppet node clean. Remove this for the +# next major release after 2.7. +install -pv %{SOURCE2} %{buildroot}%{_datadir}/%{name}/ext/ + # Install emacs mode files emacsdir=%{buildroot}%{_datadir}/emacs/site-lisp install -Dp -m0644 ext/emacs/puppet-mode.el $emacsdir/puppet-mode.el @@ -158,7 +172,7 @@ echo "D /var/run/%{name} 0755 %{name} %{name} -" > \ %files %defattr(-, root, root, 0755) -%doc CHANGELOG COPYING LICENSE README.md README.queueing examples +%doc CHANGELOG LICENSE README.md examples %{_bindir}/pi %{_bindir}/puppet %{_bindir}/ralsh @@ -187,13 +201,15 @@ echo "D /var/run/%{name} 0755 %{name} %{name} -" > \ %attr(-, puppet, puppet) %{_localstatedir}/run/puppet %attr(0750, puppet, puppet) %{_localstatedir}/log/puppet %attr(-, puppet, puppet) %{_localstatedir}/lib/puppet +# Exclude man pages from the server package +%exclude %{_mandir}/man8/puppet-kick.8.gz +%exclude %{_mandir}/man8/puppet-master.8.gz +%exclude %{_mandir}/man8/puppet-queue.8.gz +%exclude %{_mandir}/man8/puppetmasterd.8.gz +%exclude %{_mandir}/man8/puppetqd.8.gz +%exclude %{_mandir}/man8/puppetrun.8.gz %{_mandir}/man5/puppet.conf.5.gz -%{_mandir}/man8/pi.8.gz -%{_mandir}/man8/puppet.8.gz -%{_mandir}/man8/puppetca.8.gz -%{_mandir}/man8/puppetd.8.gz -%{_mandir}/man8/ralsh.8.gz -%{_mandir}/man8/puppetdoc.8.gz +%{_mandir}/man8/*.8.gz %files server %defattr(-, root, root, 0755) @@ -205,10 +221,13 @@ echo "D /var/run/%{name} 0755 %{name} %{name} -" > \ %dir %{_sysconfdir}/puppet/manifests %config(noreplace) %{_sysconfdir}/sysconfig/puppetmaster %ghost %config(noreplace,missingok) %{_sysconfdir}/puppet/puppetmasterd.conf -%{_mandir}/man8/filebucket.8.gz +# Ensure that man pages listed here are excluded from the main package +%{_mandir}/man8/puppet-kick.8.gz +%{_mandir}/man8/puppet-master.8.gz +%{_mandir}/man8/puppet-queue.8.gz %{_mandir}/man8/puppetmasterd.8.gz -%{_mandir}/man8/puppetrun.8.gz %{_mandir}/man8/puppetqd.8.gz +%{_mandir}/man8/puppetrun.8.gz # Fixed uid/gid were assigned in bz 472073 (Fedora), 471918 (RHEL-5), # and 471919 (RHEL-4) @@ -279,6 +298,10 @@ fi rm -rf %{buildroot} %changelog +* Wed Apr 25 2012 Todd Zullinger - 2.7.13-1 +- Update to 2.7.13 +- Change license from GPLv2 to ASL 2.0 + * Wed Apr 11 2012 Todd Zullinger - 2.6.16-1 - Update to 2.6.16, fixes CVE-2012-1986, CVE-2012-1987, and CVE-2012-1988 - Correct permissions of /var/log/puppet (0750) diff --git a/puppetstoredconfigclean.rb b/puppetstoredconfigclean.rb new file mode 100644 index 0000000..3d0abdd --- /dev/null +++ b/puppetstoredconfigclean.rb @@ -0,0 +1,109 @@ +#!/usr/bin/env ruby + +# Script to clean up stored configs for (a) given host(s) +# +# Credits: +# Script was taken from http://reductivelabs.com/trac/puppet/attachment/wiki/UsingStoredConfiguration/kill_node_in_storedconfigs_db.rb (link no longer valid), +# which haven been initially posted by James Turnbull +# duritong adapted and improved the script a bit. + +require 'getoptlong' +require 'puppet' +require 'puppet/rails' + +config = Puppet[:config] + +def printusage(error_code) + puts "Usage: #{$0} [ list of hostnames as stored in hosts table ]" + puts "\n Options:" + puts "--config " + exit(error_code) +end + +# Print a deprecation notice, pointing to puppet node clean the supported +# method of cleaning nodes in puppet >= 2.7. Unfortunately, puppet node clean +# removes far more than just storedconfig data. +puts "\nTHIS SCRIPT IS DEPRECATED." +puts "'puppet node clean' replaces it, but also removes certificates and reports.\n\n" + +opts = GetoptLong.new( + [ "--config", "-c", GetoptLong::REQUIRED_ARGUMENT ], + [ "--help", "-h", GetoptLong::NO_ARGUMENT ], + [ "--usage", "-u", GetoptLong::NO_ARGUMENT ], + [ "--version", "-v", GetoptLong::NO_ARGUMENT ] +) + +begin + opts.each do |opt, arg| + case opt + when "--config" + config = arg + + when "--help" + printusage(0) + + when "--usage" + printusage(0) + + when "--version" + puts "#{Puppet.version}" + exit + end + end +rescue GetoptLong::InvalidOption => detail + $stderr.puts "Try '#{$0} --help'" + exit(1) +end + +printusage(1) unless ARGV.size > 0 + +if config != Puppet[:config] + Puppet[:config]=config + Puppet.settings.parse +end + +master = Puppet.settings.instance_variable_get(:@values)[:master] +main = Puppet.settings.instance_variable_get(:@values)[:main] +db_config = main.merge(master) + +# get default values +[:master, :main, :rails].each do |section| + Puppet.settings.params(section).each do |key| + db_config[key] ||= Puppet[key] + end +end + +adapter = db_config[:dbadapter] +args = {:adapter => adapter, :log_level => db_config[:rails_loglevel]} + +case adapter + when "sqlite3" + args[:dbfile] = db_config[:dblocation] + when "mysql", "mysql2", "postgresql" + args[:host] = db_config[:dbserver] unless db_config[:dbserver].to_s.empty? + args[:username] = db_config[:dbuser] unless db_config[:dbuser].to_s.empty? + args[:password] = db_config[:dbpassword] unless db_config[:dbpassword].to_s.empty? + args[:database] = db_config[:dbname] unless db_config[:dbname].to_s.empty? + args[:port] = db_config[:dbport] unless db_config[:dbport].to_s.empty? + socket = db_config[:dbsocket] + args[:socket] = socket unless socket.to_s.empty? + else + raise ArgumentError, "Invalid db adapter #{adapter}" +end + +args[:database] = "puppet" unless not args[:database].to_s.empty? + +ActiveRecord::Base.establish_connection(args) + +ARGV.each do |hostname| + if @host = Puppet::Rails::Host.find_by_name(hostname.strip) + print "Removing #{hostname} from storedconfig..." + $stdout.flush + @host.destroy + puts "done." + else + puts "Error: Can't find host #{hostname}." + end +end + +exit 0 diff --git a/sources b/sources index bdba51b..2872b17 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -b565a4ea60fe678e1ce1cb275c4aeeb2 puppet-2.6.16.tar.gz +8062f371cc7ec5c7e5cd5f4b6c3f9278 puppet-2.7.13.tar.gz From ee3397dec34dde259c07c6f10d06fb221b08a3b0 Mon Sep 17 00:00:00 2001 From: Todd Zullinger Date: Wed, 25 Apr 2012 09:28:48 -0400 Subject: [PATCH 075/272] Drop %post hacks to deal with upgrades from 0.25 No supported Fedora release ever shipped 0.25. If/when we merge 2.7 back to EPEL, we won't want this cruft there either. --- puppet.spec | 25 +------------------------ 1 file changed, 1 insertion(+), 24 deletions(-) diff --git a/puppet.spec b/puppet.spec index ebc0ca1..a819491 100644 --- a/puppet.spec +++ b/puppet.spec @@ -244,33 +244,9 @@ exit 0 %post /sbin/chkconfig --add puppet || : -%if 0%{?rhel} -if [ "$1" -ge 1 ]; then - # The pidfile changed from 0.25.x to 2.6.x, handle upgrades without leaving - # the old process running. - oldpid="%{_localstatedir}/run/puppet/puppetd.pid" - newpid="%{_localstatedir}/run/puppet/agent.pid" - if [ -s "$oldpid" -a ! -s "$newpid" ]; then - (kill $(< "$oldpid") && rm -f "$oldpid" && \ - /sbin/service puppet start) >/dev/null 2>&1 || : - fi -fi -%endif %post server /sbin/chkconfig --add puppetmaster || : -%if 0%{?rhel} -if [ "$1" -ge 1 ]; then - # The pidfile changed from 0.25.x to 2.6.x, handle upgrades without leaving - # the old process running. - oldpid="%{_localstatedir}/run/puppet/puppetmasterd.pid" - newpid="%{_localstatedir}/run/puppet/master.pid" - if [ -s "$oldpid" -a ! -s "$newpid" ]; then - (kill $(< "$oldpid") && rm -f "$oldpid" && \ - /sbin/service puppetmaster start) >/dev/null 2>&1 || : - fi -fi -%endif %preun if [ "$1" = 0 ] ; then @@ -301,6 +277,7 @@ rm -rf %{buildroot} * Wed Apr 25 2012 Todd Zullinger - 2.7.13-1 - Update to 2.7.13 - Change license from GPLv2 to ASL 2.0 +- Drop %%post hacks to deal with upgrades from 0.25 * Wed Apr 11 2012 Todd Zullinger - 2.6.16-1 - Update to 2.6.16, fixes CVE-2012-1986, CVE-2012-1987, and CVE-2012-1988 From cab382d4edc351f2fb13ee68282fd0a822ff5af6 Mon Sep 17 00:00:00 2001 From: Todd Zullinger Date: Wed, 25 Apr 2012 09:28:58 -0400 Subject: [PATCH 076/272] Minor rpmlint fixes --- puppet.spec | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/puppet.spec b/puppet.spec index a819491..16cc58d 100644 --- a/puppet.spec +++ b/puppet.spec @@ -140,7 +140,7 @@ ln -svf puppet-doc.8.gz puppetdoc.8.gz ln -svf puppet-resource.8.gz ralsh.8.gz popd >/dev/null -# Install the ext/ directory to %{_datadir}/%{name} +# Install the ext/ directory to %%{_datadir}/%%{name} install -d %{buildroot}%{_datadir}/%{name} cp -a ext/ %{buildroot}%{_datadir}/%{name} # emacs and vim bits are installed elsewhere @@ -278,6 +278,7 @@ rm -rf %{buildroot} - Update to 2.7.13 - Change license from GPLv2 to ASL 2.0 - Drop %%post hacks to deal with upgrades from 0.25 +- Minor rpmlint fixes * Wed Apr 11 2012 Todd Zullinger - 2.6.16-1 - Update to 2.6.16, fixes CVE-2012-1986, CVE-2012-1987, and CVE-2012-1988 @@ -368,7 +369,7 @@ rm -rf %{buildroot} - Update to 0.25.0 - Fix permissions on /var/log/puppet (#495096) - Install emacs mode and vim syntax files (#491437) -- Install ext/ directory in %%{_datadir}/%{name} (/usr/share/puppet) +- Install ext/ directory in %%{_datadir}/%%{name} (/usr/share/puppet) * Mon May 04 2009 Todd Zullinger - 0.25.0-0.1.beta1 - Update to 0.25.0beta1 From 0d23510c6b80bcaf600ff09c2c88d16c250c5cdd Mon Sep 17 00:00:00 2001 From: Todd Zullinger Date: Wed, 25 Apr 2012 09:29:09 -0400 Subject: [PATCH 077/272] Backport patch to silence confine warnings in ruby-1.9.3 --- ...a-different-error-when-require-fails.patch | 31 +++++++++++++++++++ puppet.spec | 5 +++ 2 files changed, 36 insertions(+) create mode 100644 0001-Ruby-1.9.3-has-a-different-error-when-require-fails.patch diff --git a/0001-Ruby-1.9.3-has-a-different-error-when-require-fails.patch b/0001-Ruby-1.9.3-has-a-different-error-when-require-fails.patch new file mode 100644 index 0000000..f7fed29 --- /dev/null +++ b/0001-Ruby-1.9.3-has-a-different-error-when-require-fails.patch @@ -0,0 +1,31 @@ +From a71208ba651d96d2ac9792c5358f10231a140e10 Mon Sep 17 00:00:00 2001 +From: Daniel Pittman +Date: Fri, 9 Mar 2012 14:43:02 -0800 +Subject: [PATCH/puppet] Ruby 1.9.3 has a different error when `require` + fails. + +The text of the error message when load fails has changed, resulting in the +test failing. This adapts that to catch the different versions, allowing this +to pass in all cases. + +Signed-off-by: Daniel Pittman +--- + lib/puppet/provider/confine.rb | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/lib/puppet/provider/confine.rb b/lib/puppet/provider/confine.rb +index 6825def..b28d07d 100644 +--- a/lib/puppet/provider/confine.rb ++++ b/lib/puppet/provider/confine.rb +@@ -25,7 +25,7 @@ class Puppet::Provider::Confine + begin + require "puppet/provider/confine/#{name}" + rescue LoadError => detail +- unless detail.to_s =~ /No such file/i ++ unless detail.to_s =~ /No such file|cannot load such file/i + warn "Could not load confine test '#{name}': #{detail}" + end + # Could not find file +-- +1.7.6 + diff --git a/puppet.spec b/puppet.spec index 16cc58d..90b9418 100644 --- a/puppet.spec +++ b/puppet.spec @@ -22,6 +22,9 @@ Source1: http://downloads.puppetlabs.com/%{name}/%{name}-%{version}.tar.g Source2: puppetstoredconfigclean.rb # https://projects.puppetlabs.com/issues/9167 Patch0: 0001-9167-Do-not-sent-tagmail-reports-if-no-changes.patch +# http://projects.puppetlabs.com/issues/11325 +# https://github.com/puppetlabs/puppet/commit/a71208ba +Patch1: 0001-Ruby-1.9.3-has-a-different-error-when-require-fails.patch Group: System Environment/Base @@ -82,6 +85,7 @@ The server can also function as a certificate authority and file server. %prep %setup -q %patch0 -p1 +%patch1 -p1 patch -s -p1 < conf/redhat/rundir-perms.patch # Fix some rpmlint complaints @@ -279,6 +283,7 @@ rm -rf %{buildroot} - Change license from GPLv2 to ASL 2.0 - Drop %%post hacks to deal with upgrades from 0.25 - Minor rpmlint fixes +- Backport patch to silence confine warnings in ruby-1.9.3 * Wed Apr 11 2012 Todd Zullinger - 2.6.16-1 - Update to 2.6.16, fixes CVE-2012-1986, CVE-2012-1987, and CVE-2012-1988 From f4d623b933097278964d6997a65cbdec337f14cb Mon Sep 17 00:00:00 2001 From: Todd Zullinger Date: Wed, 11 Jul 2012 08:54:02 -0400 Subject: [PATCH 078/272] Update to 2.7.18, fixes CVE-2012-3864, CVE-2012-3865, CVE-2012-3866, CVE-2012-3867 --- ...t-sent-tagmail-reports-if-no-changes.patch | 46 ------------------- puppet-2.6.16.tar.gz.asc | 17 ------- puppet-2.7.13.tar.gz.asc | 17 ------- puppet-2.7.18.tar.gz.asc | 18 ++++++++ puppet.spec | 11 +++-- sources | 2 +- 6 files changed, 25 insertions(+), 86 deletions(-) delete mode 100644 0001-9167-Do-not-sent-tagmail-reports-if-no-changes.patch delete mode 100644 puppet-2.6.16.tar.gz.asc delete mode 100644 puppet-2.7.13.tar.gz.asc create mode 100644 puppet-2.7.18.tar.gz.asc diff --git a/0001-9167-Do-not-sent-tagmail-reports-if-no-changes.patch b/0001-9167-Do-not-sent-tagmail-reports-if-no-changes.patch deleted file mode 100644 index 5ba1da1..0000000 --- a/0001-9167-Do-not-sent-tagmail-reports-if-no-changes.patch +++ /dev/null @@ -1,46 +0,0 @@ -From e8c0c799e6f648a90028ce2248e14247f021f1c7 Mon Sep 17 00:00:00 2001 -From: Kelsey Hightower -Date: Wed, 24 Aug 2011 21:51:45 -0400 -Subject: [PATCH/puppet] (#9167) Do not sent tagmail reports if no changes - -Prevent Puppet Master from sending tagmail reports if the status of the -puppet run is "unchanged". ---- - lib/puppet/reports/tagmail.rb | 6 ++++++ - spec/unit/reports/tagmail_spec.rb | 5 +++++ - 2 files changed, 11 insertions(+), 0 deletions(-) - -diff --git a/lib/puppet/reports/tagmail.rb b/lib/puppet/reports/tagmail.rb -index c37341e..cf33cfa 100644 ---- a/lib/puppet/reports/tagmail.rb -+++ b/lib/puppet/reports/tagmail.rb -@@ -108,6 +108,12 @@ Puppet::Reports.register_report(:tagmail) do - - # Process the report. This just calls the other associated messages. - def process -+ # Do not send the email report if nothing changed. -+ if self.status == "unchanged" -+ Puppet.info "Not sending tagmail report; no changes" -+ return -+ end -+ - unless FileTest.exists?(Puppet[:tagmap]) - Puppet.notice "Cannot send tagmail report; no tagmap file #{Puppet[:tagmap]}" - return -diff --git a/spec/unit/reports/tagmail_spec.rb b/spec/unit/reports/tagmail_spec.rb -index a53d119..0df67ec 100755 ---- a/spec/unit/reports/tagmail_spec.rb -+++ b/spec/unit/reports/tagmail_spec.rb -@@ -88,4 +88,9 @@ describe tagmail do - results.should be_nil - end - end -+ -+ describe "when there are no changes" do -+ it "should not send an email" -+ end -+ - end --- -1.7.6 - diff --git a/puppet-2.6.16.tar.gz.asc b/puppet-2.6.16.tar.gz.asc deleted file mode 100644 index dd820d7..0000000 --- a/puppet-2.6.16.tar.gz.asc +++ /dev/null @@ -1,17 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v1.4.11 (Darwin) - -iQIcBAABAgAGBQJPhdnRAAoJEBBUt6JL1uwwgXcP/3uzzgN1OA2NVGMlSkeeMMx1 -D3V+oZxYt3IBilFKPgJLD4a0bOOFsLYOTdBWx1iHftIUpEktCY5ROIH3rOpJ3SJ8 -TckV3QxyDpCKD0OUuAu67WtQA5cDSdpOwo7K/w0OzPI8IqSFWjzQ8PYdXb807S6G -pMLXCkGvwi73nBZlAFy2ZE9AQRapDzkWNpIlpu2X0rEz84s3eKkOVBYM8sjs4Y3D -pbiAyFJEE4jcEvov76JBj+2r8CLsH+j18PxisR0RfnFK5DF4Ajbmbg2zk+A7n2Zc -qTy5kpmuj2O2a/TDMFq84U1HgdqRVunf9L4zS4/inUUjQN6uIs7dH8oKC04uKwsE -Db8JGISryukCGkSTD99ojc8nFgpsn8PfJrgKzUR/mp02mcb3so/6VtC8jREHraSH -taBVhNJI5Zvep7mmQxLgUnoaEwUEzDBVeL8HbML31gFbd7WemnQN8j5IH8e/qqS+ -SPxsT1sUauM/WcB7hWG0bklwLgQcns/nrVQ2zjzZr4Ln52WLw0bPZq/FzGwhaDvN -0lrr9hqR27gSkAyeyuodRvMHLgnk/PW82+SH92crqe/y4iIUBeonXFpo3y0Uf5Gz -4qwnxYMGNv6+tQhyC7todeOqw8BJKN0yf+DyxS1BD6uPDcBjgPk2BOmFuoYv/NtB -wZtwDKXdEUx/0jjhCexq -=32xz ------END PGP SIGNATURE----- diff --git a/puppet-2.7.13.tar.gz.asc b/puppet-2.7.13.tar.gz.asc deleted file mode 100644 index 0bf26bc..0000000 --- a/puppet-2.7.13.tar.gz.asc +++ /dev/null @@ -1,17 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v1.4.11 (Darwin) - -iQIcBAABAgAGBQJPhJb0AAoJEBBUt6JL1uwwZDYP/jTEbdhzM5l1t2aUgdNdkk6d -otYWofbq4ClsUJfMP4giHUDtlzM5GJCqtMcDeIp8HfqsQNdDIL9BFCLyVCo7VukS -EE9VaNv8E5oOyAUAFR8wsETyPN5V7WH34o3XQ2Og1+7O6RSDXEGdWH8dkjioJ78C -HNVJvCOEdYKCGgZt6/aZUOvCXAHEolb5lcKeyQCLpK+dP5Bp/Hp/JbVqbhOmiMi2 -yJm/eV/zlFQ9sz2JovFgAzaJwSDLEetx01ROsDrJks44LaH4ibEu+MoLOPTVIGkk -EJJRfojOKrEQIBco1zjvsx7D6gIe/WGlshT9s7bvNGCAmQvhxRoga2PvZwyhQxkE -kZbSiBprYW9Z0J2FTdSuLCH9dcAcqVzvtaEJpfgzRM5lkhnSKVaBdwRYOmtSxPP4 -WyecLc1TZSkJklqc70kTq7pMFrrBkZrgufVlckXrA4ZKV8ZnP1KxPBQ/0lFseOHO -qnJV1tNgZUTRrFjPM58Va7TSD5tH5RlFci/k6v+0FowdDgko8J4vXr2XU0QTzPSK -CaR75g+jpyBk2XIkTdkQ/VR46imsMw6NEIkPuSbAo1O00BAStvJ4/7xvR+dZQ1nj -tYHO3naagP/rPRxbYZJek6lcKn9frQsx1Epev4VH1mi8NiHmc6aN4BvkxP0L0oUZ -mIfuFz6Kwagt5FSue1VL -=DjHL ------END PGP SIGNATURE----- diff --git a/puppet-2.7.18.tar.gz.asc b/puppet-2.7.18.tar.gz.asc new file mode 100644 index 0000000..ffa35a6 --- /dev/null +++ b/puppet-2.7.18.tar.gz.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG/MacGPG2 v2.0.18 (Darwin) +Comment: GPGTools - http://gpgtools.org + +iQIcBAABAgAGBQJP/JQ9AAoJEBBUt6JL1uwwko0P/igNdI01Lkss73TaRRSGiJcF +dLSSqyNjrgyiAoZkBTlyL7qPf76l5t7qhzO6cjj6q64e5yaGfZAbr65d4LhIGs7Z +fcpzC4MpRhcaZKTqp9864Fhwd0UC/rzMAMaR1bRkSLVgcR0F6WXDcoclnwcRZXb5 +e6b51JI85G0lyQB95Gq0SIUZQ/n8OsMDC/IhLpJLCbZIw7jRB1hciFPL6SuMGFlK +Zw+3ZpMwWGOpLU0bxLL6Nw54vVwJDf1pq/Upi+EChPdkzJQw2rZR0qwDlavNd6Ax +mEBwFyBOQ/mEiIRZslQk/TYQ+xuq3eCSk11E3ZJ+VDx2h7T4mqdEdZRoYmwliGOW +EXR/+QmB7Jqmgi0Ue0Y1LYUsydHKvXYTeR8R/wmm4O3qD8CTQ0SxbsemO78o/dp0 +pM++wMjoAKO5vyZ0/3k+kblIzXy+BYdzeqThZArMhV5q3iIm5daYSegyIA4RCSgG +mnyTGtaSQRQP685gwGdlF9P1kfrhnvw7UK2HW3WDsmkZh9lGlKSM3stwlB4FgXGu +9OAFFhRVh23Ka5B6CAXBqIdXvjz3LOmKKalxcRwR36UEaJZ4OIlTDMAmbXofOvHq +YbR0dWBovVMUn7N9vMC5AosOXApbQWNQINW2th21KV4lNvzc76bi3j5iTMsBKARE +qNhzL1TXuJYNPUv88UxJ +=mjJz +-----END PGP SIGNATURE----- diff --git a/puppet.spec b/puppet.spec index 90b9418..719f3fd 100644 --- a/puppet.spec +++ b/puppet.spec @@ -12,7 +12,7 @@ %global ruby_version %(ruby -rrbconfig -e 'puts RbConfig::CONFIG["ruby_version"]') Name: puppet -Version: 2.7.13 +Version: 2.7.18 Release: 1%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 @@ -20,11 +20,9 @@ URL: http://puppetlabs.com Source0: http://downloads.puppetlabs.com/%{name}/%{name}-%{version}.tar.gz Source1: http://downloads.puppetlabs.com/%{name}/%{name}-%{version}.tar.gz.asc Source2: puppetstoredconfigclean.rb -# https://projects.puppetlabs.com/issues/9167 -Patch0: 0001-9167-Do-not-sent-tagmail-reports-if-no-changes.patch # http://projects.puppetlabs.com/issues/11325 # https://github.com/puppetlabs/puppet/commit/a71208ba -Patch1: 0001-Ruby-1.9.3-has-a-different-error-when-require-fails.patch +Patch0: 0001-Ruby-1.9.3-has-a-different-error-when-require-fails.patch Group: System Environment/Base @@ -85,7 +83,6 @@ The server can also function as a certificate authority and file server. %prep %setup -q %patch0 -p1 -%patch1 -p1 patch -s -p1 < conf/redhat/rundir-perms.patch # Fix some rpmlint complaints @@ -278,6 +275,10 @@ fi rm -rf %{buildroot} %changelog +* Wed Jul 11 2012 Todd Zullinger - 2.7.18-1 +- Update to 2.7.17, fixes CVE-2012-3864, CVE-2012-3865, CVE-2012-3866, + CVE-2012-3867 + * Wed Apr 25 2012 Todd Zullinger - 2.7.13-1 - Update to 2.7.13 - Change license from GPLv2 to ASL 2.0 diff --git a/sources b/sources index 2872b17..d232dc6 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -8062f371cc7ec5c7e5cd5f4b6c3f9278 puppet-2.7.13.tar.gz +210725704692a0ca7b8ffc312471796e puppet-2.7.18.tar.gz From eda1b9242bbef783e9402667ff86f0ad608988f7 Mon Sep 17 00:00:00 2001 From: Todd Zullinger Date: Wed, 11 Jul 2012 10:03:42 -0400 Subject: [PATCH 079/272] Improve NetworkManager compatibility, thanks to Orion Poplawski (#532085) --- puppet-nm-dispatcher | 8 ++++++++ puppet.spec | 12 +++++++++++- 2 files changed, 19 insertions(+), 1 deletion(-) create mode 100755 puppet-nm-dispatcher diff --git a/puppet-nm-dispatcher b/puppet-nm-dispatcher new file mode 100755 index 0000000..6e9e0b3 --- /dev/null +++ b/puppet-nm-dispatcher @@ -0,0 +1,8 @@ +#!/bin/bash +# +# Restart puppet on network changes to pickup changes to /etc/resolv.conf +# +# https://projects.puppetlabs.com/issues/2776 +# https://bugzilla.redhat.com/532085 + +[[ $2 =~ ^(up|down)$ ]] && /sbin/service puppet condrestart || : diff --git a/puppet.spec b/puppet.spec index 719f3fd..f8f5342 100644 --- a/puppet.spec +++ b/puppet.spec @@ -20,7 +20,8 @@ URL: http://puppetlabs.com Source0: http://downloads.puppetlabs.com/%{name}/%{name}-%{version}.tar.gz Source1: http://downloads.puppetlabs.com/%{name}/%{name}-%{version}.tar.gz.asc Source2: puppetstoredconfigclean.rb -# http://projects.puppetlabs.com/issues/11325 +Source3: puppet-nm-dispatcher +# https://projects.puppetlabs.com/issues/11325 # https://github.com/puppetlabs/puppet/commit/a71208ba Patch0: 0001-Ruby-1.9.3-has-a-different-error-when-require-fails.patch @@ -141,6 +142,11 @@ ln -svf puppet-doc.8.gz puppetdoc.8.gz ln -svf puppet-resource.8.gz ralsh.8.gz popd >/dev/null +# Install a NetworkManager dispatcher script to pickup changes to +# /etc/resolv.conf and such (https://bugzilla.redhat.com/532085). +install -Dpv %{SOURCE3} \ + %{buildroot}%{_sysconfdir}/NetworkManager/dispatcher.d/98-%{name} + # Install the ext/ directory to %%{_datadir}/%%{name} install -d %{buildroot}%{_datadir}/%{name} cp -a ext/ %{buildroot}%{_datadir}/%{name} @@ -193,6 +199,9 @@ echo "D /var/run/%{name} 0755 %{name} %{name} -" > \ %ghost %config(noreplace,missingok) %{_sysconfdir}/puppet/puppetca.conf %ghost %config(noreplace,missingok) %{_sysconfdir}/puppet/puppetd.conf %config(noreplace) %{_sysconfdir}/logrotate.d/puppet +%dir %{_sysconfdir}/NetworkManager +%dir %{_sysconfdir}/NetworkManager/dispatcher.d +%{_sysconfdir}/NetworkManager/dispatcher.d/98-puppet # We don't want to require emacs or vim, so we need to own these dirs %{_datadir}/emacs %{_datadir}/vim @@ -278,6 +287,7 @@ rm -rf %{buildroot} * Wed Jul 11 2012 Todd Zullinger - 2.7.18-1 - Update to 2.7.17, fixes CVE-2012-3864, CVE-2012-3865, CVE-2012-3866, CVE-2012-3867 +- Improve NetworkManager compatibility, thanks to Orion Poplawski (#532085) * Wed Apr 25 2012 Todd Zullinger - 2.7.13-1 - Update to 2.7.13 From e6d8c53229bbeb13fc2f863a1b166fca649f0a1a Mon Sep 17 00:00:00 2001 From: Todd Zullinger Date: Thu, 12 Jul 2012 00:37:23 -0400 Subject: [PATCH 080/272] Preserve timestamps when installing files --- ...rve-timestamps-when-installing-files.patch | 87 +++++++++++++++++++ puppet.spec | 3 + 2 files changed, 90 insertions(+) create mode 100644 0001-Preserve-timestamps-when-installing-files.patch diff --git a/0001-Preserve-timestamps-when-installing-files.patch b/0001-Preserve-timestamps-when-installing-files.patch new file mode 100644 index 0000000..6fb536a --- /dev/null +++ b/0001-Preserve-timestamps-when-installing-files.patch @@ -0,0 +1,87 @@ +From cfce8cf0baa7a96498f0ddc2c46170ed38c9aea7 Mon Sep 17 00:00:00 2001 +From: Todd Zullinger +Date: Thu, 12 Jul 2012 00:34:28 -0400 +Subject: [PATCH/puppet] Preserve timestamps when installing files + +Without the preserve option, ruby's FileUtils.install method uses the +current time for all installed files. For backup systems, package +installs, and general pedantic sysadmins, preserving timestamps makes a +small improvement in the world. +--- + install.rb | 16 ++++++++-------- + 1 files changed, 8 insertions(+), 8 deletions(-) + +diff --git a/install.rb b/install.rb +index a55d929..c77edff 100755 +--- a/install.rb ++++ b/install.rb +@@ -84,7 +84,7 @@ def do_configs(configs, target, strip = 'conf/') + if $haveftools + File.install(cf, ocf, 0644, true) + else +- FileUtils.install(cf, ocf, {:mode => 0644, :verbose => true}) ++ FileUtils.install(cf, ocf, {:mode => 0644, :preserve => true, :verbose => true}) + end + end + +@@ -94,7 +94,7 @@ def do_configs(configs, target, strip = 'conf/') + if $haveftools + File.install(src_dll, dst_dll, 0644, true) + else +- FileUtils.install(src_dll, dst_dll, {:mode => 0644, :verbose => true}) ++ FileUtils.install(src_dll, dst_dll, {:mode => 0644, :preserve => true, :verbose => true}) + end + + require 'win32/registry' +@@ -130,7 +130,7 @@ def do_libs(libs, strip = 'lib/') + else + FileUtils.makedirs(op, {:mode => 0755, :verbose => true}) + FileUtils.chmod(0755, op) +- FileUtils.install(lf, olf, {:mode => 0644, :verbose => true}) ++ FileUtils.install(lf, olf, {:mode => 0644, :preserve => true, :verbose => true}) + end + end + end +@@ -146,7 +146,7 @@ def do_man(man, strip = 'man/') + else + FileUtils.makedirs(om, {:mode => 0755, :verbose => true}) + FileUtils.chmod(0755, om) +- FileUtils.install(mf, omf, {:mode => 0644, :verbose => true}) ++ FileUtils.install(mf, omf, {:mode => 0644, :preserve => true, :verbose => true}) + end + gzip = %x{which gzip} + gzip.chomp! +@@ -420,12 +420,12 @@ def install_binfile(from, op_file, target) + installed_wrapper = false + + if File.exists?("#{from}.bat") +- FileUtils.install("#{from}.bat", File.join(target, "#{op_file}.bat"), :mode => 0755, :verbose => true) ++ FileUtils.install("#{from}.bat", File.join(target, "#{op_file}.bat"), :mode => 0755, :preserve => true, :verbose => true) + installed_wrapper = true + end + + if File.exists?("#{from}.cmd") +- FileUtils.install("#{from}.cmd", File.join(target, "#{op_file}.cmd"), :mode => 0755, :verbose => true) ++ FileUtils.install("#{from}.cmd", File.join(target, "#{op_file}.cmd"), :mode => 0755, :preserve => true, :verbose => true) + installed_wrapper = true + end + +@@ -439,13 +439,13 @@ set RUBY_BIN=%RUBY_BIN:\\=/% + "%RUBY_BIN%ruby.exe" -x "%RUBY_BIN%puppet" %* + EOS + File.open(tmp_file2.path, "w") { |cw| cw.puts cwv } +- FileUtils.install(tmp_file2.path, File.join(target, "#{op_file}.bat"), :mode => 0755, :verbose => true) ++ FileUtils.install(tmp_file2.path, File.join(target, "#{op_file}.bat"), :mode => 0755, :preserve => true, :verbose => true) + + tmp_file2.unlink + installed_wrapper = true + end + end +- FileUtils.install(tmp_file.path, File.join(target, op_file), :mode => 0755, :verbose => true) ++ FileUtils.install(tmp_file.path, File.join(target, op_file), :mode => 0755, :preserve => true, :verbose => true) + tmp_file.unlink + end + +-- +1.7.6 + diff --git a/puppet.spec b/puppet.spec index f8f5342..28563ce 100644 --- a/puppet.spec +++ b/puppet.spec @@ -24,6 +24,7 @@ Source3: puppet-nm-dispatcher # https://projects.puppetlabs.com/issues/11325 # https://github.com/puppetlabs/puppet/commit/a71208ba Patch0: 0001-Ruby-1.9.3-has-a-different-error-when-require-fails.patch +Patch1: 0001-Preserve-timestamps-when-installing-files.patch Group: System Environment/Base @@ -84,6 +85,7 @@ The server can also function as a certificate authority and file server. %prep %setup -q %patch0 -p1 +%patch1 -p1 patch -s -p1 < conf/redhat/rundir-perms.patch # Fix some rpmlint complaints @@ -288,6 +290,7 @@ rm -rf %{buildroot} - Update to 2.7.17, fixes CVE-2012-3864, CVE-2012-3865, CVE-2012-3866, CVE-2012-3867 - Improve NetworkManager compatibility, thanks to Orion Poplawski (#532085) +- Preserve timestamps when installing files * Wed Apr 25 2012 Todd Zullinger - 2.7.13-1 - Update to 2.7.13 From 56cea4008a8691eb47c7cf5453b362089b56511f Mon Sep 17 00:00:00 2001 From: Moses Mendoza Date: Tue, 6 Nov 2012 10:12:39 -0800 Subject: [PATCH 081/272] Update puppet spec to 3.0.2 This patch updates the puppet spec for upstream version 3.0.2. Puppet 3.0.2 includes service management files for systemd, which ships with F17, so this updates the spec to include systemd conditionals where applicable. Several deprecated manpages and executables, including everything Puppet shipped in %{_sbindir}, are removed in Puppet 3.0.x as well; This commit updates the spec as such. The patch for commit a71208b is removed as its in the 3.0.2 source. Per existing comments, the deprecated puppetstoredconfigclean.rb script is removed. Additionally, the patch for preserving timestamps in install.rb is removed, as this has been merged into upstream. Puppet 3.0.2 requires ruby >= 1.8.7 and facter >= 1.6.6, so updated BuildRequires and Requires are added for these. A new requires of hiera >= 1.0.0 is added as well. Puppet >= 3.0.0 also entirely absorbed the source of the package hiera-puppet, so this is obsoleted and provided here. Finally, the built-in mongrel support is removed in puppet 3.x, so the reference to it is removed in the spec. Signed-off-by: Moses Mendoza Signed-off-by: Michael Stahnke --- ...rve-timestamps-when-installing-files.patch | 87 -------- ...a-different-error-when-require-fails.patch | 31 --- puppet-2.7.18.tar.gz.asc | 18 -- puppet-3.0.2.tar.gz.asc | 18 ++ puppet.spec | 209 ++++++++++++------ puppetstoredconfigclean.rb | 109 --------- 6 files changed, 158 insertions(+), 314 deletions(-) delete mode 100644 0001-Preserve-timestamps-when-installing-files.patch delete mode 100644 0001-Ruby-1.9.3-has-a-different-error-when-require-fails.patch delete mode 100644 puppet-2.7.18.tar.gz.asc create mode 100644 puppet-3.0.2.tar.gz.asc delete mode 100644 puppetstoredconfigclean.rb diff --git a/0001-Preserve-timestamps-when-installing-files.patch b/0001-Preserve-timestamps-when-installing-files.patch deleted file mode 100644 index 6fb536a..0000000 --- a/0001-Preserve-timestamps-when-installing-files.patch +++ /dev/null @@ -1,87 +0,0 @@ -From cfce8cf0baa7a96498f0ddc2c46170ed38c9aea7 Mon Sep 17 00:00:00 2001 -From: Todd Zullinger -Date: Thu, 12 Jul 2012 00:34:28 -0400 -Subject: [PATCH/puppet] Preserve timestamps when installing files - -Without the preserve option, ruby's FileUtils.install method uses the -current time for all installed files. For backup systems, package -installs, and general pedantic sysadmins, preserving timestamps makes a -small improvement in the world. ---- - install.rb | 16 ++++++++-------- - 1 files changed, 8 insertions(+), 8 deletions(-) - -diff --git a/install.rb b/install.rb -index a55d929..c77edff 100755 ---- a/install.rb -+++ b/install.rb -@@ -84,7 +84,7 @@ def do_configs(configs, target, strip = 'conf/') - if $haveftools - File.install(cf, ocf, 0644, true) - else -- FileUtils.install(cf, ocf, {:mode => 0644, :verbose => true}) -+ FileUtils.install(cf, ocf, {:mode => 0644, :preserve => true, :verbose => true}) - end - end - -@@ -94,7 +94,7 @@ def do_configs(configs, target, strip = 'conf/') - if $haveftools - File.install(src_dll, dst_dll, 0644, true) - else -- FileUtils.install(src_dll, dst_dll, {:mode => 0644, :verbose => true}) -+ FileUtils.install(src_dll, dst_dll, {:mode => 0644, :preserve => true, :verbose => true}) - end - - require 'win32/registry' -@@ -130,7 +130,7 @@ def do_libs(libs, strip = 'lib/') - else - FileUtils.makedirs(op, {:mode => 0755, :verbose => true}) - FileUtils.chmod(0755, op) -- FileUtils.install(lf, olf, {:mode => 0644, :verbose => true}) -+ FileUtils.install(lf, olf, {:mode => 0644, :preserve => true, :verbose => true}) - end - end - end -@@ -146,7 +146,7 @@ def do_man(man, strip = 'man/') - else - FileUtils.makedirs(om, {:mode => 0755, :verbose => true}) - FileUtils.chmod(0755, om) -- FileUtils.install(mf, omf, {:mode => 0644, :verbose => true}) -+ FileUtils.install(mf, omf, {:mode => 0644, :preserve => true, :verbose => true}) - end - gzip = %x{which gzip} - gzip.chomp! -@@ -420,12 +420,12 @@ def install_binfile(from, op_file, target) - installed_wrapper = false - - if File.exists?("#{from}.bat") -- FileUtils.install("#{from}.bat", File.join(target, "#{op_file}.bat"), :mode => 0755, :verbose => true) -+ FileUtils.install("#{from}.bat", File.join(target, "#{op_file}.bat"), :mode => 0755, :preserve => true, :verbose => true) - installed_wrapper = true - end - - if File.exists?("#{from}.cmd") -- FileUtils.install("#{from}.cmd", File.join(target, "#{op_file}.cmd"), :mode => 0755, :verbose => true) -+ FileUtils.install("#{from}.cmd", File.join(target, "#{op_file}.cmd"), :mode => 0755, :preserve => true, :verbose => true) - installed_wrapper = true - end - -@@ -439,13 +439,13 @@ set RUBY_BIN=%RUBY_BIN:\\=/% - "%RUBY_BIN%ruby.exe" -x "%RUBY_BIN%puppet" %* - EOS - File.open(tmp_file2.path, "w") { |cw| cw.puts cwv } -- FileUtils.install(tmp_file2.path, File.join(target, "#{op_file}.bat"), :mode => 0755, :verbose => true) -+ FileUtils.install(tmp_file2.path, File.join(target, "#{op_file}.bat"), :mode => 0755, :preserve => true, :verbose => true) - - tmp_file2.unlink - installed_wrapper = true - end - end -- FileUtils.install(tmp_file.path, File.join(target, op_file), :mode => 0755, :verbose => true) -+ FileUtils.install(tmp_file.path, File.join(target, op_file), :mode => 0755, :preserve => true, :verbose => true) - tmp_file.unlink - end - --- -1.7.6 - diff --git a/0001-Ruby-1.9.3-has-a-different-error-when-require-fails.patch b/0001-Ruby-1.9.3-has-a-different-error-when-require-fails.patch deleted file mode 100644 index f7fed29..0000000 --- a/0001-Ruby-1.9.3-has-a-different-error-when-require-fails.patch +++ /dev/null @@ -1,31 +0,0 @@ -From a71208ba651d96d2ac9792c5358f10231a140e10 Mon Sep 17 00:00:00 2001 -From: Daniel Pittman -Date: Fri, 9 Mar 2012 14:43:02 -0800 -Subject: [PATCH/puppet] Ruby 1.9.3 has a different error when `require` - fails. - -The text of the error message when load fails has changed, resulting in the -test failing. This adapts that to catch the different versions, allowing this -to pass in all cases. - -Signed-off-by: Daniel Pittman ---- - lib/puppet/provider/confine.rb | 2 +- - 1 files changed, 1 insertions(+), 1 deletions(-) - -diff --git a/lib/puppet/provider/confine.rb b/lib/puppet/provider/confine.rb -index 6825def..b28d07d 100644 ---- a/lib/puppet/provider/confine.rb -+++ b/lib/puppet/provider/confine.rb -@@ -25,7 +25,7 @@ class Puppet::Provider::Confine - begin - require "puppet/provider/confine/#{name}" - rescue LoadError => detail -- unless detail.to_s =~ /No such file/i -+ unless detail.to_s =~ /No such file|cannot load such file/i - warn "Could not load confine test '#{name}': #{detail}" - end - # Could not find file --- -1.7.6 - diff --git a/puppet-2.7.18.tar.gz.asc b/puppet-2.7.18.tar.gz.asc deleted file mode 100644 index ffa35a6..0000000 --- a/puppet-2.7.18.tar.gz.asc +++ /dev/null @@ -1,18 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG/MacGPG2 v2.0.18 (Darwin) -Comment: GPGTools - http://gpgtools.org - -iQIcBAABAgAGBQJP/JQ9AAoJEBBUt6JL1uwwko0P/igNdI01Lkss73TaRRSGiJcF -dLSSqyNjrgyiAoZkBTlyL7qPf76l5t7qhzO6cjj6q64e5yaGfZAbr65d4LhIGs7Z -fcpzC4MpRhcaZKTqp9864Fhwd0UC/rzMAMaR1bRkSLVgcR0F6WXDcoclnwcRZXb5 -e6b51JI85G0lyQB95Gq0SIUZQ/n8OsMDC/IhLpJLCbZIw7jRB1hciFPL6SuMGFlK -Zw+3ZpMwWGOpLU0bxLL6Nw54vVwJDf1pq/Upi+EChPdkzJQw2rZR0qwDlavNd6Ax -mEBwFyBOQ/mEiIRZslQk/TYQ+xuq3eCSk11E3ZJ+VDx2h7T4mqdEdZRoYmwliGOW -EXR/+QmB7Jqmgi0Ue0Y1LYUsydHKvXYTeR8R/wmm4O3qD8CTQ0SxbsemO78o/dp0 -pM++wMjoAKO5vyZ0/3k+kblIzXy+BYdzeqThZArMhV5q3iIm5daYSegyIA4RCSgG -mnyTGtaSQRQP685gwGdlF9P1kfrhnvw7UK2HW3WDsmkZh9lGlKSM3stwlB4FgXGu -9OAFFhRVh23Ka5B6CAXBqIdXvjz3LOmKKalxcRwR36UEaJZ4OIlTDMAmbXofOvHq -YbR0dWBovVMUn7N9vMC5AosOXApbQWNQINW2th21KV4lNvzc76bi3j5iTMsBKARE -qNhzL1TXuJYNPUv88UxJ -=mjJz ------END PGP SIGNATURE----- diff --git a/puppet-3.0.2.tar.gz.asc b/puppet-3.0.2.tar.gz.asc new file mode 100644 index 0000000..656d979 --- /dev/null +++ b/puppet-3.0.2.tar.gz.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG/MacGPG2 v2.0.18 (Darwin) +Comment: GPGTools - http://gpgtools.org + +iQIcBAABAgAGBQJQ24gaAAoJEBBUt6JL1uwwFBQP/Rnl+wuQW9cq7MC3JCGpNwNn +8RkUvEnFCCzvomfRd7LXhzJ4b/X0EPQNr5Kr3VNEDpHJgekLdddb+NJRec22FXnV +TV11sf6meeDBYMyYm0tz1+OXjW+eBLklRVtM9eHzP6B8OTcfmreGBGtMMexQkgch +QYVZYL8g4v9464K5KJ8kU+5Wa9vXfulfMNz0sPAcjCWaqu6whE+LoCd29pWkBhGf +q14fqmKJK2A8V8FyGrcUn/v6Pg2vLizS5gmna+1w7tHGfyDViKA9U4lj0nA/Y7/n +NISQk0l0VXlsrFoUtk3+TaOvAzvO0fQ3opwELvLsyBf+76JUZZqgbfUaNtk1l7sY +PR4plQRJ2hDIzKOvEkonnqHe8OnSTw0S3mdCxq8oVF5VUvgynpw3YNIfLrWVArNW +Zzskz/nfyD/oaJDimwi+JdgLcEInUJWws98ElgaLOBb43reirNXAgYCXl53jwf/e +dzOIyspL9OmrISoff0hvH2lP6RmJ5mX30KaIkNN0St9fhg/9dmI1NGB3vwiEJwyq +GdHd+j3ViZsgMW2nC2Wi258Wk6zMvNWKn+7rYWmaeZwwTLSYECI7oRtshuFKYirz +TpcIRBFuBbgoSX1rrt0DFhB6sQRzbDPaLl4DMeUdRw5OK+EkKVurfbenhkLqMO// +IQJbtEkNKqARBCpvuyKY +=ljH5 +-----END PGP SIGNATURE----- diff --git a/puppet.spec b/puppet.spec index 28563ce..38e92c1 100644 --- a/puppet.spec +++ b/puppet.spec @@ -8,30 +8,32 @@ %global puppet_libdir %(ruby -rrbconfig -e 'puts RbConfig::CONFIG["sitelibdir"]') %endif -%global confdir conf/redhat +# F-17 also ships with systemd; package/use systemd files in this case +%if 0%{?fedora} >= 17 +%global _with_systemd 1 +%else +%global _with_systemd 0 +%endif + +%global confdir ext/redhat %global ruby_version %(ruby -rrbconfig -e 'puts RbConfig::CONFIG["ruby_version"]') Name: puppet -Version: 2.7.18 +Version: 3.0.2 Release: 1%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 URL: http://puppetlabs.com Source0: http://downloads.puppetlabs.com/%{name}/%{name}-%{version}.tar.gz Source1: http://downloads.puppetlabs.com/%{name}/%{name}-%{version}.tar.gz.asc -Source2: puppetstoredconfigclean.rb -Source3: puppet-nm-dispatcher -# https://projects.puppetlabs.com/issues/11325 -# https://github.com/puppetlabs/puppet/commit/a71208ba -Patch0: 0001-Ruby-1.9.3-has-a-different-error-when-require-fails.patch -Patch1: 0001-Preserve-timestamps-when-installing-files.patch +Source2: puppet-nm-dispatcher Group: System Environment/Base BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) -BuildRequires: facter >= 1.5 -BuildRequires: ruby >= 1.8.5 +BuildRequires: facter >= 1.6.6 +BuildRequires: ruby >= 1.8.7 %if 0%{?fedora} || 0%{?rhel} >= 5 BuildArch: noarch @@ -51,17 +53,28 @@ Requires: ruby(shadow) %endif %endif -Requires: facter >= 1.5 +Requires: facter >= 1.6.6 +Requires: hiera >= 1.0.0 +Obsoletes: hiera-puppet < 1.0.0-2 +Provides: hiera-puppet = %{version}-%{release} + +# Puppet 3.x drops ruby 1.8.5 support and adds ruby 1.9 support %if "%{ruby_version}" == "1.8" -Requires: ruby >= 1.8.5 +Requires: ruby >= 1.8.7 %endif %{!?_without_augeas:Requires: ruby(augeas)} Requires(pre): shadow-utils +%if 0%{?_with_systemd} +Requires(post): systemd +Requires(preun): systemd +Requires(postun): systemd +%else Requires(post): chkconfig Requires(preun): chkconfig Requires(preun): initscripts Requires(postun): initscripts +%endif %description Puppet lets you centrally manage every important aspect of your system using a @@ -73,10 +86,16 @@ along with obviously discrete elements like packages, services, and files. Group: System Environment/Base Summary: Server for the puppet system management tool Requires: puppet = %{version}-%{release} +%if 0%{?_with_systemd} +Requires(post): systemd +Requires(preun): systemd +Requires(postun): systemd +%else Requires(post): chkconfig Requires(preun): chkconfig Requires(preun): initscripts Requires(postun): initscripts +%endif %description server Provides the central puppet server daemon which provides manifests to clients. @@ -84,9 +103,7 @@ The server can also function as a certificate authority and file server. %prep %setup -q -%patch0 -p1 -%patch1 -p1 -patch -s -p1 < conf/redhat/rundir-perms.patch +patch -s -p1 < %{confdir}/rundir-perms.patch # Fix some rpmlint complaints for f in mac_dscl.pp mac_dscl_revert.pp \ @@ -94,7 +111,7 @@ for f in mac_dscl.pp mac_dscl_revert.pp \ sed -i -e'1d' examples/$f chmod a-x examples/$f done -for f in external/nagios.rb network/http_server/mongrel.rb relationship.rb; do +for f in external/nagios.rb relationship.rb; do sed -i -e '1d' lib/puppet/$f done chmod +x ext/puppet-load.rb ext/regexp_nodes/regexp_nodes.rb @@ -117,36 +134,26 @@ install -d -m0755 %{buildroot}%{_datadir}/%{name}/modules install -d -m0755 %{buildroot}%{_localstatedir}/lib/puppet install -d -m0755 %{buildroot}%{_localstatedir}/run/puppet install -d -m0750 %{buildroot}%{_localstatedir}/log/puppet + +%if 0%{?_with_systemd} +%{__install} -d -m0755 %{buildroot}%{_unitdir} +install -Dp -m0644 ext/systemd/puppetagent.service %{buildroot}%{_unitdir}/puppetagent.service +install -Dp -m0644 ext/systemd/puppetmaster.service %{buildroot}%{_unitdir}/puppetmaster.service +%else install -Dp -m0644 %{confdir}/client.sysconfig %{buildroot}%{_sysconfdir}/sysconfig/puppet install -Dp -m0755 %{confdir}/client.init %{buildroot}%{_initrddir}/puppet install -Dp -m0644 %{confdir}/server.sysconfig %{buildroot}%{_sysconfdir}/sysconfig/puppetmaster install -Dp -m0755 %{confdir}/server.init %{buildroot}%{_initrddir}/puppetmaster +install -Dp -m0755 %{confdir}/queue.init %{buildroot}%{_initrddir}/puppetqueue +%endif + install -Dp -m0644 %{confdir}/fileserver.conf %{buildroot}%{_sysconfdir}/puppet/fileserver.conf install -Dp -m0644 %{confdir}/puppet.conf %{buildroot}%{_sysconfdir}/puppet/puppet.conf install -Dp -m0644 %{confdir}/logrotate %{buildroot}%{_sysconfdir}/logrotate.d/puppet -# We need something for these ghosted files, otherwise rpmbuild -# will complain loudly. They won't be included in the binary packages -touch %{buildroot}%{_sysconfdir}/puppet/puppetmasterd.conf -touch %{buildroot}%{_sysconfdir}/puppet/puppetca.conf -touch %{buildroot}%{_sysconfdir}/puppet/puppetd.conf - -# Replace redundant man pages with links to the canonical man page -pushd %{buildroot}%{_mandir}/man8 >/dev/null -ln -svf puppet-cert.8.gz puppetca.8.gz -ln -svf puppet-queue.8.gz puppetqd.8.gz -ln -svf puppet-kick.8.gz puppetrun.8.gz -ln -svf puppet-describe.8.gz pi.8.gz -ln -svf puppet-master.8.gz puppetmasterd.8.gz -ln -svf puppet-filebucket.8.gz filebucket.8.gz -ln -svf puppet-agent.8.gz puppetd.8.gz -ln -svf puppet-doc.8.gz puppetdoc.8.gz -ln -svf puppet-resource.8.gz ralsh.8.gz -popd >/dev/null - # Install a NetworkManager dispatcher script to pickup changes to # /etc/resolv.conf and such (https://bugzilla.redhat.com/532085). -install -Dpv %{SOURCE3} \ +install -Dpv %{SOURCE2} \ %{buildroot}%{_sysconfdir}/NetworkManager/dispatcher.d/98-%{name} # Install the ext/ directory to %%{_datadir}/%%{name} @@ -154,12 +161,10 @@ install -d %{buildroot}%{_datadir}/%{name} cp -a ext/ %{buildroot}%{_datadir}/%{name} # emacs and vim bits are installed elsewhere rm -rf %{buildroot}%{_datadir}/%{name}/ext/{emacs,vim} - -# The puppetstoredconfigclean script was removed now that puppet node clean -# does this job and more. For folks that were using this, let's provide the -# script and give them a hint to use puppet node clean. Remove this for the -# next major release after 2.7. -install -pv %{SOURCE2} %{buildroot}%{_datadir}/%{name}/ext/ +# remove misc packaging artifacts in source not applicable to rpm +rm -rf %{buildroot}%{_datadir}/%{name}/ext/{gentoo,freebsd,solaris,suse,windows,osx,ips,debian} +rm -f %{buildroot}%{_datadir}/%{name}/ext/{build_defaults.yaml,project_data.yaml} +rm -f %{buildroot}%{_datadir}/%{name}/ext/redhat/*.init # Install emacs mode files emacsdir=%{buildroot}%{_datadir}/emacs/site-lisp @@ -179,27 +184,28 @@ echo "D /var/run/%{name} 0755 %{name} %{name} -" > \ %{buildroot}%{_sysconfdir}/tmpfiles.d/%{name}.conf %endif +# Create puppet modules directory for puppet module tool +mkdir -p %{buildroot}%{_sysconfdir}/%{name}/modules + %files %defattr(-, root, root, 0755) -%doc CHANGELOG LICENSE README.md examples -%{_bindir}/pi +%doc LICENSE README.md examples %{_bindir}/puppet -%{_bindir}/ralsh -%{_bindir}/filebucket -%{_bindir}/puppetdoc -%{_sbindir}/puppetca -%{_sbindir}/puppetd +%{_bindir}/extlookup2hiera %{puppet_libdir}/* +%if 0%{?_with_systemd} +%{_unitdir}/puppetagent.service +%else %{_initrddir}/puppet +%config(noreplace) %{_sysconfdir}/sysconfig/puppet +%endif %dir %{_sysconfdir}/puppet +%dir %{_sysconfdir}/%{name}/modules %if 0%{?fedora} >= 15 %config(noreplace) %{_sysconfdir}/tmpfiles.d/%{name}.conf %endif -%config(noreplace) %{_sysconfdir}/sysconfig/puppet %config(noreplace) %{_sysconfdir}/puppet/puppet.conf %config(noreplace) %{_sysconfdir}/puppet/auth.conf -%ghost %config(noreplace,missingok) %{_sysconfdir}/puppet/puppetca.conf -%ghost %config(noreplace,missingok) %{_sysconfdir}/puppet/puppetd.conf %config(noreplace) %{_sysconfdir}/logrotate.d/puppet %dir %{_sysconfdir}/NetworkManager %dir %{_sysconfdir}/NetworkManager/dispatcher.d @@ -213,33 +219,54 @@ echo "D /var/run/%{name} 0755 %{name} %{name} -" > \ %attr(-, puppet, puppet) %{_localstatedir}/run/puppet %attr(0750, puppet, puppet) %{_localstatedir}/log/puppet %attr(-, puppet, puppet) %{_localstatedir}/lib/puppet -# Exclude man pages from the server package -%exclude %{_mandir}/man8/puppet-kick.8.gz -%exclude %{_mandir}/man8/puppet-master.8.gz -%exclude %{_mandir}/man8/puppet-queue.8.gz -%exclude %{_mandir}/man8/puppetmasterd.8.gz -%exclude %{_mandir}/man8/puppetqd.8.gz -%exclude %{_mandir}/man8/puppetrun.8.gz %{_mandir}/man5/puppet.conf.5.gz -%{_mandir}/man8/*.8.gz +%{_mandir}/man8/puppet.8.gz +%{_mandir}/man8/puppet-agent.8.gz +%{_mandir}/man8/puppet-apply.8.gz +%{_mandir}/man8/puppet-catalog.8.gz +%{_mandir}/man8/puppet-describe.8.gz +%{_mandir}/man8/puppet-ca.8.gz +%{_mandir}/man8/puppet-cert.8.gz +%{_mandir}/man8/puppet-certificate.8.gz +%{_mandir}/man8/puppet-certificate_request.8.gz +%{_mandir}/man8/puppet-certificate_revocation_list.8.gz +%{_mandir}/man8/puppet-config.8.gz +%{_mandir}/man8/puppet-device.8.gz +%{_mandir}/man8/puppet-doc.8.gz +%{_mandir}/man8/puppet-facts.8.gz +%{_mandir}/man8/puppet-file.8.gz +%{_mandir}/man8/puppet-filebucket.8.gz +%{_mandir}/man8/puppet-help.8.gz +%{_mandir}/man8/puppet-inspect.8.gz +%{_mandir}/man8/puppet-instrumentation_data.8.gz +%{_mandir}/man8/puppet-instrumentation_listener.8.gz +%{_mandir}/man8/puppet-instrumentation_probe.8.gz +%{_mandir}/man8/puppet-key.8.gz +%{_mandir}/man8/puppet-man.8.gz +%{_mandir}/man8/puppet-module.8.gz +%{_mandir}/man8/puppet-node.8.gz +%{_mandir}/man8/puppet-parser.8.gz +%{_mandir}/man8/puppet-plugin.8.gz +%{_mandir}/man8/puppet-report.8.gz +%{_mandir}/man8/puppet-resource.8.gz +%{_mandir}/man8/puppet-resource_type.8.gz +%{_mandir}/man8/puppet-secret_agent.8.gz +%{_mandir}/man8/puppet-status.8.gz %files server %defattr(-, root, root, 0755) -%{_sbindir}/puppetmasterd -%{_sbindir}/puppetrun -%{_sbindir}/puppetqd +%if 0%{?_with_systemd} +%{_unitdir}/puppetmaster.service +%else %{_initrddir}/puppetmaster +%{_initrddir}/puppetqueue +%config(noreplace) %{_sysconfdir}/sysconfig/puppetmaster +%endif %config(noreplace) %{_sysconfdir}/puppet/fileserver.conf %dir %{_sysconfdir}/puppet/manifests -%config(noreplace) %{_sysconfdir}/sysconfig/puppetmaster -%ghost %config(noreplace,missingok) %{_sysconfdir}/puppet/puppetmasterd.conf -# Ensure that man pages listed here are excluded from the main package %{_mandir}/man8/puppet-kick.8.gz %{_mandir}/man8/puppet-master.8.gz %{_mandir}/man8/puppet-queue.8.gz -%{_mandir}/man8/puppetmasterd.8.gz -%{_mandir}/man8/puppetqd.8.gz -%{_mandir}/man8/puppetrun.8.gz # Fixed uid/gid were assigned in bz 472073 (Fedora), 471918 (RHEL-5), # and 471919 (RHEL-4) @@ -255,37 +282,81 @@ fi exit 0 %post +%if 0%{?_with_systemd} +/bin/systemctl daemon-reload >/dev/null 2>&1 || : +%else /sbin/chkconfig --add puppet || : +%endif %post server +%if 0%{?_with_systemd} +/bin/systemctl daemon-reload >/dev/null 2>&1 || : +%else /sbin/chkconfig --add puppetmaster || : +%endif %preun +%if 0%{?_with_systemd} +if [ "$1" -eq 0 ] ; then + /bin/systemctl --no-reload disable puppetagent.service > /dev/null 2>&1 || : + /bin/systemctl stop puppetagent.service > /dev/null 2>&1 || : + /bin/systemctl daemon-reload >/dev/null 2>&1 || : +fi +%else if [ "$1" = 0 ] ; then /sbin/service puppet stop >/dev/null 2>&1 /sbin/chkconfig --del puppet || : fi +%endif %preun server +%if 0%{?_with_systemd} +if [ $1 -eq 0 ] ; then + /bin/systemctl --no-reload disable puppetmaster.service > /dev/null 2>&1 || : + /bin/systemctl stop puppetmaster.service > /dev/null 2>&1 || : + /bin/systemctl daemon-reload >/dev/null 2>&1 || : +fi +%else if [ "$1" = 0 ] ; then /sbin/service puppetmaster stop >/dev/null 2>&1 /sbin/chkconfig --del puppetmaster || : fi +%endif %postun +%if 0%{?_with_systemd} +if [ $1 -ge 1 ] ; then + /bin/systemctl try-restart puppetagent.service >/dev/null 2>&1 || : +fi +%else if [ "$1" -ge 1 ]; then /sbin/service puppet condrestart >/dev/null 2>&1 || : fi +%endif %postun server +%if 0%{?_with_systemd} +if [ $1 -ge 1 ] ; then + /bin/systemctl try-restart puppetmaster.service >/dev/null 2>&1 || : +fi +%else if [ "$1" -ge 1 ]; then /sbin/service puppetmaster condrestart >/dev/null 2>&1 || : fi +%endif %clean rm -rf %{buildroot} %changelog +* Tue Oct 30 2012 Moses Mendoza - 3.0.2-1 +- Update to 3.0.2 +- Update new dependencies (ruby >= 1.8.7, facter >= 1.6.6, hiera >= 1.0.0) +- Update for manpage and file changes in upstream +- Add conditionals for systemd service management +- Remove 0001-Ruby-1.9.3-has-a-different-error-when-require-fails.patch +- Remove 0001-Preserve-timestamps-when-installing-files.patch + * Wed Jul 11 2012 Todd Zullinger - 2.7.18-1 - Update to 2.7.17, fixes CVE-2012-3864, CVE-2012-3865, CVE-2012-3866, CVE-2012-3867 diff --git a/puppetstoredconfigclean.rb b/puppetstoredconfigclean.rb deleted file mode 100644 index 3d0abdd..0000000 --- a/puppetstoredconfigclean.rb +++ /dev/null @@ -1,109 +0,0 @@ -#!/usr/bin/env ruby - -# Script to clean up stored configs for (a) given host(s) -# -# Credits: -# Script was taken from http://reductivelabs.com/trac/puppet/attachment/wiki/UsingStoredConfiguration/kill_node_in_storedconfigs_db.rb (link no longer valid), -# which haven been initially posted by James Turnbull -# duritong adapted and improved the script a bit. - -require 'getoptlong' -require 'puppet' -require 'puppet/rails' - -config = Puppet[:config] - -def printusage(error_code) - puts "Usage: #{$0} [ list of hostnames as stored in hosts table ]" - puts "\n Options:" - puts "--config " - exit(error_code) -end - -# Print a deprecation notice, pointing to puppet node clean the supported -# method of cleaning nodes in puppet >= 2.7. Unfortunately, puppet node clean -# removes far more than just storedconfig data. -puts "\nTHIS SCRIPT IS DEPRECATED." -puts "'puppet node clean' replaces it, but also removes certificates and reports.\n\n" - -opts = GetoptLong.new( - [ "--config", "-c", GetoptLong::REQUIRED_ARGUMENT ], - [ "--help", "-h", GetoptLong::NO_ARGUMENT ], - [ "--usage", "-u", GetoptLong::NO_ARGUMENT ], - [ "--version", "-v", GetoptLong::NO_ARGUMENT ] -) - -begin - opts.each do |opt, arg| - case opt - when "--config" - config = arg - - when "--help" - printusage(0) - - when "--usage" - printusage(0) - - when "--version" - puts "#{Puppet.version}" - exit - end - end -rescue GetoptLong::InvalidOption => detail - $stderr.puts "Try '#{$0} --help'" - exit(1) -end - -printusage(1) unless ARGV.size > 0 - -if config != Puppet[:config] - Puppet[:config]=config - Puppet.settings.parse -end - -master = Puppet.settings.instance_variable_get(:@values)[:master] -main = Puppet.settings.instance_variable_get(:@values)[:main] -db_config = main.merge(master) - -# get default values -[:master, :main, :rails].each do |section| - Puppet.settings.params(section).each do |key| - db_config[key] ||= Puppet[key] - end -end - -adapter = db_config[:dbadapter] -args = {:adapter => adapter, :log_level => db_config[:rails_loglevel]} - -case adapter - when "sqlite3" - args[:dbfile] = db_config[:dblocation] - when "mysql", "mysql2", "postgresql" - args[:host] = db_config[:dbserver] unless db_config[:dbserver].to_s.empty? - args[:username] = db_config[:dbuser] unless db_config[:dbuser].to_s.empty? - args[:password] = db_config[:dbpassword] unless db_config[:dbpassword].to_s.empty? - args[:database] = db_config[:dbname] unless db_config[:dbname].to_s.empty? - args[:port] = db_config[:dbport] unless db_config[:dbport].to_s.empty? - socket = db_config[:dbsocket] - args[:socket] = socket unless socket.to_s.empty? - else - raise ArgumentError, "Invalid db adapter #{adapter}" -end - -args[:database] = "puppet" unless not args[:database].to_s.empty? - -ActiveRecord::Base.establish_connection(args) - -ARGV.each do |hostname| - if @host = Puppet::Rails::Host.find_by_name(hostname.strip) - print "Removing #{hostname} from storedconfig..." - $stdout.flush - @host.destroy - puts "done." - else - puts "Error: Can't find host #{hostname}." - end -end - -exit 0 From b547e9d820885eb59ffdcf25bd3fe405efdf83b2 Mon Sep 17 00:00:00 2001 From: Michael Stahnke Date: Fri, 28 Dec 2012 11:03:39 -0800 Subject: [PATCH 082/272] Update sources From be0b3c3e4b188ac083aa1105fdd9f3c358efc905 Mon Sep 17 00:00:00 2001 From: Michael Stahnke Date: Fri, 28 Dec 2012 11:04:01 -0800 Subject: [PATCH 083/272] Update sources From 77fca2933ec3f4e7704d4f48764d4cbd0eee188e Mon Sep 17 00:00:00 2001 From: Michael Stahnke Date: Fri, 28 Dec 2012 12:25:32 -0800 Subject: [PATCH 084/272] Stop fighting .gitignore The settings in the .gitignore file were preventing my commit from actually working. Boo. Signed-off-by: Michael Stahnke --- .gitignore | 2 +- sources | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 310dfe7..88290ca 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,5 @@ *~ *.rpm *.tar.gz +*.tar.gz.ac /.build*.log -/puppet-*/ diff --git a/sources b/sources index d232dc6..d8473a5 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ -210725704692a0ca7b8ffc312471796e puppet-2.7.18.tar.gz +c4507a83679df9f6c8409d97cc6ef757 puppet-3.0.2.tar.gz +ca2521e8af245f25cb54f5a167b0a183 puppet-3.0.2.tar.gz.asc From 9d740cbb34a98ae546fe9e677594a41a22dec7d9 Mon Sep 17 00:00:00 2001 From: Michael Stahnke Date: Fri, 28 Dec 2012 17:40:55 -0800 Subject: [PATCH 085/272] Update gitignore once more Updating to fix typo of ac to asc. Also re-adding /puppet-*/. --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 88290ca..b490e46 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ *~ *.rpm *.tar.gz -*.tar.gz.ac +*.tar.gz.asc +/puppet-*/ /.build*.log From 3194a84e47fe9885681af7d4b2312515b56e5d89 Mon Sep 17 00:00:00 2001 From: Michael Stahnke Date: Wed, 13 Feb 2013 16:29:16 -0800 Subject: [PATCH 086/272] Update rawhide to 3.1.0 --- puppet.spec | 17 ++++++++--------- sources | 4 ++-- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/puppet.spec b/puppet.spec index 38e92c1..f3ace0c 100644 --- a/puppet.spec +++ b/puppet.spec @@ -19,7 +19,7 @@ %global ruby_version %(ruby -rrbconfig -e 'puts RbConfig::CONFIG["ruby_version"]') Name: puppet -Version: 3.0.2 +Version: 3.1.0 Release: 1%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 @@ -106,8 +106,9 @@ The server can also function as a certificate authority and file server. patch -s -p1 < %{confdir}/rundir-perms.patch # Fix some rpmlint complaints -for f in mac_dscl.pp mac_dscl_revert.pp \ - mac_pkgdmg.pp ; do +for f in mac_automount.pp mcx_dock_absent.pp mcx_dock_default.pp \ + mcx_dock_full.pp mcx_dock_invalid.pp mcx_nogroup.pp \ + mcx_notexists_absent.pp; do sed -i -e'1d' examples/$f chmod a-x examples/$f done @@ -116,12 +117,6 @@ for f in external/nagios.rb relationship.rb; do done chmod +x ext/puppet-load.rb ext/regexp_nodes/regexp_nodes.rb -find examples/ -type f -empty | xargs rm -find examples/ -type f | xargs chmod a-x - -# puppet-queue.conf is more of an example, used for stompserver -mv conf/puppet-queue.conf examples/etc/puppet/ - %build # Nothing to build @@ -252,6 +247,7 @@ mkdir -p %{buildroot}%{_sysconfdir}/%{name}/modules %{_mandir}/man8/puppet-resource_type.8.gz %{_mandir}/man8/puppet-secret_agent.8.gz %{_mandir}/man8/puppet-status.8.gz +%{_mandir}/man8/extlookup2hiera.8.gz %files server %defattr(-, root, root, 0755) @@ -349,6 +345,9 @@ fi rm -rf %{buildroot} %changelog +* Mon Feb 11 2013 Sam Kottler - 3.1.0-1 +- Update to 3.1.0 + * Tue Oct 30 2012 Moses Mendoza - 3.0.2-1 - Update to 3.0.2 - Update new dependencies (ruby >= 1.8.7, facter >= 1.6.6, hiera >= 1.0.0) diff --git a/sources b/sources index d8473a5..1290ba0 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -c4507a83679df9f6c8409d97cc6ef757 puppet-3.0.2.tar.gz -ca2521e8af245f25cb54f5a167b0a183 puppet-3.0.2.tar.gz.asc +4cbdcc9dfcda677c820175375a500651 puppet-3.1.0.tar.gz +d2e905ef5ae97b8b196f508082fb4680 puppet-3.1.0.tar.gz.asc From 986d96a1ae9fbab6a5c02d2b2768cbdd1bd5857b Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Thu, 14 Feb 2013 12:32:18 -0600 Subject: [PATCH 087/272] - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild --- puppet.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/puppet.spec b/puppet.spec index 38e92c1..66bd62c 100644 --- a/puppet.spec +++ b/puppet.spec @@ -20,7 +20,7 @@ Name: puppet Version: 3.0.2 -Release: 1%{?dist} +Release: 2%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 URL: http://puppetlabs.com @@ -349,6 +349,9 @@ fi rm -rf %{buildroot} %changelog +* Thu Feb 14 2013 Fedora Release Engineering - 3.0.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + * Tue Oct 30 2012 Moses Mendoza - 3.0.2-1 - Update to 3.0.2 - Update new dependencies (ruby >= 1.8.7, facter >= 1.6.6, hiera >= 1.0.0) From bf3db4410d2aa04bc8c6e0779549577532c546b5 Mon Sep 17 00:00:00 2001 From: Daniel Drake Date: Thu, 7 Mar 2013 16:12:39 -0600 Subject: [PATCH 088/272] Improve compat with old clients --- puppet.spec | 8 +++++- puppetmaster-old-client-compat.patch | 39 ++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 puppetmaster-old-client-compat.patch diff --git a/puppet.spec b/puppet.spec index f3ace0c..02c3f73 100644 --- a/puppet.spec +++ b/puppet.spec @@ -20,7 +20,7 @@ Name: puppet Version: 3.1.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 URL: http://puppetlabs.com @@ -28,6 +28,8 @@ Source0: http://downloads.puppetlabs.com/%{name}/%{name}-%{version}.tar.g Source1: http://downloads.puppetlabs.com/%{name}/%{name}-%{version}.tar.gz.asc Source2: puppet-nm-dispatcher +Patch0: puppetmaster-old-client-compat.patch + Group: System Environment/Base BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -103,6 +105,7 @@ The server can also function as a certificate authority and file server. %prep %setup -q +%patch0 -p1 patch -s -p1 < %{confdir}/rundir-perms.patch # Fix some rpmlint complaints @@ -345,6 +348,9 @@ fi rm -rf %{buildroot} %changelog +* Thu Mar 7 2013 Daniel Drake - 3.1.0-2 +- Improve server compatibility with old puppet clients (#831303) + * Mon Feb 11 2013 Sam Kottler - 3.1.0-1 - Update to 3.1.0 diff --git a/puppetmaster-old-client-compat.patch b/puppetmaster-old-client-compat.patch new file mode 100644 index 0000000..3787cde --- /dev/null +++ b/puppetmaster-old-client-compat.patch @@ -0,0 +1,39 @@ +From ec462b7b974fc34110437010f862780fb2ee39a3 Mon Sep 17 00:00:00 2001 +From: Daniel Drake +Date: Thu, 14 Feb 2013 15:05:10 -0600 +Subject: [PATCH] (#18781) Be more tolerant of old clients in WEBrick server + +In #18781 and #6117 there are cases of relatively simplistic puppet +setups failing between old versions of the puppet client (which +always use HTTP GET) and new versions of the puppet WEBrick server +(which has a relatively low limit on the size of a valid GET: 2083 +bytes). + +While there are other non-WEBrick server options available, WEBrick +has the advantage of simplicity, so it would be nice to keep it working. + +Here we patch the WEBrick constant which specifies the maximum size of +a HTTP GET request, increasing it to a value that should work for common +setups. +--- + lib/puppet/util/monkey_patches.rb | 9 +++++++++ + 1 file changed, 9 insertions(+) + +Index: puppet-3.1.0/lib/puppet/util/monkey_patches.rb +=================================================================== +--- puppet-3.1.0.orig/lib/puppet/util/monkey_patches.rb ++++ puppet-3.1.0/lib/puppet/util/monkey_patches.rb +@@ -356,3 +356,13 @@ unless Dir.respond_to?(:mktmpdir) + end + end + end ++ ++# Old puppet clients may make large GET requests, lets be reasonably tolerant ++# in our default WEBrick server. ++require 'webrick' ++if defined?(WEBrick::HTTPRequest::MAX_URI_LENGTH) and WEBrick::HTTPRequest::MAX_URI_LENGTH < 8192 ++ # Silence ruby warning: already initialized constant MAX_URI_LENGTH ++ v, $VERBOSE = $VERBOSE, nil ++ WEBrick::HTTPRequest.const_set("MAX_URI_LENGTH", 8192) ++ $VERBOSE = v ++end From 821adb94316c853dfa2b03c883a1be232fbccdab Mon Sep 17 00:00:00 2001 From: Daniel Drake Date: Thu, 7 Mar 2013 16:12:39 -0600 Subject: [PATCH 089/272] Improve compat with old clients --- puppet.spec | 8 +++++- puppetmaster-old-client-compat.patch | 39 ++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 puppetmaster-old-client-compat.patch diff --git a/puppet.spec b/puppet.spec index 38e92c1..fed9e16 100644 --- a/puppet.spec +++ b/puppet.spec @@ -20,7 +20,7 @@ Name: puppet Version: 3.0.2 -Release: 1%{?dist} +Release: 2%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 URL: http://puppetlabs.com @@ -28,6 +28,8 @@ Source0: http://downloads.puppetlabs.com/%{name}/%{name}-%{version}.tar.g Source1: http://downloads.puppetlabs.com/%{name}/%{name}-%{version}.tar.gz.asc Source2: puppet-nm-dispatcher +Patch0: puppetmaster-old-client-compat.patch + Group: System Environment/Base BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -103,6 +105,7 @@ The server can also function as a certificate authority and file server. %prep %setup -q +%patch0 -p1 patch -s -p1 < %{confdir}/rundir-perms.patch # Fix some rpmlint complaints @@ -349,6 +352,9 @@ fi rm -rf %{buildroot} %changelog +* Thu Mar 7 2013 Daniel Drake - 3.0.2-2 +- Improve server compatibility with old puppet clients (#831303) + * Tue Oct 30 2012 Moses Mendoza - 3.0.2-1 - Update to 3.0.2 - Update new dependencies (ruby >= 1.8.7, facter >= 1.6.6, hiera >= 1.0.0) diff --git a/puppetmaster-old-client-compat.patch b/puppetmaster-old-client-compat.patch new file mode 100644 index 0000000..95323a8 --- /dev/null +++ b/puppetmaster-old-client-compat.patch @@ -0,0 +1,39 @@ +From ec462b7b974fc34110437010f862780fb2ee39a3 Mon Sep 17 00:00:00 2001 +From: Daniel Drake +Date: Thu, 14 Feb 2013 15:05:10 -0600 +Subject: [PATCH] (#18781) Be more tolerant of old clients in WEBrick server + +In #18781 and #6117 there are cases of relatively simplistic puppet +setups failing between old versions of the puppet client (which +always use HTTP GET) and new versions of the puppet WEBrick server +(which has a relatively low limit on the size of a valid GET: 2083 +bytes). + +While there are other non-WEBrick server options available, WEBrick +has the advantage of simplicity, so it would be nice to keep it working. + +Here we patch the WEBrick constant which specifies the maximum size of +a HTTP GET request, increasing it to a value that should work for common +setups. +--- + lib/puppet/util/monkey_patches.rb | 9 +++++++++ + 1 file changed, 9 insertions(+) + +Index: puppet-3.0.2/lib/puppet/util/monkey_patches.rb +=================================================================== +--- puppet-3.0.2.orig/lib/puppet/util/monkey_patches.rb ++++ puppet-3.0.2/lib/puppet/util/monkey_patches.rb +@@ -310,3 +310,13 @@ if RUBY_VERSION == '1.8.5' + module_function :move + end + end ++ ++# Old puppet clients may make large GET requests, lets be reasonably tolerant ++# in our default WEBrick server. ++require 'webrick' ++if defined?(WEBrick::HTTPRequest::MAX_URI_LENGTH) and WEBrick::HTTPRequest::MAX_URI_LENGTH < 8192 ++ # Silence ruby warning: already initialized constant MAX_URI_LENGTH ++ v, $VERBOSE = $VERBOSE, nil ++ WEBrick::HTTPRequest.const_set("MAX_URI_LENGTH", 8192) ++ $VERBOSE = v ++end From d1a6c22676b220c0393c86124c2c205154cc3fcd Mon Sep 17 00:00:00 2001 From: Michael Stahnke Date: Thu, 7 Mar 2013 17:35:20 -0800 Subject: [PATCH 090/272] remove the asc file laying around --- puppet-3.0.2.tar.gz.asc | 18 ------------------ 1 file changed, 18 deletions(-) delete mode 100644 puppet-3.0.2.tar.gz.asc diff --git a/puppet-3.0.2.tar.gz.asc b/puppet-3.0.2.tar.gz.asc deleted file mode 100644 index 656d979..0000000 --- a/puppet-3.0.2.tar.gz.asc +++ /dev/null @@ -1,18 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG/MacGPG2 v2.0.18 (Darwin) -Comment: GPGTools - http://gpgtools.org - -iQIcBAABAgAGBQJQ24gaAAoJEBBUt6JL1uwwFBQP/Rnl+wuQW9cq7MC3JCGpNwNn -8RkUvEnFCCzvomfRd7LXhzJ4b/X0EPQNr5Kr3VNEDpHJgekLdddb+NJRec22FXnV -TV11sf6meeDBYMyYm0tz1+OXjW+eBLklRVtM9eHzP6B8OTcfmreGBGtMMexQkgch -QYVZYL8g4v9464K5KJ8kU+5Wa9vXfulfMNz0sPAcjCWaqu6whE+LoCd29pWkBhGf -q14fqmKJK2A8V8FyGrcUn/v6Pg2vLizS5gmna+1w7tHGfyDViKA9U4lj0nA/Y7/n -NISQk0l0VXlsrFoUtk3+TaOvAzvO0fQ3opwELvLsyBf+76JUZZqgbfUaNtk1l7sY -PR4plQRJ2hDIzKOvEkonnqHe8OnSTw0S3mdCxq8oVF5VUvgynpw3YNIfLrWVArNW -Zzskz/nfyD/oaJDimwi+JdgLcEInUJWws98ElgaLOBb43reirNXAgYCXl53jwf/e -dzOIyspL9OmrISoff0hvH2lP6RmJ5mX30KaIkNN0St9fhg/9dmI1NGB3vwiEJwyq -GdHd+j3ViZsgMW2nC2Wi258Wk6zMvNWKn+7rYWmaeZwwTLSYECI7oRtshuFKYirz -TpcIRBFuBbgoSX1rrt0DFhB6sQRzbDPaLl4DMeUdRw5OK+EkKVurfbenhkLqMO// -IQJbtEkNKqARBCpvuyKY -=ljH5 ------END PGP SIGNATURE----- From 398854873ea95589bbf563d37122ae9eb55a655f Mon Sep 17 00:00:00 2001 From: Michael Stahnke Date: Thu, 7 Mar 2013 17:36:58 -0800 Subject: [PATCH 091/272] Update patch to 3.1.0 --- puppet.spec | 5 +++-- puppetmaster-old-client-compat.patch | 9 --------- 2 files changed, 3 insertions(+), 11 deletions(-) diff --git a/puppet.spec b/puppet.spec index 2bf80c0..b53af53 100644 --- a/puppet.spec +++ b/puppet.spec @@ -23,7 +23,7 @@ Name: puppet Version: 3.1.0 -Release: 3%{?dist} +Release: 4%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 URL: http://puppetlabs.com @@ -351,8 +351,9 @@ fi rm -rf %{buildroot} %changelog -* Thu Mar 07 2013 Michael Stahnke - 3.1.0-3 +* Thu Mar 07 2013 Michael Stahnke - 3.1.0-4 - Disable systemd in F18 as per bz#873853 +- Update Patch0 to work with 3.1 * Thu Mar 7 2013 Daniel Drake - 3.1.0-2 - Improve server compatibility with old puppet clients (#831303) diff --git a/puppetmaster-old-client-compat.patch b/puppetmaster-old-client-compat.patch index 4b88900..3787cde 100644 --- a/puppetmaster-old-client-compat.patch +++ b/puppetmaster-old-client-compat.patch @@ -19,21 +19,12 @@ setups. lib/puppet/util/monkey_patches.rb | 9 +++++++++ 1 file changed, 9 insertions(+) -<<<<<<< HEAD -Index: puppet-3.0.2/lib/puppet/util/monkey_patches.rb -=================================================================== ---- puppet-3.0.2.orig/lib/puppet/util/monkey_patches.rb -+++ puppet-3.0.2/lib/puppet/util/monkey_patches.rb -@@ -310,3 +310,13 @@ if RUBY_VERSION == '1.8.5' - module_function :move -======= Index: puppet-3.1.0/lib/puppet/util/monkey_patches.rb =================================================================== --- puppet-3.1.0.orig/lib/puppet/util/monkey_patches.rb +++ puppet-3.1.0/lib/puppet/util/monkey_patches.rb @@ -356,3 +356,13 @@ unless Dir.respond_to?(:mktmpdir) end ->>>>>>> master end end + From e22a5fac51f63e109cb9088c56160577c65bb7a9 Mon Sep 17 00:00:00 2001 From: Michael Stahnke Date: Wed, 13 Mar 2013 17:28:46 -0700 Subject: [PATCH 092/272] Update Puppet to 2.6.18 for various security fixes BZ#920845 Fixes for CVE-2013-1640 CVE-2013-1652 CVE-2013-1653 CVE-2013-1654 CVE-2013-1655 CVE-2013-2274 CVE-2013-2275 see puppetlabs.com/security for more information. This commit also rebases the webrick compatibility patch to be a cherry-pick from upstream rather than a Fedora-specific patch. Signed-off-by: Michael Stahnke --- ...lerant-of-old-clients-in-WEBrick-ser.patch | 21 +++++++++++-------- puppet.spec | 11 +++++++--- sources | 4 ++-- 3 files changed, 22 insertions(+), 14 deletions(-) rename puppetmaster-old-client-compat.patch => 0001-18781-Be-more-tolerant-of-old-clients-in-WEBrick-ser.patch (72%) diff --git a/puppetmaster-old-client-compat.patch b/0001-18781-Be-more-tolerant-of-old-clients-in-WEBrick-ser.patch similarity index 72% rename from puppetmaster-old-client-compat.patch rename to 0001-18781-Be-more-tolerant-of-old-clients-in-WEBrick-ser.patch index 3787cde..f7b210c 100644 --- a/puppetmaster-old-client-compat.patch +++ b/0001-18781-Be-more-tolerant-of-old-clients-in-WEBrick-ser.patch @@ -1,4 +1,4 @@ -From ec462b7b974fc34110437010f862780fb2ee39a3 Mon Sep 17 00:00:00 2001 +From 7bb4a6efee2f6f0c775df5f53b868e7c2e86919f Mon Sep 17 00:00:00 2001 From: Daniel Drake Date: Thu, 14 Feb 2013 15:05:10 -0600 Subject: [PATCH] (#18781) Be more tolerant of old clients in WEBrick server @@ -16,15 +16,15 @@ Here we patch the WEBrick constant which specifies the maximum size of a HTTP GET request, increasing it to a value that should work for common setups. --- - lib/puppet/util/monkey_patches.rb | 9 +++++++++ - 1 file changed, 9 insertions(+) + lib/puppet/util/monkey_patches.rb | 10 ++++++++++ + 1 file changed, 10 insertions(+) -Index: puppet-3.1.0/lib/puppet/util/monkey_patches.rb -=================================================================== ---- puppet-3.1.0.orig/lib/puppet/util/monkey_patches.rb -+++ puppet-3.1.0/lib/puppet/util/monkey_patches.rb -@@ -356,3 +356,13 @@ unless Dir.respond_to?(:mktmpdir) - end +diff --git a/lib/puppet/util/monkey_patches.rb b/lib/puppet/util/monkey_patches.rb +index ca19fa4..f7b13a5 100644 +--- a/lib/puppet/util/monkey_patches.rb ++++ b/lib/puppet/util/monkey_patches.rb +@@ -394,3 +394,13 @@ class OpenSSL::SSL::SSLContext + set_params(params) end end + @@ -37,3 +37,6 @@ Index: puppet-3.1.0/lib/puppet/util/monkey_patches.rb + WEBrick::HTTPRequest.const_set("MAX_URI_LENGTH", 8192) + $VERBOSE = v +end +-- +1.7.12.4 (Apple Git-37) + diff --git a/puppet.spec b/puppet.spec index b53af53..a6d4cc4 100644 --- a/puppet.spec +++ b/puppet.spec @@ -22,8 +22,8 @@ %global ruby_version %(ruby -rrbconfig -e 'puts RbConfig::CONFIG["ruby_version"]') Name: puppet -Version: 3.1.0 -Release: 4%{?dist} +Version: 3.1.1 +Release: 1%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 URL: http://puppetlabs.com @@ -31,7 +31,8 @@ Source0: http://downloads.puppetlabs.com/%{name}/%{name}-%{version}.tar.g Source1: http://downloads.puppetlabs.com/%{name}/%{name}-%{version}.tar.gz.asc Source2: puppet-nm-dispatcher -Patch0: puppetmaster-old-client-compat.patch +# Pulled from upstream, will be released the next time they cut a release from master +Patch0: 0001-18781-Be-more-tolerant-of-old-clients-in-WEBrick-ser.patch Group: System Environment/Base @@ -351,6 +352,10 @@ fi rm -rf %{buildroot} %changelog +* Wed Mar 13 2013 Michael Stahnke - 3.1.1-1 +- Fixes for CVE-2013-1640 CVE-2013-1652 CVE-2013-1653 CVE-2013-1654 +- CVE-2013-1655 CVE-2013-2274 CVE-2013-2275 + * Thu Mar 07 2013 Michael Stahnke - 3.1.0-4 - Disable systemd in F18 as per bz#873853 - Update Patch0 to work with 3.1 diff --git a/sources b/sources index 1290ba0..80391e5 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -4cbdcc9dfcda677c820175375a500651 puppet-3.1.0.tar.gz -d2e905ef5ae97b8b196f508082fb4680 puppet-3.1.0.tar.gz.asc +e942079612703a460a9fdb52e6bcae4a puppet-3.1.1.tar.gz +456e385fb52cccfcd2a809e899267fa8 puppet-3.1.1.tar.gz.asc From 154f0443882cdf1004d276a0c90152944d527a8b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Ondruch?= Date: Fri, 15 Mar 2013 12:14:28 +0100 Subject: [PATCH 093/272] Rebuild for https://fedoraproject.org/wiki/Features/Ruby_2.0.0 --- puppet.spec | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/puppet.spec b/puppet.spec index a6d4cc4..58852df 100644 --- a/puppet.spec +++ b/puppet.spec @@ -5,8 +5,8 @@ # Specifically not using systemd on F18 as it's technically a break between # using SystemV on 2.7.x and Systemd on 3.1.0. -%if 0%{?fedora} >= 17 -%global puppet_libdir %(ruby -rrbconfig -e 'puts RbConfig::CONFIG["vendorlibdir"]') +%if 0%{?fedora} >= 17 || 0%{?rhel} >= 7 +%global puppet_libdir %{ruby_vendorlibdir} %else %global puppet_libdir %(ruby -rrbconfig -e 'puts RbConfig::CONFIG["sitelibdir"]') %endif @@ -19,11 +19,10 @@ %endif %global confdir ext/redhat -%global ruby_version %(ruby -rrbconfig -e 'puts RbConfig::CONFIG["ruby_version"]') Name: puppet Version: 3.1.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 URL: http://puppetlabs.com @@ -39,16 +38,19 @@ Group: System Environment/Base BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: facter >= 1.6.6 -BuildRequires: ruby >= 1.8.7 +BuildRequires: ruby-devel >= 1.8.7 -%if 0%{?fedora} || 0%{?rhel} >= 5 BuildArch: noarch -# Work around the lack of ruby in the default mock buildroot -%if "%{ruby_version}" -Requires: ruby(abi) = %{ruby_version} +%if 0%{?rhel} <= 6 +Requires: ruby(abi) = 1.8 +%else +%if 0%{?fedora} <= 18 +Requires: ruby(abi) = 1.9.1 +%else +Requires: ruby(release) +%endif %endif Requires: ruby(shadow) -%endif # Pull in ruby selinux bindings where available %if 0%{?fedora} || 0%{?rhel} >= 6 @@ -64,10 +66,6 @@ Requires: hiera >= 1.0.0 Obsoletes: hiera-puppet < 1.0.0-2 Provides: hiera-puppet = %{version}-%{release} -# Puppet 3.x drops ruby 1.8.5 support and adds ruby 1.9 support -%if "%{ruby_version}" == "1.8" -Requires: ruby >= 1.8.7 -%endif %{!?_without_augeas:Requires: ruby(augeas)} Requires(pre): shadow-utils @@ -352,6 +350,9 @@ fi rm -rf %{buildroot} %changelog +* Fri Mar 15 2013 Vít Ondruch - 3.1.1-2 +- Rebuild for https://fedoraproject.org/wiki/Features/Ruby_2.0.0 + * Wed Mar 13 2013 Michael Stahnke - 3.1.1-1 - Fixes for CVE-2013-1640 CVE-2013-1652 CVE-2013-1653 CVE-2013-1654 - CVE-2013-1655 CVE-2013-2274 CVE-2013-2275 From 9e7b9c6ccc72a8dfd36ccf272020823fa7637b5d Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Tue, 16 Apr 2013 10:56:33 -0600 Subject: [PATCH 094/272] Add patch for ruby 2.0 support --- puppet-ruby2.patch | 525 +++++++++++++++++++++++++++++++++++++++++++++ puppet.spec | 9 +- 2 files changed, 533 insertions(+), 1 deletion(-) create mode 100644 puppet-ruby2.patch diff --git a/puppet-ruby2.patch b/puppet-ruby2.patch new file mode 100644 index 0000000..4a14048 --- /dev/null +++ b/puppet-ruby2.patch @@ -0,0 +1,525 @@ +diff --git a/lib/puppet/file_serving/fileset.rb b/lib/puppet/file_serving/fileset.rb +index f2ebf5a..96050b6 100644 +--- a/lib/puppet/file_serving/fileset.rb ++++ b/lib/puppet/file_serving/fileset.rb +@@ -136,7 +136,7 @@ class Puppet::FileServing::Fileset + result = [] + return result unless recurse?(depth) + +- while dir_path = current_dirs.shift or ((depth += 1) and recurse?(depth) and current_dirs = next_dirs and next_dirs = [] and dir_path = current_dirs.shift) ++ while dir_path = current_dirs.shift + next unless stat = stat(dir_path) + next unless stat.directory? + +@@ -153,6 +153,14 @@ class Puppet::FileServing::Fileset + # And to our list of files/directories to iterate over. + next_dirs << File.join(dir_path, file_path) + end ++ ++ # Move to the next recusion level ++ if current_dirs.empty? ++ depth += 1 ++ break unless recurse?(depth) ++ current_dirs = next_dirs ++ next_dirs = [] ++ end + end + + result +diff --git a/lib/puppet/indirector/facts/inventory_active_record.rb b/lib/puppet/indirector/facts/inventory_active_record.rb +index 4add7f2..b6c703b 100644 +--- a/lib/puppet/indirector/facts/inventory_active_record.rb ++++ b/lib/puppet/indirector/facts/inventory_active_record.rb +@@ -11,6 +11,7 @@ class Puppet::Node::Facts::InventoryActiveRecord < Puppet::Indirector::ActiveRec + and inventory are deprecated. See http://links.puppetlabs.com/activerecord-deprecation" + + def initialize ++ raise Puppet::Error, "ActiveRecords-based inventory is unsupported with Ruby 2 and Rails 3.0" if RUBY_VERSION[0] == '2' + Puppet.deprecation_warning "ActiveRecord-based storeconfigs and inventory are deprecated. See http://links.puppetlabs.com/activerecord-deprecation" + super + end +diff --git a/lib/puppet/transaction/event.rb b/lib/puppet/transaction/event.rb +index 057554e..066ef20 100644 +--- a/lib/puppet/transaction/event.rb ++++ b/lib/puppet/transaction/event.rb +@@ -29,15 +29,8 @@ class Puppet::Transaction::Event + end + + def resource=(res) +- begin +- # In Ruby 1.8 looking up a symbol on a string gives nil; in 1.9 it will +- # raise a TypeError, which we then catch. This should work on both +- # versions, for all that it is a bit naff. --daniel 2012-03-11 +- if res.respond_to?(:[]) and level = res[:loglevel] +- @default_log_level = level +- end +- rescue TypeError => e +- raise unless e.to_s == "can't convert Symbol into Integer" ++ if res.respond_to?(:[]) and level = res[:loglevel] ++ @default_log_level = level + end + @resource = res.to_s + end +diff --git a/lib/puppet/util/classgen.rb b/lib/puppet/util/classgen.rb +index e03bf2a..db8cd40 100644 +--- a/lib/puppet/util/classgen.rb ++++ b/lib/puppet/util/classgen.rb +@@ -148,10 +148,10 @@ module Puppet::Util::ClassGen + # @api private + # + def is_constant_defined?(const) +- if ::RUBY_VERSION =~ /1.9/ +- const_defined?(const, false) +- else ++ if ::RUBY_VERSION =~ /^1.8/ + const_defined?(const) ++ else ++ const_defined?(const, false) + end + end + +diff --git a/lib/puppet/util/rdoc/parser.rb b/lib/puppet/util/rdoc/parser.rb +index 145706f..6b5ad74 100644 +--- a/lib/puppet/util/rdoc/parser.rb ++++ b/lib/puppet/util/rdoc/parser.rb +@@ -8,18 +8,18 @@ require "rdoc/code_objects" + require "puppet/util/rdoc/code_objects" + require "rdoc/tokenstream" + +-if ::RUBY_VERSION =~ /1.9/ +- require "rdoc/markup/preprocess" +- require "rdoc/parser" +-else ++if ::RUBY_VERSION =~ /^1.8/ + require "rdoc/markup/simple_markup/preprocess" + require "rdoc/parsers/parserfactory" ++else ++ require "rdoc/markup/preprocess" ++ require "rdoc/parser" + end + + module RDoc + + class Parser +- extend ParserFactory unless ::RUBY_VERSION =~ /1.9/ ++ extend ParserFactory if ::RUBY_VERSION =~ /^1.8/ + + SITE = "__site__" + +diff --git a/spec/unit/forge/repository_spec.rb b/spec/unit/forge/repository_spec.rb +index a0b585b..71fe38e 100644 +--- a/spec/unit/forge/repository_spec.rb ++++ b/spec/unit/forge/repository_spec.rb +@@ -92,7 +92,7 @@ describe Puppet::Forge::Repository do + http.expects(:request).with() do |request| + puppet_version = /Puppet\/\d+\..*/ + os_info = /\(.*\)/ +- ruby_version = /Ruby\/\d+\.\d+\.\d+(-p\d+)? \(\d{4}-\d{2}-\d{2}; .*\)/ ++ ruby_version = /Ruby\/\d+\.\d+\.\d+(-p-?\d+)? \(\d{4}-\d{2}-\d{2}; .*\)/ + + request["User-Agent"] =~ /^#{consumer_version} #{puppet_version} #{os_info} #{ruby_version}/ + end +diff --git a/spec/unit/indirector/facts/inventory_active_record_spec.rb b/spec/unit/indirector/facts/inventory_active_record_spec.rb +index 641ded7..ef50583 100755 +--- a/spec/unit/indirector/facts/inventory_active_record_spec.rb ++++ b/spec/unit/indirector/facts/inventory_active_record_spec.rb +@@ -23,149 +23,160 @@ describe "Puppet::Node::Facts::InventoryActiveRecord", :if => can_use_scratch_da + setup_scratch_database + end + +- it "should issue a deprecation warning" do +- Puppet.expects(:deprecation_warning).with() { |msg| msg =~ /ActiveRecord-based storeconfigs and inventory are deprecated/ } +- terminus +- end +- +- describe "#save" do +- let(:node) { +- Puppet::Rails::InventoryNode.new(:name => "foo", :timestamp => Time.now) +- } +- +- let(:facts) { +- Puppet::Node::Facts.new("foo", "uptime_days" => "60", "kernel" => "Darwin") +- } +- +- it "should retry on ActiveRecord error" do +- Puppet::Rails::InventoryNode.expects(:create).twice.raises(ActiveRecord::StatementInvalid).returns node +- +- Puppet::Node::Facts.indirection.save(facts) +- end +- +- it "should use an existing node if possible" do +- node.save +- Puppet::Node::Facts.indirection.save(facts) +- +- Puppet::Rails::InventoryNode.count.should == 1 +- Puppet::Rails::InventoryNode.first.should == node +- end +- +- it "should create a new node if one can't be found" do +- # This test isn't valid if there are nodes to begin with +- Puppet::Rails::InventoryNode.count.should == 0 +- +- Puppet::Node::Facts.indirection.save(facts) +- +- Puppet::Rails::InventoryNode.count.should == 1 +- Puppet::Rails::InventoryNode.first.name.should == "foo" +- end +- +- it "should save the facts" do +- Puppet::Node::Facts.indirection.save(facts) +- +- Puppet::Rails::InventoryFact.all.map{|f| [f.name,f.value]}.should =~ [["uptime_days","60"],["kernel","Darwin"]] +- end +- +- it "should remove the previous facts for an existing node" do +- facts = Puppet::Node::Facts.new("foo", "uptime_days" => "30", "kernel" => "Darwin") +- Puppet::Node::Facts.indirection.save(facts) +- bar_facts = Puppet::Node::Facts.new("bar", "uptime_days" => "35", "kernel" => "Linux") +- foo_facts = Puppet::Node::Facts.new("foo", "uptime_days" => "60", "is_virtual" => "false") +- Puppet::Node::Facts.indirection.save(bar_facts) +- Puppet::Node::Facts.indirection.save(foo_facts) +- +- Puppet::Node::Facts.indirection.find("bar").should == bar_facts +- Puppet::Node::Facts.indirection.find("foo").should == foo_facts +- Puppet::Rails::InventoryFact.all.map{|f| [f.name,f.value]}.should_not include(["uptime_days", "30"], ["kernel", "Darwin"]) ++ context "under Ruby 1.x", :if => RUBY_VERSION[0] == '1' do ++ describe "#initialize" do ++ it "should issue a deprecation warning" do ++ Puppet.expects(:deprecation_warning).with() { |msg| msg =~ /ActiveRecord-based storeconfigs and inventory are deprecated/ } ++ terminus ++ end ++ end ++ ++ describe "#save" do ++ let(:node) { ++ Puppet::Rails::InventoryNode.new(:name => "foo", :timestamp => Time.now) ++ } ++ ++ let(:facts) { ++ Puppet::Node::Facts.new("foo", "uptime_days" => "60", "kernel" => "Darwin") ++ } ++ ++ it "should retry on ActiveRecord error" do ++ Puppet::Rails::InventoryNode.expects(:create).twice.raises(ActiveRecord::StatementInvalid).returns node ++ ++ Puppet::Node::Facts.indirection.save(facts) ++ end ++ ++ it "should use an existing node if possible" do ++ node.save ++ Puppet::Node::Facts.indirection.save(facts) ++ ++ Puppet::Rails::InventoryNode.count.should == 1 ++ Puppet::Rails::InventoryNode.first.should == node ++ end ++ ++ it "should create a new node if one can't be found" do ++ # This test isn't valid if there are nodes to begin with ++ Puppet::Rails::InventoryNode.count.should == 0 ++ ++ Puppet::Node::Facts.indirection.save(facts) ++ ++ Puppet::Rails::InventoryNode.count.should == 1 ++ Puppet::Rails::InventoryNode.first.name.should == "foo" ++ end ++ ++ it "should save the facts" do ++ Puppet::Node::Facts.indirection.save(facts) ++ ++ Puppet::Rails::InventoryFact.all.map{|f| [f.name,f.value]}.should =~ [["uptime_days","60"],["kernel","Darwin"]] ++ end ++ ++ it "should remove the previous facts for an existing node" do ++ facts = Puppet::Node::Facts.new("foo", "uptime_days" => "30", "kernel" => "Darwin") ++ Puppet::Node::Facts.indirection.save(facts) ++ bar_facts = Puppet::Node::Facts.new("bar", "uptime_days" => "35", "kernel" => "Linux") ++ foo_facts = Puppet::Node::Facts.new("foo", "uptime_days" => "60", "is_virtual" => "false") ++ Puppet::Node::Facts.indirection.save(bar_facts) ++ Puppet::Node::Facts.indirection.save(foo_facts) ++ ++ Puppet::Node::Facts.indirection.find("bar").should == bar_facts ++ Puppet::Node::Facts.indirection.find("foo").should == foo_facts ++ Puppet::Rails::InventoryFact.all.map{|f| [f.name,f.value]}.should_not include(["uptime_days", "30"], ["kernel", "Darwin"]) ++ end ++ end ++ ++ describe "#find" do ++ before do ++ @foo_facts = Puppet::Node::Facts.new("foo", "uptime_days" => "60", "kernel" => "Darwin") ++ @bar_facts = Puppet::Node::Facts.new("bar", "uptime_days" => "30", "kernel" => "Linux") ++ Puppet::Node::Facts.indirection.save(@foo_facts) ++ Puppet::Node::Facts.indirection.save(@bar_facts) ++ end ++ ++ it "should identify facts by node name" do ++ Puppet::Node::Facts.indirection.find("foo").should == @foo_facts ++ end ++ ++ it "should return nil if no node instance can be found" do ++ Puppet::Node::Facts.indirection.find("non-existent node").should == nil ++ end ++ end ++ ++ describe "#search" do ++ def search_request(conditions) ++ Puppet::Indirector::Request.new(:facts, :search, nil, nil, conditions) ++ end ++ ++ before :each do ++ @now = Time.now ++ @foo = Puppet::Node::Facts.new("foo", "fact1" => "value1", "fact2" => "value2", "uptime_days" => "30") ++ @bar = Puppet::Node::Facts.new("bar", "fact1" => "value1", "uptime_days" => "60") ++ @baz = Puppet::Node::Facts.new("baz", "fact1" => "value2", "fact2" => "value1", "uptime_days" => "90") ++ @bat = Puppet::Node::Facts.new("bat") ++ @foo.timestamp = @now - 3600*1 ++ @bar.timestamp = @now - 3600*3 ++ @baz.timestamp = @now - 3600*5 ++ @bat.timestamp = @now - 3600*7 ++ [@foo, @bar, @baz, @bat].each {|facts| Puppet::Node::Facts.indirection.save(facts)} ++ end ++ ++ it "should return node names that match 'equal' constraints" do ++ request = search_request('facts.fact1.eq' => 'value1', ++ 'facts.fact2.eq' => 'value2') ++ terminus.search(request).should == ["foo"] ++ end ++ ++ it "should return node names that match 'not equal' constraints" do ++ request = search_request('facts.fact1.ne' => 'value2') ++ terminus.search(request).should == ["bar","foo"] ++ end ++ ++ it "should return node names that match strict inequality constraints" do ++ request = search_request('facts.uptime_days.gt' => '20', ++ 'facts.uptime_days.lt' => '70') ++ terminus.search(request).should == ["bar","foo"] ++ end ++ ++ it "should return node names that match non-strict inequality constraints" do ++ request = search_request('facts.uptime_days.ge' => '30', ++ 'facts.uptime_days.le' => '60') ++ terminus.search(request).should == ["bar","foo"] ++ end ++ ++ it "should return node names whose facts are within a given timeframe" do ++ request = search_request('meta.timestamp.ge' => @now - 3600*5, ++ 'meta.timestamp.le' => @now - 3600*1) ++ terminus.search(request).should == ["bar","baz","foo"] ++ end ++ ++ it "should return node names whose facts are from a specific time" do ++ request = search_request('meta.timestamp.eq' => @now - 3600*3) ++ terminus.search(request).should == ["bar"] ++ end ++ ++ it "should return node names whose facts are not from a specific time" do ++ request = search_request('meta.timestamp.ne' => @now - 3600*1) ++ terminus.search(request).should == ["bar","bat","baz"] ++ end ++ ++ it "should perform strict searches on nodes by timestamp" do ++ request = search_request('meta.timestamp.gt' => @now - 3600*5, ++ 'meta.timestamp.lt' => @now - 3600*1) ++ terminus.search(request).should == ["bar"] ++ end ++ ++ it "should search nodes based on both facts and timestamp values" do ++ request = search_request('facts.uptime_days.gt' => '45', ++ 'meta.timestamp.lt' => @now - 3600*4) ++ terminus.search(request).should == ["baz"] ++ end + end + end + +- describe "#find" do +- before do +- @foo_facts = Puppet::Node::Facts.new("foo", "uptime_days" => "60", "kernel" => "Darwin") +- @bar_facts = Puppet::Node::Facts.new("bar", "uptime_days" => "30", "kernel" => "Linux") +- Puppet::Node::Facts.indirection.save(@foo_facts) +- Puppet::Node::Facts.indirection.save(@bar_facts) +- end +- +- it "should identify facts by node name" do +- Puppet::Node::Facts.indirection.find("foo").should == @foo_facts +- end +- +- it "should return nil if no node instance can be found" do +- Puppet::Node::Facts.indirection.find("non-existent node").should == nil +- end +- end +- +- describe "#search" do +- def search_request(conditions) +- Puppet::Indirector::Request.new(:facts, :search, nil, nil, conditions) +- end +- +- before :each do +- @now = Time.now +- @foo = Puppet::Node::Facts.new("foo", "fact1" => "value1", "fact2" => "value2", "uptime_days" => "30") +- @bar = Puppet::Node::Facts.new("bar", "fact1" => "value1", "uptime_days" => "60") +- @baz = Puppet::Node::Facts.new("baz", "fact1" => "value2", "fact2" => "value1", "uptime_days" => "90") +- @bat = Puppet::Node::Facts.new("bat") +- @foo.timestamp = @now - 3600*1 +- @bar.timestamp = @now - 3600*3 +- @baz.timestamp = @now - 3600*5 +- @bat.timestamp = @now - 3600*7 +- [@foo, @bar, @baz, @bat].each {|facts| Puppet::Node::Facts.indirection.save(facts)} +- end +- +- it "should return node names that match 'equal' constraints" do +- request = search_request('facts.fact1.eq' => 'value1', +- 'facts.fact2.eq' => 'value2') +- terminus.search(request).should == ["foo"] +- end +- +- it "should return node names that match 'not equal' constraints" do +- request = search_request('facts.fact1.ne' => 'value2') +- terminus.search(request).should == ["bar","foo"] +- end +- +- it "should return node names that match strict inequality constraints" do +- request = search_request('facts.uptime_days.gt' => '20', +- 'facts.uptime_days.lt' => '70') +- terminus.search(request).should == ["bar","foo"] +- end +- +- it "should return node names that match non-strict inequality constraints" do +- request = search_request('facts.uptime_days.ge' => '30', +- 'facts.uptime_days.le' => '60') +- terminus.search(request).should == ["bar","foo"] +- end +- +- it "should return node names whose facts are within a given timeframe" do +- request = search_request('meta.timestamp.ge' => @now - 3600*5, +- 'meta.timestamp.le' => @now - 3600*1) +- terminus.search(request).should == ["bar","baz","foo"] +- end +- +- it "should return node names whose facts are from a specific time" do +- request = search_request('meta.timestamp.eq' => @now - 3600*3) +- terminus.search(request).should == ["bar"] +- end +- +- it "should return node names whose facts are not from a specific time" do +- request = search_request('meta.timestamp.ne' => @now - 3600*1) +- terminus.search(request).should == ["bar","bat","baz"] +- end +- +- it "should perform strict searches on nodes by timestamp" do +- request = search_request('meta.timestamp.gt' => @now - 3600*5, +- 'meta.timestamp.lt' => @now - 3600*1) +- terminus.search(request).should == ["bar"] +- end +- +- it "should search nodes based on both facts and timestamp values" do +- request = search_request('facts.uptime_days.gt' => '45', +- 'meta.timestamp.lt' => @now - 3600*4) +- terminus.search(request).should == ["baz"] ++ context "under Ruby 2.x", :if => RUBY_VERSION[0] == '2' do ++ describe "#initialize" do ++ it "should raise error under Ruby 2" do ++ lambda { terminus }.should raise_error(Puppet::Error, /Ruby 2/) ++ end + end + end + end +- +diff --git a/spec/unit/provider/user/directoryservice_spec.rb b/spec/unit/provider/user/directoryservice_spec.rb +index 7be6399..6534147 100755 +--- a/spec/unit/provider/user/directoryservice_spec.rb ++++ b/spec/unit/provider/user/directoryservice_spec.rb +@@ -1,4 +1,5 @@ + #! /usr/bin/env ruby -S rspec ++# encoding: ASCII-8BIT + require 'spec_helper' + require 'facter/util/plist' + +diff --git a/spec/unit/ssl/certificate_authority_spec.rb b/spec/unit/ssl/certificate_authority_spec.rb +index 3315243..9d007a3 100755 +--- a/spec/unit/ssl/certificate_authority_spec.rb ++++ b/spec/unit/ssl/certificate_authority_spec.rb +@@ -1,4 +1,5 @@ + #! /usr/bin/env ruby ++# encoding: ASCII-8BIT + require 'spec_helper' + + require 'puppet/ssl/certificate_authority' +diff --git a/spec/unit/transaction/event_spec.rb b/spec/unit/transaction/event_spec.rb +index 579540d..2a51936 100755 +--- a/spec/unit/transaction/event_spec.rb ++++ b/spec/unit/transaction/event_spec.rb +@@ -3,10 +3,19 @@ require 'spec_helper' + + require 'puppet/transaction/event' + ++class TestResource ++ def to_s ++ "Foo[bar]" ++ end ++ def [](v) ++ nil ++ end ++end ++ + describe Puppet::Transaction::Event do + include PuppetSpec::Files + +- [:previous_value, :desired_value, :property, :resource, :name, :message, :file, :line, :tags, :audited].each do |attr| ++ [:previous_value, :desired_value, :property, :name, :message, :file, :line, :tags, :audited].each do |attr| + it "should support #{attr}" do + event = Puppet::Transaction::Event.new + event.send(attr.to_s + "=", "foo") +@@ -14,12 +23,18 @@ describe Puppet::Transaction::Event do + end + end + ++ it "should support resource" do ++ event = Puppet::Transaction::Event.new ++ event.resource = TestResource.new ++ event.resource.should == "Foo[bar]" ++ end ++ + it "should always convert the property to a string" do + Puppet::Transaction::Event.new(:property => :foo).property.should == "foo" + end + + it "should always convert the resource to a string" do +- Puppet::Transaction::Event.new(:resource => :foo).resource.should == "foo" ++ Puppet::Transaction::Event.new(:resource => TestResource.new).resource.should == "Foo[bar]" + end + + it "should produce the message when converted to a string" do +@@ -99,17 +114,17 @@ describe Puppet::Transaction::Event do + + it "should use the source description as the source if one is set" do + Puppet::Util::Log.expects(:new).with { |args| args[:source] == "/my/param" } +- Puppet::Transaction::Event.new(:source_description => "/my/param", :resource => "Foo[bar]", :property => "foo").send_log ++ Puppet::Transaction::Event.new(:source_description => "/my/param", :resource => TestResource.new, :property => "foo").send_log + end + + it "should use the property as the source if one is available and no source description is set" do + Puppet::Util::Log.expects(:new).with { |args| args[:source] == "foo" } +- Puppet::Transaction::Event.new(:resource => "Foo[bar]", :property => "foo").send_log ++ Puppet::Transaction::Event.new(:resource => TestResource.new, :property => "foo").send_log + end + + it "should use the property as the source if one is available and no property or source description is set" do + Puppet::Util::Log.expects(:new).with { |args| args[:source] == "Foo[bar]" } +- Puppet::Transaction::Event.new(:resource => "Foo[bar]").send_log ++ Puppet::Transaction::Event.new(:resource => TestResource.new).send_log + end + end + +diff --git a/spec/unit/util/execution_spec.rb b/spec/unit/util/execution_spec.rb +index 4390eba..1e7ac26 100755 +--- a/spec/unit/util/execution_spec.rb ++++ b/spec/unit/util/execution_spec.rb +@@ -576,7 +576,7 @@ describe Puppet::Util::Execution do + it "should raise an error if a nil option is specified" do + expect { + Puppet::Util::Execution.execute('fail command', nil) +- }.to raise_error(TypeError, /can\'t convert nil into Hash/) ++ }.to raise_error(TypeError, /(can\'t convert|no implicit conversion of) nil into Hash/) + end + end + end diff --git a/puppet.spec b/puppet.spec index 58852df..939a44d 100644 --- a/puppet.spec +++ b/puppet.spec @@ -22,7 +22,7 @@ Name: puppet Version: 3.1.1 -Release: 2%{?dist} +Release: 3%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 URL: http://puppetlabs.com @@ -32,6 +32,9 @@ Source2: puppet-nm-dispatcher # Pulled from upstream, will be released the next time they cut a release from master Patch0: 0001-18781-Be-more-tolerant-of-old-clients-in-WEBrick-ser.patch +# https://projects.puppetlabs.com/issues/18494 +# Ruby 2.0 support +Patch1: puppet-ruby2.patch Group: System Environment/Base @@ -108,6 +111,7 @@ The server can also function as a certificate authority and file server. %prep %setup -q %patch0 -p1 +%patch1 -p1 patch -s -p1 < %{confdir}/rundir-perms.patch # Fix some rpmlint complaints @@ -350,6 +354,9 @@ fi rm -rf %{buildroot} %changelog +* Tue Apr 16 2013 Orion Poplawski - 3.1.1-3 +- Add upstream patch for ruby 2.0 support + * Fri Mar 15 2013 Vít Ondruch - 3.1.1-2 - Rebuild for https://fedoraproject.org/wiki/Features/Ruby_2.0.0 From 3a1fcf5477943f983a572d1d09a87871aab4597b Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Tue, 16 Apr 2013 11:04:38 -0600 Subject: [PATCH 095/272] Fix rhel ruby conditional --- puppet.spec | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/puppet.spec b/puppet.spec index 939a44d..6d429d5 100644 --- a/puppet.spec +++ b/puppet.spec @@ -44,7 +44,7 @@ BuildRequires: facter >= 1.6.6 BuildRequires: ruby-devel >= 1.8.7 BuildArch: noarch -%if 0%{?rhel} <= 6 +%if 0%{?rhel} && 0%{?rhel} <= 6 Requires: ruby(abi) = 1.8 %else %if 0%{?fedora} <= 18 @@ -356,6 +356,7 @@ rm -rf %{buildroot} %changelog * Tue Apr 16 2013 Orion Poplawski - 3.1.1-3 - Add upstream patch for ruby 2.0 support +- Fix rhel ruby conditional * Fri Mar 15 2013 Vít Ondruch - 3.1.1-2 - Rebuild for https://fedoraproject.org/wiki/Features/Ruby_2.0.0 From b8dbec7d9d391aae066c7d9358c542aa024484b9 Mon Sep 17 00:00:00 2001 From: Sam Kottler Date: Fri, 26 Jul 2013 22:50:33 -0400 Subject: [PATCH 096/272] Add hard dependency on Ruby (fixes BZ #985208) --- puppet.spec | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/puppet.spec b/puppet.spec index 6d429d5..f25e4c1 100644 --- a/puppet.spec +++ b/puppet.spec @@ -22,7 +22,7 @@ Name: puppet Version: 3.1.1 -Release: 3%{?dist} +Release: 4%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 URL: http://puppetlabs.com @@ -55,6 +55,9 @@ Requires: ruby(release) %endif Requires: ruby(shadow) +# Prevents jruby from being pulled in by dependencies (BZ #985208) +Requires: ruby + # Pull in ruby selinux bindings where available %if 0%{?fedora} || 0%{?rhel} >= 6 %{!?_without_selinux:Requires: ruby(selinux), libselinux-utils} @@ -354,6 +357,10 @@ fi rm -rf %{buildroot} %changelog +======= +* Fri Jul 26 2013 Sam Kottler - 3.1.1-4 +- Add hard dependency on ruby + * Tue Apr 16 2013 Orion Poplawski - 3.1.1-3 - Add upstream patch for ruby 2.0 support - Fix rhel ruby conditional From 89a7f1cde96b18115bf4310fcd06cf886ee0aedc Mon Sep 17 00:00:00 2001 From: Sam Kottler Date: Sat, 27 Jul 2013 15:29:09 +0000 Subject: [PATCH 097/272] Remove superfluous line from the changelog --- puppet.spec | 1 - 1 file changed, 1 deletion(-) diff --git a/puppet.spec b/puppet.spec index f25e4c1..9c129fa 100644 --- a/puppet.spec +++ b/puppet.spec @@ -357,7 +357,6 @@ fi rm -rf %{buildroot} %changelog -======= * Fri Jul 26 2013 Sam Kottler - 3.1.1-4 - Add hard dependency on ruby From 1b60bcc22c465c25b2858acb0b9b40421dec452f Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Tue, 30 Jul 2013 11:02:54 -0600 Subject: [PATCH 098/272] Use systemd semantics and name in NM dispatcher script --- puppet-nm-dispatcher.systemd | 8 ++++++++ puppet.spec | 11 ++++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) create mode 100755 puppet-nm-dispatcher.systemd diff --git a/puppet-nm-dispatcher.systemd b/puppet-nm-dispatcher.systemd new file mode 100755 index 0000000..3e5eeee --- /dev/null +++ b/puppet-nm-dispatcher.systemd @@ -0,0 +1,8 @@ +#!/bin/bash +# +# Restart puppet on network changes to pickup changes to /etc/resolv.conf +# +# https://projects.puppetlabs.com/issues/2776 +# https://bugzilla.redhat.com/532085 + +[[ $2 =~ ^(up|down)$ ]] && /bin/systemctl condrestart puppetagent.service || : diff --git a/puppet.spec b/puppet.spec index 9c129fa..45e7759 100644 --- a/puppet.spec +++ b/puppet.spec @@ -22,13 +22,14 @@ Name: puppet Version: 3.1.1 -Release: 4%{?dist} +Release: 5%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 URL: http://puppetlabs.com Source0: http://downloads.puppetlabs.com/%{name}/%{name}-%{version}.tar.gz Source1: http://downloads.puppetlabs.com/%{name}/%{name}-%{version}.tar.gz.asc Source2: puppet-nm-dispatcher +Source3: puppet-nm-dispatcher.systemd # Pulled from upstream, will be released the next time they cut a release from master Patch0: 0001-18781-Be-more-tolerant-of-old-clients-in-WEBrick-ser.patch @@ -160,8 +161,13 @@ install -Dp -m0644 %{confdir}/logrotate %{buildroot}%{_sysconfdir}/logrotate.d/p # Install a NetworkManager dispatcher script to pickup changes to # /etc/resolv.conf and such (https://bugzilla.redhat.com/532085). +%if 0%{?_with_systemd} +install -Dpv %{SOURCE3} \ + %{buildroot}%{_sysconfdir}/NetworkManager/dispatcher.d/98-%{name} +%else install -Dpv %{SOURCE2} \ %{buildroot}%{_sysconfdir}/NetworkManager/dispatcher.d/98-%{name} +%endif # Install the ext/ directory to %%{_datadir}/%%{name} install -d %{buildroot}%{_datadir}/%{name} @@ -357,6 +363,9 @@ fi rm -rf %{buildroot} %changelog +* Tue Jul 30 2013 Orion Poplawski - 3.1.1-5 +- Use systemd semantics and name in NM dispatcher script + * Fri Jul 26 2013 Sam Kottler - 3.1.1-4 - Add hard dependency on ruby From ad48aa39a308369a2296ad9cc048d4da7c143548 Mon Sep 17 00:00:00 2001 From: Sam Kottler Date: Sun, 4 Aug 2013 22:03:13 -0400 Subject: [PATCH 099/272] Add tar as an installation requirement (BZ #994477) --- puppet.spec | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/puppet.spec b/puppet.spec index 45e7759..2a42b93 100644 --- a/puppet.spec +++ b/puppet.spec @@ -87,6 +87,8 @@ Requires(preun): initscripts Requires(postun): initscripts %endif +Requires: tar + %description Puppet lets you centrally manage every important aspect of your system using a cross-platform specification language that manages all the separate elements @@ -363,6 +365,9 @@ fi rm -rf %{buildroot} %changelog +* Wed Aug 7 2013 Sam Kottler - 3.1.1-6 +- Add tar as an installation requirement + * Tue Jul 30 2013 Orion Poplawski - 3.1.1-5 - Use systemd semantics and name in NM dispatcher script From 3a358afc4319897179d71fcad19057fb671893a4 Mon Sep 17 00:00:00 2001 From: Sam Kottler Date: Sun, 4 Aug 2013 22:20:18 -0400 Subject: [PATCH 100/272] Increment the release --- puppet.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/puppet.spec b/puppet.spec index 2a42b93..c5c3597 100644 --- a/puppet.spec +++ b/puppet.spec @@ -22,7 +22,7 @@ Name: puppet Version: 3.1.1 -Release: 5%{?dist} +Release: 6%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 URL: http://puppetlabs.com From c334976fe7dc2e38541fb5c6cc9472f75fa083b2 Mon Sep 17 00:00:00 2001 From: Sam Kottler Date: Thu, 29 Aug 2013 00:25:25 -0400 Subject: [PATCH 101/272] Update to 3.2.2 --- puppet.spec | 15 +++++---------- sources | 4 ++-- 2 files changed, 7 insertions(+), 12 deletions(-) diff --git a/puppet.spec b/puppet.spec index c5c3597..386ff33 100644 --- a/puppet.spec +++ b/puppet.spec @@ -21,8 +21,8 @@ %global confdir ext/redhat Name: puppet -Version: 3.1.1 -Release: 6%{?dist} +Version: 3.2.2 +Release: 1%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 URL: http://puppetlabs.com @@ -31,12 +31,6 @@ Source1: http://downloads.puppetlabs.com/%{name}/%{name}-%{version}.tar.g Source2: puppet-nm-dispatcher Source3: puppet-nm-dispatcher.systemd -# Pulled from upstream, will be released the next time they cut a release from master -Patch0: 0001-18781-Be-more-tolerant-of-old-clients-in-WEBrick-ser.patch -# https://projects.puppetlabs.com/issues/18494 -# Ruby 2.0 support -Patch1: puppet-ruby2.patch - Group: System Environment/Base BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -116,8 +110,6 @@ The server can also function as a certificate authority and file server. %prep %setup -q -%patch0 -p1 -%patch1 -p1 patch -s -p1 < %{confdir}/rundir-perms.patch # Fix some rpmlint complaints @@ -365,6 +357,9 @@ fi rm -rf %{buildroot} %changelog +* Thu Aug 28 2013 Sam Kottler - 3.2.2-1 +- Update to 3.2.2 + * Wed Aug 7 2013 Sam Kottler - 3.1.1-6 - Add tar as an installation requirement diff --git a/sources b/sources index 80391e5..da7602d 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -e942079612703a460a9fdb52e6bcae4a puppet-3.1.1.tar.gz -456e385fb52cccfcd2a809e899267fa8 puppet-3.1.1.tar.gz.asc +318de47ab9e7d41cce98c1cbc5d33cc1 puppet-3.2.2.tar.gz +dbca20cdc7b271dae79ea724cc42cc66 puppet-3.2.2.tar.gz.asc From 60573050f50282b5a953c0779a83adfd399757d0 Mon Sep 17 00:00:00 2001 From: Sam Kottler Date: Thu, 29 Aug 2013 00:27:19 -0400 Subject: [PATCH 102/272] Fix the date in the changelog --- puppet.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/puppet.spec b/puppet.spec index 386ff33..5a6409f 100644 --- a/puppet.spec +++ b/puppet.spec @@ -357,7 +357,7 @@ fi rm -rf %{buildroot} %changelog -* Thu Aug 28 2013 Sam Kottler - 3.2.2-1 +* Thu Aug 29 2013 Sam Kottler - 3.2.2-1 - Update to 3.2.2 * Wed Aug 7 2013 Sam Kottler - 3.1.1-6 From 22bd772c977787347bcecd22078b28112edc2c5c Mon Sep 17 00:00:00 2001 From: Sam Kottler Date: Fri, 30 Aug 2013 08:10:02 -0400 Subject: [PATCH 103/272] Update to 3.2.4 --- puppet.spec | 5 ++++- sources | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/puppet.spec b/puppet.spec index 5a6409f..0000a24 100644 --- a/puppet.spec +++ b/puppet.spec @@ -21,7 +21,7 @@ %global confdir ext/redhat Name: puppet -Version: 3.2.2 +Version: 3.2.4 Release: 1%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 @@ -357,6 +357,9 @@ fi rm -rf %{buildroot} %changelog +* Fri Aug 30 2013 Sam Kottler - 3.2.4-1 +- Update to 3.2.4 to fix CVE-2013-4761 and CVE-4956 + * Thu Aug 29 2013 Sam Kottler - 3.2.2-1 - Update to 3.2.2 diff --git a/sources b/sources index da7602d..8da0d36 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -318de47ab9e7d41cce98c1cbc5d33cc1 puppet-3.2.2.tar.gz -dbca20cdc7b271dae79ea724cc42cc66 puppet-3.2.2.tar.gz.asc +7084f61bea287ba6720ed2ccccd1fb03 puppet-3.2.4.tar.gz +e2b3fc3796de942af4dc1e63665856b8 puppet-3.2.4.tar.gz.asc From d18dcc467724fc8142acf379328c4169dc06b6bc Mon Sep 17 00:00:00 2001 From: Sam Kottler Date: Fri, 30 Aug 2013 08:11:06 -0400 Subject: [PATCH 104/272] Remove patches detected by 'fedpkg unused-patches' --- ...lerant-of-old-clients-in-WEBrick-ser.patch | 42 -- puppet-ruby2.patch | 525 ------------------ 2 files changed, 567 deletions(-) delete mode 100644 0001-18781-Be-more-tolerant-of-old-clients-in-WEBrick-ser.patch delete mode 100644 puppet-ruby2.patch diff --git a/0001-18781-Be-more-tolerant-of-old-clients-in-WEBrick-ser.patch b/0001-18781-Be-more-tolerant-of-old-clients-in-WEBrick-ser.patch deleted file mode 100644 index f7b210c..0000000 --- a/0001-18781-Be-more-tolerant-of-old-clients-in-WEBrick-ser.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 7bb4a6efee2f6f0c775df5f53b868e7c2e86919f Mon Sep 17 00:00:00 2001 -From: Daniel Drake -Date: Thu, 14 Feb 2013 15:05:10 -0600 -Subject: [PATCH] (#18781) Be more tolerant of old clients in WEBrick server - -In #18781 and #6117 there are cases of relatively simplistic puppet -setups failing between old versions of the puppet client (which -always use HTTP GET) and new versions of the puppet WEBrick server -(which has a relatively low limit on the size of a valid GET: 2083 -bytes). - -While there are other non-WEBrick server options available, WEBrick -has the advantage of simplicity, so it would be nice to keep it working. - -Here we patch the WEBrick constant which specifies the maximum size of -a HTTP GET request, increasing it to a value that should work for common -setups. ---- - lib/puppet/util/monkey_patches.rb | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -diff --git a/lib/puppet/util/monkey_patches.rb b/lib/puppet/util/monkey_patches.rb -index ca19fa4..f7b13a5 100644 ---- a/lib/puppet/util/monkey_patches.rb -+++ b/lib/puppet/util/monkey_patches.rb -@@ -394,3 +394,13 @@ class OpenSSL::SSL::SSLContext - set_params(params) - end - end -+ -+# Old puppet clients may make large GET requests, lets be reasonably tolerant -+# in our default WEBrick server. -+require 'webrick' -+if defined?(WEBrick::HTTPRequest::MAX_URI_LENGTH) and WEBrick::HTTPRequest::MAX_URI_LENGTH < 8192 -+ # Silence ruby warning: already initialized constant MAX_URI_LENGTH -+ v, $VERBOSE = $VERBOSE, nil -+ WEBrick::HTTPRequest.const_set("MAX_URI_LENGTH", 8192) -+ $VERBOSE = v -+end --- -1.7.12.4 (Apple Git-37) - diff --git a/puppet-ruby2.patch b/puppet-ruby2.patch deleted file mode 100644 index 4a14048..0000000 --- a/puppet-ruby2.patch +++ /dev/null @@ -1,525 +0,0 @@ -diff --git a/lib/puppet/file_serving/fileset.rb b/lib/puppet/file_serving/fileset.rb -index f2ebf5a..96050b6 100644 ---- a/lib/puppet/file_serving/fileset.rb -+++ b/lib/puppet/file_serving/fileset.rb -@@ -136,7 +136,7 @@ class Puppet::FileServing::Fileset - result = [] - return result unless recurse?(depth) - -- while dir_path = current_dirs.shift or ((depth += 1) and recurse?(depth) and current_dirs = next_dirs and next_dirs = [] and dir_path = current_dirs.shift) -+ while dir_path = current_dirs.shift - next unless stat = stat(dir_path) - next unless stat.directory? - -@@ -153,6 +153,14 @@ class Puppet::FileServing::Fileset - # And to our list of files/directories to iterate over. - next_dirs << File.join(dir_path, file_path) - end -+ -+ # Move to the next recusion level -+ if current_dirs.empty? -+ depth += 1 -+ break unless recurse?(depth) -+ current_dirs = next_dirs -+ next_dirs = [] -+ end - end - - result -diff --git a/lib/puppet/indirector/facts/inventory_active_record.rb b/lib/puppet/indirector/facts/inventory_active_record.rb -index 4add7f2..b6c703b 100644 ---- a/lib/puppet/indirector/facts/inventory_active_record.rb -+++ b/lib/puppet/indirector/facts/inventory_active_record.rb -@@ -11,6 +11,7 @@ class Puppet::Node::Facts::InventoryActiveRecord < Puppet::Indirector::ActiveRec - and inventory are deprecated. See http://links.puppetlabs.com/activerecord-deprecation" - - def initialize -+ raise Puppet::Error, "ActiveRecords-based inventory is unsupported with Ruby 2 and Rails 3.0" if RUBY_VERSION[0] == '2' - Puppet.deprecation_warning "ActiveRecord-based storeconfigs and inventory are deprecated. See http://links.puppetlabs.com/activerecord-deprecation" - super - end -diff --git a/lib/puppet/transaction/event.rb b/lib/puppet/transaction/event.rb -index 057554e..066ef20 100644 ---- a/lib/puppet/transaction/event.rb -+++ b/lib/puppet/transaction/event.rb -@@ -29,15 +29,8 @@ class Puppet::Transaction::Event - end - - def resource=(res) -- begin -- # In Ruby 1.8 looking up a symbol on a string gives nil; in 1.9 it will -- # raise a TypeError, which we then catch. This should work on both -- # versions, for all that it is a bit naff. --daniel 2012-03-11 -- if res.respond_to?(:[]) and level = res[:loglevel] -- @default_log_level = level -- end -- rescue TypeError => e -- raise unless e.to_s == "can't convert Symbol into Integer" -+ if res.respond_to?(:[]) and level = res[:loglevel] -+ @default_log_level = level - end - @resource = res.to_s - end -diff --git a/lib/puppet/util/classgen.rb b/lib/puppet/util/classgen.rb -index e03bf2a..db8cd40 100644 ---- a/lib/puppet/util/classgen.rb -+++ b/lib/puppet/util/classgen.rb -@@ -148,10 +148,10 @@ module Puppet::Util::ClassGen - # @api private - # - def is_constant_defined?(const) -- if ::RUBY_VERSION =~ /1.9/ -- const_defined?(const, false) -- else -+ if ::RUBY_VERSION =~ /^1.8/ - const_defined?(const) -+ else -+ const_defined?(const, false) - end - end - -diff --git a/lib/puppet/util/rdoc/parser.rb b/lib/puppet/util/rdoc/parser.rb -index 145706f..6b5ad74 100644 ---- a/lib/puppet/util/rdoc/parser.rb -+++ b/lib/puppet/util/rdoc/parser.rb -@@ -8,18 +8,18 @@ require "rdoc/code_objects" - require "puppet/util/rdoc/code_objects" - require "rdoc/tokenstream" - --if ::RUBY_VERSION =~ /1.9/ -- require "rdoc/markup/preprocess" -- require "rdoc/parser" --else -+if ::RUBY_VERSION =~ /^1.8/ - require "rdoc/markup/simple_markup/preprocess" - require "rdoc/parsers/parserfactory" -+else -+ require "rdoc/markup/preprocess" -+ require "rdoc/parser" - end - - module RDoc - - class Parser -- extend ParserFactory unless ::RUBY_VERSION =~ /1.9/ -+ extend ParserFactory if ::RUBY_VERSION =~ /^1.8/ - - SITE = "__site__" - -diff --git a/spec/unit/forge/repository_spec.rb b/spec/unit/forge/repository_spec.rb -index a0b585b..71fe38e 100644 ---- a/spec/unit/forge/repository_spec.rb -+++ b/spec/unit/forge/repository_spec.rb -@@ -92,7 +92,7 @@ describe Puppet::Forge::Repository do - http.expects(:request).with() do |request| - puppet_version = /Puppet\/\d+\..*/ - os_info = /\(.*\)/ -- ruby_version = /Ruby\/\d+\.\d+\.\d+(-p\d+)? \(\d{4}-\d{2}-\d{2}; .*\)/ -+ ruby_version = /Ruby\/\d+\.\d+\.\d+(-p-?\d+)? \(\d{4}-\d{2}-\d{2}; .*\)/ - - request["User-Agent"] =~ /^#{consumer_version} #{puppet_version} #{os_info} #{ruby_version}/ - end -diff --git a/spec/unit/indirector/facts/inventory_active_record_spec.rb b/spec/unit/indirector/facts/inventory_active_record_spec.rb -index 641ded7..ef50583 100755 ---- a/spec/unit/indirector/facts/inventory_active_record_spec.rb -+++ b/spec/unit/indirector/facts/inventory_active_record_spec.rb -@@ -23,149 +23,160 @@ describe "Puppet::Node::Facts::InventoryActiveRecord", :if => can_use_scratch_da - setup_scratch_database - end - -- it "should issue a deprecation warning" do -- Puppet.expects(:deprecation_warning).with() { |msg| msg =~ /ActiveRecord-based storeconfigs and inventory are deprecated/ } -- terminus -- end -- -- describe "#save" do -- let(:node) { -- Puppet::Rails::InventoryNode.new(:name => "foo", :timestamp => Time.now) -- } -- -- let(:facts) { -- Puppet::Node::Facts.new("foo", "uptime_days" => "60", "kernel" => "Darwin") -- } -- -- it "should retry on ActiveRecord error" do -- Puppet::Rails::InventoryNode.expects(:create).twice.raises(ActiveRecord::StatementInvalid).returns node -- -- Puppet::Node::Facts.indirection.save(facts) -- end -- -- it "should use an existing node if possible" do -- node.save -- Puppet::Node::Facts.indirection.save(facts) -- -- Puppet::Rails::InventoryNode.count.should == 1 -- Puppet::Rails::InventoryNode.first.should == node -- end -- -- it "should create a new node if one can't be found" do -- # This test isn't valid if there are nodes to begin with -- Puppet::Rails::InventoryNode.count.should == 0 -- -- Puppet::Node::Facts.indirection.save(facts) -- -- Puppet::Rails::InventoryNode.count.should == 1 -- Puppet::Rails::InventoryNode.first.name.should == "foo" -- end -- -- it "should save the facts" do -- Puppet::Node::Facts.indirection.save(facts) -- -- Puppet::Rails::InventoryFact.all.map{|f| [f.name,f.value]}.should =~ [["uptime_days","60"],["kernel","Darwin"]] -- end -- -- it "should remove the previous facts for an existing node" do -- facts = Puppet::Node::Facts.new("foo", "uptime_days" => "30", "kernel" => "Darwin") -- Puppet::Node::Facts.indirection.save(facts) -- bar_facts = Puppet::Node::Facts.new("bar", "uptime_days" => "35", "kernel" => "Linux") -- foo_facts = Puppet::Node::Facts.new("foo", "uptime_days" => "60", "is_virtual" => "false") -- Puppet::Node::Facts.indirection.save(bar_facts) -- Puppet::Node::Facts.indirection.save(foo_facts) -- -- Puppet::Node::Facts.indirection.find("bar").should == bar_facts -- Puppet::Node::Facts.indirection.find("foo").should == foo_facts -- Puppet::Rails::InventoryFact.all.map{|f| [f.name,f.value]}.should_not include(["uptime_days", "30"], ["kernel", "Darwin"]) -+ context "under Ruby 1.x", :if => RUBY_VERSION[0] == '1' do -+ describe "#initialize" do -+ it "should issue a deprecation warning" do -+ Puppet.expects(:deprecation_warning).with() { |msg| msg =~ /ActiveRecord-based storeconfigs and inventory are deprecated/ } -+ terminus -+ end -+ end -+ -+ describe "#save" do -+ let(:node) { -+ Puppet::Rails::InventoryNode.new(:name => "foo", :timestamp => Time.now) -+ } -+ -+ let(:facts) { -+ Puppet::Node::Facts.new("foo", "uptime_days" => "60", "kernel" => "Darwin") -+ } -+ -+ it "should retry on ActiveRecord error" do -+ Puppet::Rails::InventoryNode.expects(:create).twice.raises(ActiveRecord::StatementInvalid).returns node -+ -+ Puppet::Node::Facts.indirection.save(facts) -+ end -+ -+ it "should use an existing node if possible" do -+ node.save -+ Puppet::Node::Facts.indirection.save(facts) -+ -+ Puppet::Rails::InventoryNode.count.should == 1 -+ Puppet::Rails::InventoryNode.first.should == node -+ end -+ -+ it "should create a new node if one can't be found" do -+ # This test isn't valid if there are nodes to begin with -+ Puppet::Rails::InventoryNode.count.should == 0 -+ -+ Puppet::Node::Facts.indirection.save(facts) -+ -+ Puppet::Rails::InventoryNode.count.should == 1 -+ Puppet::Rails::InventoryNode.first.name.should == "foo" -+ end -+ -+ it "should save the facts" do -+ Puppet::Node::Facts.indirection.save(facts) -+ -+ Puppet::Rails::InventoryFact.all.map{|f| [f.name,f.value]}.should =~ [["uptime_days","60"],["kernel","Darwin"]] -+ end -+ -+ it "should remove the previous facts for an existing node" do -+ facts = Puppet::Node::Facts.new("foo", "uptime_days" => "30", "kernel" => "Darwin") -+ Puppet::Node::Facts.indirection.save(facts) -+ bar_facts = Puppet::Node::Facts.new("bar", "uptime_days" => "35", "kernel" => "Linux") -+ foo_facts = Puppet::Node::Facts.new("foo", "uptime_days" => "60", "is_virtual" => "false") -+ Puppet::Node::Facts.indirection.save(bar_facts) -+ Puppet::Node::Facts.indirection.save(foo_facts) -+ -+ Puppet::Node::Facts.indirection.find("bar").should == bar_facts -+ Puppet::Node::Facts.indirection.find("foo").should == foo_facts -+ Puppet::Rails::InventoryFact.all.map{|f| [f.name,f.value]}.should_not include(["uptime_days", "30"], ["kernel", "Darwin"]) -+ end -+ end -+ -+ describe "#find" do -+ before do -+ @foo_facts = Puppet::Node::Facts.new("foo", "uptime_days" => "60", "kernel" => "Darwin") -+ @bar_facts = Puppet::Node::Facts.new("bar", "uptime_days" => "30", "kernel" => "Linux") -+ Puppet::Node::Facts.indirection.save(@foo_facts) -+ Puppet::Node::Facts.indirection.save(@bar_facts) -+ end -+ -+ it "should identify facts by node name" do -+ Puppet::Node::Facts.indirection.find("foo").should == @foo_facts -+ end -+ -+ it "should return nil if no node instance can be found" do -+ Puppet::Node::Facts.indirection.find("non-existent node").should == nil -+ end -+ end -+ -+ describe "#search" do -+ def search_request(conditions) -+ Puppet::Indirector::Request.new(:facts, :search, nil, nil, conditions) -+ end -+ -+ before :each do -+ @now = Time.now -+ @foo = Puppet::Node::Facts.new("foo", "fact1" => "value1", "fact2" => "value2", "uptime_days" => "30") -+ @bar = Puppet::Node::Facts.new("bar", "fact1" => "value1", "uptime_days" => "60") -+ @baz = Puppet::Node::Facts.new("baz", "fact1" => "value2", "fact2" => "value1", "uptime_days" => "90") -+ @bat = Puppet::Node::Facts.new("bat") -+ @foo.timestamp = @now - 3600*1 -+ @bar.timestamp = @now - 3600*3 -+ @baz.timestamp = @now - 3600*5 -+ @bat.timestamp = @now - 3600*7 -+ [@foo, @bar, @baz, @bat].each {|facts| Puppet::Node::Facts.indirection.save(facts)} -+ end -+ -+ it "should return node names that match 'equal' constraints" do -+ request = search_request('facts.fact1.eq' => 'value1', -+ 'facts.fact2.eq' => 'value2') -+ terminus.search(request).should == ["foo"] -+ end -+ -+ it "should return node names that match 'not equal' constraints" do -+ request = search_request('facts.fact1.ne' => 'value2') -+ terminus.search(request).should == ["bar","foo"] -+ end -+ -+ it "should return node names that match strict inequality constraints" do -+ request = search_request('facts.uptime_days.gt' => '20', -+ 'facts.uptime_days.lt' => '70') -+ terminus.search(request).should == ["bar","foo"] -+ end -+ -+ it "should return node names that match non-strict inequality constraints" do -+ request = search_request('facts.uptime_days.ge' => '30', -+ 'facts.uptime_days.le' => '60') -+ terminus.search(request).should == ["bar","foo"] -+ end -+ -+ it "should return node names whose facts are within a given timeframe" do -+ request = search_request('meta.timestamp.ge' => @now - 3600*5, -+ 'meta.timestamp.le' => @now - 3600*1) -+ terminus.search(request).should == ["bar","baz","foo"] -+ end -+ -+ it "should return node names whose facts are from a specific time" do -+ request = search_request('meta.timestamp.eq' => @now - 3600*3) -+ terminus.search(request).should == ["bar"] -+ end -+ -+ it "should return node names whose facts are not from a specific time" do -+ request = search_request('meta.timestamp.ne' => @now - 3600*1) -+ terminus.search(request).should == ["bar","bat","baz"] -+ end -+ -+ it "should perform strict searches on nodes by timestamp" do -+ request = search_request('meta.timestamp.gt' => @now - 3600*5, -+ 'meta.timestamp.lt' => @now - 3600*1) -+ terminus.search(request).should == ["bar"] -+ end -+ -+ it "should search nodes based on both facts and timestamp values" do -+ request = search_request('facts.uptime_days.gt' => '45', -+ 'meta.timestamp.lt' => @now - 3600*4) -+ terminus.search(request).should == ["baz"] -+ end - end - end - -- describe "#find" do -- before do -- @foo_facts = Puppet::Node::Facts.new("foo", "uptime_days" => "60", "kernel" => "Darwin") -- @bar_facts = Puppet::Node::Facts.new("bar", "uptime_days" => "30", "kernel" => "Linux") -- Puppet::Node::Facts.indirection.save(@foo_facts) -- Puppet::Node::Facts.indirection.save(@bar_facts) -- end -- -- it "should identify facts by node name" do -- Puppet::Node::Facts.indirection.find("foo").should == @foo_facts -- end -- -- it "should return nil if no node instance can be found" do -- Puppet::Node::Facts.indirection.find("non-existent node").should == nil -- end -- end -- -- describe "#search" do -- def search_request(conditions) -- Puppet::Indirector::Request.new(:facts, :search, nil, nil, conditions) -- end -- -- before :each do -- @now = Time.now -- @foo = Puppet::Node::Facts.new("foo", "fact1" => "value1", "fact2" => "value2", "uptime_days" => "30") -- @bar = Puppet::Node::Facts.new("bar", "fact1" => "value1", "uptime_days" => "60") -- @baz = Puppet::Node::Facts.new("baz", "fact1" => "value2", "fact2" => "value1", "uptime_days" => "90") -- @bat = Puppet::Node::Facts.new("bat") -- @foo.timestamp = @now - 3600*1 -- @bar.timestamp = @now - 3600*3 -- @baz.timestamp = @now - 3600*5 -- @bat.timestamp = @now - 3600*7 -- [@foo, @bar, @baz, @bat].each {|facts| Puppet::Node::Facts.indirection.save(facts)} -- end -- -- it "should return node names that match 'equal' constraints" do -- request = search_request('facts.fact1.eq' => 'value1', -- 'facts.fact2.eq' => 'value2') -- terminus.search(request).should == ["foo"] -- end -- -- it "should return node names that match 'not equal' constraints" do -- request = search_request('facts.fact1.ne' => 'value2') -- terminus.search(request).should == ["bar","foo"] -- end -- -- it "should return node names that match strict inequality constraints" do -- request = search_request('facts.uptime_days.gt' => '20', -- 'facts.uptime_days.lt' => '70') -- terminus.search(request).should == ["bar","foo"] -- end -- -- it "should return node names that match non-strict inequality constraints" do -- request = search_request('facts.uptime_days.ge' => '30', -- 'facts.uptime_days.le' => '60') -- terminus.search(request).should == ["bar","foo"] -- end -- -- it "should return node names whose facts are within a given timeframe" do -- request = search_request('meta.timestamp.ge' => @now - 3600*5, -- 'meta.timestamp.le' => @now - 3600*1) -- terminus.search(request).should == ["bar","baz","foo"] -- end -- -- it "should return node names whose facts are from a specific time" do -- request = search_request('meta.timestamp.eq' => @now - 3600*3) -- terminus.search(request).should == ["bar"] -- end -- -- it "should return node names whose facts are not from a specific time" do -- request = search_request('meta.timestamp.ne' => @now - 3600*1) -- terminus.search(request).should == ["bar","bat","baz"] -- end -- -- it "should perform strict searches on nodes by timestamp" do -- request = search_request('meta.timestamp.gt' => @now - 3600*5, -- 'meta.timestamp.lt' => @now - 3600*1) -- terminus.search(request).should == ["bar"] -- end -- -- it "should search nodes based on both facts and timestamp values" do -- request = search_request('facts.uptime_days.gt' => '45', -- 'meta.timestamp.lt' => @now - 3600*4) -- terminus.search(request).should == ["baz"] -+ context "under Ruby 2.x", :if => RUBY_VERSION[0] == '2' do -+ describe "#initialize" do -+ it "should raise error under Ruby 2" do -+ lambda { terminus }.should raise_error(Puppet::Error, /Ruby 2/) -+ end - end - end - end -- -diff --git a/spec/unit/provider/user/directoryservice_spec.rb b/spec/unit/provider/user/directoryservice_spec.rb -index 7be6399..6534147 100755 ---- a/spec/unit/provider/user/directoryservice_spec.rb -+++ b/spec/unit/provider/user/directoryservice_spec.rb -@@ -1,4 +1,5 @@ - #! /usr/bin/env ruby -S rspec -+# encoding: ASCII-8BIT - require 'spec_helper' - require 'facter/util/plist' - -diff --git a/spec/unit/ssl/certificate_authority_spec.rb b/spec/unit/ssl/certificate_authority_spec.rb -index 3315243..9d007a3 100755 ---- a/spec/unit/ssl/certificate_authority_spec.rb -+++ b/spec/unit/ssl/certificate_authority_spec.rb -@@ -1,4 +1,5 @@ - #! /usr/bin/env ruby -+# encoding: ASCII-8BIT - require 'spec_helper' - - require 'puppet/ssl/certificate_authority' -diff --git a/spec/unit/transaction/event_spec.rb b/spec/unit/transaction/event_spec.rb -index 579540d..2a51936 100755 ---- a/spec/unit/transaction/event_spec.rb -+++ b/spec/unit/transaction/event_spec.rb -@@ -3,10 +3,19 @@ require 'spec_helper' - - require 'puppet/transaction/event' - -+class TestResource -+ def to_s -+ "Foo[bar]" -+ end -+ def [](v) -+ nil -+ end -+end -+ - describe Puppet::Transaction::Event do - include PuppetSpec::Files - -- [:previous_value, :desired_value, :property, :resource, :name, :message, :file, :line, :tags, :audited].each do |attr| -+ [:previous_value, :desired_value, :property, :name, :message, :file, :line, :tags, :audited].each do |attr| - it "should support #{attr}" do - event = Puppet::Transaction::Event.new - event.send(attr.to_s + "=", "foo") -@@ -14,12 +23,18 @@ describe Puppet::Transaction::Event do - end - end - -+ it "should support resource" do -+ event = Puppet::Transaction::Event.new -+ event.resource = TestResource.new -+ event.resource.should == "Foo[bar]" -+ end -+ - it "should always convert the property to a string" do - Puppet::Transaction::Event.new(:property => :foo).property.should == "foo" - end - - it "should always convert the resource to a string" do -- Puppet::Transaction::Event.new(:resource => :foo).resource.should == "foo" -+ Puppet::Transaction::Event.new(:resource => TestResource.new).resource.should == "Foo[bar]" - end - - it "should produce the message when converted to a string" do -@@ -99,17 +114,17 @@ describe Puppet::Transaction::Event do - - it "should use the source description as the source if one is set" do - Puppet::Util::Log.expects(:new).with { |args| args[:source] == "/my/param" } -- Puppet::Transaction::Event.new(:source_description => "/my/param", :resource => "Foo[bar]", :property => "foo").send_log -+ Puppet::Transaction::Event.new(:source_description => "/my/param", :resource => TestResource.new, :property => "foo").send_log - end - - it "should use the property as the source if one is available and no source description is set" do - Puppet::Util::Log.expects(:new).with { |args| args[:source] == "foo" } -- Puppet::Transaction::Event.new(:resource => "Foo[bar]", :property => "foo").send_log -+ Puppet::Transaction::Event.new(:resource => TestResource.new, :property => "foo").send_log - end - - it "should use the property as the source if one is available and no property or source description is set" do - Puppet::Util::Log.expects(:new).with { |args| args[:source] == "Foo[bar]" } -- Puppet::Transaction::Event.new(:resource => "Foo[bar]").send_log -+ Puppet::Transaction::Event.new(:resource => TestResource.new).send_log - end - end - -diff --git a/spec/unit/util/execution_spec.rb b/spec/unit/util/execution_spec.rb -index 4390eba..1e7ac26 100755 ---- a/spec/unit/util/execution_spec.rb -+++ b/spec/unit/util/execution_spec.rb -@@ -576,7 +576,7 @@ describe Puppet::Util::Execution do - it "should raise an error if a nil option is specified" do - expect { - Puppet::Util::Execution.execute('fail command', nil) -- }.to raise_error(TypeError, /can\'t convert nil into Hash/) -+ }.to raise_error(TypeError, /(can\'t convert|no implicit conversion of) nil into Hash/) - end - end - end From 18b5f8c9a47812e86dc11cde0b0339d34b55f1a5 Mon Sep 17 00:00:00 2001 From: Sam Kottler Date: Fri, 30 Aug 2013 08:20:40 -0400 Subject: [PATCH 105/272] Add a missing '2013' to the CVE ID --- puppet.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/puppet.spec b/puppet.spec index 0000a24..985e950 100644 --- a/puppet.spec +++ b/puppet.spec @@ -358,7 +358,7 @@ rm -rf %{buildroot} %changelog * Fri Aug 30 2013 Sam Kottler - 3.2.4-1 -- Update to 3.2.4 to fix CVE-2013-4761 and CVE-4956 +- Update to 3.2.4 to fix CVE-2013-4761 and CVE-2013-4956 * Thu Aug 29 2013 Sam Kottler - 3.2.2-1 - Update to 3.2.2 From c32be462c8aacfc866f569fd4c83e45dcef2947c Mon Sep 17 00:00:00 2001 From: Sam Kottler Date: Fri, 13 Sep 2013 11:09:22 -0400 Subject: [PATCH 106/272] Fixes BZ#1007917: upgrade to 3.3.0 --- puppet.spec | 6 ++++-- sources | 3 +-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/puppet.spec b/puppet.spec index 985e950..7a4e1fb 100644 --- a/puppet.spec +++ b/puppet.spec @@ -21,7 +21,7 @@ %global confdir ext/redhat Name: puppet -Version: 3.2.4 +Version: 3.3.0 Release: 1%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 @@ -110,7 +110,6 @@ The server can also function as a certificate authority and file server. %prep %setup -q -patch -s -p1 < %{confdir}/rundir-perms.patch # Fix some rpmlint complaints for f in mac_automount.pp mcx_dock_absent.pp mcx_dock_default.pp \ @@ -357,6 +356,9 @@ fi rm -rf %{buildroot} %changelog +* Fri Sep 13 2013 Sam Kottler - 3.3.0-1 +- Update to 3.3.0 and remove the rundir-perms patch since it's no longer needed + * Fri Aug 30 2013 Sam Kottler - 3.2.4-1 - Update to 3.2.4 to fix CVE-2013-4761 and CVE-2013-4956 diff --git a/sources b/sources index 8da0d36..43dc02b 100644 --- a/sources +++ b/sources @@ -1,2 +1 @@ -7084f61bea287ba6720ed2ccccd1fb03 puppet-3.2.4.tar.gz -e2b3fc3796de942af4dc1e63665856b8 puppet-3.2.4.tar.gz.asc +6fd8a52d1344ee7af1dd338469202281 puppet-3.3.0.tar.gz.asc From 0752946bb596a2de3ceebc995a16be6e765556eb Mon Sep 17 00:00:00 2001 From: Sam Kottler Date: Fri, 13 Sep 2013 11:12:25 -0400 Subject: [PATCH 107/272] Add tarball, too --- sources | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources b/sources index 43dc02b..83989e3 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -6fd8a52d1344ee7af1dd338469202281 puppet-3.3.0.tar.gz.asc +a421af51530e0b32e681f2274c7141d9 puppet-3.3.0.tar.gz From e892b45bc019d8b29410c3f24c120e3d7dc4b531 Mon Sep 17 00:00:00 2001 From: Sam Kottler Date: Fri, 13 Sep 2013 11:17:56 -0400 Subject: [PATCH 108/272] Add both new sources --- sources | 1 + 1 file changed, 1 insertion(+) diff --git a/sources b/sources index 83989e3..129196b 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ a421af51530e0b32e681f2274c7141d9 puppet-3.3.0.tar.gz +6fd8a52d1344ee7af1dd338469202281 puppet-3.3.0.tar.gz.asc From f035778694004bc21aa885ae97af5caa2480885d Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Mon, 7 Oct 2013 20:12:14 -0600 Subject: [PATCH 109/272] Update to 3.3.1 --- puppet.spec | 5 ++++- sources | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/puppet.spec b/puppet.spec index 7a4e1fb..26e52f3 100644 --- a/puppet.spec +++ b/puppet.spec @@ -21,7 +21,7 @@ %global confdir ext/redhat Name: puppet -Version: 3.3.0 +Version: 3.3.1 Release: 1%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 @@ -356,6 +356,9 @@ fi rm -rf %{buildroot} %changelog +* Mon Oct 7 2013 Orion Poplawski - 3.3.1-1 +- Update to 3.3.1 + * Fri Sep 13 2013 Sam Kottler - 3.3.0-1 - Update to 3.3.0 and remove the rundir-perms patch since it's no longer needed diff --git a/sources b/sources index 129196b..d97a5ae 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -a421af51530e0b32e681f2274c7141d9 puppet-3.3.0.tar.gz -6fd8a52d1344ee7af1dd338469202281 puppet-3.3.0.tar.gz.asc +e553c381df75b24c8eda00ecc6dcef8a puppet-3.3.1.tar.gz +db515b3dc952ad3e1b2acacfb6578cf3 puppet-3.3.1.tar.gz.asc From 38ef600898bfcda117e519b4b0b30448a676b586 Mon Sep 17 00:00:00 2001 From: Lukas Zapletal Date: Fri, 1 Nov 2013 18:29:00 -0400 Subject: [PATCH 110/272] Add a start wrapper for the agent and master so the master can be labelled properly (BZ#1012426) --- puppet.spec | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/puppet.spec b/puppet.spec index 26e52f3..6b47c33 100644 --- a/puppet.spec +++ b/puppet.spec @@ -22,7 +22,7 @@ Name: puppet Version: 3.3.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 URL: http://puppetlabs.com @@ -183,6 +183,12 @@ vimdir=%{buildroot}%{_datadir}/vim/vimfiles install -Dp -m0644 ext/vim/ftdetect/puppet.vim $vimdir/ftdetect/puppet.vim install -Dp -m0644 ext/vim/syntax/puppet.vim $vimdir/syntax/puppet.vim +# Install wrappers for SELinux +install -Dp -m0755 start-puppet-wrapper %{buildroot}%{_bindir}/start-puppet-agent +sed -i 's/@@COMMAND@@/agent/g' %{buildroot}%{_bindir}/start-puppet-agent +install -Dp -m0755 start-puppet-wrapper %{buildroot}%{_bindir}/start-puppet-master +sed -i 's/@@COMMAND@@/master/g' %{buildroot}%{_bindir}/start-puppet-agent + %if 0%{?fedora} >= 15 # Setup tmpfiles.d config mkdir -p %{buildroot}%{_sysconfdir}/tmpfiles.d @@ -197,6 +203,8 @@ mkdir -p %{buildroot}%{_sysconfdir}/%{name}/modules %defattr(-, root, root, 0755) %doc LICENSE README.md examples %{_bindir}/puppet +%{_bindir}/start-puppet-agent +%{_bindir}/start-puppet-master %{_bindir}/extlookup2hiera %{puppet_libdir}/* %if 0%{?_with_systemd} @@ -356,6 +364,9 @@ fi rm -rf %{buildroot} %changelog +* Fri Nov 1 2013 Lukas Zapletal - 3.3.1-2 +- Added SELinux wrappers for daemon processes + * Mon Oct 7 2013 Orion Poplawski - 3.3.1-1 - Update to 3.3.1 From f9345f3ebaf60274a72c0ab77e6a8ed9918949da Mon Sep 17 00:00:00 2001 From: Sam Kottler Date: Fri, 1 Nov 2013 18:40:12 -0400 Subject: [PATCH 111/272] Whoops, add the script to the sources now that it's in the lookaside --- .gitignore | 1 + sources | 1 + 2 files changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index b490e46..70a5129 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ *.tar.gz.asc /puppet-*/ /.build*.log +/start-puppet-wrapper diff --git a/sources b/sources index d97a5ae..40d639c 100644 --- a/sources +++ b/sources @@ -1,2 +1,3 @@ e553c381df75b24c8eda00ecc6dcef8a puppet-3.3.1.tar.gz db515b3dc952ad3e1b2acacfb6578cf3 puppet-3.3.1.tar.gz.asc +0a83c5398abfd1f5cb8f6f538dae3739 start-puppet-wrapper From f3709825f26e240576a33b89a79118e6049c158b Mon Sep 17 00:00:00 2001 From: Sam Kottler Date: Fri, 1 Nov 2013 18:54:49 -0400 Subject: [PATCH 112/272] Make the wrapper a source --- puppet.spec | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/puppet.spec b/puppet.spec index 6b47c33..b85755e 100644 --- a/puppet.spec +++ b/puppet.spec @@ -30,6 +30,7 @@ Source0: http://downloads.puppetlabs.com/%{name}/%{name}-%{version}.tar.g Source1: http://downloads.puppetlabs.com/%{name}/%{name}-%{version}.tar.gz.asc Source2: puppet-nm-dispatcher Source3: puppet-nm-dispatcher.systemd +Source4: start-puppet-wrapper Group: System Environment/Base @@ -184,9 +185,9 @@ install -Dp -m0644 ext/vim/ftdetect/puppet.vim $vimdir/ftdetect/puppet.vim install -Dp -m0644 ext/vim/syntax/puppet.vim $vimdir/syntax/puppet.vim # Install wrappers for SELinux -install -Dp -m0755 start-puppet-wrapper %{buildroot}%{_bindir}/start-puppet-agent +install -Dp -m0755 %{SOURCE4} %{buildroot}%{_bindir}/start-puppet-agent sed -i 's/@@COMMAND@@/agent/g' %{buildroot}%{_bindir}/start-puppet-agent -install -Dp -m0755 start-puppet-wrapper %{buildroot}%{_bindir}/start-puppet-master +install -Dp -m0755 %{SOURCE4} %{buildroot}%{_bindir}/start-puppet-master sed -i 's/@@COMMAND@@/master/g' %{buildroot}%{_bindir}/start-puppet-agent %if 0%{?fedora} >= 15 From bfd9d587412279f83d779ec5d0038db0a9903b25 Mon Sep 17 00:00:00 2001 From: Sam Kottler Date: Tue, 5 Nov 2013 16:32:41 -0500 Subject: [PATCH 113/272] Ensure the old agent binary gets stopped since the init script doesn't reference it (BZ##1024538) --- puppet.spec | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/puppet.spec b/puppet.spec index b85755e..eb53844 100644 --- a/puppet.spec +++ b/puppet.spec @@ -301,6 +301,17 @@ exit 0 %if 0%{?_with_systemd} /bin/systemctl daemon-reload >/dev/null 2>&1 || : %else +# If there's a running puppet agent, restart it during upgrade. Fixes +# BZ #1024538. +if [ "$1" -ge 1 ]; then + pid="%{_localstatedir}/run/puppet/agent.pid" + if [ -e "$pid" ]; then + if ps aux | grep `cat "$pid"` | grep -v grep | awk '{ print $12 }' | grep -q sbin; then + (kill $(< "$pid") && rm -f "$pid" && \ + /sbin/service puppet start) >/dev/null 2>&1 || : + fi + fi +fi /sbin/chkconfig --add puppet || : %endif From a6f20025cc4f81ae875fa158c3dce95d651971bc Mon Sep 17 00:00:00 2001 From: Sam Kottler Date: Sat, 16 Nov 2013 19:26:49 +0000 Subject: [PATCH 114/272] Add patch to convert nil resource parameter values to undef (BZ#1028930) --- .gitignore | 1 + puppet.spec | 10 +++++++++- sources | 3 ++- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 70a5129..1fbbdfa 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ /puppet-*/ /.build*.log /start-puppet-wrapper +/23115-convert-nil-to-undef.patch diff --git a/puppet.spec b/puppet.spec index eb53844..6f5ecf1 100644 --- a/puppet.spec +++ b/puppet.spec @@ -22,7 +22,7 @@ Name: puppet Version: 3.3.1 -Release: 2%{?dist} +Release: 3%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 URL: http://puppetlabs.com @@ -84,6 +84,10 @@ Requires(postun): initscripts Requires: tar +# http://projects.puppetlabs.com/issues/23115 +# https://bugzilla.redhat.com/show_bug.cgi?id=1028930 +Patch0: 23115-convert-nil-to-undef.patch + %description Puppet lets you centrally manage every important aspect of your system using a cross-platform specification language that manages all the separate elements @@ -111,6 +115,7 @@ The server can also function as a certificate authority and file server. %prep %setup -q +%patch0 -p1 # Fix some rpmlint complaints for f in mac_automount.pp mcx_dock_absent.pp mcx_dock_default.pp \ @@ -376,6 +381,9 @@ fi rm -rf %{buildroot} %changelog +* Sat Nov 16 2013 Sam Kottler - 3.3.1-3 +- Add patch to convert nil resource parameter values to undef (BZ#1028930) + * Fri Nov 1 2013 Lukas Zapletal - 3.3.1-2 - Added SELinux wrappers for daemon processes diff --git a/sources b/sources index 40d639c..765e0ac 100644 --- a/sources +++ b/sources @@ -1,3 +1,4 @@ +0a83c5398abfd1f5cb8f6f538dae3739 start-puppet-wrapper e553c381df75b24c8eda00ecc6dcef8a puppet-3.3.1.tar.gz db515b3dc952ad3e1b2acacfb6578cf3 puppet-3.3.1.tar.gz.asc -0a83c5398abfd1f5cb8f6f538dae3739 start-puppet-wrapper +6e5d1e2f9dcb5cba5efa92cb018c25ac 23115-convert-nil-to-undef.patch From 5559ba0d4465a7b7da08cf12ec06d2d434c28ddc Mon Sep 17 00:00:00 2001 From: Sam Kottler Date: Mon, 18 Nov 2013 15:19:53 -0500 Subject: [PATCH 115/272] Update to 3.3.2 --- puppet.spec | 7 +++++-- sources | 4 ++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/puppet.spec b/puppet.spec index 6f5ecf1..9a83dd6 100644 --- a/puppet.spec +++ b/puppet.spec @@ -21,8 +21,8 @@ %global confdir ext/redhat Name: puppet -Version: 3.3.1 -Release: 3%{?dist} +Version: 3.3.2 +Release: 1%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 URL: http://puppetlabs.com @@ -381,6 +381,9 @@ fi rm -rf %{buildroot} %changelog +* Mon Nov 18 2013 Sam Kottler - 3.3.2-1 +- Update to 3.3.2 (BZ#1031810) + * Sat Nov 16 2013 Sam Kottler - 3.3.1-3 - Add patch to convert nil resource parameter values to undef (BZ#1028930) diff --git a/sources b/sources index 765e0ac..29fd3b8 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ +bbbe1fcd38b6b520bf32576ad7931da0 puppet-3.3.2.tar.gz +1c60142a38f96281fad69f932c5248e3 puppet-3.3.2.tar.gz.asc 0a83c5398abfd1f5cb8f6f538dae3739 start-puppet-wrapper -e553c381df75b24c8eda00ecc6dcef8a puppet-3.3.1.tar.gz -db515b3dc952ad3e1b2acacfb6578cf3 puppet-3.3.1.tar.gz.asc 6e5d1e2f9dcb5cba5efa92cb018c25ac 23115-convert-nil-to-undef.patch From 77ef7b1da58d4bd3771161630e123c2db1fc458c Mon Sep 17 00:00:00 2001 From: Sam Kottler Date: Tue, 14 Jan 2014 05:51:01 -0500 Subject: [PATCH 116/272] Update to 3.4.2 to mitigate CVE-2013-4969 (BZ#1047792) --- puppet.spec | 31 ++++++++++--------------------- 1 file changed, 10 insertions(+), 21 deletions(-) diff --git a/puppet.spec b/puppet.spec index 9a83dd6..c961559 100644 --- a/puppet.spec +++ b/puppet.spec @@ -21,7 +21,7 @@ %global confdir ext/redhat Name: puppet -Version: 3.3.2 +Version: 3.4.2 Release: 1%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 @@ -84,10 +84,6 @@ Requires(postun): initscripts Requires: tar -# http://projects.puppetlabs.com/issues/23115 -# https://bugzilla.redhat.com/show_bug.cgi?id=1028930 -Patch0: 23115-convert-nil-to-undef.patch - %description Puppet lets you centrally manage every important aspect of your system using a cross-platform specification language that manages all the separate elements @@ -115,18 +111,6 @@ The server can also function as a certificate authority and file server. %prep %setup -q -%patch0 -p1 - -# Fix some rpmlint complaints -for f in mac_automount.pp mcx_dock_absent.pp mcx_dock_default.pp \ - mcx_dock_full.pp mcx_dock_invalid.pp mcx_nogroup.pp \ - mcx_notexists_absent.pp; do - sed -i -e'1d' examples/$f - chmod a-x examples/$f -done -for f in external/nagios.rb relationship.rb; do - sed -i -e '1d' lib/puppet/$f -done chmod +x ext/puppet-load.rb ext/regexp_nodes/regexp_nodes.rb %build @@ -144,7 +128,8 @@ install -d -m0750 %{buildroot}%{_localstatedir}/log/puppet %if 0%{?_with_systemd} %{__install} -d -m0755 %{buildroot}%{_unitdir} -install -Dp -m0644 ext/systemd/puppetagent.service %{buildroot}%{_unitdir}/puppetagent.service +install -Dp -m0644 ext/systemd/puppet.service %{buildroot}%{_unitdir}/puppet.service +ln -s %{_unitdir}/puppet.service %{buildroot}%{_unitdir}/puppetagent.service install -Dp -m0644 ext/systemd/puppetmaster.service %{buildroot}%{_unitdir}/puppetmaster.service %else install -Dp -m0644 %{confdir}/client.sysconfig %{buildroot}%{_sysconfdir}/sysconfig/puppet @@ -214,6 +199,7 @@ mkdir -p %{buildroot}%{_sysconfdir}/%{name}/modules %{_bindir}/extlookup2hiera %{puppet_libdir}/* %if 0%{?_with_systemd} +%{_unitdir}/puppet.service %{_unitdir}/puppetagent.service %else %{_initrddir}/puppet @@ -330,8 +316,8 @@ fi %preun %if 0%{?_with_systemd} if [ "$1" -eq 0 ] ; then - /bin/systemctl --no-reload disable puppetagent.service > /dev/null 2>&1 || : - /bin/systemctl stop puppetagent.service > /dev/null 2>&1 || : + /bin/systemctl --no-reload disable puppet.service > /dev/null 2>&1 || : + /bin/systemctl stop puppet.service > /dev/null 2>&1 || : /bin/systemctl daemon-reload >/dev/null 2>&1 || : fi %else @@ -358,7 +344,7 @@ fi %postun %if 0%{?_with_systemd} if [ $1 -ge 1 ] ; then - /bin/systemctl try-restart puppetagent.service >/dev/null 2>&1 || : + /bin/systemctl try-restart puppet.service >/dev/null 2>&1 || : fi %else if [ "$1" -ge 1 ]; then @@ -381,6 +367,9 @@ fi rm -rf %{buildroot} %changelog +* Tue Jan 14 2014 Sam Kottler - 3.4.2-1 +- Update to 3.4.2 to mitigate CVE-2013-4969 (BZ#1047792) + * Mon Nov 18 2013 Sam Kottler - 3.3.2-1 - Update to 3.3.2 (BZ#1031810) From a162ea3e6c103252f36554ca4332c19f91d3c925 Mon Sep 17 00:00:00 2001 From: Sam Kottler Date: Tue, 14 Jan 2014 05:51:41 -0500 Subject: [PATCH 117/272] Add sources for 3.4.2 --- sources | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sources b/sources index 29fd3b8..4343c51 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -bbbe1fcd38b6b520bf32576ad7931da0 puppet-3.3.2.tar.gz -1c60142a38f96281fad69f932c5248e3 puppet-3.3.2.tar.gz.asc -0a83c5398abfd1f5cb8f6f538dae3739 start-puppet-wrapper 6e5d1e2f9dcb5cba5efa92cb018c25ac 23115-convert-nil-to-undef.patch +0a83c5398abfd1f5cb8f6f538dae3739 start-puppet-wrapper +e8d77839c0e24f51604eed3fb6e8b485 puppet-3.4.2.tar.gz.asc +cbe27b5e333b87b91578778d1fa21ca4 puppet-3.4.2.tar.gz From f127291835baf15867ff60cea5e0c2fbe3f8414f Mon Sep 17 00:00:00 2001 From: Sam Kottler Date: Thu, 16 Jan 2014 10:46:19 +0100 Subject: [PATCH 118/272] Remove F18 conditionals since it's EOL now --- puppet.spec | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/puppet.spec b/puppet.spec index c961559..978ce43 100644 --- a/puppet.spec +++ b/puppet.spec @@ -11,13 +11,7 @@ %global puppet_libdir %(ruby -rrbconfig -e 'puts RbConfig::CONFIG["sitelibdir"]') %endif -# F-17 also ships with systemd; package/use systemd files in this case -%if 0%{?fedora} > 18 %global _with_systemd 1 -%else -%global _with_systemd 0 -%endif - %global confdir ext/redhat Name: puppet @@ -43,12 +37,8 @@ BuildArch: noarch %if 0%{?rhel} && 0%{?rhel} <= 6 Requires: ruby(abi) = 1.8 %else -%if 0%{?fedora} <= 18 -Requires: ruby(abi) = 1.9.1 -%else Requires: ruby(release) %endif -%endif Requires: ruby(shadow) # Prevents jruby from being pulled in by dependencies (BZ #985208) From 7add85ccbbe8d3c70a2424e194f601c410faccc2 Mon Sep 17 00:00:00 2001 From: Sam Kottler Date: Thu, 16 Jan 2014 10:50:18 +0100 Subject: [PATCH 119/272] Add changelog entry and bump version since scratch-build was okay --- puppet.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/puppet.spec b/puppet.spec index 978ce43..70c6606 100644 --- a/puppet.spec +++ b/puppet.spec @@ -16,7 +16,8 @@ Name: puppet Version: 3.4.2 -Release: 1%{?dist} +Release: 2%{?dist} +Group: System Environment/Base Summary: A network tool for managing many disparate systems License: ASL 2.0 URL: http://puppetlabs.com @@ -357,6 +358,9 @@ fi rm -rf %{buildroot} %changelog +* Thu Jan 16 2014 Sam Kottler - 3.4.2-2 +- Remove F18 conditionals now that it's EOL + * Tue Jan 14 2014 Sam Kottler - 3.4.2-1 - Update to 3.4.2 to mitigate CVE-2013-4969 (BZ#1047792) From f217cd36096c518d2100ade0496af32a84361fee Mon Sep 17 00:00:00 2001 From: Sam Kottler Date: Thu, 16 Jan 2014 10:54:00 +0100 Subject: [PATCH 120/272] Remove repeated Group --- puppet.spec | 1 - 1 file changed, 1 deletion(-) diff --git a/puppet.spec b/puppet.spec index 70c6606..fc14d88 100644 --- a/puppet.spec +++ b/puppet.spec @@ -17,7 +17,6 @@ Name: puppet Version: 3.4.2 Release: 2%{?dist} -Group: System Environment/Base Summary: A network tool for managing many disparate systems License: ASL 2.0 URL: http://puppetlabs.com From 80fdd334dd4cb922f034a2a9430ba6f646c34cc9 Mon Sep 17 00:00:00 2001 From: Sam Kottler Date: Fri, 17 Jan 2014 06:35:46 -0500 Subject: [PATCH 121/272] Enable puppet.service during upgrade if puppetagent.service was previously enabled --- puppet.spec | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/puppet.spec b/puppet.spec index fc14d88..38a1feb 100644 --- a/puppet.spec +++ b/puppet.spec @@ -13,10 +13,11 @@ %global _with_systemd 1 %global confdir ext/redhat +%global pending_upgrade_file /tmp/puppet_pending_upgrade Name: puppet Version: 3.4.2 -Release: 2%{?dist} +Release: 3%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 URL: http://puppetlabs.com @@ -310,6 +311,18 @@ if [ "$1" -eq 0 ] ; then /bin/systemctl stop puppet.service > /dev/null 2>&1 || : /bin/systemctl daemon-reload >/dev/null 2>&1 || : fi + +if [ "$1" == "1" ]; then + /bin/systemctl is-enabled puppetagent.service > /dev/null 2>&1 + if [ "$?" == "0" ]; then + /bin/systemctl /bin/systemctl --no-reload disable puppetagent.service > /dev/null 2>&1 ||: + /bin/systemctl stop puppetagent.service > /dev/null 2>&1 ||: + /bin/systemctl daemon-reload >/dev/null 2>&1 ||: + if [ ! -e %{pending_upgrade_file} ]; then + touch %{pending_upgrade_file} + fi + fi +fi %else if [ "$1" = 0 ] ; then /sbin/service puppet stop >/dev/null 2>&1 @@ -335,6 +348,12 @@ fi %if 0%{?_with_systemd} if [ $1 -ge 1 ] ; then /bin/systemctl try-restart puppet.service >/dev/null 2>&1 || : + if [ -e %{pending_upgrade_file} ]; then + /bin/systemctl --no-reload enable puppet.service > /dev/null 2>&1 ||: + /bin/systemctl start puppet.service > /dev/null 2>&1 ||: + /bin/systemctl daemon-reload >/dev/null 2>&1 ||: + rm %{pending_upgrade_file} + fi fi %else if [ "$1" -ge 1 ]; then @@ -357,6 +376,9 @@ fi rm -rf %{buildroot} %changelog +* Fri Jan 17 2014 Sam Kottler - 3.4.2-3 +- Enable puppet.service during upgrade if puppetagent.service was previously enabled + * Thu Jan 16 2014 Sam Kottler - 3.4.2-2 - Remove F18 conditionals now that it's EOL From dc3f6cc0ce4a775e8a63f69ffffcc9e59bc70abd Mon Sep 17 00:00:00 2001 From: Sam Kottler Date: Thu, 23 Jan 2014 17:30:14 +0000 Subject: [PATCH 122/272] Use localstatedir macro for upgrade file --- puppet.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/puppet.spec b/puppet.spec index 38a1feb..0cc7056 100644 --- a/puppet.spec +++ b/puppet.spec @@ -13,7 +13,8 @@ %global _with_systemd 1 %global confdir ext/redhat -%global pending_upgrade_file /tmp/puppet_pending_upgrade +%global pending_upgrade_path %{_localstatedir}/lib/rpm-state/puppet +%global pending_upgrade_file %{pending_upgrade_path}/upgrade_pending Name: puppet Version: 3.4.2 @@ -319,6 +320,9 @@ if [ "$1" == "1" ]; then /bin/systemctl stop puppetagent.service > /dev/null 2>&1 ||: /bin/systemctl daemon-reload >/dev/null 2>&1 ||: if [ ! -e %{pending_upgrade_file} ]; then + if [ ! -d %{pending_upgrade_path} ]; then + mkdir %{pending_upgrade_path} + end touch %{pending_upgrade_file} fi fi From 4854041889a5408fafa7ea768c55f5c37d760d03 Mon Sep 17 00:00:00 2001 From: Sam Kottler Date: Thu, 23 Jan 2014 17:31:09 +0000 Subject: [PATCH 123/272] Bump the release to -4 --- puppet.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/puppet.spec b/puppet.spec index 0cc7056..71f20d3 100644 --- a/puppet.spec +++ b/puppet.spec @@ -18,7 +18,7 @@ Name: puppet Version: 3.4.2 -Release: 3%{?dist} +Release: 4%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 URL: http://puppetlabs.com @@ -380,6 +380,9 @@ fi rm -rf %{buildroot} %changelog +* Thu Jan 23 2014 Sam Kottler - 3.4.2-4 +- Use localstatedir macro instead of /tmp + * Fri Jan 17 2014 Sam Kottler - 3.4.2-3 - Enable puppet.service during upgrade if puppetagent.service was previously enabled From 487cbd9511ff413177d081a9084606d8b349074b Mon Sep 17 00:00:00 2001 From: Sam Kottler Date: Wed, 29 Jan 2014 19:47:14 +0100 Subject: [PATCH 124/272] Add rubygem(rgen) runtime reuqirement --- puppet.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/puppet.spec b/puppet.spec index 71f20d3..a8377c6 100644 --- a/puppet.spec +++ b/puppet.spec @@ -57,6 +57,7 @@ Requires: ruby Requires: facter >= 1.6.6 Requires: hiera >= 1.0.0 +Requires: rubygem(rgen) Obsoletes: hiera-puppet < 1.0.0-2 Provides: hiera-puppet = %{version}-%{release} From b8e7d983fcc6e8ca8edd52b21252a8c28bd3415a Mon Sep 17 00:00:00 2001 From: Sam Kottler Date: Wed, 29 Jan 2014 19:49:01 +0100 Subject: [PATCH 125/272] Bump version for the new requires --- puppet.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/puppet.spec b/puppet.spec index a8377c6..0b2eecf 100644 --- a/puppet.spec +++ b/puppet.spec @@ -18,7 +18,7 @@ Name: puppet Version: 3.4.2 -Release: 4%{?dist} +Release: 5%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 URL: http://puppetlabs.com @@ -381,6 +381,9 @@ fi rm -rf %{buildroot} %changelog +* Wed Jan 29 2014 Sam Kottler - 3.4.2-5 +- Add rubygem(rgen) runtime dependency + * Thu Jan 23 2014 Sam Kottler - 3.4.2-4 - Use localstatedir macro instead of /tmp From 72665614ad358650425855996da758143d2c572a Mon Sep 17 00:00:00 2001 From: Sam Kottler Date: Mon, 24 Feb 2014 11:37:03 -0500 Subject: [PATCH 126/272] Update to 3.4.3 --- puppet.spec | 7 +++++-- sources | 6 +++--- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/puppet.spec b/puppet.spec index 0b2eecf..bbfd947 100644 --- a/puppet.spec +++ b/puppet.spec @@ -17,8 +17,8 @@ %global pending_upgrade_file %{pending_upgrade_path}/upgrade_pending Name: puppet -Version: 3.4.2 -Release: 5%{?dist} +Version: 3.4.3 +Release: 1%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 URL: http://puppetlabs.com @@ -381,6 +381,9 @@ fi rm -rf %{buildroot} %changelog +* Mon Feb 24 2014 Sam Kottler - 3.4.3-1 +- Update to 3.4.3 + * Wed Jan 29 2014 Sam Kottler - 3.4.2-5 - Add rubygem(rgen) runtime dependency diff --git a/sources b/sources index 4343c51..644e049 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -6e5d1e2f9dcb5cba5efa92cb018c25ac 23115-convert-nil-to-undef.patch +687a85b30dd81c93eb41119fc7f48ffe puppet-3.4.3.tar.gz +654372a9f43f4c7e71c68e52980c9487 puppet-3.4.3.tar.gz.asc 0a83c5398abfd1f5cb8f6f538dae3739 start-puppet-wrapper -e8d77839c0e24f51604eed3fb6e8b485 puppet-3.4.2.tar.gz.asc -cbe27b5e333b87b91578778d1fa21ca4 puppet-3.4.2.tar.gz +6e5d1e2f9dcb5cba5efa92cb018c25ac 23115-convert-nil-to-undef.patch From a5e1463d8f89f1f03dc220dfe976b5afb6830e8e Mon Sep 17 00:00:00 2001 From: Lukas Zapletal Date: Tue, 8 Apr 2014 13:55:21 +0200 Subject: [PATCH 127/272] Activating wrapper scripts for systemd service files --- puppet.spec | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/puppet.spec b/puppet.spec index bbfd947..04ec15c 100644 --- a/puppet.spec +++ b/puppet.spec @@ -18,7 +18,7 @@ Name: puppet Version: 3.4.3 -Release: 1%{?dist} +Release: 2%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 URL: http://puppetlabs.com @@ -167,11 +167,15 @@ vimdir=%{buildroot}%{_datadir}/vim/vimfiles install -Dp -m0644 ext/vim/ftdetect/puppet.vim $vimdir/ftdetect/puppet.vim install -Dp -m0644 ext/vim/syntax/puppet.vim $vimdir/syntax/puppet.vim -# Install wrappers for SELinux +# Install wrappers for SELinux - TODO: push this upstream install -Dp -m0755 %{SOURCE4} %{buildroot}%{_bindir}/start-puppet-agent -sed -i 's/@@COMMAND@@/agent/g' %{buildroot}%{_bindir}/start-puppet-agent install -Dp -m0755 %{SOURCE4} %{buildroot}%{_bindir}/start-puppet-master -sed -i 's/@@COMMAND@@/master/g' %{buildroot}%{_bindir}/start-puppet-agent +%if 0%{?_with_systemd} +sed -i 's|^ExecStart=/usr/bin/puppet|ExecStart=/usr/bin/start-puppet-master|' \ + %{buildroot}%{_unitdir}/puppetmaster.service +sed -i 's|^ExecStart=/usr/bin/puppet|ExecStart=/usr/bin/start-puppet-agent|' \ + %{buildroot}%{_unitdir}/puppet.service +%endif %if 0%{?fedora} >= 15 # Setup tmpfiles.d config @@ -381,6 +385,10 @@ fi rm -rf %{buildroot} %changelog +* Tue Apr 08 2014 Lukas Zapletal 3.4.3-2 +- Fixed systemd unit files - wrappers are now in use and master starts + with correct context + * Mon Feb 24 2014 Sam Kottler - 3.4.3-1 - Update to 3.4.3 From 056a731487324632399811a66ac9c541581259c8 Mon Sep 17 00:00:00 2001 From: Lukas Zapletal Date: Tue, 8 Apr 2014 13:59:03 +0200 Subject: [PATCH 128/272] Uploading fixed start-puppet-wrapper (typo) --- sources | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/sources b/sources index 644e049..b0ac19d 100644 --- a/sources +++ b/sources @@ -1,4 +1 @@ -687a85b30dd81c93eb41119fc7f48ffe puppet-3.4.3.tar.gz -654372a9f43f4c7e71c68e52980c9487 puppet-3.4.3.tar.gz.asc -0a83c5398abfd1f5cb8f6f538dae3739 start-puppet-wrapper -6e5d1e2f9dcb5cba5efa92cb018c25ac 23115-convert-nil-to-undef.patch +5d19d719514246973649301f096c7970 start-puppet-wrapper From 3925895740cde14a45e871970bcf0f9d23fbc588 Mon Sep 17 00:00:00 2001 From: Lukas Zapletal Date: Tue, 8 Apr 2014 14:10:39 +0200 Subject: [PATCH 129/272] Uploading fixed start-puppet-wrapper (typo) - correction --- sources | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sources b/sources index b0ac19d..f3818fd 100644 --- a/sources +++ b/sources @@ -1 +1,4 @@ 5d19d719514246973649301f096c7970 start-puppet-wrapper +687a85b30dd81c93eb41119fc7f48ffe puppet-3.4.3.tar.gz +654372a9f43f4c7e71c68e52980c9487 puppet-3.4.3.tar.gz.asc +6e5d1e2f9dcb5cba5efa92cb018c25ac 23115-convert-nil-to-undef.patch From 28934567ac8d95b3eb6689ad5b9b998011a2a8b3 Mon Sep 17 00:00:00 2001 From: Lukas Zapletal Date: Tue, 8 Apr 2014 14:55:28 +0200 Subject: [PATCH 130/272] RHBZ#1070395 - fixed error in postun scriplet --- puppet.spec | 79 ++++++++++++++++++++++++++++------------------------- 1 file changed, 42 insertions(+), 37 deletions(-) diff --git a/puppet.spec b/puppet.spec index 04ec15c..f3828a4 100644 --- a/puppet.spec +++ b/puppet.spec @@ -18,7 +18,7 @@ Name: puppet Version: 3.4.3 -Release: 2%{?dist} +Release: 3%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 URL: http://puppetlabs.com @@ -287,7 +287,7 @@ exit 0 %post %if 0%{?_with_systemd} -/bin/systemctl daemon-reload >/dev/null 2>&1 || : +/bin/systemctl daemon-reload >/dev/null 2>&1 %else # If there's a running puppet agent, restart it during upgrade. Fixes # BZ #1024538. @@ -296,95 +296,100 @@ if [ "$1" -ge 1 ]; then if [ -e "$pid" ]; then if ps aux | grep `cat "$pid"` | grep -v grep | awk '{ print $12 }' | grep -q sbin; then (kill $(< "$pid") && rm -f "$pid" && \ - /sbin/service puppet start) >/dev/null 2>&1 || : + /sbin/service puppet start) >/dev/null 2>&1 fi fi fi -/sbin/chkconfig --add puppet || : +/sbin/chkconfig --add puppet %endif +exit 0 %post server %if 0%{?_with_systemd} -/bin/systemctl daemon-reload >/dev/null 2>&1 || : +/bin/systemctl daemon-reload >/dev/null 2>&1 %else -/sbin/chkconfig --add puppetmaster || : +/sbin/chkconfig --add puppetmaster %endif +exit 0 %preun %if 0%{?_with_systemd} if [ "$1" -eq 0 ] ; then - /bin/systemctl --no-reload disable puppet.service > /dev/null 2>&1 || : - /bin/systemctl stop puppet.service > /dev/null 2>&1 || : - /bin/systemctl daemon-reload >/dev/null 2>&1 || : + /bin/systemctl --no-reload disable puppet.service > /dev/null 2>&1 + /bin/systemctl stop puppet.service > /dev/null 2>&1 + /bin/systemctl daemon-reload >/dev/null 2>&1 fi -if [ "$1" == "1" ]; then +if [ "$1" -eq 1 ]; then /bin/systemctl is-enabled puppetagent.service > /dev/null 2>&1 - if [ "$?" == "0" ]; then - /bin/systemctl /bin/systemctl --no-reload disable puppetagent.service > /dev/null 2>&1 ||: - /bin/systemctl stop puppetagent.service > /dev/null 2>&1 ||: - /bin/systemctl daemon-reload >/dev/null 2>&1 ||: - if [ ! -e %{pending_upgrade_file} ]; then - if [ ! -d %{pending_upgrade_path} ]; then - mkdir %{pending_upgrade_path} - end - touch %{pending_upgrade_file} - fi + if [ "$?" -eq 0 ]; then + /bin/systemctl /bin/systemctl --no-reload disable puppetagent.service > /dev/null 2>&1 + /bin/systemctl stop puppetagent.service > /dev/null 2>&1 + /bin/systemctl daemon-reload >/dev/null 2>&1 + install -D -m 644 /dev/null %{pending_upgrade_file} > /dev/null 2>&1 fi fi %else -if [ "$1" = 0 ] ; then +if [ "$1" -eq 0 ] ; then /sbin/service puppet stop >/dev/null 2>&1 - /sbin/chkconfig --del puppet || : + /sbin/chkconfig --del puppet fi %endif +exit 0 %preun server %if 0%{?_with_systemd} -if [ $1 -eq 0 ] ; then - /bin/systemctl --no-reload disable puppetmaster.service > /dev/null 2>&1 || : - /bin/systemctl stop puppetmaster.service > /dev/null 2>&1 || : - /bin/systemctl daemon-reload >/dev/null 2>&1 || : +if [ "$1" -eq 0 ] ; then + /bin/systemctl --no-reload disable puppetmaster.service > /dev/null 2>&1 + /bin/systemctl stop puppetmaster.service > /dev/null 2>&1 + /bin/systemctl daemon-reload >/dev/null 2>&1 fi %else -if [ "$1" = 0 ] ; then +if [ "$1" -eq 0 ] ; then /sbin/service puppetmaster stop >/dev/null 2>&1 - /sbin/chkconfig --del puppetmaster || : + /sbin/chkconfig --del puppetmaster fi %endif +exit 0 %postun %if 0%{?_with_systemd} -if [ $1 -ge 1 ] ; then - /bin/systemctl try-restart puppet.service >/dev/null 2>&1 || : +if [ "$1" -ge 1 ] ; then + /bin/systemctl try-restart puppet.service >/dev/null 2>&1 if [ -e %{pending_upgrade_file} ]; then - /bin/systemctl --no-reload enable puppet.service > /dev/null 2>&1 ||: - /bin/systemctl start puppet.service > /dev/null 2>&1 ||: - /bin/systemctl daemon-reload >/dev/null 2>&1 ||: + /bin/systemctl --no-reload enable puppet.service > /dev/null 2>&1 + /bin/systemctl start puppet.service > /dev/null 2>&1 + /bin/systemctl daemon-reload >/dev/null 2>&1 rm %{pending_upgrade_file} fi fi %else if [ "$1" -ge 1 ]; then - /sbin/service puppet condrestart >/dev/null 2>&1 || : + /sbin/service puppet condrestart >/dev/null 2>&1 fi %endif +exit 0 %postun server %if 0%{?_with_systemd} -if [ $1 -ge 1 ] ; then - /bin/systemctl try-restart puppetmaster.service >/dev/null 2>&1 || : +if [ "$1" -ge 1 ] ; then + /bin/systemctl try-restart puppetmaster.service >/dev/null 2>&1 fi %else if [ "$1" -ge 1 ]; then - /sbin/service puppetmaster condrestart >/dev/null 2>&1 || : + /sbin/service puppetmaster condrestart >/dev/null 2>&1 fi %endif +exit 0 %clean rm -rf %{buildroot} %changelog +* Tue Apr 08 2014 Lukas Zapletal 3.4.3-3 +- RHBZ#1070395 - fixed error in postun scriplet +- Reformatted all scriplets and corrected exit codes + * Tue Apr 08 2014 Lukas Zapletal 3.4.3-2 - Fixed systemd unit files - wrappers are now in use and master starts with correct context From cb9ecce5c60134cf69dfe986a6410d79e178ff60 Mon Sep 17 00:00:00 2001 From: Sam Kottler Date: Mon, 28 Apr 2014 11:35:10 -0400 Subject: [PATCH 131/272] Update to 3.5.1 --- puppet.spec | 7 +++++-- sources | 6 +++--- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/puppet.spec b/puppet.spec index f3828a4..59baaae 100644 --- a/puppet.spec +++ b/puppet.spec @@ -17,8 +17,8 @@ %global pending_upgrade_file %{pending_upgrade_path}/upgrade_pending Name: puppet -Version: 3.4.3 -Release: 3%{?dist} +Version: 3.5.1 +Release: 1%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 URL: http://puppetlabs.com @@ -386,6 +386,9 @@ exit 0 rm -rf %{buildroot} %changelog +* Mon Apr 28 2014 Sam Kottler 3.5.1-1 +- Update to 3.5.1 + * Tue Apr 08 2014 Lukas Zapletal 3.4.3-3 - RHBZ#1070395 - fixed error in postun scriplet - Reformatted all scriplets and corrected exit codes diff --git a/sources b/sources index f3818fd..9d9757c 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -5d19d719514246973649301f096c7970 start-puppet-wrapper -687a85b30dd81c93eb41119fc7f48ffe puppet-3.4.3.tar.gz -654372a9f43f4c7e71c68e52980c9487 puppet-3.4.3.tar.gz.asc +79cc21bdedc61fe377647628479b2c9f puppet-3.5.1.tar.gz +0eeef3b1cc3ed5c92aeaaeec59014724 puppet-3.5.1.tar.gz.asc 6e5d1e2f9dcb5cba5efa92cb018c25ac 23115-convert-nil-to-undef.patch +5d19d719514246973649301f096c7970 start-puppet-wrapper From dd20568b00b6c1b0efa3f984346eb8f5a7a45298 Mon Sep 17 00:00:00 2001 From: Sam Kottler Date: Mon, 28 Apr 2014 11:57:37 -0400 Subject: [PATCH 132/272] Fix my email --- puppet.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/puppet.spec b/puppet.spec index 59baaae..58ad2f7 100644 --- a/puppet.spec +++ b/puppet.spec @@ -386,7 +386,7 @@ exit 0 rm -rf %{buildroot} %changelog -* Mon Apr 28 2014 Sam Kottler 3.5.1-1 +* Mon Apr 28 2014 Sam Kottler 3.5.1-1 - Update to 3.5.1 * Tue Apr 08 2014 Lukas Zapletal 3.4.3-3 From 773d1a3b37f11ec42e58fd6695beb2d338013f8b Mon Sep 17 00:00:00 2001 From: Sam Kottler Date: Sun, 18 May 2014 13:17:55 -0400 Subject: [PATCH 133/272] Remove superfluous logic and update to 3.6.0 --- puppet.spec | 12 ++++++++---- sources | 6 +++--- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/puppet.spec b/puppet.spec index 58ad2f7..f28e661 100644 --- a/puppet.spec +++ b/puppet.spec @@ -1,11 +1,9 @@ # Augeas and SELinux requirements may be disabled at build time by passing # --without augeas and/or --without selinux to rpmbuild or mock -# F-17 and above have ruby-1.9.x, and place libs in a different location - # Specifically not using systemd on F18 as it's technically a break between # using SystemV on 2.7.x and Systemd on 3.1.0. -%if 0%{?fedora} >= 17 || 0%{?rhel} >= 7 +%if 0%{?fedora} || 0%{?rhel} >= 7 %global puppet_libdir %{ruby_vendorlibdir} %else %global puppet_libdir %(ruby -rrbconfig -e 'puts RbConfig::CONFIG["sitelibdir"]') @@ -17,7 +15,7 @@ %global pending_upgrade_file %{pending_upgrade_path}/upgrade_pending Name: puppet -Version: 3.5.1 +Version: 3.6.0 Release: 1%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 @@ -55,6 +53,8 @@ Requires: ruby %endif %endif +BuildRequires: hiera >= 1.0.0 + Requires: facter >= 1.6.6 Requires: hiera >= 1.0.0 Requires: rubygem(rgen) @@ -386,6 +386,10 @@ exit 0 rm -rf %{buildroot} %changelog +* Sun May 18 2014 Sam Kottler 3.6.0-1 +- Remove logic specific to unsupported versions of Fedora +- Update to 3.6.0 + * Mon Apr 28 2014 Sam Kottler 3.5.1-1 - Update to 3.5.1 diff --git a/sources b/sources index 9d9757c..5f453f0 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -79cc21bdedc61fe377647628479b2c9f puppet-3.5.1.tar.gz -0eeef3b1cc3ed5c92aeaaeec59014724 puppet-3.5.1.tar.gz.asc -6e5d1e2f9dcb5cba5efa92cb018c25ac 23115-convert-nil-to-undef.patch +e9b79574aaa49bd25e10eaa356ff8b56 puppet-3.6.0.tar.gz +afb7b1e19d36ce02949e5da2bd23e0a2 puppet-3.6.0.tar.gz.asc 5d19d719514246973649301f096c7970 start-puppet-wrapper +6e5d1e2f9dcb5cba5efa92cb018c25ac 23115-convert-nil-to-undef.patch From 985e763c63fa5b30a3cf13b9149c776108df52c7 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Sat, 7 Jun 2014 12:33:57 -0500 Subject: [PATCH 134/272] - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild --- puppet.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/puppet.spec b/puppet.spec index f28e661..8f231eb 100644 --- a/puppet.spec +++ b/puppet.spec @@ -16,7 +16,7 @@ Name: puppet Version: 3.6.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 URL: http://puppetlabs.com @@ -386,6 +386,9 @@ exit 0 rm -rf %{buildroot} %changelog +* Sat Jun 07 2014 Fedora Release Engineering - 3.6.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + * Sun May 18 2014 Sam Kottler 3.6.0-1 - Remove logic specific to unsupported versions of Fedora - Update to 3.6.0 From 392e745c60c55107fe4a88106703ca14bb5c1b0c Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Mon, 16 Jun 2014 12:46:37 -0600 Subject: [PATCH 135/272] Update to 3.6.2 --- puppet.spec | 7 +++++-- sources | 5 ++--- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/puppet.spec b/puppet.spec index 8f231eb..35a52dd 100644 --- a/puppet.spec +++ b/puppet.spec @@ -15,8 +15,8 @@ %global pending_upgrade_file %{pending_upgrade_path}/upgrade_pending Name: puppet -Version: 3.6.0 -Release: 2%{?dist} +Version: 3.6.2 +Release: 1%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 URL: http://puppetlabs.com @@ -386,6 +386,9 @@ exit 0 rm -rf %{buildroot} %changelog +* Mon Jun 16 2014 Orion Poplawski - 3.6.2-1 +- Update to 3.6.2 + * Sat Jun 07 2014 Fedora Release Engineering - 3.6.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild diff --git a/sources b/sources index 5f453f0..db6e904 100644 --- a/sources +++ b/sources @@ -1,4 +1,3 @@ -e9b79574aaa49bd25e10eaa356ff8b56 puppet-3.6.0.tar.gz -afb7b1e19d36ce02949e5da2bd23e0a2 puppet-3.6.0.tar.gz.asc +7e2981dcab39771b8243432bfd359d46 puppet-3.6.2.tar.gz +6c7836c40e431353095368af11252a4d puppet-3.6.2.tar.gz.asc 5d19d719514246973649301f096c7970 start-puppet-wrapper -6e5d1e2f9dcb5cba5efa92cb018c25ac 23115-convert-nil-to-undef.patch From 6c0d4259526c3ccf7c5c88e60f1b7b4f2ddc6717 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C3=A1draig=20Brady?= Date: Tue, 1 Jul 2014 01:12:11 +0100 Subject: [PATCH 136/272] allow yumrepo proxy attribute to be set to _none_ Backport https://github.com/puppetlabs/puppet/pull/2767 Resolves rhbz#1114723 --- puppet.spec | 7 +++++- yum_proxy_none_.patch | 50 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+), 1 deletion(-) create mode 100644 yum_proxy_none_.patch diff --git a/puppet.spec b/puppet.spec index 35a52dd..9ff1c22 100644 --- a/puppet.spec +++ b/puppet.spec @@ -16,7 +16,7 @@ Name: puppet Version: 3.6.2 -Release: 1%{?dist} +Release: 2%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 URL: http://puppetlabs.com @@ -25,6 +25,7 @@ Source1: http://downloads.puppetlabs.com/%{name}/%{name}-%{version}.tar.g Source2: puppet-nm-dispatcher Source3: puppet-nm-dispatcher.systemd Source4: start-puppet-wrapper +Patch0: yum_proxy_none_.patch Group: System Environment/Base @@ -104,6 +105,7 @@ The server can also function as a certificate authority and file server. %prep %setup -q +%patch0 -p1 chmod +x ext/puppet-load.rb ext/regexp_nodes/regexp_nodes.rb %build @@ -386,6 +388,9 @@ exit 0 rm -rf %{buildroot} %changelog +* Mon Jun 30 2014 Pádraig Brady - 3.6.2-2 +- Allow yumrepo proxy attribute to be set to _none_ + * Mon Jun 16 2014 Orion Poplawski - 3.6.2-1 - Update to 3.6.2 diff --git a/yum_proxy_none_.patch b/yum_proxy_none_.patch new file mode 100644 index 0000000..30416e3 --- /dev/null +++ b/yum_proxy_none_.patch @@ -0,0 +1,50 @@ +From 973c58057d1bb24d64c716e2971d5317f6e0edfb Mon Sep 17 00:00:00 2001 +From: Graham Taylor +Date: Fri, 13 Jun 2014 14:56:14 +0100 +Subject: [PATCH] (PUP-2271) Allow yumrepo proxy attribute to be set to _none_ + +Add fix and test to allow proxy to be set to _none_ to bypass global proxy +configuration for YUM. + +See https://tickets.puppetlabs.com/browse/PUP-2271 +--- + lib/puppet/type/yumrepo.rb | 2 +- + spec/unit/type/yumrepo_spec.rb | 6 ++++++ + 2 files changed, 7 insertions(+), 1 deletion(-) + mode change 100644 => 100755 spec/unit/type/yumrepo_spec.rb + +diff --git a/lib/puppet/type/yumrepo.rb b/lib/puppet/type/yumrepo.rb +index daa8d44..d9ff11d 100644 +--- a/lib/puppet/type/yumrepo.rb ++++ b/lib/puppet/type/yumrepo.rb +@@ -277,7 +277,7 @@ + + newvalues(/.*/, :absent) + validate do |value| +- next if value.to_s == 'absent' ++ next if value.to_s =~ /^(absent|_none_)$/ + parsed = URI.parse(value) + + unless VALID_SCHEMES.include?(parsed.scheme) +diff --git a/spec/unit/type/yumrepo_spec.rb b/spec/unit/type/yumrepo_spec.rb +old mode 100644 +new mode 100755 +index 543a0ce..2246b72 +--- a/spec/unit/type/yumrepo_spec.rb ++++ b/spec/unit/type/yumrepo_spec.rb +@@ -295,6 +295,12 @@ + + describe "proxy" do + it_behaves_like "a yumrepo parameter that can be absent", :proxy ++ it "accepts _none_" do ++ described_class.new( ++ :name => 'puppetlabs', ++ :proxy => "_none_" ++ ) ++ end + it_behaves_like "a yumrepo parameter that accepts a single URL", :proxy + end + +-- +1.9.3 + From eca3bbded3b86979b8e172a61fc2dd0023c900e5 Mon Sep 17 00:00:00 2001 From: Lukas Zapletal Date: Tue, 19 Aug 2014 10:32:43 +0200 Subject: [PATCH 137/272] 1131398 - added start-puppet-ca wrapper --- puppet.spec | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/puppet.spec b/puppet.spec index 9ff1c22..bc15efc 100644 --- a/puppet.spec +++ b/puppet.spec @@ -169,9 +169,10 @@ vimdir=%{buildroot}%{_datadir}/vim/vimfiles install -Dp -m0644 ext/vim/ftdetect/puppet.vim $vimdir/ftdetect/puppet.vim install -Dp -m0644 ext/vim/syntax/puppet.vim $vimdir/syntax/puppet.vim -# Install wrappers for SELinux - TODO: push this upstream +# Install wrappers for SELinux install -Dp -m0755 %{SOURCE4} %{buildroot}%{_bindir}/start-puppet-agent install -Dp -m0755 %{SOURCE4} %{buildroot}%{_bindir}/start-puppet-master +install -Dp -m0755 %{SOURCE4} %{buildroot}%{_bindir}/start-puppet-ca %if 0%{?_with_systemd} sed -i 's|^ExecStart=/usr/bin/puppet|ExecStart=/usr/bin/start-puppet-master|' \ %{buildroot}%{_unitdir}/puppetmaster.service From df03ac73d7df7068f27782a1b34d13503c8b6fc5 Mon Sep 17 00:00:00 2001 From: Lukas Zapletal Date: Tue, 19 Aug 2014 10:33:33 +0200 Subject: [PATCH 138/272] 1131398 - added start-puppet-ca wrapper into files section --- puppet.spec | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/puppet.spec b/puppet.spec index bc15efc..be5be3c 100644 --- a/puppet.spec +++ b/puppet.spec @@ -16,7 +16,7 @@ Name: puppet Version: 3.6.2 -Release: 2%{?dist} +Release: 3%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 URL: http://puppetlabs.com @@ -194,8 +194,7 @@ mkdir -p %{buildroot}%{_sysconfdir}/%{name}/modules %defattr(-, root, root, 0755) %doc LICENSE README.md examples %{_bindir}/puppet -%{_bindir}/start-puppet-agent -%{_bindir}/start-puppet-master +%{_bindir}/start-puppet-* %{_bindir}/extlookup2hiera %{puppet_libdir}/* %if 0%{?_with_systemd} @@ -389,6 +388,9 @@ exit 0 rm -rf %{buildroot} %changelog +* Tue Aug 19 2014 Lukas Zapletal 3.6.2-3 +- 1131398 - added start-puppet-ca SELinux wrapper binary + * Mon Jun 30 2014 Pádraig Brady - 3.6.2-2 - Allow yumrepo proxy attribute to be set to _none_ From e0e2f3d386c8bf195d9b4b79988996e625f5c686 Mon Sep 17 00:00:00 2001 From: "Jeroen van Meeuwen (Ergo Project)" Date: Fri, 19 Sep 2014 01:27:27 +0200 Subject: [PATCH 139/272] Update to 3.7.1 --- puppet.spec | 30 ++++++++++++++++++++++++++---- sources | 2 ++ 2 files changed, 28 insertions(+), 4 deletions(-) diff --git a/puppet.spec b/puppet.spec index be5be3c..3b0de70 100644 --- a/puppet.spec +++ b/puppet.spec @@ -9,14 +9,17 @@ %global puppet_libdir %(ruby -rrbconfig -e 'puts RbConfig::CONFIG["sitelibdir"]') %endif +%if 0%{?fedora} > 18 || 0%{?rhel} >= 7 || 0%{?suse_version} %global _with_systemd 1 +%endif + %global confdir ext/redhat %global pending_upgrade_path %{_localstatedir}/lib/rpm-state/puppet %global pending_upgrade_file %{pending_upgrade_path}/upgrade_pending Name: puppet -Version: 3.6.2 -Release: 3%{?dist} +Version: 3.7.1 +Release: 1%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 URL: http://puppetlabs.com @@ -25,7 +28,6 @@ Source1: http://downloads.puppetlabs.com/%{name}/%{name}-%{version}.tar.g Source2: puppet-nm-dispatcher Source3: puppet-nm-dispatcher.systemd Source4: start-puppet-wrapper -Patch0: yum_proxy_none_.patch Group: System Environment/Base @@ -33,6 +35,8 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: facter >= 1.6.6 BuildRequires: ruby-devel >= 1.8.7 +# ruby-devel does not require the base package, but requires -libs instead +BuildRequires: ruby >= 1.8.7 BuildArch: noarch %if 0%{?rhel} && 0%{?rhel} <= 6 @@ -42,6 +46,8 @@ Requires: ruby(release) %endif Requires: ruby(shadow) +Requires: rubygem(json) + # Prevents jruby from being pulled in by dependencies (BZ #985208) Requires: ruby @@ -88,6 +94,11 @@ along with obviously discrete elements like packages, services, and files. Group: System Environment/Base Summary: Server for the puppet system management tool Requires: puppet = %{version}-%{release} +Requires: mod_passenger +Requires: mod_ssl +Requires: puppet-dashboard +Requires: puppetdb +Requires: puppetdb-terminus %if 0%{?_with_systemd} Requires(post): systemd Requires(preun): systemd @@ -105,7 +116,6 @@ The server can also function as a certificate authority and file server. %prep %setup -q -%patch0 -p1 chmod +x ext/puppet-load.rb ext/regexp_nodes/regexp_nodes.rb %build @@ -190,6 +200,14 @@ echo "D /var/run/%{name} 0755 %{name} %{name} -" > \ # Create puppet modules directory for puppet module tool mkdir -p %{buildroot}%{_sysconfdir}/%{name}/modules +cat > %{buildroot}%{_sysconfdir}/%{name}/routes.yaml << EOF +--- +master: + facts: + terminus: puppetdb + cache: yaml +EOF + %files %defattr(-, root, root, 0755) %doc LICENSE README.md examples @@ -267,6 +285,7 @@ mkdir -p %{buildroot}%{_sysconfdir}/%{name}/modules %{_initrddir}/puppetmaster %{_initrddir}/puppetqueue %config(noreplace) %{_sysconfdir}/sysconfig/puppetmaster +%config(noreplace) %{_sysconfdir}/puppet/routes.yaml %endif %config(noreplace) %{_sysconfdir}/puppet/fileserver.conf %dir %{_sysconfdir}/puppet/manifests @@ -388,6 +407,9 @@ exit 0 rm -rf %{buildroot} %changelog +* Wed Sep 17 2014 Jeroen van Meeuwen - 3.7.1-1 +- Update to 3.7.1 + * Tue Aug 19 2014 Lukas Zapletal 3.6.2-3 - 1131398 - added start-puppet-ca SELinux wrapper binary diff --git a/sources b/sources index db6e904..4e4def0 100644 --- a/sources +++ b/sources @@ -1,3 +1,5 @@ 7e2981dcab39771b8243432bfd359d46 puppet-3.6.2.tar.gz 6c7836c40e431353095368af11252a4d puppet-3.6.2.tar.gz.asc 5d19d719514246973649301f096c7970 start-puppet-wrapper +af7aafba7e5da21d72c13fc1e10c62a4 puppet-3.7.1.tar.gz +fa2cc84a083808815a7802771fd46309 puppet-3.7.1.tar.gz.asc From b9ef76767304a332c49a824ea9fe768a9cebf68a Mon Sep 17 00:00:00 2001 From: "Jeroen van Meeuwen (Ergo Project)" Date: Fri, 19 Sep 2014 01:29:08 +0200 Subject: [PATCH 140/272] Drop yum proxy patch --- yum_proxy_none_.patch | 50 ------------------------------------------- 1 file changed, 50 deletions(-) delete mode 100644 yum_proxy_none_.patch diff --git a/yum_proxy_none_.patch b/yum_proxy_none_.patch deleted file mode 100644 index 30416e3..0000000 --- a/yum_proxy_none_.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 973c58057d1bb24d64c716e2971d5317f6e0edfb Mon Sep 17 00:00:00 2001 -From: Graham Taylor -Date: Fri, 13 Jun 2014 14:56:14 +0100 -Subject: [PATCH] (PUP-2271) Allow yumrepo proxy attribute to be set to _none_ - -Add fix and test to allow proxy to be set to _none_ to bypass global proxy -configuration for YUM. - -See https://tickets.puppetlabs.com/browse/PUP-2271 ---- - lib/puppet/type/yumrepo.rb | 2 +- - spec/unit/type/yumrepo_spec.rb | 6 ++++++ - 2 files changed, 7 insertions(+), 1 deletion(-) - mode change 100644 => 100755 spec/unit/type/yumrepo_spec.rb - -diff --git a/lib/puppet/type/yumrepo.rb b/lib/puppet/type/yumrepo.rb -index daa8d44..d9ff11d 100644 ---- a/lib/puppet/type/yumrepo.rb -+++ b/lib/puppet/type/yumrepo.rb -@@ -277,7 +277,7 @@ - - newvalues(/.*/, :absent) - validate do |value| -- next if value.to_s == 'absent' -+ next if value.to_s =~ /^(absent|_none_)$/ - parsed = URI.parse(value) - - unless VALID_SCHEMES.include?(parsed.scheme) -diff --git a/spec/unit/type/yumrepo_spec.rb b/spec/unit/type/yumrepo_spec.rb -old mode 100644 -new mode 100755 -index 543a0ce..2246b72 ---- a/spec/unit/type/yumrepo_spec.rb -+++ b/spec/unit/type/yumrepo_spec.rb -@@ -295,6 +295,12 @@ - - describe "proxy" do - it_behaves_like "a yumrepo parameter that can be absent", :proxy -+ it "accepts _none_" do -+ described_class.new( -+ :name => 'puppetlabs', -+ :proxy => "_none_" -+ ) -+ end - it_behaves_like "a yumrepo parameter that accepts a single URL", :proxy - end - --- -1.9.3 - From c4780059bac41a720aa4f8ae8c92f08be39d3229 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Fri, 19 Sep 2014 09:08:28 -0600 Subject: [PATCH 141/272] Fix %files for routes.yaml --- puppet.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/puppet.spec b/puppet.spec index 3b0de70..65641ea 100644 --- a/puppet.spec +++ b/puppet.spec @@ -285,9 +285,9 @@ EOF %{_initrddir}/puppetmaster %{_initrddir}/puppetqueue %config(noreplace) %{_sysconfdir}/sysconfig/puppetmaster -%config(noreplace) %{_sysconfdir}/puppet/routes.yaml %endif %config(noreplace) %{_sysconfdir}/puppet/fileserver.conf +%config(noreplace) %{_sysconfdir}/puppet/routes.yaml %dir %{_sysconfdir}/puppet/manifests %{_mandir}/man8/puppet-kick.8.gz %{_mandir}/man8/puppet-master.8.gz From 47b591509dfa072d987705e1d23a9ce26e14c640 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Tue, 30 Sep 2014 11:47:44 -0600 Subject: [PATCH 142/272] Drop server deps and configuration changes (bug #1144298) --- puppet.spec | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/puppet.spec b/puppet.spec index 65641ea..8cbcad1 100644 --- a/puppet.spec +++ b/puppet.spec @@ -94,11 +94,6 @@ along with obviously discrete elements like packages, services, and files. Group: System Environment/Base Summary: Server for the puppet system management tool Requires: puppet = %{version}-%{release} -Requires: mod_passenger -Requires: mod_ssl -Requires: puppet-dashboard -Requires: puppetdb -Requires: puppetdb-terminus %if 0%{?_with_systemd} Requires(post): systemd Requires(preun): systemd @@ -200,13 +195,6 @@ echo "D /var/run/%{name} 0755 %{name} %{name} -" > \ # Create puppet modules directory for puppet module tool mkdir -p %{buildroot}%{_sysconfdir}/%{name}/modules -cat > %{buildroot}%{_sysconfdir}/%{name}/routes.yaml << EOF ---- -master: - facts: - terminus: puppetdb - cache: yaml -EOF %files %defattr(-, root, root, 0755) @@ -287,7 +275,6 @@ EOF %config(noreplace) %{_sysconfdir}/sysconfig/puppetmaster %endif %config(noreplace) %{_sysconfdir}/puppet/fileserver.conf -%config(noreplace) %{_sysconfdir}/puppet/routes.yaml %dir %{_sysconfdir}/puppet/manifests %{_mandir}/man8/puppet-kick.8.gz %{_mandir}/man8/puppet-master.8.gz @@ -407,6 +394,9 @@ exit 0 rm -rf %{buildroot} %changelog +* Tue Sep 30 2014 Orion Poplawski - 3.7.1-1 +- Drop server deps and configuration changes (bug #1144298) + * Wed Sep 17 2014 Jeroen van Meeuwen - 3.7.1-1 - Update to 3.7.1 From 86c8bf8264b61329c766a6c9490ebbd90bc4353e Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Tue, 30 Sep 2014 11:49:07 -0600 Subject: [PATCH 143/272] Bump release --- puppet.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/puppet.spec b/puppet.spec index 8cbcad1..f80f12d 100644 --- a/puppet.spec +++ b/puppet.spec @@ -19,7 +19,7 @@ Name: puppet Version: 3.7.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 URL: http://puppetlabs.com @@ -394,7 +394,7 @@ exit 0 rm -rf %{buildroot} %changelog -* Tue Sep 30 2014 Orion Poplawski - 3.7.1-1 +* Tue Sep 30 2014 Orion Poplawski - 3.7.1-2 - Drop server deps and configuration changes (bug #1144298) * Wed Sep 17 2014 Jeroen van Meeuwen - 3.7.1-1 From ac936bf6efb46a0663b178a4324e9c1f2e9bdb7f Mon Sep 17 00:00:00 2001 From: Haikel Guemar Date: Sat, 28 Feb 2015 19:49:16 +0100 Subject: [PATCH 144/272] Use systemd macros (RHBZ #1197239) --- puppet.spec | 70 ++++++++++++++++++----------------------------------- 1 file changed, 24 insertions(+), 46 deletions(-) diff --git a/puppet.spec b/puppet.spec index f80f12d..359adef 100644 --- a/puppet.spec +++ b/puppet.spec @@ -19,7 +19,7 @@ Name: puppet Version: 3.7.1 -Release: 2%{?dist} +Release: 3%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 URL: http://puppetlabs.com @@ -75,6 +75,7 @@ Requires(pre): shadow-utils Requires(post): systemd Requires(preun): systemd Requires(postun): systemd +BuildRequires: systemd %else Requires(post): chkconfig Requires(preun): chkconfig @@ -98,6 +99,7 @@ Requires: puppet = %{version}-%{release} Requires(post): systemd Requires(preun): systemd Requires(postun): systemd +BuildRequires: systemd %else Requires(post): chkconfig Requires(preun): chkconfig @@ -288,24 +290,25 @@ getent passwd puppet &>/dev/null || \ useradd -r -u 52 -g puppet -d %{_localstatedir}/lib/puppet -s /sbin/nologin \ -c "Puppet" puppet &>/dev/null # ensure that old setups have the right puppet home dir -if [ $1 -gt 1 ] ; then +if [ $1 -gt 1 ]; then usermod -d %{_localstatedir}/lib/puppet puppet &>/dev/null fi exit 0 %post %if 0%{?_with_systemd} -/bin/systemctl daemon-reload >/dev/null 2>&1 +%systemd_post puppet.service %else # If there's a running puppet agent, restart it during upgrade. Fixes # BZ #1024538. if [ "$1" -ge 1 ]; then pid="%{_localstatedir}/run/puppet/agent.pid" if [ -e "$pid" ]; then - if ps aux | grep `cat "$pid"` | grep -v grep | awk '{ print $12 }' | grep -q sbin; then - (kill $(< "$pid") && rm -f "$pid" && \ - /sbin/service puppet start) >/dev/null 2>&1 - fi + if ps -p "$(< "$pid")" -o cmd= | grep -q "puppet agent"; then + kill "$(< "$pid")" \ + && rm -f "$pid" \ + && /sbin/service puppet start + fi &>/dev/null fi fi /sbin/chkconfig --add puppet @@ -314,7 +317,7 @@ exit 0 %post server %if 0%{?_with_systemd} -/bin/systemctl daemon-reload >/dev/null 2>&1 +%systemd_post puppetmaster.service %else /sbin/chkconfig --add puppetmaster %endif @@ -322,24 +325,10 @@ exit 0 %preun %if 0%{?_with_systemd} -if [ "$1" -eq 0 ] ; then - /bin/systemctl --no-reload disable puppet.service > /dev/null 2>&1 - /bin/systemctl stop puppet.service > /dev/null 2>&1 - /bin/systemctl daemon-reload >/dev/null 2>&1 -fi - -if [ "$1" -eq 1 ]; then - /bin/systemctl is-enabled puppetagent.service > /dev/null 2>&1 - if [ "$?" -eq 0 ]; then - /bin/systemctl /bin/systemctl --no-reload disable puppetagent.service > /dev/null 2>&1 - /bin/systemctl stop puppetagent.service > /dev/null 2>&1 - /bin/systemctl daemon-reload >/dev/null 2>&1 - install -D -m 644 /dev/null %{pending_upgrade_file} > /dev/null 2>&1 - fi -fi +%systemd_preun puppet.service %else -if [ "$1" -eq 0 ] ; then - /sbin/service puppet stop >/dev/null 2>&1 +if [ "$1" -eq 0 ]; then + /sbin/service puppet stop &>/dev/null /sbin/chkconfig --del puppet fi %endif @@ -347,14 +336,10 @@ exit 0 %preun server %if 0%{?_with_systemd} -if [ "$1" -eq 0 ] ; then - /bin/systemctl --no-reload disable puppetmaster.service > /dev/null 2>&1 - /bin/systemctl stop puppetmaster.service > /dev/null 2>&1 - /bin/systemctl daemon-reload >/dev/null 2>&1 -fi +%systemd_preun puppetmaster.service %else -if [ "$1" -eq 0 ] ; then - /sbin/service puppetmaster stop >/dev/null 2>&1 +if [ "$1" -eq 0 ]; then + /sbin/service puppetmaster stop &>/dev/null /sbin/chkconfig --del puppetmaster fi %endif @@ -362,30 +347,20 @@ exit 0 %postun %if 0%{?_with_systemd} -if [ "$1" -ge 1 ] ; then - /bin/systemctl try-restart puppet.service >/dev/null 2>&1 - if [ -e %{pending_upgrade_file} ]; then - /bin/systemctl --no-reload enable puppet.service > /dev/null 2>&1 - /bin/systemctl start puppet.service > /dev/null 2>&1 - /bin/systemctl daemon-reload >/dev/null 2>&1 - rm %{pending_upgrade_file} - fi -fi +%systemd_postun_with_restart puppet.service %else if [ "$1" -ge 1 ]; then - /sbin/service puppet condrestart >/dev/null 2>&1 + /sbin/service puppet condrestart &>/dev/null fi %endif exit 0 %postun server %if 0%{?_with_systemd} -if [ "$1" -ge 1 ] ; then - /bin/systemctl try-restart puppetmaster.service >/dev/null 2>&1 -fi +%systemd_postun_with_restart puppetmaster.service %else if [ "$1" -ge 1 ]; then - /sbin/service puppetmaster condrestart >/dev/null 2>&1 + /sbin/service puppetmaster condrestart &>/dev/null fi %endif exit 0 @@ -394,6 +369,9 @@ exit 0 rm -rf %{buildroot} %changelog +* Sat Feb 28 2015 Haïkel Guémar - 3.7.1-3 +- Use systemd macros (RHBZ #1197239) + * Tue Sep 30 2014 Orion Poplawski - 3.7.1-2 - Drop server deps and configuration changes (bug #1144298) From 6f97f078db3a32a92c8d2ad88b94259776e6d38c Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Mon, 16 Mar 2015 20:43:05 -0600 Subject: [PATCH 145/272] Remove old sources --- sources | 2 -- 1 file changed, 2 deletions(-) diff --git a/sources b/sources index 4e4def0..a7f5f29 100644 --- a/sources +++ b/sources @@ -1,5 +1,3 @@ -7e2981dcab39771b8243432bfd359d46 puppet-3.6.2.tar.gz -6c7836c40e431353095368af11252a4d puppet-3.6.2.tar.gz.asc 5d19d719514246973649301f096c7970 start-puppet-wrapper af7aafba7e5da21d72c13fc1e10c62a4 puppet-3.7.1.tar.gz fa2cc84a083808815a7802771fd46309 puppet-3.7.1.tar.gz.asc From 18c8fd07466f7d84da44c16579a2da5c1e2df9be Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Tue, 31 Mar 2015 13:20:14 -0600 Subject: [PATCH 146/272] Update to 3.7.5 --- puppet.spec | 7 +++++-- sources | 4 +--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/puppet.spec b/puppet.spec index 359adef..dffee2b 100644 --- a/puppet.spec +++ b/puppet.spec @@ -18,8 +18,8 @@ %global pending_upgrade_file %{pending_upgrade_path}/upgrade_pending Name: puppet -Version: 3.7.1 -Release: 3%{?dist} +Version: 3.7.5 +Release: 1%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 URL: http://puppetlabs.com @@ -369,6 +369,9 @@ exit 0 rm -rf %{buildroot} %changelog +* Tue Mar 31 2015 Orion Poplawski - 3.7.5-1 +- Update to 3.7.5 + * Sat Feb 28 2015 Haïkel Guémar - 3.7.1-3 - Use systemd macros (RHBZ #1197239) diff --git a/sources b/sources index a7f5f29..44aada9 100644 --- a/sources +++ b/sources @@ -1,3 +1 @@ -5d19d719514246973649301f096c7970 start-puppet-wrapper -af7aafba7e5da21d72c13fc1e10c62a4 puppet-3.7.1.tar.gz -fa2cc84a083808815a7802771fd46309 puppet-3.7.1.tar.gz.asc +0314f55d4f89a00383443fb3910637ba puppet-3.7.5.tar.gz From 9e801e0a86f24a68ae3353d9022c74e35721151c Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Tue, 31 Mar 2015 13:27:33 -0600 Subject: [PATCH 147/272] Unbundle libs (bug #1198366) --- puppet.spec | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/puppet.spec b/puppet.spec index dffee2b..7aa713b 100644 --- a/puppet.spec +++ b/puppet.spec @@ -19,7 +19,7 @@ Name: puppet Version: 3.7.5 -Release: 1%{?dist} +Release: 2%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 URL: http://puppetlabs.com @@ -47,6 +47,7 @@ Requires: ruby(release) Requires: ruby(shadow) Requires: rubygem(json) +Requires: rubygem(safe_yaml) # Prevents jruby from being pulled in by dependencies (BZ #985208) Requires: ruby @@ -114,6 +115,9 @@ The server can also function as a certificate authority and file server. %prep %setup -q chmod +x ext/puppet-load.rb ext/regexp_nodes/regexp_nodes.rb +# Unbundle +rm -r lib/puppet/vendor/* +echo "require 'safe_yaml'" > lib/puppet/vendor/require_vendored.rb %build # Nothing to build @@ -369,6 +373,9 @@ exit 0 rm -rf %{buildroot} %changelog +* Tue Mar 31 2015 Orion Poplawski - 3.7.5-2 +- Unbundle libs (bug #1198366) + * Tue Mar 31 2015 Orion Poplawski - 3.7.5-1 - Update to 3.7.5 From 9b46536457c81441892851b254c84e7cb725be6f Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Tue, 31 Mar 2015 13:29:36 -0600 Subject: [PATCH 148/272] Upload .asc, move wrapper to git --- .gitignore | 2 -- sources | 1 + start-puppet-wrapper | 6 ++++++ 3 files changed, 7 insertions(+), 2 deletions(-) create mode 100644 start-puppet-wrapper diff --git a/.gitignore b/.gitignore index 1fbbdfa..b490e46 100644 --- a/.gitignore +++ b/.gitignore @@ -4,5 +4,3 @@ *.tar.gz.asc /puppet-*/ /.build*.log -/start-puppet-wrapper -/23115-convert-nil-to-undef.patch diff --git a/sources b/sources index 44aada9..c6f0fdd 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ 0314f55d4f89a00383443fb3910637ba puppet-3.7.5.tar.gz +fa2cc84a083808815a7802771fd46309 puppet-3.7.1.tar.gz.asc diff --git a/start-puppet-wrapper b/start-puppet-wrapper new file mode 100644 index 0000000..4544dfd --- /dev/null +++ b/start-puppet-wrapper @@ -0,0 +1,6 @@ +#!/bin/sh +# +# This is wrapper script to start puppet which is used to support starting +# puppet daemon processes with correct SELinux context. + +/usr/bin/puppet $* From a570e09aee0728911312108a7c2a702bf28743d4 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Tue, 31 Mar 2015 13:33:39 -0600 Subject: [PATCH 149/272] Upload the correct .asc file --- sources | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources b/sources index c6f0fdd..d3c7bee 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ 0314f55d4f89a00383443fb3910637ba puppet-3.7.5.tar.gz -fa2cc84a083808815a7802771fd46309 puppet-3.7.1.tar.gz.asc +6fee0d2a3555a4d022b7cfa77778d139 puppet-3.7.5.tar.gz.asc From fe6b061c3b3e15c23748260961ca5b0bf7b338a9 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Sun, 19 Apr 2015 17:41:52 -0600 Subject: [PATCH 150/272] Require rubygem(pathspec) and rubygem(semantic) --- puppet.spec | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/puppet.spec b/puppet.spec index 7aa713b..99093e7 100644 --- a/puppet.spec +++ b/puppet.spec @@ -19,7 +19,7 @@ Name: puppet Version: 3.7.5 -Release: 2%{?dist} +Release: 3%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 URL: http://puppetlabs.com @@ -47,6 +47,8 @@ Requires: ruby(release) Requires: ruby(shadow) Requires: rubygem(json) +Requires: rubygem(pathspec) +Requires: rubygem(semantic) Requires: rubygem(safe_yaml) # Prevents jruby from being pulled in by dependencies (BZ #985208) @@ -373,6 +375,9 @@ exit 0 rm -rf %{buildroot} %changelog +* Sun Apr 19 2015 Orion Poplawski - 3.7.5-3 +- Require rubygem(pathspec) and rubygem(semantic) + * Tue Mar 31 2015 Orion Poplawski - 3.7.5-2 - Unbundle libs (bug #1198366) From 0812b79b16e33aaaf8ddda4d6095933795322729 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Wed, 22 Apr 2015 22:32:31 -0600 Subject: [PATCH 151/272] Do not unbundle puppet's semantic module --- puppet.spec | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/puppet.spec b/puppet.spec index 99093e7..aff9001 100644 --- a/puppet.spec +++ b/puppet.spec @@ -19,7 +19,7 @@ Name: puppet Version: 3.7.5 -Release: 3%{?dist} +Release: 4%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 URL: http://puppetlabs.com @@ -48,7 +48,6 @@ Requires: ruby(shadow) Requires: rubygem(json) Requires: rubygem(pathspec) -Requires: rubygem(semantic) Requires: rubygem(safe_yaml) # Prevents jruby from being pulled in by dependencies (BZ #985208) @@ -118,7 +117,7 @@ The server can also function as a certificate authority and file server. %setup -q chmod +x ext/puppet-load.rb ext/regexp_nodes/regexp_nodes.rb # Unbundle -rm -r lib/puppet/vendor/* +rm -r lib/puppet/vendor/*{pathspec,rgen,safe_yaml}* echo "require 'safe_yaml'" > lib/puppet/vendor/require_vendored.rb %build @@ -375,6 +374,9 @@ exit 0 rm -rf %{buildroot} %changelog +* Wed Apr 22 2015 Orion Poplawski - 3.7.5-4 +- Do not unbundle puppet's semantic module + * Sun Apr 19 2015 Orion Poplawski - 3.7.5-3 - Require rubygem(pathspec) and rubygem(semantic) From 8ebb464e36d023f3bb2f9c39f5bdbd06e5b1dcf3 Mon Sep 17 00:00:00 2001 From: Haikel Guemar Date: Wed, 8 Apr 2015 23:57:29 +0200 Subject: [PATCH 152/272] Upgrade to Puppet 4 rc1 F22 introduces ruby 2.2 --- puppet.spec | 58 ++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 40 insertions(+), 18 deletions(-) diff --git a/puppet.spec b/puppet.spec index aff9001..a4253e8 100644 --- a/puppet.spec +++ b/puppet.spec @@ -13,22 +13,28 @@ %global _with_systemd 1 %endif -%global confdir ext/redhat +%global confdir conf %global pending_upgrade_path %{_localstatedir}/lib/rpm-state/puppet %global pending_upgrade_file %{pending_upgrade_path}/upgrade_pending +%global prerelease_tag rc1 + Name: puppet -Version: 3.7.5 -Release: 4%{?dist} +Version: 4.0.0 +Release: 0.1%{prerelease_tag}%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 URL: http://puppetlabs.com -Source0: http://downloads.puppetlabs.com/%{name}/%{name}-%{version}.tar.gz -Source1: http://downloads.puppetlabs.com/%{name}/%{name}-%{version}.tar.gz.asc +Source0: http://downloads.puppetlabs.com/%{name}/%{name}-%{version}-%{prerelease_tag}.tar.gz +Source1: http://downloads.puppetlabs.com/%{name}/%{name}-%{version}-%{prerelease_tag}.tar.gz.asc Source2: puppet-nm-dispatcher Source3: puppet-nm-dispatcher.systemd Source4: start-puppet-wrapper +# Puppetlabs messed up with default paths +Patch01: 0001-Fix-puppet-paths.patch +# systemd is the default init for all supported Fedora releases +Patch02: 0002-make-systemd-the-default-init-for-fedora-in-puppet.patch Group: System Environment/Base BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -114,10 +120,11 @@ Provides the central puppet server daemon which provides manifests to clients. The server can also function as a certificate authority and file server. %prep -%setup -q -chmod +x ext/puppet-load.rb ext/regexp_nodes/regexp_nodes.rb +%setup -q -n %{name}-%{version}-%{prerelease_tag} +%patch01 -p1 -b .paths +%patch02 -p1 -b .systemd # Unbundle -rm -r lib/puppet/vendor/*{pathspec,rgen,safe_yaml}* +rm -r lib/puppet/vendor/*{pathspec,rgen}* echo "require 'safe_yaml'" > lib/puppet/vendor/require_vendored.rb %build @@ -125,13 +132,20 @@ echo "require 'safe_yaml'" > lib/puppet/vendor/require_vendored.rb %install rm -rf %{buildroot} -ruby install.rb --destdir=%{buildroot} --quick --no-rdoc --sitelibdir=%{puppet_libdir} +ruby install.rb --destdir=%{buildroot} \ + --configdir=%{_sysconfdir}/puppet \ + --bindir=%{_bindir} --vardir=%{_localstatedir}/cache/puppet \ + --logdir=%{_localstatedir}/log/puppet \ + --rundir=%{_localstatedir}/log/puppet \ + --quick --no-rdoc --sitelibdir=%{puppet_libdir} + install -d -m0755 %{buildroot}%{_sysconfdir}/puppet/manifests install -d -m0755 %{buildroot}%{_datadir}/%{name}/modules install -d -m0755 %{buildroot}%{_localstatedir}/lib/puppet install -d -m0755 %{buildroot}%{_localstatedir}/run/puppet install -d -m0750 %{buildroot}%{_localstatedir}/log/puppet +install -d -m0750 %{buildroot}%{_localstatedir}/cache/puppet %if 0%{?_with_systemd} %{__install} -d -m0755 %{buildroot}%{_unitdir} @@ -146,9 +160,10 @@ install -Dp -m0755 %{confdir}/server.init %{buildroot}%{_initrddir}/puppetmaster install -Dp -m0755 %{confdir}/queue.init %{buildroot}%{_initrddir}/puppetqueue %endif +install -Dp -m0644 %{confdir}/auth.conf %{buildroot}%{_sysconfdir}/puppet/auth.conf install -Dp -m0644 %{confdir}/fileserver.conf %{buildroot}%{_sysconfdir}/puppet/fileserver.conf install -Dp -m0644 %{confdir}/puppet.conf %{buildroot}%{_sysconfdir}/puppet/puppet.conf -install -Dp -m0644 %{confdir}/logrotate %{buildroot}%{_sysconfdir}/logrotate.d/puppet +install -Dp -m0644 ext/redhat/logrotate %{buildroot}%{_sysconfdir}/logrotate.d/puppet # Install a NetworkManager dispatcher script to pickup changes to # /etc/resolv.conf and such (https://bugzilla.redhat.com/532085). @@ -186,9 +201,9 @@ install -Dp -m0755 %{SOURCE4} %{buildroot}%{_bindir}/start-puppet-agent install -Dp -m0755 %{SOURCE4} %{buildroot}%{_bindir}/start-puppet-master install -Dp -m0755 %{SOURCE4} %{buildroot}%{_bindir}/start-puppet-ca %if 0%{?_with_systemd} -sed -i 's|^ExecStart=/usr/bin/puppet|ExecStart=/usr/bin/start-puppet-master|' \ +sed -i 's|^ExecStart=/opt/puppetlabs/puppet/bin/puppet|ExecStart=/usr/bin/start-puppet-master|' \ %{buildroot}%{_unitdir}/puppetmaster.service -sed -i 's|^ExecStart=/usr/bin/puppet|ExecStart=/usr/bin/start-puppet-agent|' \ +sed -i 's|^ExecStart=/opt/puppetlabs/puppet/bin/puppet|ExecStart=/usr/bin/start-puppet-agent|' \ %{buildroot}%{_unitdir}/puppet.service %endif @@ -237,6 +252,7 @@ mkdir -p %{buildroot}%{_sysconfdir}/%{name}/modules %attr(-, puppet, puppet) %{_localstatedir}/run/puppet %attr(0750, puppet, puppet) %{_localstatedir}/log/puppet %attr(-, puppet, puppet) %{_localstatedir}/lib/puppet +%attr(0750, puppet, puppet) %{_localstatedir}/cache/puppet %{_mandir}/man5/puppet.conf.5.gz %{_mandir}/man8/puppet.8.gz %{_mandir}/man8/puppet-agent.8.gz @@ -256,9 +272,10 @@ mkdir -p %{buildroot}%{_sysconfdir}/%{name}/modules %{_mandir}/man8/puppet-filebucket.8.gz %{_mandir}/man8/puppet-help.8.gz %{_mandir}/man8/puppet-inspect.8.gz -%{_mandir}/man8/puppet-instrumentation_data.8.gz -%{_mandir}/man8/puppet-instrumentation_listener.8.gz -%{_mandir}/man8/puppet-instrumentation_probe.8.gz +#%{_mandir}/man8/puppet-instrumentation_data.8.gz +#%{_mandir}/man8/puppet-instrumentation_listener.8.gz +#%{_mandir}/man8/puppet-instrumentation_probe.8.gz +%{_mandir}/man8/puppet-epp.8.gz %{_mandir}/man8/puppet-key.8.gz %{_mandir}/man8/puppet-man.8.gz %{_mandir}/man8/puppet-module.8.gz @@ -268,7 +285,7 @@ mkdir -p %{buildroot}%{_sysconfdir}/%{name}/modules %{_mandir}/man8/puppet-report.8.gz %{_mandir}/man8/puppet-resource.8.gz %{_mandir}/man8/puppet-resource_type.8.gz -%{_mandir}/man8/puppet-secret_agent.8.gz +#%{_mandir}/man8/puppet-secret_agent.8.gz %{_mandir}/man8/puppet-status.8.gz %{_mandir}/man8/extlookup2hiera.8.gz @@ -283,9 +300,9 @@ mkdir -p %{buildroot}%{_sysconfdir}/%{name}/modules %endif %config(noreplace) %{_sysconfdir}/puppet/fileserver.conf %dir %{_sysconfdir}/puppet/manifests -%{_mandir}/man8/puppet-kick.8.gz +#%{_mandir}/man8/puppet-kick.8.gz %{_mandir}/man8/puppet-master.8.gz -%{_mandir}/man8/puppet-queue.8.gz +#%{_mandir}/man8/puppet-queue.8.gz # Fixed uid/gid were assigned in bz 472073 (Fedora), 471918 (RHEL-5), # and 471919 (RHEL-4) @@ -374,6 +391,11 @@ exit 0 rm -rf %{buildroot} %changelog +* Mon Apr 27 2015 Haïkel Guémar - 4.0.0-0.1rc1 +- Upstream 4.0.0 +- Fix issue codedir path +- Fix init provider for Fedora (systemd is default on all supported releases now) + * Wed Apr 22 2015 Orion Poplawski - 3.7.5-4 - Do not unbundle puppet's semantic module From 9320d61fcfa9ba2834fabd085589384b85843522 Mon Sep 17 00:00:00 2001 From: Haikel Guemar Date: Wed, 29 Apr 2015 01:20:42 +0200 Subject: [PATCH 153/272] Upload 4.0.0-rc1 sources --- 0001-Fix-puppet-paths.patch | 45 +++++++++++++++++++ ...he-default-init-for-fedora-in-puppet.patch | 25 +++++++++++ sources | 3 +- 3 files changed, 71 insertions(+), 2 deletions(-) create mode 100644 0001-Fix-puppet-paths.patch create mode 100644 0002-make-systemd-the-default-init-for-fedora-in-puppet.patch diff --git a/0001-Fix-puppet-paths.patch b/0001-Fix-puppet-paths.patch new file mode 100644 index 0000000..5071a7c --- /dev/null +++ b/0001-Fix-puppet-paths.patch @@ -0,0 +1,45 @@ +From 9deed392392c229fd8f20fe5e52a4853f8363484 Mon Sep 17 00:00:00 2001 +From: Haikel Guemar +Date: Thu, 9 Apr 2015 01:38:19 +0200 +Subject: [PATCH 1/2] Fix puppet paths + +--- + lib/puppet/util/run_mode.rb | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/lib/puppet/util/run_mode.rb b/lib/puppet/util/run_mode.rb +index 07e33a6..82b4558 100644 +--- a/lib/puppet/util/run_mode.rb ++++ b/lib/puppet/util/run_mode.rb +@@ -55,23 +55,23 @@ module Puppet + + class UnixRunMode < RunMode + def conf_dir +- which_dir("/etc/puppetlabs/puppet", "~/.puppet") ++ which_dir("/etc/puppet", "~/.puppet") + end + + def code_dir +- which_dir("/etc/puppetlabs/code", "~/.puppet/code") ++ which_dir("/etc/puppet", "~/.puppet/code") + end + + def var_dir +- which_dir("/opt/puppetlabs/puppet/cache", "~/.puppet/var") ++ which_dir("/var/lib/puppet/cache", "~/.puppet/var") + end + + def run_dir +- which_dir("/var/run/puppetlabs", "~/.puppet/var/run") ++ which_dir("/var/run/puppet", "~/.puppet/var/run") + end + + def log_dir +- which_dir("/var/log/puppetlabs", "~/.puppet/var/log") ++ which_dir("/var/log/puppet", "~/.puppet/var/log") + end + end + +-- +2.3.5 + diff --git a/0002-make-systemd-the-default-init-for-fedora-in-puppet.patch b/0002-make-systemd-the-default-init-for-fedora-in-puppet.patch new file mode 100644 index 0000000..26692de --- /dev/null +++ b/0002-make-systemd-the-default-init-for-fedora-in-puppet.patch @@ -0,0 +1,25 @@ +From df2058dde597baf6e1534a05dde879f0a7738fdf Mon Sep 17 00:00:00 2001 +From: Haikel Guemar +Date: Mon, 13 Apr 2015 14:25:11 +0200 +Subject: [PATCH 2/2] make systemd the default init for fedora in puppet + +--- + lib/puppet/provider/service/systemd.rb | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lib/puppet/provider/service/systemd.rb b/lib/puppet/provider/service/systemd.rb +index 39ef5ea..89b6b62 100644 +--- a/lib/puppet/provider/service/systemd.rb ++++ b/lib/puppet/provider/service/systemd.rb +@@ -7,7 +7,7 @@ Puppet::Type.type(:service).provide :systemd, :parent => :base do + + defaultfor :osfamily => [:archlinux] + defaultfor :osfamily => :redhat, :operatingsystemmajrelease => "7" +- defaultfor :osfamily => :redhat, :operatingsystem => :fedora, :operatingsystemmajrelease => ["17", "18", "19", "20", "21"] ++ defaultfor :osfamily => :redhat, :operatingsystem => :fedora + defaultfor :osfamily => :suse, :operatingsystemmajrelease => ["12", "13"] + + def self.instances +-- +2.3.5 + diff --git a/sources b/sources index d3c7bee..ef5a23f 100644 --- a/sources +++ b/sources @@ -1,2 +1 @@ -0314f55d4f89a00383443fb3910637ba puppet-3.7.5.tar.gz -6fee0d2a3555a4d022b7cfa77778d139 puppet-3.7.5.tar.gz.asc +d73be37aa5dd10b941fe4bae5ddc9c6f puppet-4.0.0-rc1.tar.gz From d6be7b0d431c09e52025b81d2df20c9b9e84fdc9 Mon Sep 17 00:00:00 2001 From: Haikel Guemar Date: Wed, 29 Apr 2015 01:40:30 +0200 Subject: [PATCH 154/272] Upstream 4.0.0 --- 0001-Fix-puppet-paths.patch | 24 +++++++++---------- ...he-default-init-for-fedora-in-puppet.patch | 4 ++-- puppet.spec | 13 +++++----- 3 files changed, 21 insertions(+), 20 deletions(-) diff --git a/0001-Fix-puppet-paths.patch b/0001-Fix-puppet-paths.patch index 5071a7c..140d635 100644 --- a/0001-Fix-puppet-paths.patch +++ b/0001-Fix-puppet-paths.patch @@ -1,6 +1,6 @@ -From 9deed392392c229fd8f20fe5e52a4853f8363484 Mon Sep 17 00:00:00 2001 -From: Haikel Guemar -Date: Thu, 9 Apr 2015 01:38:19 +0200 +From ff5be0d65a5872cd809cee98a34521f335df9412 Mon Sep 17 00:00:00 2001 +From: Haikel Guemar +Date: Wed, 29 Apr 2015 01:38:35 +0200 Subject: [PATCH 1/2] Fix puppet paths --- @@ -8,38 +8,38 @@ Subject: [PATCH 1/2] Fix puppet paths 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/puppet/util/run_mode.rb b/lib/puppet/util/run_mode.rb -index 07e33a6..82b4558 100644 +index 453095c..bb576df 100644 --- a/lib/puppet/util/run_mode.rb +++ b/lib/puppet/util/run_mode.rb -@@ -55,23 +55,23 @@ module Puppet +@@ -72,23 +72,23 @@ module Puppet class UnixRunMode < RunMode def conf_dir -- which_dir("/etc/puppetlabs/puppet", "~/.puppet") +- which_dir("/etc/puppetlabs/puppet", "~/.puppetlabs/etc/puppet") + which_dir("/etc/puppet", "~/.puppet") end def code_dir -- which_dir("/etc/puppetlabs/code", "~/.puppet/code") +- which_dir("/etc/puppetlabs/code", "~/.puppetlabs/etc/code") + which_dir("/etc/puppet", "~/.puppet/code") end def var_dir -- which_dir("/opt/puppetlabs/puppet/cache", "~/.puppet/var") -+ which_dir("/var/lib/puppet/cache", "~/.puppet/var") +- which_dir("/opt/puppetlabs/puppet/cache", "~/.puppetlabs/opt/puppet/cache") ++ which_dir("/var/lib/puppet/cache", "~/.puppet/cache") end def run_dir -- which_dir("/var/run/puppetlabs", "~/.puppet/var/run") +- which_dir("/var/run/puppetlabs", "~/.puppetlabs/var/run") + which_dir("/var/run/puppet", "~/.puppet/var/run") end def log_dir -- which_dir("/var/log/puppetlabs", "~/.puppet/var/log") +- which_dir("/var/log/puppetlabs/puppet", "~/.puppetlabs/var/log") + which_dir("/var/log/puppet", "~/.puppet/var/log") end end -- -2.3.5 +2.3.6 diff --git a/0002-make-systemd-the-default-init-for-fedora-in-puppet.patch b/0002-make-systemd-the-default-init-for-fedora-in-puppet.patch index 26692de..cde5a14 100644 --- a/0002-make-systemd-the-default-init-for-fedora-in-puppet.patch +++ b/0002-make-systemd-the-default-init-for-fedora-in-puppet.patch @@ -1,4 +1,4 @@ -From df2058dde597baf6e1534a05dde879f0a7738fdf Mon Sep 17 00:00:00 2001 +From 11c7b82c193d88f82cab8b285cebae5be1f3b2b5 Mon Sep 17 00:00:00 2001 From: Haikel Guemar Date: Mon, 13 Apr 2015 14:25:11 +0200 Subject: [PATCH 2/2] make systemd the default init for fedora in puppet @@ -21,5 +21,5 @@ index 39ef5ea..89b6b62 100644 def self.instances -- -2.3.5 +2.3.6 diff --git a/puppet.spec b/puppet.spec index a4253e8..8f8fda5 100644 --- a/puppet.spec +++ b/puppet.spec @@ -17,16 +17,14 @@ %global pending_upgrade_path %{_localstatedir}/lib/rpm-state/puppet %global pending_upgrade_file %{pending_upgrade_path}/upgrade_pending -%global prerelease_tag rc1 - Name: puppet Version: 4.0.0 -Release: 0.1%{prerelease_tag}%{?dist} +Release: 1%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 URL: http://puppetlabs.com -Source0: http://downloads.puppetlabs.com/%{name}/%{name}-%{version}-%{prerelease_tag}.tar.gz -Source1: http://downloads.puppetlabs.com/%{name}/%{name}-%{version}-%{prerelease_tag}.tar.gz.asc +Source0: http://downloads.puppetlabs.com/%{name}/%{name}-%{version}.tar.gz +Source1: http://downloads.puppetlabs.com/%{name}/%{name}-%{version}.tar.gz.asc Source2: puppet-nm-dispatcher Source3: puppet-nm-dispatcher.systemd Source4: start-puppet-wrapper @@ -120,7 +118,7 @@ Provides the central puppet server daemon which provides manifests to clients. The server can also function as a certificate authority and file server. %prep -%setup -q -n %{name}-%{version}-%{prerelease_tag} +%setup -q %patch01 -p1 -b .paths %patch02 -p1 -b .systemd # Unbundle @@ -391,6 +389,9 @@ exit 0 rm -rf %{buildroot} %changelog +* Tue Apr 28 2015 Haïkel Guémar - 4.0.0-1 +- Upstream 4.0.0 + * Mon Apr 27 2015 Haïkel Guémar - 4.0.0-0.1rc1 - Upstream 4.0.0 - Fix issue codedir path From 0690abb53792032383af1e6046e98200d4752e3f Mon Sep 17 00:00:00 2001 From: Haikel Guemar Date: Wed, 29 Apr 2015 01:51:38 +0200 Subject: [PATCH 155/272] Upload 4.0.0 sources --- sources | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources b/sources index ef5a23f..086488b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -d73be37aa5dd10b941fe4bae5ddc9c6f puppet-4.0.0-rc1.tar.gz +0dea1fae828a21bb899f49e3856c0cc5 puppet-4.0.0.tar.gz From d81485e91e08a51f9de39e6a19a3667acdee654a Mon Sep 17 00:00:00 2001 From: Haikel Guemar Date: Wed, 29 Apr 2015 01:55:16 +0200 Subject: [PATCH 156/272] Upload 4.0.0 sources --- sources | 1 + 1 file changed, 1 insertion(+) diff --git a/sources b/sources index 086488b..571be21 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ +67ef2b14b76e4f8cf7f5167c4b3c7a2a puppet-4.0.0.tar.gz.asc 0dea1fae828a21bb899f49e3856c0cc5 puppet-4.0.0.tar.gz From e9ad9876443c61e59bacc1d21584fa2b11b3cb14 Mon Sep 17 00:00:00 2001 From: Haikel Guemar Date: Sun, 17 May 2015 18:24:27 +0200 Subject: [PATCH 157/272] Fix puppet paths and unit files (upstream #12185) --- 0001-Fix-puppet-paths.patch | 8 ++++---- ...e-systemd-the-default-init-for-fedora-in-puppet.patch | 4 ++-- puppet.spec | 9 ++++++--- 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/0001-Fix-puppet-paths.patch b/0001-Fix-puppet-paths.patch index 140d635..d29aaef 100644 --- a/0001-Fix-puppet-paths.patch +++ b/0001-Fix-puppet-paths.patch @@ -1,4 +1,4 @@ -From ff5be0d65a5872cd809cee98a34521f335df9412 Mon Sep 17 00:00:00 2001 +From 92ec714fc77a5cc5c743367be39cd83afa2356b6 Mon Sep 17 00:00:00 2001 From: Haikel Guemar Date: Wed, 29 Apr 2015 01:38:35 +0200 Subject: [PATCH 1/2] Fix puppet paths @@ -8,7 +8,7 @@ Subject: [PATCH 1/2] Fix puppet paths 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/puppet/util/run_mode.rb b/lib/puppet/util/run_mode.rb -index 453095c..bb576df 100644 +index 453095c..bcdde95 100644 --- a/lib/puppet/util/run_mode.rb +++ b/lib/puppet/util/run_mode.rb @@ -72,23 +72,23 @@ module Puppet @@ -26,7 +26,7 @@ index 453095c..bb576df 100644 def var_dir - which_dir("/opt/puppetlabs/puppet/cache", "~/.puppetlabs/opt/puppet/cache") -+ which_dir("/var/lib/puppet/cache", "~/.puppet/cache") ++ which_dir("/var/lib/puppet", "~/.puppet/cache") end def run_dir @@ -41,5 +41,5 @@ index 453095c..bb576df 100644 end -- -2.3.6 +2.4.0 diff --git a/0002-make-systemd-the-default-init-for-fedora-in-puppet.patch b/0002-make-systemd-the-default-init-for-fedora-in-puppet.patch index cde5a14..ee9abfd 100644 --- a/0002-make-systemd-the-default-init-for-fedora-in-puppet.patch +++ b/0002-make-systemd-the-default-init-for-fedora-in-puppet.patch @@ -1,4 +1,4 @@ -From 11c7b82c193d88f82cab8b285cebae5be1f3b2b5 Mon Sep 17 00:00:00 2001 +From 4e812abeb7b373c780a6ff46a5450b9d53d68e30 Mon Sep 17 00:00:00 2001 From: Haikel Guemar Date: Mon, 13 Apr 2015 14:25:11 +0200 Subject: [PATCH 2/2] make systemd the default init for fedora in puppet @@ -21,5 +21,5 @@ index 39ef5ea..89b6b62 100644 def self.instances -- -2.3.6 +2.4.0 diff --git a/puppet.spec b/puppet.spec index 8f8fda5..343f0d6 100644 --- a/puppet.spec +++ b/puppet.spec @@ -19,7 +19,7 @@ Name: puppet Version: 4.0.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 URL: http://puppetlabs.com @@ -199,9 +199,9 @@ install -Dp -m0755 %{SOURCE4} %{buildroot}%{_bindir}/start-puppet-agent install -Dp -m0755 %{SOURCE4} %{buildroot}%{_bindir}/start-puppet-master install -Dp -m0755 %{SOURCE4} %{buildroot}%{_bindir}/start-puppet-ca %if 0%{?_with_systemd} -sed -i 's|^ExecStart=/opt/puppetlabs/puppet/bin/puppet|ExecStart=/usr/bin/start-puppet-master|' \ +sed -i 's|^ExecStart=/opt/puppetlabs/puppet/bin/puppet|Type=forking\nExecStart=/usr/bin/start-puppet-master|' \ %{buildroot}%{_unitdir}/puppetmaster.service -sed -i 's|^ExecStart=/opt/puppetlabs/puppet/bin/puppet|ExecStart=/usr/bin/start-puppet-agent|' \ +sed -i 's|^ExecStart=/opt/puppetlabs/puppet/bin/puppet|Type=forking\nExecStart=/usr/bin/start-puppet-agent|' \ %{buildroot}%{_unitdir}/puppet.service %endif @@ -389,6 +389,9 @@ exit 0 rm -rf %{buildroot} %changelog +* Sun May 17 2015 Haïkel Guémar - 4.0.0-2 +- Fix puppet paths and unit files (upstream #12185) + * Tue Apr 28 2015 Haïkel Guémar - 4.0.0-1 - Upstream 4.0.0 From 8433963672b09efd6aef6b0fb8dba768cfe2158e Mon Sep 17 00:00:00 2001 From: Haikel Guemar Date: Sun, 24 May 2015 00:17:26 +0200 Subject: [PATCH 158/272] Upstream 4.1.0 - Fix Puppet belief that Fedora is OpenBSD (PUP-4491) --- puppet.spec | 8 ++++++-- sources | 4 ++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/puppet.spec b/puppet.spec index 343f0d6..530aca7 100644 --- a/puppet.spec +++ b/puppet.spec @@ -18,8 +18,8 @@ %global pending_upgrade_file %{pending_upgrade_path}/upgrade_pending Name: puppet -Version: 4.0.0 -Release: 2%{?dist} +Version: 4.1.0 +Release: 1%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 URL: http://puppetlabs.com @@ -389,6 +389,10 @@ exit 0 rm -rf %{buildroot} %changelog +* Sat May 23 2015 Haïkel Guémar - 4.1.0-1 +- Upstream 4.1.0 +- Fix Puppet belief that Fedora is OpenBSD (PUP-4491) + * Sun May 17 2015 Haïkel Guémar - 4.0.0-2 - Fix puppet paths and unit files (upstream #12185) diff --git a/sources b/sources index 571be21..4058083 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -67ef2b14b76e4f8cf7f5167c4b3c7a2a puppet-4.0.0.tar.gz.asc -0dea1fae828a21bb899f49e3856c0cc5 puppet-4.0.0.tar.gz +a5a553f9bbc9e9e136660c05b9be3265 puppet-4.1.0.tar.gz +66f0287001548e7a2a98a25d03ad6ae9 puppet-4.1.0.tar.gz.asc From aa57ca967723899cc6500b0a71b518517cfa4754 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Thu, 18 Jun 2015 17:59:20 +0000 Subject: [PATCH 159/272] - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild --- puppet.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/puppet.spec b/puppet.spec index 530aca7..4f3a9b4 100644 --- a/puppet.spec +++ b/puppet.spec @@ -19,7 +19,7 @@ Name: puppet Version: 4.1.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 URL: http://puppetlabs.com @@ -389,6 +389,9 @@ exit 0 rm -rf %{buildroot} %changelog +* Thu Jun 18 2015 Fedora Release Engineering - 4.1.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + * Sat May 23 2015 Haïkel Guémar - 4.1.0-1 - Upstream 4.1.0 - Fix Puppet belief that Fedora is OpenBSD (PUP-4491) From a75fde8e5170f718b8bc1cea4e61e06942d4b8d3 Mon Sep 17 00:00:00 2001 From: Lukas Zapletal Date: Tue, 21 Jul 2015 15:17:15 +0200 Subject: [PATCH 160/272] Call exec rather that spawn sub-process because of signals --- puppet.spec | 5 ++++- start-puppet-wrapper | 4 +++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/puppet.spec b/puppet.spec index 4f3a9b4..4e92ca4 100644 --- a/puppet.spec +++ b/puppet.spec @@ -19,7 +19,7 @@ Name: puppet Version: 4.1.0 -Release: 2%{?dist} +Release: 3%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 URL: http://puppetlabs.com @@ -389,6 +389,9 @@ exit 0 rm -rf %{buildroot} %changelog +* Tue Jul 21 2015 Lukas Zapletal 4.1.0-3 +- Puppet agent is started via exec rather than sub-process + * Thu Jun 18 2015 Fedora Release Engineering - 4.1.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild diff --git a/start-puppet-wrapper b/start-puppet-wrapper index 4544dfd..e0c8b70 100644 --- a/start-puppet-wrapper +++ b/start-puppet-wrapper @@ -2,5 +2,7 @@ # # This is wrapper script to start puppet which is used to support starting # puppet daemon processes with correct SELinux context. +# -/usr/bin/puppet $* +# Call exec rather that spawn sub-process because of signals +exec /usr/bin/puppet $* From 19ce87e9b91d812f2e66c84a4170a6d0deb3d9ff Mon Sep 17 00:00:00 2001 From: Lukas Zapletal Date: Tue, 28 Jul 2015 17:21:36 +0200 Subject: [PATCH 161/272] 1246238 - systemd service type changed to 'simple' --- puppet.spec | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/puppet.spec b/puppet.spec index 4e92ca4..f3b288a 100644 --- a/puppet.spec +++ b/puppet.spec @@ -19,7 +19,7 @@ Name: puppet Version: 4.1.0 -Release: 3%{?dist} +Release: 4%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 URL: http://puppetlabs.com @@ -199,9 +199,9 @@ install -Dp -m0755 %{SOURCE4} %{buildroot}%{_bindir}/start-puppet-agent install -Dp -m0755 %{SOURCE4} %{buildroot}%{_bindir}/start-puppet-master install -Dp -m0755 %{SOURCE4} %{buildroot}%{_bindir}/start-puppet-ca %if 0%{?_with_systemd} -sed -i 's|^ExecStart=/opt/puppetlabs/puppet/bin/puppet|Type=forking\nExecStart=/usr/bin/start-puppet-master|' \ +sed -i 's|^ExecStart=.*/bin/puppet|ExecStart=/usr/bin/start-puppet-master|' \ %{buildroot}%{_unitdir}/puppetmaster.service -sed -i 's|^ExecStart=/opt/puppetlabs/puppet/bin/puppet|Type=forking\nExecStart=/usr/bin/start-puppet-agent|' \ +sed -i 's|^ExecStart=.*/bin/puppet|ExecStart=/usr/bin/start-puppet-agent|' \ %{buildroot}%{_unitdir}/puppet.service %endif @@ -389,6 +389,9 @@ exit 0 rm -rf %{buildroot} %changelog +* Tue Jul 28 2015 Lukas Zapletal 4.1.0-4 +- 1246238 - systemd service type changed to 'simple' + * Tue Jul 21 2015 Lukas Zapletal 4.1.0-3 - Puppet agent is started via exec rather than sub-process From c3e621009bbaac104d4a3a519a8789c377df44a2 Mon Sep 17 00:00:00 2001 From: Gael Chamoulaud Date: Wed, 29 Jul 2015 22:22:23 +0200 Subject: [PATCH 162/272] Update to Upstream 4.2.1 Signed-off-by: Gael Chamoulaud --- ...rt-maint-Remove-puppetmaster.service.patch | 46 +++++++++++++++++++ ...he-default-init-for-fedora-in-puppet.patch | 25 ---------- puppet.spec | 12 +++-- sources | 4 +- 4 files changed, 55 insertions(+), 32 deletions(-) create mode 100644 0002-Revert-maint-Remove-puppetmaster.service.patch delete mode 100644 0002-make-systemd-the-default-init-for-fedora-in-puppet.patch diff --git a/0002-Revert-maint-Remove-puppetmaster.service.patch b/0002-Revert-maint-Remove-puppetmaster.service.patch new file mode 100644 index 0000000..657f161 --- /dev/null +++ b/0002-Revert-maint-Remove-puppetmaster.service.patch @@ -0,0 +1,46 @@ +From f3d931b6c68e4305ce612949ec59dca460e578d7 Mon Sep 17 00:00:00 2001 +From: Gael Chamoulaud +Date: Wed, 29 Jul 2015 21:58:48 +0200 +Subject: [PATCH] Revert "(maint) Remove puppetmaster.service" + +This reverts commit c0e30daa53b6267c1c86b6e27c01b1c26cf49af5. +--- + ext/systemd/puppet.service | 2 +- + ext/systemd/puppetmaster.service | 12 ++++++++++++ + 2 files changed, 13 insertions(+), 1 deletion(-) + create mode 100644 ext/systemd/puppetmaster.service + +diff --git a/ext/systemd/puppet.service b/ext/systemd/puppet.service +index 61b0313..c7f063e 100644 +--- a/ext/systemd/puppet.service ++++ b/ext/systemd/puppet.service +@@ -1,7 +1,7 @@ + [Unit] + Description=Puppet agent + Wants=basic.target +-After=basic.target network.target ++After=basic.target network.target puppetmaster.service + + [Service] + EnvironmentFile=-/etc/sysconfig/puppetagent +diff --git a/ext/systemd/puppetmaster.service b/ext/systemd/puppetmaster.service +new file mode 100644 +index 0000000..dbbd627 +--- /dev/null ++++ b/ext/systemd/puppetmaster.service +@@ -0,0 +1,12 @@ ++[Unit] ++Description=Puppet master ++Wants=basic.target ++After=basic.target network.target ++ ++[Service] ++EnvironmentFile=-/etc/sysconfig/puppetmaster ++EnvironmentFile=-/etc/default/puppetmaster ++ExecStart=/usr/bin/puppet master $PUPPETMASTER_EXTRA_OPTS --no-daemonize ++ ++[Install] ++WantedBy=multi-user.target +-- +2.4.3 + diff --git a/0002-make-systemd-the-default-init-for-fedora-in-puppet.patch b/0002-make-systemd-the-default-init-for-fedora-in-puppet.patch deleted file mode 100644 index ee9abfd..0000000 --- a/0002-make-systemd-the-default-init-for-fedora-in-puppet.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 4e812abeb7b373c780a6ff46a5450b9d53d68e30 Mon Sep 17 00:00:00 2001 -From: Haikel Guemar -Date: Mon, 13 Apr 2015 14:25:11 +0200 -Subject: [PATCH 2/2] make systemd the default init for fedora in puppet - ---- - lib/puppet/provider/service/systemd.rb | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/lib/puppet/provider/service/systemd.rb b/lib/puppet/provider/service/systemd.rb -index 39ef5ea..89b6b62 100644 ---- a/lib/puppet/provider/service/systemd.rb -+++ b/lib/puppet/provider/service/systemd.rb -@@ -7,7 +7,7 @@ Puppet::Type.type(:service).provide :systemd, :parent => :base do - - defaultfor :osfamily => [:archlinux] - defaultfor :osfamily => :redhat, :operatingsystemmajrelease => "7" -- defaultfor :osfamily => :redhat, :operatingsystem => :fedora, :operatingsystemmajrelease => ["17", "18", "19", "20", "21"] -+ defaultfor :osfamily => :redhat, :operatingsystem => :fedora - defaultfor :osfamily => :suse, :operatingsystemmajrelease => ["12", "13"] - - def self.instances --- -2.4.0 - diff --git a/puppet.spec b/puppet.spec index f3b288a..903e9f2 100644 --- a/puppet.spec +++ b/puppet.spec @@ -18,8 +18,8 @@ %global pending_upgrade_file %{pending_upgrade_path}/upgrade_pending Name: puppet -Version: 4.1.0 -Release: 4%{?dist} +Version: 4.2.1 +Release: 1%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 URL: http://puppetlabs.com @@ -31,8 +31,7 @@ Source4: start-puppet-wrapper # Puppetlabs messed up with default paths Patch01: 0001-Fix-puppet-paths.patch -# systemd is the default init for all supported Fedora releases -Patch02: 0002-make-systemd-the-default-init-for-fedora-in-puppet.patch +Patch02: 0002-Revert-maint-Remove-puppetmaster.service.patch Group: System Environment/Base BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -120,7 +119,7 @@ The server can also function as a certificate authority and file server. %prep %setup -q %patch01 -p1 -b .paths -%patch02 -p1 -b .systemd +%patch02 -p1 -b .server # Unbundle rm -r lib/puppet/vendor/*{pathspec,rgen}* echo "require 'safe_yaml'" > lib/puppet/vendor/require_vendored.rb @@ -389,6 +388,9 @@ exit 0 rm -rf %{buildroot} %changelog +* Wed Jul 29 2015 Gael Chamoulaud - 4.2.1-1 +- Upstream 4.2.1 + * Tue Jul 28 2015 Lukas Zapletal 4.1.0-4 - 1246238 - systemd service type changed to 'simple' diff --git a/sources b/sources index 4058083..42c0eed 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -a5a553f9bbc9e9e136660c05b9be3265 puppet-4.1.0.tar.gz -66f0287001548e7a2a98a25d03ad6ae9 puppet-4.1.0.tar.gz.asc +ec058dd9ac38dce720a9248fea23a98b puppet-4.2.1.tar.gz +50a975fd929239e7df4f5df2e6b3931a puppet-4.2.1.tar.gz.asc From 6e2b94ac4643a0b5cd642afdd69231e436b89788 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20M=C3=A1gr?= Date: Tue, 8 Sep 2015 21:59:53 +0200 Subject: [PATCH 163/272] Remove safe_yaml vendored library Hardcoded safe_yaml requirement breaks Puppet 4.x. This patch removes dependency on this rubygem. Resolves: rhbz#1261091 --- puppet.spec | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/puppet.spec b/puppet.spec index 903e9f2..61ff7f3 100644 --- a/puppet.spec +++ b/puppet.spec @@ -19,7 +19,7 @@ Name: puppet Version: 4.2.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 URL: http://puppetlabs.com @@ -51,7 +51,6 @@ Requires: ruby(shadow) Requires: rubygem(json) Requires: rubygem(pathspec) -Requires: rubygem(safe_yaml) # Prevents jruby from being pulled in by dependencies (BZ #985208) Requires: ruby @@ -122,7 +121,6 @@ The server can also function as a certificate authority and file server. %patch02 -p1 -b .server # Unbundle rm -r lib/puppet/vendor/*{pathspec,rgen}* -echo "require 'safe_yaml'" > lib/puppet/vendor/require_vendored.rb %build # Nothing to build @@ -388,6 +386,9 @@ exit 0 rm -rf %{buildroot} %changelog +* Wed Jul 29 2015 Gael Chamoulaud - 4.2.1-2 +- Remove usage of vendored library safe_yaml (rhbz#1261091) + * Wed Jul 29 2015 Gael Chamoulaud - 4.2.1-1 - Upstream 4.2.1 From 06db339585945b14b855660027548383166f25ce Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 4 Feb 2016 18:36:08 +0000 Subject: [PATCH 164/272] - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild --- puppet.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/puppet.spec b/puppet.spec index 61ff7f3..3396338 100644 --- a/puppet.spec +++ b/puppet.spec @@ -19,7 +19,7 @@ Name: puppet Version: 4.2.1 -Release: 2%{?dist} +Release: 3%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 URL: http://puppetlabs.com @@ -386,6 +386,9 @@ exit 0 rm -rf %{buildroot} %changelog +* Thu Feb 04 2016 Fedora Release Engineering - 4.2.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + * Wed Jul 29 2015 Gael Chamoulaud - 4.2.1-2 - Remove usage of vendored library safe_yaml (rhbz#1261091) From 1651fc68ecc19ded9a23b67d769f88eb59951c90 Mon Sep 17 00:00:00 2001 From: Haikel Guemar Date: Wed, 14 Sep 2016 18:20:40 +0200 Subject: [PATCH 165/272] Upstream 4.6.1 --- puppet.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/puppet.spec b/puppet.spec index 3396338..b1ad2ac 100644 --- a/puppet.spec +++ b/puppet.spec @@ -18,8 +18,8 @@ %global pending_upgrade_file %{pending_upgrade_path}/upgrade_pending Name: puppet -Version: 4.2.1 -Release: 3%{?dist} +Version: 4.6.2 +Release: 1%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 URL: http://puppetlabs.com @@ -386,6 +386,9 @@ exit 0 rm -rf %{buildroot} %changelog +* Tue Sep 13 2016 Haïkel Guémar - 4.6.2-1 +- Upstream 4.6.2 + * Thu Feb 04 2016 Fedora Release Engineering - 4.2.1-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild From fd11541cf68383c83537fbb4158a87a2f06bdc4e Mon Sep 17 00:00:00 2001 From: Haikel Guemar Date: Wed, 14 Sep 2016 18:49:38 +0200 Subject: [PATCH 166/272] Upload 4.6.2 sources --- sources | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/sources b/sources index 42c0eed..06d9a7d 100644 --- a/sources +++ b/sources @@ -1,2 +1 @@ -ec058dd9ac38dce720a9248fea23a98b puppet-4.2.1.tar.gz -50a975fd929239e7df4f5df2e6b3931a puppet-4.2.1.tar.gz.asc +452f4357178218c8528b1daebd89f3ef puppet-4.6.2.tar.gz From 425e3082768f12180cc2dc46f678b2fa94a2b824 Mon Sep 17 00:00:00 2001 From: Haikel Guemar Date: Thu, 19 Jan 2017 14:10:42 +0100 Subject: [PATCH 167/272] Push missing sources --- sources | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sources b/sources index 06d9a7d..1d81261 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ -452f4357178218c8528b1daebd89f3ef puppet-4.6.2.tar.gz +SHA512 (puppet-4.6.2.tar.gz) = a8b908f0e5586e9e94fab510df7f4cc4e8693a72c54719c31cf274e26367c4d04391629a1d749337eec7469be148777bc7de8d0fd3aaf78d7f213bce0a1560b4 +SHA512 (puppet-4.6.2.tar.gz.asc) = 35bb418085e6a7c20e69c0a91a9ee98f19997f388c70d3bb88df95f117f33e7bff46fbb0ef0679e413faff1eadecc7b2282bb13b2fbad171457b12149d4590ff From c99223fa4f528567c8506bc5d7f25fed4097b760 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 11 Feb 2017 07:58:29 +0000 Subject: [PATCH 168/272] - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild --- puppet.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/puppet.spec b/puppet.spec index b1ad2ac..71e94cd 100644 --- a/puppet.spec +++ b/puppet.spec @@ -19,7 +19,7 @@ Name: puppet Version: 4.6.2 -Release: 1%{?dist} +Release: 2%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 URL: http://puppetlabs.com @@ -386,6 +386,9 @@ exit 0 rm -rf %{buildroot} %changelog +* Sat Feb 11 2017 Fedora Release Engineering - 4.6.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + * Tue Sep 13 2016 Haïkel Guémar - 4.6.2-1 - Upstream 4.6.2 From 6d30d07d321453e76c4d2183abf4cd03c8922b25 Mon Sep 17 00:00:00 2001 From: Dominic Cleal Date: Thu, 18 May 2017 08:29:03 +0100 Subject: [PATCH 169/272] Fix Ruby 2.4 compatibility, xmlrpc/OpenSSL patches * https://github.com/puppetlabs/puppet/commit/484623ed * https://github.com/puppetlabs/puppet/commit/578687a0 Fixes BZ#1443673, BZ#1440710 --- 0003-Remove-unused-requre-xmlrpc-client.patch | 30 ++++++++++++++++ ...Skip-cipher-monkey-patch-on-ruby-2.4.patch | 36 +++++++++++++++++++ puppet.spec | 9 ++++- 3 files changed, 74 insertions(+), 1 deletion(-) create mode 100644 0003-Remove-unused-requre-xmlrpc-client.patch create mode 100644 0004-PUP-7383-Skip-cipher-monkey-patch-on-ruby-2.4.patch diff --git a/0003-Remove-unused-requre-xmlrpc-client.patch b/0003-Remove-unused-requre-xmlrpc-client.patch new file mode 100644 index 0000000..a875561 --- /dev/null +++ b/0003-Remove-unused-requre-xmlrpc-client.patch @@ -0,0 +1,30 @@ +From 484623eda09d8e8b9857f5279ebb891a423588dc Mon Sep 17 00:00:00 2001 +From: Kylo Ginsberg +Date: Sun, 18 Sep 2016 06:42:46 -0700 +Subject: [PATCH] (maint) Remove unused: requre 'xmlrpc/client' + +In 152299cc, as part of PUP-6120, use of the xmlrpc library +was removed from the code, but the require itself was not +removed. This commit simply removes the vestigial require. + +Note that this change is required to support ruby 2.4, +which no longer includes the xmlrpc library. +--- + lib/puppet/provider/package/pip.rb | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/lib/puppet/provider/package/pip.rb b/lib/puppet/provider/package/pip.rb +index 9300b7b..aad447b 100644 +--- a/lib/puppet/provider/package/pip.rb ++++ b/lib/puppet/provider/package/pip.rb +@@ -2,7 +2,6 @@ + # + + require 'puppet/provider/package' +-require 'xmlrpc/client' + require 'puppet/util/http_proxy' + + Puppet::Type.type(:package).provide :pip, +-- +2.7.4 + diff --git a/0004-PUP-7383-Skip-cipher-monkey-patch-on-ruby-2.4.patch b/0004-PUP-7383-Skip-cipher-monkey-patch-on-ruby-2.4.patch new file mode 100644 index 0000000..1fff912 --- /dev/null +++ b/0004-PUP-7383-Skip-cipher-monkey-patch-on-ruby-2.4.patch @@ -0,0 +1,36 @@ +From 578687a00195191185f44d8cb38f4b7716d99c31 Mon Sep 17 00:00:00 2001 +From: Josh Cooper +Date: Tue, 16 May 2017 15:47:04 -0700 +Subject: [PATCH] (PUP-7383) Skip cipher monkey patch on ruby 2.4+ + +Previously, we appended "!SSLv2" to the SSLContext +DEFAULT_PARAMS[:ciphers] to ensure that puppet never uses SSLv2, either +from our http client or when using open-uri. However, ruby 2.4 only +defines the `:ciphers` array if using openssl < 1.1.0[1]. As a result, +puppet as a gem running on newer systems would hard fail. + +Check existence of array before trying to append to it. + +[1] https://github.com/ruby/ruby/commit/c9dc016#diff-8406e11e4a42f9de6badcd0f6a6c4262R33 +--- + lib/puppet/util/monkey_patches.rb | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/lib/puppet/util/monkey_patches.rb b/lib/puppet/util/monkey_patches.rb +index b999fc4..ffb887e 100644 +--- a/lib/puppet/util/monkey_patches.rb ++++ b/lib/puppet/util/monkey_patches.rb +@@ -35,7 +35,9 @@ class OpenSSL::SSL::SSLContext + else + DEFAULT_PARAMS[:options] = OpenSSL::SSL::OP_NO_SSLv2 | OpenSSL::SSL::OP_NO_SSLv3 + end +- DEFAULT_PARAMS[:ciphers] << ':!SSLv2' ++ if DEFAULT_PARAMS[:ciphers] ++ DEFAULT_PARAMS[:ciphers] << ':!SSLv2' ++ end + + alias __original_initialize initialize + private :__original_initialize +-- +2.7.4 + diff --git a/puppet.spec b/puppet.spec index 71e94cd..da303d7 100644 --- a/puppet.spec +++ b/puppet.spec @@ -19,7 +19,7 @@ Name: puppet Version: 4.6.2 -Release: 2%{?dist} +Release: 3%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 URL: http://puppetlabs.com @@ -32,6 +32,8 @@ Source4: start-puppet-wrapper # Puppetlabs messed up with default paths Patch01: 0001-Fix-puppet-paths.patch Patch02: 0002-Revert-maint-Remove-puppetmaster.service.patch +Patch03: 0003-Remove-unused-requre-xmlrpc-client.patch +Patch04: 0004-PUP-7383-Skip-cipher-monkey-patch-on-ruby-2.4.patch Group: System Environment/Base BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -119,6 +121,8 @@ The server can also function as a certificate authority and file server. %setup -q %patch01 -p1 -b .paths %patch02 -p1 -b .server +%patch03 -p1 +%patch04 -p1 # Unbundle rm -r lib/puppet/vendor/*{pathspec,rgen}* @@ -386,6 +390,9 @@ exit 0 rm -rf %{buildroot} %changelog +* Thu May 18 2017 Dominic Cleal - 4.6.2-3 +- Fix Ruby 2.4 compatibility, xmlrpc + OpenSSL errors (BZ#1443673, BZ#1440710) + * Sat Feb 11 2017 Fedora Release Engineering - 4.6.2-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild From a3757312cb474b0d3d2be5364eb56356aa181769 Mon Sep 17 00:00:00 2001 From: Dominic Cleal Date: Tue, 23 May 2017 09:16:37 +0100 Subject: [PATCH 170/272] Fix remote code execution via YAML deserialization * CVE-2017-2295 * https://puppet.com/security/cve/cve-2017-2295 * https://github.com/puppetlabs/puppet/commit/06d8c51 Fixes BZ#1452654 --- ...-Reject-all-fact-formats-except-PSON.patch | 99 +++++++++++++++++++ puppet.spec | 7 +- 2 files changed, 105 insertions(+), 1 deletion(-) create mode 100644 0005-PUP-7483-Reject-all-fact-formats-except-PSON.patch diff --git a/0005-PUP-7483-Reject-all-fact-formats-except-PSON.patch b/0005-PUP-7483-Reject-all-fact-formats-except-PSON.patch new file mode 100644 index 0000000..b365b1a --- /dev/null +++ b/0005-PUP-7483-Reject-all-fact-formats-except-PSON.patch @@ -0,0 +1,99 @@ +From 06d8c51367ca932b9da5d9b01958cfc0adf0f2ea Mon Sep 17 00:00:00 2001 +From: Josh Cooper +Date: Fri, 28 Apr 2017 12:09:11 -0700 +Subject: [PATCH] (PUP-7483) Reject all fact formats except PSON + +Previously, an authenticated user could cause the master to execute +YAML.load on user-specified input, as well as MessagePack.unpack if the +msgpack gem was installed. + +Since 3.2.2, agents have always sent facts as PSON. There is no reason +to support other formats, so reject all fact formats except PSON. +--- + lib/puppet/indirector/catalog/compiler.rb | 6 +++-- + spec/unit/indirector/catalog/compiler_spec.rb | 36 ++++++++++++++++++++++++--- + 2 files changed, 36 insertions(+), 6 deletions(-) + +diff --git a/lib/puppet/indirector/catalog/compiler.rb b/lib/puppet/indirector/catalog/compiler.rb +index e4e60ce..16c8353 100644 +--- a/lib/puppet/indirector/catalog/compiler.rb ++++ b/lib/puppet/indirector/catalog/compiler.rb +@@ -25,9 +25,11 @@ class Puppet::Resource::Catalog::Compiler < Puppet::Indirector::Code + # in Network::HTTP::Handler will automagically deserialize the value. + if text_facts.is_a?(Puppet::Node::Facts) + facts = text_facts +- else ++ elsif format == 'pson' + # We unescape here because the corresponding code in Puppet::Configurer::FactHandler escapes +- facts = Puppet::Node::Facts.convert_from(format, CGI.unescape(text_facts)) ++ facts = Puppet::Node::Facts.convert_from('pson', CGI.unescape(text_facts)) ++ else ++ raise ArgumentError, "Unsupported facts format" + end + + unless facts.name == request.key +diff --git a/spec/unit/indirector/catalog/compiler_spec.rb b/spec/unit/indirector/catalog/compiler_spec.rb +index b134c90..d31eaee 100644 +--- a/spec/unit/indirector/catalog/compiler_spec.rb ++++ b/spec/unit/indirector/catalog/compiler_spec.rb +@@ -255,10 +255,10 @@ describe Puppet::Resource::Catalog::Compiler do + @facts = Puppet::Node::Facts.new('hostname', "fact" => "value", "architecture" => "i386") + end + +- def a_request_that_contains(facts) ++ def a_request_that_contains(facts, format = :pson) + request = Puppet::Indirector::Request.new(:catalog, :find, "hostname", nil) +- request.options[:facts_format] = "pson" +- request.options[:facts] = CGI.escape(facts.render(:pson)) ++ request.options[:facts_format] = format.to_s ++ request.options[:facts] = CGI.escape(facts.render(format)) + request + end + +@@ -277,7 +277,7 @@ describe Puppet::Resource::Catalog::Compiler do + expect(facts.timestamp).to eq(time) + end + +- it "should convert the facts into a fact instance and save it" do ++ it "accepts PSON facts" do + request = a_request_that_contains(@facts) + + options = { +@@ -289,6 +289,34 @@ describe Puppet::Resource::Catalog::Compiler do + + @compiler.extract_facts_from_request(request) + end ++ ++ it "rejects YAML facts" do ++ request = a_request_that_contains(@facts, :yaml) ++ ++ options = { ++ :environment => request.environment, ++ :transaction_uuid => request.options[:transaction_uuid], ++ } ++ ++ expect { ++ @compiler.extract_facts_from_request(request) ++ }.to raise_error(ArgumentError, /Unsupported facts format/) ++ end ++ ++ it "rejects unknown fact formats" do ++ request = a_request_that_contains(@facts) ++ request.options[:facts_format] = 'unknown-format' ++ ++ options = { ++ :environment => request.environment, ++ :transaction_uuid => request.options[:transaction_uuid], ++ } ++ ++ expect { ++ @compiler.extract_facts_from_request(request) ++ }.to raise_error(ArgumentError, /Unsupported facts format/) ++ end ++ + end + + describe "when finding nodes" do +-- +2.7.4 + diff --git a/puppet.spec b/puppet.spec index da303d7..884c9f1 100644 --- a/puppet.spec +++ b/puppet.spec @@ -19,7 +19,7 @@ Name: puppet Version: 4.6.2 -Release: 3%{?dist} +Release: 4%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 URL: http://puppetlabs.com @@ -34,6 +34,7 @@ Patch01: 0001-Fix-puppet-paths.patch Patch02: 0002-Revert-maint-Remove-puppetmaster.service.patch Patch03: 0003-Remove-unused-requre-xmlrpc-client.patch Patch04: 0004-PUP-7383-Skip-cipher-monkey-patch-on-ruby-2.4.patch +Patch05: 0005-PUP-7483-Reject-all-fact-formats-except-PSON.patch Group: System Environment/Base BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -123,6 +124,7 @@ The server can also function as a certificate authority and file server. %patch02 -p1 -b .server %patch03 -p1 %patch04 -p1 +%patch05 -p1 # Unbundle rm -r lib/puppet/vendor/*{pathspec,rgen}* @@ -390,6 +392,9 @@ exit 0 rm -rf %{buildroot} %changelog +* Tue May 23 2017 Dominic Cleal - 4.6.2-4 +- Fix remote code exec via YAML deserialization (BZ#1452654, CVE-2017-2295) + * Thu May 18 2017 Dominic Cleal - 4.6.2-3 - Fix Ruby 2.4 compatibility, xmlrpc + OpenSSL errors (BZ#1443673, BZ#1440710) From f2dd544f625b7902f404e1cc98981df65ca8d51f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ville=20Skytt=C3=A4?= Date: Sat, 14 Jan 2017 00:40:56 +0200 Subject: [PATCH 171/272] Move tmpfiles.d config to %{_tmpfilesdir}, install LICENSE as %license Fixes BZ#1413215 --- puppet.spec | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/puppet.spec b/puppet.spec index 884c9f1..20f9663 100644 --- a/puppet.spec +++ b/puppet.spec @@ -19,7 +19,7 @@ Name: puppet Version: 4.6.2 -Release: 4%{?dist} +Release: 5%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 URL: http://puppetlabs.com @@ -210,9 +210,9 @@ sed -i 's|^ExecStart=.*/bin/puppet|ExecStart=/usr/bin/start-puppet-agent|' \ %if 0%{?fedora} >= 15 # Setup tmpfiles.d config -mkdir -p %{buildroot}%{_sysconfdir}/tmpfiles.d +mkdir -p %{buildroot}%{_tmpfilesdir} echo "D /var/run/%{name} 0755 %{name} %{name} -" > \ - %{buildroot}%{_sysconfdir}/tmpfiles.d/%{name}.conf + %{buildroot}%{_tmpfilesdir}/%{name}.conf %endif # Create puppet modules directory for puppet module tool @@ -221,7 +221,8 @@ mkdir -p %{buildroot}%{_sysconfdir}/%{name}/modules %files %defattr(-, root, root, 0755) -%doc LICENSE README.md examples +%doc README.md examples +%license LICENSE %{_bindir}/puppet %{_bindir}/start-puppet-* %{_bindir}/extlookup2hiera @@ -236,7 +237,7 @@ mkdir -p %{buildroot}%{_sysconfdir}/%{name}/modules %dir %{_sysconfdir}/puppet %dir %{_sysconfdir}/%{name}/modules %if 0%{?fedora} >= 15 -%config(noreplace) %{_sysconfdir}/tmpfiles.d/%{name}.conf +%{_tmpfilesdir}/%{name}.conf %endif %config(noreplace) %{_sysconfdir}/puppet/puppet.conf %config(noreplace) %{_sysconfdir}/puppet/auth.conf @@ -392,6 +393,10 @@ exit 0 rm -rf %{buildroot} %changelog +* Tue May 23 2017 Ville Skyttä - 4.6.2-5 +- Move tmpfiles.d config to %%{_tmpfilesdir} +- Install LICENSE as %%license + * Tue May 23 2017 Dominic Cleal - 4.6.2-4 - Fix remote code exec via YAML deserialization (BZ#1452654, CVE-2017-2295) From 1d46e992aff71a3653ddb52f4327a0ad05f7c35c Mon Sep 17 00:00:00 2001 From: Dominic Cleal Date: Thu, 25 May 2017 10:34:03 +0100 Subject: [PATCH 172/272] Update to 4.8.2 --- 0003-Remove-unused-requre-xmlrpc-client.patch | 30 ------------------- puppet.spec | 26 +++++++++------- sources | 4 +-- 3 files changed, 18 insertions(+), 42 deletions(-) delete mode 100644 0003-Remove-unused-requre-xmlrpc-client.patch diff --git a/0003-Remove-unused-requre-xmlrpc-client.patch b/0003-Remove-unused-requre-xmlrpc-client.patch deleted file mode 100644 index a875561..0000000 --- a/0003-Remove-unused-requre-xmlrpc-client.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 484623eda09d8e8b9857f5279ebb891a423588dc Mon Sep 17 00:00:00 2001 -From: Kylo Ginsberg -Date: Sun, 18 Sep 2016 06:42:46 -0700 -Subject: [PATCH] (maint) Remove unused: requre 'xmlrpc/client' - -In 152299cc, as part of PUP-6120, use of the xmlrpc library -was removed from the code, but the require itself was not -removed. This commit simply removes the vestigial require. - -Note that this change is required to support ruby 2.4, -which no longer includes the xmlrpc library. ---- - lib/puppet/provider/package/pip.rb | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/lib/puppet/provider/package/pip.rb b/lib/puppet/provider/package/pip.rb -index 9300b7b..aad447b 100644 ---- a/lib/puppet/provider/package/pip.rb -+++ b/lib/puppet/provider/package/pip.rb -@@ -2,7 +2,6 @@ - # - - require 'puppet/provider/package' --require 'xmlrpc/client' - require 'puppet/util/http_proxy' - - Puppet::Type.type(:package).provide :pip, --- -2.7.4 - diff --git a/puppet.spec b/puppet.spec index 20f9663..2970631 100644 --- a/puppet.spec +++ b/puppet.spec @@ -18,8 +18,8 @@ %global pending_upgrade_file %{pending_upgrade_path}/upgrade_pending Name: puppet -Version: 4.6.2 -Release: 5%{?dist} +Version: 4.8.2 +Release: 1%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 URL: http://puppetlabs.com @@ -32,14 +32,12 @@ Source4: start-puppet-wrapper # Puppetlabs messed up with default paths Patch01: 0001-Fix-puppet-paths.patch Patch02: 0002-Revert-maint-Remove-puppetmaster.service.patch -Patch03: 0003-Remove-unused-requre-xmlrpc-client.patch Patch04: 0004-PUP-7383-Skip-cipher-monkey-patch-on-ruby-2.4.patch Patch05: 0005-PUP-7483-Reject-all-fact-formats-except-PSON.patch Group: System Environment/Base BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) -BuildRequires: facter >= 1.6.6 BuildRequires: ruby-devel >= 1.8.7 # ruby-devel does not require the base package, but requires -libs instead BuildRequires: ruby >= 1.8.7 @@ -50,10 +48,11 @@ Requires: ruby(abi) = 1.8 %else Requires: ruby(release) %endif -Requires: ruby(shadow) +Requires: ruby(shadow) Requires: rubygem(json) Requires: rubygem(pathspec) +Requires: rubygem(rgen) # Prevents jruby from being pulled in by dependencies (BZ #985208) Requires: ruby @@ -67,11 +66,16 @@ Requires: ruby %endif %endif -BuildRequires: hiera >= 1.0.0 +BuildRequires: facter >= 2.0 +BuildRequires: facter < 4 +BuildRequires: hiera >= 2.0 +BuildRequires: hiera < 4 + +Requires: facter >= 2.0 +Requires: facter < 4 +Requires: hiera >= 2.0 +Requires: hiera < 4 -Requires: facter >= 1.6.6 -Requires: hiera >= 1.0.0 -Requires: rubygem(rgen) Obsoletes: hiera-puppet < 1.0.0-2 Provides: hiera-puppet = %{version}-%{release} @@ -122,7 +126,6 @@ The server can also function as a certificate authority and file server. %setup -q %patch01 -p1 -b .paths %patch02 -p1 -b .server -%patch03 -p1 %patch04 -p1 %patch05 -p1 # Unbundle @@ -393,6 +396,9 @@ exit 0 rm -rf %{buildroot} %changelog +* Thu May 25 2017 Dominic Cleal - 4.8.2-1 +- Update to 4.8.2 + * Tue May 23 2017 Ville Skyttä - 4.6.2-5 - Move tmpfiles.d config to %%{_tmpfilesdir} - Install LICENSE as %%license diff --git a/sources b/sources index 1d81261..19d0dc5 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (puppet-4.6.2.tar.gz) = a8b908f0e5586e9e94fab510df7f4cc4e8693a72c54719c31cf274e26367c4d04391629a1d749337eec7469be148777bc7de8d0fd3aaf78d7f213bce0a1560b4 -SHA512 (puppet-4.6.2.tar.gz.asc) = 35bb418085e6a7c20e69c0a91a9ee98f19997f388c70d3bb88df95f117f33e7bff46fbb0ef0679e413faff1eadecc7b2282bb13b2fbad171457b12149d4590ff +SHA512 (puppet-4.8.2.tar.gz.asc) = 3526e4787e5894a6d62af6c06a10fc20e8726759209b6d461dd7688882d7a646ff23a4efdb28ac7358bb2ac0002a1486b6f746f6a1e15c1e1cef33565d9433be +SHA512 (puppet-4.8.2.tar.gz) = d9c3d7949d88c12df49f6e9b170004087bf4eb3a598764f34ca4cc074013ecb0ab585e836c1cf12c7be4e61af0c18845dd0d65f3446fa744f949d8f2c7a8d2a1 From e98f95dcba5c53eae230fee7d86a384e9622a873 Mon Sep 17 00:00:00 2001 From: Dominic Cleal Date: Wed, 31 May 2017 10:12:07 +0100 Subject: [PATCH 173/272] Remove Fedora release restrictions from DNF package provider --- ...lease-restrictions-from-DNF-provider.patch | 27 +++++++++++++++++++ puppet.spec | 7 ++++- 2 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 0006-Remove-Fedora-release-restrictions-from-DNF-provider.patch diff --git a/0006-Remove-Fedora-release-restrictions-from-DNF-provider.patch b/0006-Remove-Fedora-release-restrictions-from-DNF-provider.patch new file mode 100644 index 0000000..ae82d25 --- /dev/null +++ b/0006-Remove-Fedora-release-restrictions-from-DNF-provider.patch @@ -0,0 +1,27 @@ +From ffd3da258dd526369d63df022a2fa57f6ed6c473 Mon Sep 17 00:00:00 2001 +From: Dominic Cleal +Date: Wed, 31 May 2017 10:07:04 +0100 +Subject: [PATCH] Remove Fedora release restrictions from DNF provider + +Ensure DNF provider will be used on all versions of Fedora, without new +ones being excluded. +--- + lib/puppet/provider/package/dnf.rb | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lib/puppet/provider/package/dnf.rb b/lib/puppet/provider/package/dnf.rb +index e144a1a..c0ed877 100644 +--- a/lib/puppet/provider/package/dnf.rb ++++ b/lib/puppet/provider/package/dnf.rb +@@ -28,7 +28,7 @@ Puppet::Type.type(:package).provide :dnf, :parent => :yum do + end + end + +- defaultfor :operatingsystem => :fedora, :operatingsystemmajrelease => ['22', '23', '24'] ++ defaultfor :operatingsystem => :fedora + + def self.update_command + # In DNF, update is deprecated for upgrade +-- +2.7.4 + diff --git a/puppet.spec b/puppet.spec index 2970631..fed90ac 100644 --- a/puppet.spec +++ b/puppet.spec @@ -19,7 +19,7 @@ Name: puppet Version: 4.8.2 -Release: 1%{?dist} +Release: 2%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 URL: http://puppetlabs.com @@ -34,6 +34,7 @@ Patch01: 0001-Fix-puppet-paths.patch Patch02: 0002-Revert-maint-Remove-puppetmaster.service.patch Patch04: 0004-PUP-7383-Skip-cipher-monkey-patch-on-ruby-2.4.patch Patch05: 0005-PUP-7483-Reject-all-fact-formats-except-PSON.patch +Patch06: 0006-Remove-Fedora-release-restrictions-from-DNF-provider.patch Group: System Environment/Base BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -128,6 +129,7 @@ The server can also function as a certificate authority and file server. %patch02 -p1 -b .server %patch04 -p1 %patch05 -p1 +%patch06 -p1 # Unbundle rm -r lib/puppet/vendor/*{pathspec,rgen}* @@ -396,6 +398,9 @@ exit 0 rm -rf %{buildroot} %changelog +* Wed May 31 2017 Dominic Cleal - 4.8.2-2 +- Remove Fedora release restrictions from DNF package provider + * Thu May 25 2017 Dominic Cleal - 4.8.2-1 - Update to 4.8.2 From c7f00c0890bbbe5941a43c91c281fa99f2bdfa56 Mon Sep 17 00:00:00 2001 From: Dominic Cleal Date: Wed, 31 May 2017 15:04:17 +0100 Subject: [PATCH 174/272] Update to 4.10.1 --- ...-Reject-all-fact-formats-except-PSON.patch | 99 ------------------- ...lease-restrictions-from-DNF-provider.patch | 2 +- puppet.spec | 9 +- sources | 4 +- 4 files changed, 8 insertions(+), 106 deletions(-) delete mode 100644 0005-PUP-7483-Reject-all-fact-formats-except-PSON.patch diff --git a/0005-PUP-7483-Reject-all-fact-formats-except-PSON.patch b/0005-PUP-7483-Reject-all-fact-formats-except-PSON.patch deleted file mode 100644 index b365b1a..0000000 --- a/0005-PUP-7483-Reject-all-fact-formats-except-PSON.patch +++ /dev/null @@ -1,99 +0,0 @@ -From 06d8c51367ca932b9da5d9b01958cfc0adf0f2ea Mon Sep 17 00:00:00 2001 -From: Josh Cooper -Date: Fri, 28 Apr 2017 12:09:11 -0700 -Subject: [PATCH] (PUP-7483) Reject all fact formats except PSON - -Previously, an authenticated user could cause the master to execute -YAML.load on user-specified input, as well as MessagePack.unpack if the -msgpack gem was installed. - -Since 3.2.2, agents have always sent facts as PSON. There is no reason -to support other formats, so reject all fact formats except PSON. ---- - lib/puppet/indirector/catalog/compiler.rb | 6 +++-- - spec/unit/indirector/catalog/compiler_spec.rb | 36 ++++++++++++++++++++++++--- - 2 files changed, 36 insertions(+), 6 deletions(-) - -diff --git a/lib/puppet/indirector/catalog/compiler.rb b/lib/puppet/indirector/catalog/compiler.rb -index e4e60ce..16c8353 100644 ---- a/lib/puppet/indirector/catalog/compiler.rb -+++ b/lib/puppet/indirector/catalog/compiler.rb -@@ -25,9 +25,11 @@ class Puppet::Resource::Catalog::Compiler < Puppet::Indirector::Code - # in Network::HTTP::Handler will automagically deserialize the value. - if text_facts.is_a?(Puppet::Node::Facts) - facts = text_facts -- else -+ elsif format == 'pson' - # We unescape here because the corresponding code in Puppet::Configurer::FactHandler escapes -- facts = Puppet::Node::Facts.convert_from(format, CGI.unescape(text_facts)) -+ facts = Puppet::Node::Facts.convert_from('pson', CGI.unescape(text_facts)) -+ else -+ raise ArgumentError, "Unsupported facts format" - end - - unless facts.name == request.key -diff --git a/spec/unit/indirector/catalog/compiler_spec.rb b/spec/unit/indirector/catalog/compiler_spec.rb -index b134c90..d31eaee 100644 ---- a/spec/unit/indirector/catalog/compiler_spec.rb -+++ b/spec/unit/indirector/catalog/compiler_spec.rb -@@ -255,10 +255,10 @@ describe Puppet::Resource::Catalog::Compiler do - @facts = Puppet::Node::Facts.new('hostname', "fact" => "value", "architecture" => "i386") - end - -- def a_request_that_contains(facts) -+ def a_request_that_contains(facts, format = :pson) - request = Puppet::Indirector::Request.new(:catalog, :find, "hostname", nil) -- request.options[:facts_format] = "pson" -- request.options[:facts] = CGI.escape(facts.render(:pson)) -+ request.options[:facts_format] = format.to_s -+ request.options[:facts] = CGI.escape(facts.render(format)) - request - end - -@@ -277,7 +277,7 @@ describe Puppet::Resource::Catalog::Compiler do - expect(facts.timestamp).to eq(time) - end - -- it "should convert the facts into a fact instance and save it" do -+ it "accepts PSON facts" do - request = a_request_that_contains(@facts) - - options = { -@@ -289,6 +289,34 @@ describe Puppet::Resource::Catalog::Compiler do - - @compiler.extract_facts_from_request(request) - end -+ -+ it "rejects YAML facts" do -+ request = a_request_that_contains(@facts, :yaml) -+ -+ options = { -+ :environment => request.environment, -+ :transaction_uuid => request.options[:transaction_uuid], -+ } -+ -+ expect { -+ @compiler.extract_facts_from_request(request) -+ }.to raise_error(ArgumentError, /Unsupported facts format/) -+ end -+ -+ it "rejects unknown fact formats" do -+ request = a_request_that_contains(@facts) -+ request.options[:facts_format] = 'unknown-format' -+ -+ options = { -+ :environment => request.environment, -+ :transaction_uuid => request.options[:transaction_uuid], -+ } -+ -+ expect { -+ @compiler.extract_facts_from_request(request) -+ }.to raise_error(ArgumentError, /Unsupported facts format/) -+ end -+ - end - - describe "when finding nodes" do --- -2.7.4 - diff --git a/0006-Remove-Fedora-release-restrictions-from-DNF-provider.patch b/0006-Remove-Fedora-release-restrictions-from-DNF-provider.patch index ae82d25..5673c02 100644 --- a/0006-Remove-Fedora-release-restrictions-from-DNF-provider.patch +++ b/0006-Remove-Fedora-release-restrictions-from-DNF-provider.patch @@ -17,7 +17,7 @@ index e144a1a..c0ed877 100644 end end -- defaultfor :operatingsystem => :fedora, :operatingsystemmajrelease => ['22', '23', '24'] +- defaultfor :operatingsystem => :fedora, :operatingsystemmajrelease => ['22', '23', '24', '25'] + defaultfor :operatingsystem => :fedora def self.update_command diff --git a/puppet.spec b/puppet.spec index fed90ac..307c00c 100644 --- a/puppet.spec +++ b/puppet.spec @@ -18,8 +18,8 @@ %global pending_upgrade_file %{pending_upgrade_path}/upgrade_pending Name: puppet -Version: 4.8.2 -Release: 2%{?dist} +Version: 4.10.1 +Release: 1%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 URL: http://puppetlabs.com @@ -33,7 +33,6 @@ Source4: start-puppet-wrapper Patch01: 0001-Fix-puppet-paths.patch Patch02: 0002-Revert-maint-Remove-puppetmaster.service.patch Patch04: 0004-PUP-7383-Skip-cipher-monkey-patch-on-ruby-2.4.patch -Patch05: 0005-PUP-7483-Reject-all-fact-formats-except-PSON.patch Patch06: 0006-Remove-Fedora-release-restrictions-from-DNF-provider.patch Group: System Environment/Base @@ -128,7 +127,6 @@ The server can also function as a certificate authority and file server. %patch01 -p1 -b .paths %patch02 -p1 -b .server %patch04 -p1 -%patch05 -p1 %patch06 -p1 # Unbundle rm -r lib/puppet/vendor/*{pathspec,rgen}* @@ -398,6 +396,9 @@ exit 0 rm -rf %{buildroot} %changelog +* Wed May 31 2017 Dominic Cleal - 4.10.1-1 +- Update to 4.10.1 + * Wed May 31 2017 Dominic Cleal - 4.8.2-2 - Remove Fedora release restrictions from DNF package provider diff --git a/sources b/sources index 19d0dc5..069b38a 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (puppet-4.8.2.tar.gz.asc) = 3526e4787e5894a6d62af6c06a10fc20e8726759209b6d461dd7688882d7a646ff23a4efdb28ac7358bb2ac0002a1486b6f746f6a1e15c1e1cef33565d9433be -SHA512 (puppet-4.8.2.tar.gz) = d9c3d7949d88c12df49f6e9b170004087bf4eb3a598764f34ca4cc074013ecb0ab585e836c1cf12c7be4e61af0c18845dd0d65f3446fa744f949d8f2c7a8d2a1 +SHA512 (puppet-4.10.1.tar.gz) = d232f062b93485f7eea8abb9c5420462e313e6050e7335159f051f7c7af86338c006ae4edc09e0e1370784ee7b076911ca563a4cfc6a1f2afc7179bed08d2032 +SHA512 (puppet-4.10.1.tar.gz.asc) = a2a168ca2f48f2db7d8998f0c81895274a2a1c26476a240bd67f0a8c23c54d1ab4fd581d2ac69141cc0de8ed4139107ff2df0ef9b4c31dd76a9592ebd6f453cd From 22bc31c361d576b0221af154ce64092f04b80be8 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 27 Jul 2017 09:10:55 +0000 Subject: [PATCH 175/272] - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild --- puppet.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/puppet.spec b/puppet.spec index 307c00c..a51f13e 100644 --- a/puppet.spec +++ b/puppet.spec @@ -19,7 +19,7 @@ Name: puppet Version: 4.10.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 URL: http://puppetlabs.com @@ -396,6 +396,9 @@ exit 0 rm -rf %{buildroot} %changelog +* Thu Jul 27 2017 Fedora Release Engineering - 4.10.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + * Wed May 31 2017 Dominic Cleal - 4.10.1-1 - Update to 4.10.1 From f6aa910dc404ddf5a0cb71439b224018c8bf5964 Mon Sep 17 00:00:00 2001 From: James Hogarth Date: Tue, 7 Nov 2017 11:50:36 +0000 Subject: [PATCH 176/272] F28 facter3 change means puppet needs to require the ruby bindings for facter --- puppet.spec | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/puppet.spec b/puppet.spec index a51f13e..fbe898f 100644 --- a/puppet.spec +++ b/puppet.spec @@ -19,7 +19,7 @@ Name: puppet Version: 4.10.1 -Release: 2%{?dist} +Release: 3%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 URL: http://puppetlabs.com @@ -66,13 +66,23 @@ Requires: ruby %endif %endif +# Fedora 28 updates to facter3 where puppet needs to require the ruby bindings specifically +%if 0%{?fedora} >= 28 +BuildRequires: ruby-facter >= 3.0 +BuildRequires: ruby-facter < 4 +Requires: ruby-facter >= 3.0 +Requires: ruby-facter < 4 +%else BuildRequires: facter >= 2.0 BuildRequires: facter < 4 +Requires: facter >= 2.0 +Requires: facter < 4 +%endif + + BuildRequires: hiera >= 2.0 BuildRequires: hiera < 4 -Requires: facter >= 2.0 -Requires: facter < 4 Requires: hiera >= 2.0 Requires: hiera < 4 @@ -396,6 +406,9 @@ exit 0 rm -rf %{buildroot} %changelog +* Tue Nov 07 2017 James Hogarth - 4.10.1-3 +- F28 facter3 change means puppet needs to require the ruby bindings for facter + * Thu Jul 27 2017 Fedora Release Engineering - 4.10.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild From 0e7dd9783de9ffc216ee4c44a5018b31a6d2ed0e Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 9 Feb 2018 05:58:55 +0000 Subject: [PATCH 177/272] - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- puppet.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/puppet.spec b/puppet.spec index fbe898f..4f44488 100644 --- a/puppet.spec +++ b/puppet.spec @@ -19,7 +19,7 @@ Name: puppet Version: 4.10.1 -Release: 3%{?dist} +Release: 4%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 URL: http://puppetlabs.com @@ -406,6 +406,9 @@ exit 0 rm -rf %{buildroot} %changelog +* Fri Feb 09 2018 Fedora Release Engineering - 4.10.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + * Tue Nov 07 2017 James Hogarth - 4.10.1-3 - F28 facter3 change means puppet needs to require the ruby bindings for facter From e6cad219976b4de40265b68f28dd709a10379322 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Wed, 14 Feb 2018 00:21:08 +0100 Subject: [PATCH 178/272] Remove BuildRoot definition None of currently supported distributions need that. It was needed last for EL5 which is EOL now Signed-off-by: Igor Gnatenko --- puppet.spec | 1 - 1 file changed, 1 deletion(-) diff --git a/puppet.spec b/puppet.spec index 4f44488..79a4bce 100644 --- a/puppet.spec +++ b/puppet.spec @@ -36,7 +36,6 @@ Patch04: 0004-PUP-7383-Skip-cipher-monkey-patch-on-ruby-2.4.patch Patch06: 0006-Remove-Fedora-release-restrictions-from-DNF-provider.patch Group: System Environment/Base -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: ruby-devel >= 1.8.7 # ruby-devel does not require the base package, but requires -libs instead From 95e93227e222581ee22255ffe92763fd67bc2d66 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Wed, 14 Feb 2018 07:32:09 +0100 Subject: [PATCH 179/272] Remove %clean section None of currently supported distributions need that. Last one was EL5 which is EOL for a while. Signed-off-by: Igor Gnatenko --- puppet.spec | 3 --- 1 file changed, 3 deletions(-) diff --git a/puppet.spec b/puppet.spec index 79a4bce..a5fad64 100644 --- a/puppet.spec +++ b/puppet.spec @@ -401,9 +401,6 @@ fi %endif exit 0 -%clean -rm -rf %{buildroot} - %changelog * Fri Feb 09 2018 Fedora Release Engineering - 4.10.1-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild From dd73184c04bf42138efd8e8a44b16434a378e8fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Terje=20R=C3=B8sten?= Date: Thu, 15 Mar 2018 19:35:09 +0100 Subject: [PATCH 180/272] Update to 4.10.10 --- ...Skip-cipher-monkey-patch-on-ruby-2.4.patch | 36 ------------------- puppet.spec | 12 ++++--- sources | 4 +-- 3 files changed, 10 insertions(+), 42 deletions(-) delete mode 100644 0004-PUP-7383-Skip-cipher-monkey-patch-on-ruby-2.4.patch diff --git a/0004-PUP-7383-Skip-cipher-monkey-patch-on-ruby-2.4.patch b/0004-PUP-7383-Skip-cipher-monkey-patch-on-ruby-2.4.patch deleted file mode 100644 index 1fff912..0000000 --- a/0004-PUP-7383-Skip-cipher-monkey-patch-on-ruby-2.4.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 578687a00195191185f44d8cb38f4b7716d99c31 Mon Sep 17 00:00:00 2001 -From: Josh Cooper -Date: Tue, 16 May 2017 15:47:04 -0700 -Subject: [PATCH] (PUP-7383) Skip cipher monkey patch on ruby 2.4+ - -Previously, we appended "!SSLv2" to the SSLContext -DEFAULT_PARAMS[:ciphers] to ensure that puppet never uses SSLv2, either -from our http client or when using open-uri. However, ruby 2.4 only -defines the `:ciphers` array if using openssl < 1.1.0[1]. As a result, -puppet as a gem running on newer systems would hard fail. - -Check existence of array before trying to append to it. - -[1] https://github.com/ruby/ruby/commit/c9dc016#diff-8406e11e4a42f9de6badcd0f6a6c4262R33 ---- - lib/puppet/util/monkey_patches.rb | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/lib/puppet/util/monkey_patches.rb b/lib/puppet/util/monkey_patches.rb -index b999fc4..ffb887e 100644 ---- a/lib/puppet/util/monkey_patches.rb -+++ b/lib/puppet/util/monkey_patches.rb -@@ -35,7 +35,9 @@ class OpenSSL::SSL::SSLContext - else - DEFAULT_PARAMS[:options] = OpenSSL::SSL::OP_NO_SSLv2 | OpenSSL::SSL::OP_NO_SSLv3 - end -- DEFAULT_PARAMS[:ciphers] << ':!SSLv2' -+ if DEFAULT_PARAMS[:ciphers] -+ DEFAULT_PARAMS[:ciphers] << ':!SSLv2' -+ end - - alias __original_initialize initialize - private :__original_initialize --- -2.7.4 - diff --git a/puppet.spec b/puppet.spec index a5fad64..b1c0fde 100644 --- a/puppet.spec +++ b/puppet.spec @@ -18,8 +18,8 @@ %global pending_upgrade_file %{pending_upgrade_path}/upgrade_pending Name: puppet -Version: 4.10.1 -Release: 4%{?dist} +Version: 4.10.10 +Release: 1%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 URL: http://puppetlabs.com @@ -32,7 +32,6 @@ Source4: start-puppet-wrapper # Puppetlabs messed up with default paths Patch01: 0001-Fix-puppet-paths.patch Patch02: 0002-Revert-maint-Remove-puppetmaster.service.patch -Patch04: 0004-PUP-7383-Skip-cipher-monkey-patch-on-ruby-2.4.patch Patch06: 0006-Remove-Fedora-release-restrictions-from-DNF-provider.patch Group: System Environment/Base @@ -135,7 +134,6 @@ The server can also function as a certificate authority and file server. %setup -q %patch01 -p1 -b .paths %patch02 -p1 -b .server -%patch04 -p1 %patch06 -p1 # Unbundle rm -r lib/puppet/vendor/*{pathspec,rgen}* @@ -150,6 +148,7 @@ ruby install.rb --destdir=%{buildroot} \ --bindir=%{_bindir} --vardir=%{_localstatedir}/cache/puppet \ --logdir=%{_localstatedir}/log/puppet \ --rundir=%{_localstatedir}/log/puppet \ + --localedir=%{_datadir}/%{name}/locale \ --quick --no-rdoc --sitelibdir=%{puppet_libdir} @@ -284,6 +283,7 @@ mkdir -p %{buildroot}%{_sysconfdir}/%{name}/modules %{_mandir}/man8/puppet-facts.8.gz %{_mandir}/man8/puppet-file.8.gz %{_mandir}/man8/puppet-filebucket.8.gz +%{_mandir}/man8/puppet-generate.8.gz %{_mandir}/man8/puppet-help.8.gz %{_mandir}/man8/puppet-inspect.8.gz #%{_mandir}/man8/puppet-instrumentation_data.8.gz @@ -291,6 +291,7 @@ mkdir -p %{buildroot}%{_sysconfdir}/%{name}/modules #%{_mandir}/man8/puppet-instrumentation_probe.8.gz %{_mandir}/man8/puppet-epp.8.gz %{_mandir}/man8/puppet-key.8.gz +%{_mandir}/man8/puppet-lookup.8.gz %{_mandir}/man8/puppet-man.8.gz %{_mandir}/man8/puppet-module.8.gz %{_mandir}/man8/puppet-node.8.gz @@ -402,6 +403,9 @@ fi exit 0 %changelog +* Thu Mar 15 2018 Terje Rosten - 4.10.10-1 +- Update to 4.10.10 + * Fri Feb 09 2018 Fedora Release Engineering - 4.10.1-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild diff --git a/sources b/sources index 069b38a..9ba66ed 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (puppet-4.10.1.tar.gz) = d232f062b93485f7eea8abb9c5420462e313e6050e7335159f051f7c7af86338c006ae4edc09e0e1370784ee7b076911ca563a4cfc6a1f2afc7179bed08d2032 -SHA512 (puppet-4.10.1.tar.gz.asc) = a2a168ca2f48f2db7d8998f0c81895274a2a1c26476a240bd67f0a8c23c54d1ab4fd581d2ac69141cc0de8ed4139107ff2df0ef9b4c31dd76a9592ebd6f453cd +SHA512 (puppet-4.10.10.tar.gz) = e517ee349ead56932c9ff54f910d10842c1cd6b6f28673223a65fb72334662d4eabeccc1c7c7603e17aa712c356edbc27fe53d6e7dd7ba042cc0616d0076d755 +SHA512 (puppet-4.10.10.tar.gz.asc) = 3b17e5505cb1f408e44035a655708cbef7d2bca729ad18180558be2c3b8bddc95e975bc41b53a1451807b38b4088659ed88117173826db588ce3bb96a4329caa From 752b2fb7d15dce0db431bcf4b9369e263c886b31 Mon Sep 17 00:00:00 2001 From: Haikel Guemar Date: Fri, 8 Jun 2018 16:00:30 +0200 Subject: [PATCH 181/272] Upstream 5.5.1 Unmaintained editor extensions were removed upstream (PUP-7558) Deprecated commands were removed: inspect (PUP-893), extlookup2hiera (PUP-3478) Refreshed patches --- 0001-Fix-puppet-paths.patch | 10 ++-- ...rt-maint-Remove-puppetmaster.service.patch | 10 ++-- ...lease-restrictions-from-DNF-provider.patch | 27 +++++++++ puppet.spec | 58 ++++++++----------- 4 files changed, 60 insertions(+), 45 deletions(-) create mode 100644 0003-Remove-Fedora-release-restrictions-from-DNF-provider.patch diff --git a/0001-Fix-puppet-paths.patch b/0001-Fix-puppet-paths.patch index d29aaef..1a1b1d2 100644 --- a/0001-Fix-puppet-paths.patch +++ b/0001-Fix-puppet-paths.patch @@ -1,17 +1,17 @@ -From 92ec714fc77a5cc5c743367be39cd83afa2356b6 Mon Sep 17 00:00:00 2001 +From 55933c8bd4ee983f048d1b4c90674e3dfd2583c4 Mon Sep 17 00:00:00 2001 From: Haikel Guemar Date: Wed, 29 Apr 2015 01:38:35 +0200 -Subject: [PATCH 1/2] Fix puppet paths +Subject: [PATCH 1/3] Fix puppet paths --- lib/puppet/util/run_mode.rb | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/puppet/util/run_mode.rb b/lib/puppet/util/run_mode.rb -index 453095c..bcdde95 100644 +index cf6c461..777156a 100644 --- a/lib/puppet/util/run_mode.rb +++ b/lib/puppet/util/run_mode.rb -@@ -72,23 +72,23 @@ module Puppet +@@ -59,23 +59,23 @@ module Puppet class UnixRunMode < RunMode def conf_dir @@ -41,5 +41,5 @@ index 453095c..bcdde95 100644 end -- -2.4.0 +2.17.1 diff --git a/0002-Revert-maint-Remove-puppetmaster.service.patch b/0002-Revert-maint-Remove-puppetmaster.service.patch index 657f161..39e0401 100644 --- a/0002-Revert-maint-Remove-puppetmaster.service.patch +++ b/0002-Revert-maint-Remove-puppetmaster.service.patch @@ -1,7 +1,7 @@ -From f3d931b6c68e4305ce612949ec59dca460e578d7 Mon Sep 17 00:00:00 2001 +From fc00c9d0c99e977cda8bb4a9a89952dfae5523dc Mon Sep 17 00:00:00 2001 From: Gael Chamoulaud Date: Wed, 29 Jul 2015 21:58:48 +0200 -Subject: [PATCH] Revert "(maint) Remove puppetmaster.service" +Subject: [PATCH 2/3] Revert "(maint) Remove puppetmaster.service" This reverts commit c0e30daa53b6267c1c86b6e27c01b1c26cf49af5. --- @@ -11,10 +11,10 @@ This reverts commit c0e30daa53b6267c1c86b6e27c01b1c26cf49af5. create mode 100644 ext/systemd/puppetmaster.service diff --git a/ext/systemd/puppet.service b/ext/systemd/puppet.service -index 61b0313..c7f063e 100644 +index 7c16615..36769ac 100644 --- a/ext/systemd/puppet.service +++ b/ext/systemd/puppet.service -@@ -1,7 +1,7 @@ +@@ -11,7 +11,7 @@ [Unit] Description=Puppet agent Wants=basic.target @@ -42,5 +42,5 @@ index 0000000..dbbd627 +[Install] +WantedBy=multi-user.target -- -2.4.3 +2.17.1 diff --git a/0003-Remove-Fedora-release-restrictions-from-DNF-provider.patch b/0003-Remove-Fedora-release-restrictions-from-DNF-provider.patch new file mode 100644 index 0000000..bbe7a50 --- /dev/null +++ b/0003-Remove-Fedora-release-restrictions-from-DNF-provider.patch @@ -0,0 +1,27 @@ +From 320d9dd4a87266d40c5b73d6e020bb77ca4e4d9b Mon Sep 17 00:00:00 2001 +From: Dominic Cleal +Date: Wed, 31 May 2017 10:07:04 +0100 +Subject: [PATCH 3/3] Remove Fedora release restrictions from DNF provider + +Ensure DNF provider will be used on all versions of Fedora, without new +ones being excluded. +--- + lib/puppet/provider/package/dnf.rb | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lib/puppet/provider/package/dnf.rb b/lib/puppet/provider/package/dnf.rb +index 535aa6c..c0ed877 100644 +--- a/lib/puppet/provider/package/dnf.rb ++++ b/lib/puppet/provider/package/dnf.rb +@@ -28,7 +28,7 @@ Puppet::Type.type(:package).provide :dnf, :parent => :yum do + end + end + +- defaultfor :operatingsystem => :fedora, :operatingsystemmajrelease => (22..30).to_a ++ defaultfor :operatingsystem => :fedora + + def self.update_command + # In DNF, update is deprecated for upgrade +-- +2.17.1 + diff --git a/puppet.spec b/puppet.spec index b1c0fde..854434a 100644 --- a/puppet.spec +++ b/puppet.spec @@ -18,7 +18,7 @@ %global pending_upgrade_file %{pending_upgrade_path}/upgrade_pending Name: puppet -Version: 4.10.10 +Version: 5.5.1 Release: 1%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 @@ -32,7 +32,7 @@ Source4: start-puppet-wrapper # Puppetlabs messed up with default paths Patch01: 0001-Fix-puppet-paths.patch Patch02: 0002-Revert-maint-Remove-puppetmaster.service.patch -Patch06: 0006-Remove-Fedora-release-restrictions-from-DNF-provider.patch +Patch03: 0003-Remove-Fedora-release-restrictions-from-DNF-provider.patch Group: System Environment/Base @@ -91,9 +91,7 @@ Provides: hiera-puppet = %{version}-%{release} Requires(pre): shadow-utils %if 0%{?_with_systemd} -Requires(post): systemd -Requires(preun): systemd -Requires(postun): systemd +%{?systemd_requires} BuildRequires: systemd %else Requires(post): chkconfig @@ -115,9 +113,7 @@ Group: System Environment/Base Summary: Server for the puppet system management tool Requires: puppet = %{version}-%{release} %if 0%{?_with_systemd} -Requires(post): systemd -Requires(preun): systemd -Requires(postun): systemd +%{?systemd_requires} BuildRequires: systemd %else Requires(post): chkconfig @@ -134,9 +130,16 @@ The server can also function as a certificate authority and file server. %setup -q %patch01 -p1 -b .paths %patch02 -p1 -b .server -%patch06 -p1 +%patch03 -p1 # Unbundle -rm -r lib/puppet/vendor/*{pathspec,rgen}* +rm -r lib/puppet/vendor/pathspec +# Note(hguemar): remove unrelated OS/distro specific folders +# These mess-up with RPM automatic dependencies compute by adding +# unnecessary deps like /sbin/runscripts +rm -r ext/{debian,freebsd,gentoo,ips,osx,solaris,suse,windows} +rm ext/redhat/*.init +rm ext/{build_defaults.yaml,project_data.yaml} + %build # Nothing to build @@ -177,6 +180,9 @@ install -Dp -m0644 %{confdir}/fileserver.conf %{buildroot}%{_sysconfdir}/puppet/ install -Dp -m0644 %{confdir}/puppet.conf %{buildroot}%{_sysconfdir}/puppet/puppet.conf install -Dp -m0644 ext/redhat/logrotate %{buildroot}%{_sysconfdir}/logrotate.d/puppet +# Note(hguemar): Conflicts with config file from hiera package +rm %{buildroot}%{_sysconfdir}/puppet/hiera.yaml + # Install a NetworkManager dispatcher script to pickup changes to # /etc/resolv.conf and such (https://bugzilla.redhat.com/532085). %if 0%{?_with_systemd} @@ -190,23 +196,6 @@ install -Dpv %{SOURCE2} \ # Install the ext/ directory to %%{_datadir}/%%{name} install -d %{buildroot}%{_datadir}/%{name} cp -a ext/ %{buildroot}%{_datadir}/%{name} -# emacs and vim bits are installed elsewhere -rm -rf %{buildroot}%{_datadir}/%{name}/ext/{emacs,vim} -# remove misc packaging artifacts in source not applicable to rpm -rm -rf %{buildroot}%{_datadir}/%{name}/ext/{gentoo,freebsd,solaris,suse,windows,osx,ips,debian} -rm -f %{buildroot}%{_datadir}/%{name}/ext/{build_defaults.yaml,project_data.yaml} -rm -f %{buildroot}%{_datadir}/%{name}/ext/redhat/*.init - -# Install emacs mode files -emacsdir=%{buildroot}%{_datadir}/emacs/site-lisp -install -Dp -m0644 ext/emacs/puppet-mode.el $emacsdir/puppet-mode.el -install -Dp -m0644 ext/emacs/puppet-mode-init.el \ - $emacsdir/site-start.d/puppet-mode-init.el - -# Install vim syntax files -vimdir=%{buildroot}%{_datadir}/vim/vimfiles -install -Dp -m0644 ext/vim/ftdetect/puppet.vim $vimdir/ftdetect/puppet.vim -install -Dp -m0644 ext/vim/syntax/puppet.vim $vimdir/syntax/puppet.vim # Install wrappers for SELinux install -Dp -m0755 %{SOURCE4} %{buildroot}%{_bindir}/start-puppet-agent @@ -236,7 +225,6 @@ mkdir -p %{buildroot}%{_sysconfdir}/%{name}/modules %license LICENSE %{_bindir}/puppet %{_bindir}/start-puppet-* -%{_bindir}/extlookup2hiera %{puppet_libdir}/* %if 0%{?_with_systemd} %{_unitdir}/puppet.service @@ -256,9 +244,6 @@ mkdir -p %{buildroot}%{_sysconfdir}/%{name}/modules %dir %{_sysconfdir}/NetworkManager %dir %{_sysconfdir}/NetworkManager/dispatcher.d %{_sysconfdir}/NetworkManager/dispatcher.d/98-puppet -# We don't want to require emacs or vim, so we need to own these dirs -%{_datadir}/emacs -%{_datadir}/vim %{_datadir}/%{name} # These need to be owned by puppet so the server can # write to them @@ -281,11 +266,9 @@ mkdir -p %{buildroot}%{_sysconfdir}/%{name}/modules %{_mandir}/man8/puppet-device.8.gz %{_mandir}/man8/puppet-doc.8.gz %{_mandir}/man8/puppet-facts.8.gz -%{_mandir}/man8/puppet-file.8.gz %{_mandir}/man8/puppet-filebucket.8.gz %{_mandir}/man8/puppet-generate.8.gz %{_mandir}/man8/puppet-help.8.gz -%{_mandir}/man8/puppet-inspect.8.gz #%{_mandir}/man8/puppet-instrumentation_data.8.gz #%{_mandir}/man8/puppet-instrumentation_listener.8.gz #%{_mandir}/man8/puppet-instrumentation_probe.8.gz @@ -299,10 +282,9 @@ mkdir -p %{buildroot}%{_sysconfdir}/%{name}/modules %{_mandir}/man8/puppet-plugin.8.gz %{_mandir}/man8/puppet-report.8.gz %{_mandir}/man8/puppet-resource.8.gz -%{_mandir}/man8/puppet-resource_type.8.gz #%{_mandir}/man8/puppet-secret_agent.8.gz +%{_mandir}/man8/puppet-script.8.gz %{_mandir}/man8/puppet-status.8.gz -%{_mandir}/man8/extlookup2hiera.8.gz %files server %defattr(-, root, root, 0755) @@ -403,6 +385,12 @@ fi exit 0 %changelog +* Tue May 8 2018 Haïkel Guémar - 5.5.1-1 +- Upstream 5.5.1 +- Unmaintained editor extensions were removed upstream (PUP-7558) +- Deprecated commands were removed: inspect (PUP-893), extlookup2hiera (PUP-3478) +- Refreshed patches + * Thu Mar 15 2018 Terje Rosten - 4.10.10-1 - Update to 4.10.10 From 9f0248bc8cf0e50023c721a76aad0f08825c47b5 Mon Sep 17 00:00:00 2001 From: Haikel Guemar Date: Fri, 8 Jun 2018 16:01:21 +0200 Subject: [PATCH 182/272] Upload upstream 5.5.1 sources --- sources | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/sources b/sources index 9ba66ed..c9d1b31 100644 --- a/sources +++ b/sources @@ -1,2 +1 @@ -SHA512 (puppet-4.10.10.tar.gz) = e517ee349ead56932c9ff54f910d10842c1cd6b6f28673223a65fb72334662d4eabeccc1c7c7603e17aa712c356edbc27fe53d6e7dd7ba042cc0616d0076d755 -SHA512 (puppet-4.10.10.tar.gz.asc) = 3b17e5505cb1f408e44035a655708cbef7d2bca729ad18180558be2c3b8bddc95e975bc41b53a1451807b38b4088659ed88117173826db588ce3bb96a4329caa +SHA512 (puppet-5.5.1.tar.gz) = 20bf7094193f30cfc7a91244275fc79eef0296036ffbc6bbe405e9ca75123b722be6855c746ef8cd35f80bd7a7308408a9205d064f0f910e11877e4db0ebdabc From ffcca8958d3ca1c93543f5d0512ae7798463b3a2 Mon Sep 17 00:00:00 2001 From: Haikel Guemar Date: Fri, 8 Jun 2018 16:15:14 +0200 Subject: [PATCH 183/272] Add missing sources --- sources | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources b/sources index c9d1b31..a5d2391 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (puppet-5.5.1.tar.gz) = 20bf7094193f30cfc7a91244275fc79eef0296036ffbc6bbe405e9ca75123b722be6855c746ef8cd35f80bd7a7308408a9205d064f0f910e11877e4db0ebdabc +SHA512 (puppet-5.5.1.tar.gz.asc) = 8d176274c37a9f47130ecb373872390a4685bbcceb5270b732aacf07155fae6051cb7e445e9be24802ccfdeaf98e464a34f8812d8d91bc735e9fe9ea83fc7cdd From 662af1341767724f59ffe3d7c6b473254d4f76d9 Mon Sep 17 00:00:00 2001 From: Haikel Guemar Date: Fri, 8 Jun 2018 16:31:21 +0200 Subject: [PATCH 184/272] Fix sources --- sources | 1 + 1 file changed, 1 insertion(+) diff --git a/sources b/sources index a5d2391..01c8402 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ +SHA512 (puppet-5.5.1.tar.gz) = 20bf7094193f30cfc7a91244275fc79eef0296036ffbc6bbe405e9ca75123b722be6855c746ef8cd35f80bd7a7308408a9205d064f0f910e11877e4db0ebdabc SHA512 (puppet-5.5.1.tar.gz.asc) = 8d176274c37a9f47130ecb373872390a4685bbcceb5270b732aacf07155fae6051cb7e445e9be24802ccfdeaf98e464a34f8812d8d91bc735e9fe9ea83fc7cdd From 9e6b608e9d6f1c493e04d2f90dff5abc3ef0197a Mon Sep 17 00:00:00 2001 From: Jason Tibbitts Date: Tue, 10 Jul 2018 02:16:36 -0500 Subject: [PATCH 185/272] Remove needless use of %defattr --- puppet.spec | 2 -- 1 file changed, 2 deletions(-) diff --git a/puppet.spec b/puppet.spec index 854434a..873730e 100644 --- a/puppet.spec +++ b/puppet.spec @@ -220,7 +220,6 @@ mkdir -p %{buildroot}%{_sysconfdir}/%{name}/modules %files -%defattr(-, root, root, 0755) %doc README.md examples %license LICENSE %{_bindir}/puppet @@ -287,7 +286,6 @@ mkdir -p %{buildroot}%{_sysconfdir}/%{name}/modules %{_mandir}/man8/puppet-status.8.gz %files server -%defattr(-, root, root, 0755) %if 0%{?_with_systemd} %{_unitdir}/puppetmaster.service %else From e56aacf581b14ebbd093701b5cde0c4eab0a4728 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 13 Jul 2018 23:00:19 +0000 Subject: [PATCH 186/272] - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- puppet.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/puppet.spec b/puppet.spec index 873730e..3f30a12 100644 --- a/puppet.spec +++ b/puppet.spec @@ -19,7 +19,7 @@ Name: puppet Version: 5.5.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 URL: http://puppetlabs.com @@ -383,6 +383,9 @@ fi exit 0 %changelog +* Fri Jul 13 2018 Fedora Release Engineering - 5.5.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + * Tue May 8 2018 Haïkel Guémar - 5.5.1-1 - Upstream 5.5.1 - Unmaintained editor extensions were removed upstream (PUP-7558) From 2f24705a1ab306291615e4b7be0d445e93194a5a Mon Sep 17 00:00:00 2001 From: Haikel Guemar Date: Tue, 24 Jul 2018 09:20:25 +0200 Subject: [PATCH 187/272] Fix epoch issues when rebuilding on RHEL Do not require rebuilds on either Fedora/EPEL --- puppet.spec | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/puppet.spec b/puppet.spec index 3f30a12..2be5ccb 100644 --- a/puppet.spec +++ b/puppet.spec @@ -13,6 +13,13 @@ %global _with_systemd 1 %endif +# FIXME(hguemar): RH products builds of facter and hiera have introduced epochs +# does not impact Fedora nor EPEL +%if 0%{?rhel} && 0%{?rhel} >= 7 && !0%{?epel} +%global has_epoch 1 +%endif + + %global confdir conf %global pending_upgrade_path %{_localstatedir}/lib/rpm-state/puppet %global pending_upgrade_file %{pending_upgrade_path}/upgrade_pending @@ -71,18 +78,18 @@ BuildRequires: ruby-facter < 4 Requires: ruby-facter >= 3.0 Requires: ruby-facter < 4 %else -BuildRequires: facter >= 2.0 -BuildRequires: facter < 4 -Requires: facter >= 2.0 -Requires: facter < 4 +BuildRequires: facter >= %{?has_epoch:1:}2.0 +BuildRequires: facter < %{?has_epoch:1:}4 +Requires: facter >= %{?has_epoch:1:}2.0 +Requires: facter < %{?has_epoch:1:}4 %endif BuildRequires: hiera >= 2.0 -BuildRequires: hiera < 4 +BuildRequires: hiera < %{?has_epoch:1:}4 Requires: hiera >= 2.0 -Requires: hiera < 4 +Requires: hiera < %{?has_epoch:1:}4 Obsoletes: hiera-puppet < 1.0.0-2 Provides: hiera-puppet = %{version}-%{release} From b517787a5df8c0e9246b6a2467eea79b4514a54a Mon Sep 17 00:00:00 2001 From: Haikel Guemar Date: Wed, 31 Oct 2018 11:33:14 +0100 Subject: [PATCH 188/272] Upstream 5.5.6 Fix issues with RHEL > 7 --- puppet.spec | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/puppet.spec b/puppet.spec index 2be5ccb..f3844dc 100644 --- a/puppet.spec +++ b/puppet.spec @@ -25,8 +25,8 @@ %global pending_upgrade_file %{pending_upgrade_path}/upgrade_pending Name: puppet -Version: 5.5.1 -Release: 2%{?dist} +Version: 5.5.6 +Release: 1%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 URL: http://puppetlabs.com @@ -40,6 +40,12 @@ Source4: start-puppet-wrapper Patch01: 0001-Fix-puppet-paths.patch Patch02: 0002-Revert-maint-Remove-puppetmaster.service.patch Patch03: 0003-Remove-Fedora-release-restrictions-from-DNF-provider.patch +# Note: Puppet 5.5.7 is broken +# Backporting patches that add supports for RHEL > 7 +# https://github.com/puppetlabs/puppet/pull/7000 (PUP-9069) +Patch04: 7000.patch +# https://github.com/puppetlabs/puppet/pull/7140 (PUP-9198) +Patch05: 7140.patch Group: System Environment/Base @@ -390,6 +396,10 @@ fi exit 0 %changelog +* Wed Oct 31 2018 Haïkel Guémar - 5.5.6-1 +- Upstream 5.5.6 +- Fix issues with RHEL > 7 + * Fri Jul 13 2018 Fedora Release Engineering - 5.5.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild From 177186787bfa422c01af8b8017f05d558025988c Mon Sep 17 00:00:00 2001 From: Haikel Guemar Date: Wed, 31 Oct 2018 11:40:26 +0100 Subject: [PATCH 189/272] Upload 5.5.6 sources --- sources | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sources b/sources index 01c8402..12096ce 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (puppet-5.5.1.tar.gz) = 20bf7094193f30cfc7a91244275fc79eef0296036ffbc6bbe405e9ca75123b722be6855c746ef8cd35f80bd7a7308408a9205d064f0f910e11877e4db0ebdabc -SHA512 (puppet-5.5.1.tar.gz.asc) = 8d176274c37a9f47130ecb373872390a4685bbcceb5270b732aacf07155fae6051cb7e445e9be24802ccfdeaf98e464a34f8812d8d91bc735e9fe9ea83fc7cdd +SHA512 (puppet-5.5.6.tar.gz) = 53bccc4cf3d4dde3079d96cd28b4cf380d004fdf67da8eaeaf70706ca5e1fe611910042f1aa03453fb29419bb9888a0eeef9a9d64e8f0cfe5d8d7a73e5bf5850 +SHA512 (puppet-5.5.6.tar.gz.asc) = 919303ae3f944236e52d2c1008f77e383ea2ee88c450fd00c197bc751f8fd3cd042bc6fd5f544a57b30a122f04db48418ee4d44319ecb996426fec311f7b83f2 From f6d76875bb5e98965567561e4b1f3e5223b5e8a4 Mon Sep 17 00:00:00 2001 From: Haikel Guemar Date: Wed, 31 Oct 2018 11:42:37 +0100 Subject: [PATCH 190/272] Add missing patches --- 7000.patch | 25 +++++++++++++++++++++++++ 7140.patch | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 74 insertions(+) create mode 100644 7000.patch create mode 100644 7140.patch diff --git a/7000.patch b/7000.patch new file mode 100644 index 0000000..1517bf0 --- /dev/null +++ b/7000.patch @@ -0,0 +1,25 @@ +From d88bbce5af8a35d2bdf74632ef2dcd0dae8e178c Mon Sep 17 00:00:00 2001 +From: Emilien Macchi +Date: Wed, 15 Aug 2018 22:40:35 +0200 +Subject: [PATCH] (PUP-9069) Add support for RHEL8 + +This adds support for the next version of RHEL in the systemd provider. +Note: I have no idea when it'll be released but we need this patch as we +need to make Puppet systemd provider working. +--- + lib/puppet/provider/service/systemd.rb | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lib/puppet/provider/service/systemd.rb b/lib/puppet/provider/service/systemd.rb +index 8dd7af21e61..2371a14acb4 100644 +--- a/lib/puppet/provider/service/systemd.rb ++++ b/lib/puppet/provider/service/systemd.rb +@@ -19,7 +19,7 @@ + end + + defaultfor :osfamily => [:archlinux] +- defaultfor :osfamily => :redhat, :operatingsystemmajrelease => "7" ++ defaultfor :osfamily => :redhat, :operatingsystemmajrelease => ["7", "8"] + defaultfor :osfamily => :redhat, :operatingsystem => :fedora + defaultfor :osfamily => :suse + defaultfor :osfamily => :coreos diff --git a/7140.patch b/7140.patch new file mode 100644 index 0000000..ae65236 --- /dev/null +++ b/7140.patch @@ -0,0 +1,49 @@ +From 7ae809e1eaa826082c9f587f8741ea50f5246034 Mon Sep 17 00:00:00 2001 +From: Alex Schultz +Date: Wed, 3 Oct 2018 12:55:30 -0600 +Subject: [PATCH] (PUP-9198) Add RHEL8 support in the dnf provider + +dnf should be the default for RHEL8 +--- + lib/puppet/provider/package/dnf.rb | 1 + + spec/unit/provider/package/dnf_spec.rb | 15 +++++++++++++++ + 2 files changed, 16 insertions(+) + +diff --git a/lib/puppet/provider/package/dnf.rb b/lib/puppet/provider/package/dnf.rb +index 535aa6c6d7f..4823ebfd523 100644 +--- a/lib/puppet/provider/package/dnf.rb ++++ b/lib/puppet/provider/package/dnf.rb +@@ -29,6 +29,7 @@ + end + + defaultfor :operatingsystem => :fedora, :operatingsystemmajrelease => (22..30).to_a ++ defaultfor :osfamily => :redhat, :operatingsystemmajrelease => ["8"] + + def self.update_command + # In DNF, update is deprecated for upgrade +diff --git a/spec/unit/provider/package/dnf_spec.rb b/spec/unit/provider/package/dnf_spec.rb +index 5e57337f500..40345dcde6e 100644 +--- a/spec/unit/provider/package/dnf_spec.rb ++++ b/spec/unit/provider/package/dnf_spec.rb +@@ -23,6 +23,21 @@ + expect(provider_class).to be_default + end + end ++ ++ it "should not be the default provider on rhel7" do ++ Facter.stubs(:value).with(:osfamily).returns(:redhat) ++ Facter.stubs(:value).with(:operatingsystem).returns(:redhat) ++ Facter.stubs(:value).with(:operatingsystemmajrelease).returns("7") ++ expect(provider_class).to_not be_default ++ end ++ ++ it "should be the default provider on rhel8" do ++ Facter.stubs(:value).with(:osfamily).returns(:redhat) ++ Facter.stubs(:value).with(:operatingsystem).returns(:redhat) ++ Facter.stubs(:value).with(:operatingsystemmajrelease).returns("8") ++ expect(provider_class).to be_default ++ end ++ + end + + describe provider_class do From e03d1b2aebc865cba189693f7fd2ed2572948636 Mon Sep 17 00:00:00 2001 From: Haikel Guemar Date: Mon, 7 Jan 2019 15:55:27 +0100 Subject: [PATCH 191/272] Upstream 5.5.6 Fix issues with RHEL > 7 --- puppet.spec | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/puppet.spec b/puppet.spec index f3844dc..3d293c1 100644 --- a/puppet.spec +++ b/puppet.spec @@ -26,7 +26,7 @@ Name: puppet Version: 5.5.6 -Release: 1%{?dist} +Release: 2%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 URL: http://puppetlabs.com @@ -144,6 +144,8 @@ The server can also function as a certificate authority and file server. %patch01 -p1 -b .paths %patch02 -p1 -b .server %patch03 -p1 +%patch04 -p1 +%patch05 -p1 # Unbundle rm -r lib/puppet/vendor/pathspec # Note(hguemar): remove unrelated OS/distro specific folders From e3e8e56c1fc12913c5f82d1bea54ff8eed3f7e6f Mon Sep 17 00:00:00 2001 From: Haikel Guemar Date: Mon, 7 Jan 2019 16:26:04 +0100 Subject: [PATCH 192/272] Use %autosetup and refresh patches --- 0001-Fix-puppet-paths.patch | 6 +++--- ...vert-maint-Remove-puppetmaster.service.patch | 6 +++--- ...release-restrictions-from-DNF-provider.patch | 6 +++--- ...=> 0004-PUP-9069-Add-support-for-RHEL8.patch | 11 +++++++---- ...-Add-RHEL8-support-in-the-dnf-provider.patch | 17 ++++++++++------- puppet.spec | 13 ++++--------- 6 files changed, 30 insertions(+), 29 deletions(-) rename 7000.patch => 0004-PUP-9069-Add-support-for-RHEL8.patch (78%) rename 7140.patch => 0005-PUP-9198-Add-RHEL8-support-in-the-dnf-provider.patch (80%) diff --git a/0001-Fix-puppet-paths.patch b/0001-Fix-puppet-paths.patch index 1a1b1d2..47d749f 100644 --- a/0001-Fix-puppet-paths.patch +++ b/0001-Fix-puppet-paths.patch @@ -1,7 +1,7 @@ -From 55933c8bd4ee983f048d1b4c90674e3dfd2583c4 Mon Sep 17 00:00:00 2001 +From 23bcde066d9915952b9bf2c8fd0770a2ce9422ce Mon Sep 17 00:00:00 2001 From: Haikel Guemar Date: Wed, 29 Apr 2015 01:38:35 +0200 -Subject: [PATCH 1/3] Fix puppet paths +Subject: [PATCH 1/5] Fix puppet paths --- lib/puppet/util/run_mode.rb | 10 +++++----- @@ -41,5 +41,5 @@ index cf6c461..777156a 100644 end -- -2.17.1 +2.19.2 diff --git a/0002-Revert-maint-Remove-puppetmaster.service.patch b/0002-Revert-maint-Remove-puppetmaster.service.patch index 39e0401..365e21f 100644 --- a/0002-Revert-maint-Remove-puppetmaster.service.patch +++ b/0002-Revert-maint-Remove-puppetmaster.service.patch @@ -1,7 +1,7 @@ -From fc00c9d0c99e977cda8bb4a9a89952dfae5523dc Mon Sep 17 00:00:00 2001 +From f54a22b96e9e631991bad095a7b321273a2e6e3f Mon Sep 17 00:00:00 2001 From: Gael Chamoulaud Date: Wed, 29 Jul 2015 21:58:48 +0200 -Subject: [PATCH 2/3] Revert "(maint) Remove puppetmaster.service" +Subject: [PATCH 2/5] Revert "(maint) Remove puppetmaster.service" This reverts commit c0e30daa53b6267c1c86b6e27c01b1c26cf49af5. --- @@ -42,5 +42,5 @@ index 0000000..dbbd627 +[Install] +WantedBy=multi-user.target -- -2.17.1 +2.19.2 diff --git a/0003-Remove-Fedora-release-restrictions-from-DNF-provider.patch b/0003-Remove-Fedora-release-restrictions-from-DNF-provider.patch index bbe7a50..b6a390c 100644 --- a/0003-Remove-Fedora-release-restrictions-from-DNF-provider.patch +++ b/0003-Remove-Fedora-release-restrictions-from-DNF-provider.patch @@ -1,7 +1,7 @@ -From 320d9dd4a87266d40c5b73d6e020bb77ca4e4d9b Mon Sep 17 00:00:00 2001 +From 5688991cd78f7c38a1edf28f76e9b7825a7d415a Mon Sep 17 00:00:00 2001 From: Dominic Cleal Date: Wed, 31 May 2017 10:07:04 +0100 -Subject: [PATCH 3/3] Remove Fedora release restrictions from DNF provider +Subject: [PATCH 3/5] Remove Fedora release restrictions from DNF provider Ensure DNF provider will be used on all versions of Fedora, without new ones being excluded. @@ -23,5 +23,5 @@ index 535aa6c..c0ed877 100644 def self.update_command # In DNF, update is deprecated for upgrade -- -2.17.1 +2.19.2 diff --git a/7000.patch b/0004-PUP-9069-Add-support-for-RHEL8.patch similarity index 78% rename from 7000.patch rename to 0004-PUP-9069-Add-support-for-RHEL8.patch index 1517bf0..3f1e578 100644 --- a/7000.patch +++ b/0004-PUP-9069-Add-support-for-RHEL8.patch @@ -1,7 +1,7 @@ -From d88bbce5af8a35d2bdf74632ef2dcd0dae8e178c Mon Sep 17 00:00:00 2001 +From 76031db0120ef8a3bdee576ca4aac9dc8b2859af Mon Sep 17 00:00:00 2001 From: Emilien Macchi Date: Wed, 15 Aug 2018 22:40:35 +0200 -Subject: [PATCH] (PUP-9069) Add support for RHEL8 +Subject: [PATCH 4/5] (PUP-9069) Add support for RHEL8 This adds support for the next version of RHEL in the systemd provider. Note: I have no idea when it'll be released but we need this patch as we @@ -11,10 +11,10 @@ need to make Puppet systemd provider working. 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/puppet/provider/service/systemd.rb b/lib/puppet/provider/service/systemd.rb -index 8dd7af21e61..2371a14acb4 100644 +index c444861..a68ce96 100644 --- a/lib/puppet/provider/service/systemd.rb +++ b/lib/puppet/provider/service/systemd.rb -@@ -19,7 +19,7 @@ +@@ -19,7 +19,7 @@ Puppet::Type.type(:service).provide :systemd, :parent => :base do end defaultfor :osfamily => [:archlinux] @@ -23,3 +23,6 @@ index 8dd7af21e61..2371a14acb4 100644 defaultfor :osfamily => :redhat, :operatingsystem => :fedora defaultfor :osfamily => :suse defaultfor :osfamily => :coreos +-- +2.19.2 + diff --git a/7140.patch b/0005-PUP-9198-Add-RHEL8-support-in-the-dnf-provider.patch similarity index 80% rename from 7140.patch rename to 0005-PUP-9198-Add-RHEL8-support-in-the-dnf-provider.patch index ae65236..6c8a8d6 100644 --- a/7140.patch +++ b/0005-PUP-9198-Add-RHEL8-support-in-the-dnf-provider.patch @@ -1,7 +1,7 @@ -From 7ae809e1eaa826082c9f587f8741ea50f5246034 Mon Sep 17 00:00:00 2001 +From 8cf4f5cb49ac3742c0c650f81875872ac3e09fbb Mon Sep 17 00:00:00 2001 From: Alex Schultz Date: Wed, 3 Oct 2018 12:55:30 -0600 -Subject: [PATCH] (PUP-9198) Add RHEL8 support in the dnf provider +Subject: [PATCH 5/5] (PUP-9198) Add RHEL8 support in the dnf provider dnf should be the default for RHEL8 --- @@ -10,22 +10,22 @@ dnf should be the default for RHEL8 2 files changed, 16 insertions(+) diff --git a/lib/puppet/provider/package/dnf.rb b/lib/puppet/provider/package/dnf.rb -index 535aa6c6d7f..4823ebfd523 100644 +index c0ed877..ee27322 100644 --- a/lib/puppet/provider/package/dnf.rb +++ b/lib/puppet/provider/package/dnf.rb -@@ -29,6 +29,7 @@ +@@ -29,6 +29,7 @@ Puppet::Type.type(:package).provide :dnf, :parent => :yum do end - defaultfor :operatingsystem => :fedora, :operatingsystemmajrelease => (22..30).to_a + defaultfor :operatingsystem => :fedora + defaultfor :osfamily => :redhat, :operatingsystemmajrelease => ["8"] def self.update_command # In DNF, update is deprecated for upgrade diff --git a/spec/unit/provider/package/dnf_spec.rb b/spec/unit/provider/package/dnf_spec.rb -index 5e57337f500..40345dcde6e 100644 +index 5e57337..40345dc 100644 --- a/spec/unit/provider/package/dnf_spec.rb +++ b/spec/unit/provider/package/dnf_spec.rb -@@ -23,6 +23,21 @@ +@@ -23,6 +23,21 @@ context 'default' do expect(provider_class).to be_default end end @@ -47,3 +47,6 @@ index 5e57337f500..40345dcde6e 100644 end describe provider_class do +-- +2.19.2 + diff --git a/puppet.spec b/puppet.spec index 3d293c1..995fc15 100644 --- a/puppet.spec +++ b/puppet.spec @@ -43,12 +43,12 @@ Patch03: 0003-Remove-Fedora-release-restrictions-from-DNF-provider.patch # Note: Puppet 5.5.7 is broken # Backporting patches that add supports for RHEL > 7 # https://github.com/puppetlabs/puppet/pull/7000 (PUP-9069) -Patch04: 7000.patch +Patch04: 0004-PUP-9069-Add-support-for-RHEL8.patch # https://github.com/puppetlabs/puppet/pull/7140 (PUP-9198) -Patch05: 7140.patch +Patch05: 0005-PUP-9198-Add-RHEL8-support-in-the-dnf-provider.patch Group: System Environment/Base - +BuildRequires: git BuildRequires: ruby-devel >= 1.8.7 # ruby-devel does not require the base package, but requires -libs instead BuildRequires: ruby >= 1.8.7 @@ -140,12 +140,7 @@ Provides the central puppet server daemon which provides manifests to clients. The server can also function as a certificate authority and file server. %prep -%setup -q -%patch01 -p1 -b .paths -%patch02 -p1 -b .server -%patch03 -p1 -%patch04 -p1 -%patch05 -p1 +%autosetup -S git # Unbundle rm -r lib/puppet/vendor/pathspec # Note(hguemar): remove unrelated OS/distro specific folders From e07ed63d656e9d3f6688eea695b1ef8e08028993 Mon Sep 17 00:00:00 2001 From: Bogdan Dobrelya Date: Tue, 22 Jan 2019 16:13:30 +0100 Subject: [PATCH 193/272] Optimize systemd dependency for containers According to https://fedoraproject.org/wiki/Packaging:Scriptlets: If a package is suitable for installation without systemd (in a container image, for example) and does not require any of the systemd mechanisms such as tmpfiles.d, then the systemd_ordering macro MAY be used instead of the systemd_requires macro. That is exactly the case we want to address for container images when installing packages in it. Resolves: rhbz#1654672 Related-Bug: #1804822 Signed-off-by: Bogdan Dobrelya --- puppet.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/puppet.spec b/puppet.spec index 995fc15..ce7ba38 100644 --- a/puppet.spec +++ b/puppet.spec @@ -104,7 +104,7 @@ Provides: hiera-puppet = %{version}-%{release} Requires(pre): shadow-utils %if 0%{?_with_systemd} -%{?systemd_requires} +%{?systemd_ordering} BuildRequires: systemd %else Requires(post): chkconfig @@ -126,7 +126,7 @@ Group: System Environment/Base Summary: Server for the puppet system management tool Requires: puppet = %{version}-%{release} %if 0%{?_with_systemd} -%{?systemd_requires} +%{?systemd_ordering} BuildRequires: systemd %else Requires(post): chkconfig From 9dd95c8357dc5113b6a88c034a66d39f61b6be71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Terje=20R=C3=B8sten?= Date: Tue, 22 Jan 2019 21:04:34 +0100 Subject: [PATCH 194/272] Add changelog and fix rpmbuild warnings --- puppet.spec | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/puppet.spec b/puppet.spec index ce7ba38..a029813 100644 --- a/puppet.spec +++ b/puppet.spec @@ -26,7 +26,7 @@ Name: puppet Version: 5.5.6 -Release: 2%{?dist} +Release: 3%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 URL: http://puppetlabs.com @@ -278,9 +278,9 @@ mkdir -p %{buildroot}%{_sysconfdir}/%{name}/modules %{_mandir}/man8/puppet-filebucket.8.gz %{_mandir}/man8/puppet-generate.8.gz %{_mandir}/man8/puppet-help.8.gz -#%{_mandir}/man8/puppet-instrumentation_data.8.gz -#%{_mandir}/man8/puppet-instrumentation_listener.8.gz -#%{_mandir}/man8/puppet-instrumentation_probe.8.gz +#{_mandir}/man8/puppet-instrumentation_data.8.gz +#{_mandir}/man8/puppet-instrumentation_listener.8.gz +#{_mandir}/man8/puppet-instrumentation_probe.8.gz %{_mandir}/man8/puppet-epp.8.gz %{_mandir}/man8/puppet-key.8.gz %{_mandir}/man8/puppet-lookup.8.gz @@ -291,7 +291,7 @@ mkdir -p %{buildroot}%{_sysconfdir}/%{name}/modules %{_mandir}/man8/puppet-plugin.8.gz %{_mandir}/man8/puppet-report.8.gz %{_mandir}/man8/puppet-resource.8.gz -#%{_mandir}/man8/puppet-secret_agent.8.gz +#{_mandir}/man8/puppet-secret_agent.8.gz %{_mandir}/man8/puppet-script.8.gz %{_mandir}/man8/puppet-status.8.gz @@ -305,9 +305,9 @@ mkdir -p %{buildroot}%{_sysconfdir}/%{name}/modules %endif %config(noreplace) %{_sysconfdir}/puppet/fileserver.conf %dir %{_sysconfdir}/puppet/manifests -#%{_mandir}/man8/puppet-kick.8.gz +#{_mandir}/man8/puppet-kick.8.gz %{_mandir}/man8/puppet-master.8.gz -#%{_mandir}/man8/puppet-queue.8.gz +#{_mandir}/man8/puppet-queue.8.gz # Fixed uid/gid were assigned in bz 472073 (Fedora), 471918 (RHEL-5), # and 471919 (RHEL-4) @@ -393,6 +393,9 @@ fi exit 0 %changelog +* Tue Jan 22 2019 Bogdan Dobrelya - 5.5.6-3 +- Use systemd_ordering macro + * Wed Oct 31 2018 Haïkel Guémar - 5.5.6-1 - Upstream 5.5.6 - Fix issues with RHEL > 7 From 91b4fb283d622dcbc968290d09c1561e17197e74 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Mon, 28 Jan 2019 20:18:13 +0100 Subject: [PATCH 195/272] Remove obsolete Group tag References: https://fedoraproject.org/wiki/Changes/Remove_Group_Tag --- puppet.spec | 2 -- 1 file changed, 2 deletions(-) diff --git a/puppet.spec b/puppet.spec index a029813..acbafdd 100644 --- a/puppet.spec +++ b/puppet.spec @@ -46,7 +46,6 @@ Patch03: 0003-Remove-Fedora-release-restrictions-from-DNF-provider.patch Patch04: 0004-PUP-9069-Add-support-for-RHEL8.patch # https://github.com/puppetlabs/puppet/pull/7140 (PUP-9198) Patch05: 0005-PUP-9198-Add-RHEL8-support-in-the-dnf-provider.patch -Group: System Environment/Base BuildRequires: git BuildRequires: ruby-devel >= 1.8.7 @@ -122,7 +121,6 @@ normally aggregated in different files, like users, cron jobs, and hosts, along with obviously discrete elements like packages, services, and files. %package server -Group: System Environment/Base Summary: Server for the puppet system management tool Requires: puppet = %{version}-%{release} %if 0%{?_with_systemd} From a99941884f81574cd3a85c84fb8e42e081051b3f Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 2 Feb 2019 05:00:16 +0000 Subject: [PATCH 196/272] - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- puppet.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/puppet.spec b/puppet.spec index acbafdd..7971bf9 100644 --- a/puppet.spec +++ b/puppet.spec @@ -26,7 +26,7 @@ Name: puppet Version: 5.5.6 -Release: 3%{?dist} +Release: 4%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 URL: http://puppetlabs.com @@ -391,6 +391,9 @@ fi exit 0 %changelog +* Sat Feb 02 2019 Fedora Release Engineering - 5.5.6-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + * Tue Jan 22 2019 Bogdan Dobrelya - 5.5.6-3 - Use systemd_ordering macro From 4ff2bb73dd5e1110c0d411f58d7d189f0bbdb6f5 Mon Sep 17 00:00:00 2001 From: Bogdan Dobrelya Date: Mon, 11 Feb 2019 14:27:29 +0100 Subject: [PATCH 197/272] Revert "Optimize systemd dependency for containers" It was generally a mistake to use `%systemd_ordering` in those circumstances, as the tmpfiles stuff doesn't work and populate the `/tmp` and `/run` directories. The reason why the packages install is that all the commands in the macros have `|| :` at the end, so their error state is ignored. Something to re-consider for future attempts to fix/improve that: If the tmpfiles and such were split out into a subpackage that'd be required if and only if the kernel was installed or being installed, that might work. Related: rhbz#1654672 Related-Bug: #1804822 This reverts commit e07ed63d656e9d3f6688eea695b1ef8e08028993. --- puppet.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/puppet.spec b/puppet.spec index 7971bf9..83f01ff 100644 --- a/puppet.spec +++ b/puppet.spec @@ -103,7 +103,7 @@ Provides: hiera-puppet = %{version}-%{release} Requires(pre): shadow-utils %if 0%{?_with_systemd} -%{?systemd_ordering} +%{?systemd_requires} BuildRequires: systemd %else Requires(post): chkconfig @@ -124,7 +124,7 @@ along with obviously discrete elements like packages, services, and files. Summary: Server for the puppet system management tool Requires: puppet = %{version}-%{release} %if 0%{?_with_systemd} -%{?systemd_ordering} +%{?systemd_requires} BuildRequires: systemd %else Requires(post): chkconfig From 86277f74eaf6030e29059fa29d106a2155c98a72 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Terje=20R=C3=B8sten?= Date: Sun, 17 Feb 2019 22:13:51 +0100 Subject: [PATCH 198/272] Revert use of systemd_ordering macro --- puppet.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/puppet.spec b/puppet.spec index 83f01ff..6d1f532 100644 --- a/puppet.spec +++ b/puppet.spec @@ -26,7 +26,7 @@ Name: puppet Version: 5.5.6 -Release: 4%{?dist} +Release: 5%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 URL: http://puppetlabs.com @@ -391,6 +391,9 @@ fi exit 0 %changelog +* Sun Feb 17 2019 Bogdan Dobrelya - 5.5.6-5 +- Revert use of systemd_ordering macro + * Sat Feb 02 2019 Fedora Release Engineering - 5.5.6-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild From f04e1ae2d44629a2d89df0ee1a1da0d53f3550d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Terje=20R=C3=B8sten?= Date: Thu, 7 Mar 2019 19:58:29 +0100 Subject: [PATCH 199/272] Split off headless subpackage, based on idea from Bogdan Dobrelya --- puppet.spec | 33 ++++++++++++++++++++++++--------- 1 file changed, 24 insertions(+), 9 deletions(-) diff --git a/puppet.spec b/puppet.spec index 6d1f532..07231ca 100644 --- a/puppet.spec +++ b/puppet.spec @@ -26,7 +26,7 @@ Name: puppet Version: 5.5.6 -Release: 5%{?dist} +Release: 6%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 URL: http://puppetlabs.com @@ -59,6 +59,7 @@ Requires: ruby(abi) = 1.8 Requires: ruby(release) %endif +Requires: puppet-headless = %{version}-%{release} Requires: ruby(shadow) Requires: rubygem(json) Requires: rubygem(pathspec) @@ -123,6 +124,7 @@ along with obviously discrete elements like packages, services, and files. %package server Summary: Server for the puppet system management tool Requires: puppet = %{version}-%{release} +Requires: puppet-headless = %{version}-%{release} %if 0%{?_with_systemd} %{?systemd_requires} BuildRequires: systemd @@ -137,6 +139,14 @@ Requires(postun): initscripts Provides the central puppet server daemon which provides manifests to clients. The server can also function as a certificate authority and file server. +%package headless +Summary: Headless Puppet +Conflicts: puppet < 5.5.6-6 +%description headless +This puppet headless subpackage may be used when there is no need to +have puppet agent running as a service, for example, in a container +image. + %prep %autosetup -S git # Unbundle @@ -228,11 +238,6 @@ mkdir -p %{buildroot}%{_sysconfdir}/%{name}/modules %files -%doc README.md examples -%license LICENSE -%{_bindir}/puppet -%{_bindir}/start-puppet-* -%{puppet_libdir}/* %if 0%{?_with_systemd} %{_unitdir}/puppet.service %{_unitdir}/puppetagent.service @@ -245,12 +250,19 @@ mkdir -p %{buildroot}%{_sysconfdir}/%{name}/modules %if 0%{?fedora} >= 15 %{_tmpfilesdir}/%{name}.conf %endif -%config(noreplace) %{_sysconfdir}/puppet/puppet.conf -%config(noreplace) %{_sysconfdir}/puppet/auth.conf %config(noreplace) %{_sysconfdir}/logrotate.d/puppet %dir %{_sysconfdir}/NetworkManager %dir %{_sysconfdir}/NetworkManager/dispatcher.d %{_sysconfdir}/NetworkManager/dispatcher.d/98-puppet + +%files headless +%doc README.md examples +%license LICENSE +%{_bindir}/puppet +%{_bindir}/start-puppet-* +%{puppet_libdir}/* +%config(noreplace) %{_sysconfdir}/puppet/puppet.conf +%config(noreplace) %{_sysconfdir}/puppet/auth.conf %{_datadir}/%{name} # These need to be owned by puppet so the server can # write to them @@ -309,7 +321,7 @@ mkdir -p %{buildroot}%{_sysconfdir}/%{name}/modules # Fixed uid/gid were assigned in bz 472073 (Fedora), 471918 (RHEL-5), # and 471919 (RHEL-4) -%pre +%pre headless getent group puppet &>/dev/null || groupadd -r puppet -g 52 &>/dev/null getent passwd puppet &>/dev/null || \ useradd -r -u 52 -g puppet -d %{_localstatedir}/lib/puppet -s /sbin/nologin \ @@ -391,6 +403,9 @@ fi exit 0 %changelog +* Thu Mar 07 2019 Terje Rosten - 5.5.6-6 +- Split off headless subpackage, based on idea from Bogdan Dobrelya + * Sun Feb 17 2019 Bogdan Dobrelya - 5.5.6-5 - Revert use of systemd_ordering macro From 2745c62d0c87cfc9ad281d3665eec05fe016f565 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Terje=20R=C3=B8sten?= Date: Thu, 7 Mar 2019 20:33:12 +0100 Subject: [PATCH 200/272] 5.5.10 --- ...lease-restrictions-from-DNF-provider.patch | 7 +-- ...dd-RHEL8-support-in-the-dnf-provider.patch | 52 ------------------- puppet.spec | 9 ++-- sources | 4 +- 4 files changed, 9 insertions(+), 63 deletions(-) delete mode 100644 0005-PUP-9198-Add-RHEL8-support-in-the-dnf-provider.patch diff --git a/0003-Remove-Fedora-release-restrictions-from-DNF-provider.patch b/0003-Remove-Fedora-release-restrictions-from-DNF-provider.patch index b6a390c..f629d6b 100644 --- a/0003-Remove-Fedora-release-restrictions-from-DNF-provider.patch +++ b/0003-Remove-Fedora-release-restrictions-from-DNF-provider.patch @@ -10,7 +10,7 @@ ones being excluded. 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/puppet/provider/package/dnf.rb b/lib/puppet/provider/package/dnf.rb -index 535aa6c..c0ed877 100644 +index 4823ebf..ee27322 100644 --- a/lib/puppet/provider/package/dnf.rb +++ b/lib/puppet/provider/package/dnf.rb @@ -28,7 +28,7 @@ Puppet::Type.type(:package).provide :dnf, :parent => :yum do @@ -19,9 +19,6 @@ index 535aa6c..c0ed877 100644 - defaultfor :operatingsystem => :fedora, :operatingsystemmajrelease => (22..30).to_a + defaultfor :operatingsystem => :fedora + defaultfor :osfamily => :redhat, :operatingsystemmajrelease => ["8"] def self.update_command - # In DNF, update is deprecated for upgrade --- -2.19.2 - diff --git a/0005-PUP-9198-Add-RHEL8-support-in-the-dnf-provider.patch b/0005-PUP-9198-Add-RHEL8-support-in-the-dnf-provider.patch deleted file mode 100644 index 6c8a8d6..0000000 --- a/0005-PUP-9198-Add-RHEL8-support-in-the-dnf-provider.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 8cf4f5cb49ac3742c0c650f81875872ac3e09fbb Mon Sep 17 00:00:00 2001 -From: Alex Schultz -Date: Wed, 3 Oct 2018 12:55:30 -0600 -Subject: [PATCH 5/5] (PUP-9198) Add RHEL8 support in the dnf provider - -dnf should be the default for RHEL8 ---- - lib/puppet/provider/package/dnf.rb | 1 + - spec/unit/provider/package/dnf_spec.rb | 15 +++++++++++++++ - 2 files changed, 16 insertions(+) - -diff --git a/lib/puppet/provider/package/dnf.rb b/lib/puppet/provider/package/dnf.rb -index c0ed877..ee27322 100644 ---- a/lib/puppet/provider/package/dnf.rb -+++ b/lib/puppet/provider/package/dnf.rb -@@ -29,6 +29,7 @@ Puppet::Type.type(:package).provide :dnf, :parent => :yum do - end - - defaultfor :operatingsystem => :fedora -+ defaultfor :osfamily => :redhat, :operatingsystemmajrelease => ["8"] - - def self.update_command - # In DNF, update is deprecated for upgrade -diff --git a/spec/unit/provider/package/dnf_spec.rb b/spec/unit/provider/package/dnf_spec.rb -index 5e57337..40345dc 100644 ---- a/spec/unit/provider/package/dnf_spec.rb -+++ b/spec/unit/provider/package/dnf_spec.rb -@@ -23,6 +23,21 @@ context 'default' do - expect(provider_class).to be_default - end - end -+ -+ it "should not be the default provider on rhel7" do -+ Facter.stubs(:value).with(:osfamily).returns(:redhat) -+ Facter.stubs(:value).with(:operatingsystem).returns(:redhat) -+ Facter.stubs(:value).with(:operatingsystemmajrelease).returns("7") -+ expect(provider_class).to_not be_default -+ end -+ -+ it "should be the default provider on rhel8" do -+ Facter.stubs(:value).with(:osfamily).returns(:redhat) -+ Facter.stubs(:value).with(:operatingsystem).returns(:redhat) -+ Facter.stubs(:value).with(:operatingsystemmajrelease).returns("8") -+ expect(provider_class).to be_default -+ end -+ - end - - describe provider_class do --- -2.19.2 - diff --git a/puppet.spec b/puppet.spec index 07231ca..9d4f257 100644 --- a/puppet.spec +++ b/puppet.spec @@ -25,8 +25,8 @@ %global pending_upgrade_file %{pending_upgrade_path}/upgrade_pending Name: puppet -Version: 5.5.6 -Release: 6%{?dist} +Version: 5.5.10 +Release: 1%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 URL: http://puppetlabs.com @@ -44,8 +44,6 @@ Patch03: 0003-Remove-Fedora-release-restrictions-from-DNF-provider.patch # Backporting patches that add supports for RHEL > 7 # https://github.com/puppetlabs/puppet/pull/7000 (PUP-9069) Patch04: 0004-PUP-9069-Add-support-for-RHEL8.patch -# https://github.com/puppetlabs/puppet/pull/7140 (PUP-9198) -Patch05: 0005-PUP-9198-Add-RHEL8-support-in-the-dnf-provider.patch BuildRequires: git BuildRequires: ruby-devel >= 1.8.7 @@ -403,6 +401,9 @@ fi exit 0 %changelog +* Thu Mar 07 2019 Terje Rosten - 5.5.10-1 +- 5.5.10 + * Thu Mar 07 2019 Terje Rosten - 5.5.6-6 - Split off headless subpackage, based on idea from Bogdan Dobrelya diff --git a/sources b/sources index 12096ce..0568f4a 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (puppet-5.5.6.tar.gz) = 53bccc4cf3d4dde3079d96cd28b4cf380d004fdf67da8eaeaf70706ca5e1fe611910042f1aa03453fb29419bb9888a0eeef9a9d64e8f0cfe5d8d7a73e5bf5850 -SHA512 (puppet-5.5.6.tar.gz.asc) = 919303ae3f944236e52d2c1008f77e383ea2ee88c450fd00c197bc751f8fd3cd042bc6fd5f544a57b30a122f04db48418ee4d44319ecb996426fec311f7b83f2 +SHA512 (puppet-5.5.10.tar.gz) = 70a5684289fc576853bf908adff44c1b1ce4b37d71236e7d7a8d140fa0e3cdd46a4b570cc7e493a3f47641f6be0c3b736ab04a178c30cce4244abe686378bf4b +SHA512 (puppet-5.5.10.tar.gz.asc) = 884e7f290c6dba7076f7e5c5038326d77997598252fbf432f0e6abcbb3fe676aa38ebe5d8df682e616fa757365de423dd074a174c5e4d4f699832fd6377bd487 From 7c468502ac78b09937670311bf0cc11d92fa9e29 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Terje=20R=C3=B8sten?= Date: Thu, 7 Mar 2019 23:43:40 +0100 Subject: [PATCH 201/272] Move reqs to headless --- puppet.spec | 101 +++++++++++++++++++++++++--------------------------- 1 file changed, 48 insertions(+), 53 deletions(-) diff --git a/puppet.spec b/puppet.spec index 9d4f257..75fcafb 100644 --- a/puppet.spec +++ b/puppet.spec @@ -19,14 +19,13 @@ %global has_epoch 1 %endif - %global confdir conf %global pending_upgrade_path %{_localstatedir}/lib/rpm-state/puppet %global pending_upgrade_file %{pending_upgrade_path}/upgrade_pending Name: puppet Version: 5.5.10 -Release: 1%{?dist} +Release: 2%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 URL: http://puppetlabs.com @@ -45,62 +44,14 @@ Patch03: 0003-Remove-Fedora-release-restrictions-from-DNF-provider.patch # https://github.com/puppetlabs/puppet/pull/7000 (PUP-9069) Patch04: 0004-PUP-9069-Add-support-for-RHEL8.patch +BuildArch: noarch BuildRequires: git BuildRequires: ruby-devel >= 1.8.7 # ruby-devel does not require the base package, but requires -libs instead BuildRequires: ruby >= 1.8.7 -BuildArch: noarch -%if 0%{?rhel} && 0%{?rhel} <= 6 -Requires: ruby(abi) = 1.8 -%else -Requires: ruby(release) -%endif - Requires: puppet-headless = %{version}-%{release} -Requires: ruby(shadow) -Requires: rubygem(json) -Requires: rubygem(pathspec) -Requires: rubygem(rgen) -# Prevents jruby from being pulled in by dependencies (BZ #985208) -Requires: ruby - -# Pull in ruby selinux bindings where available -%if 0%{?fedora} || 0%{?rhel} >= 6 -%{!?_without_selinux:Requires: ruby(selinux), libselinux-utils} -%else -%if 0%{?rhel} && 0%{?rhel} == 5 -%{!?_without_selinux:Requires: libselinux-ruby, libselinux-utils} -%endif -%endif - -# Fedora 28 updates to facter3 where puppet needs to require the ruby bindings specifically -%if 0%{?fedora} >= 28 -BuildRequires: ruby-facter >= 3.0 -BuildRequires: ruby-facter < 4 -Requires: ruby-facter >= 3.0 -Requires: ruby-facter < 4 -%else -BuildRequires: facter >= %{?has_epoch:1:}2.0 -BuildRequires: facter < %{?has_epoch:1:}4 -Requires: facter >= %{?has_epoch:1:}2.0 -Requires: facter < %{?has_epoch:1:}4 -%endif - - -BuildRequires: hiera >= 2.0 -BuildRequires: hiera < %{?has_epoch:1:}4 - -Requires: hiera >= 2.0 -Requires: hiera < %{?has_epoch:1:}4 - -Obsoletes: hiera-puppet < 1.0.0-2 -Provides: hiera-puppet = %{version}-%{release} - -%{!?_without_augeas:Requires: ruby(augeas)} - -Requires(pre): shadow-utils %if 0%{?_with_systemd} %{?systemd_requires} BuildRequires: systemd @@ -111,8 +62,6 @@ Requires(preun): initscripts Requires(postun): initscripts %endif -Requires: tar - %description Puppet lets you centrally manage every important aspect of your system using a cross-platform specification language that manages all the separate elements @@ -140,6 +89,49 @@ The server can also function as a certificate authority and file server. %package headless Summary: Headless Puppet Conflicts: puppet < 5.5.6-6 +%if 0%{?rhel} && 0%{?rhel} <= 6 +Requires: ruby(abi) = 1.8 +%else +Requires: ruby(release) +%endif +Requires: ruby(shadow) +Requires: rubygem(json) +Requires: rubygem(pathspec) +Requires: rubygem(rgen) +# Prevents jruby from being pulled in by dependencies (BZ #985208) +Requires: ruby +# Pull in ruby selinux bindings where available +%if 0%{?fedora} || 0%{?rhel} >= 6 +%{!?_without_selinux:Requires: ruby(selinux), libselinux-utils} +%else +%if 0%{?rhel} && 0%{?rhel} == 5 +%{!?_without_selinux:Requires: libselinux-ruby, libselinux-utils} +%endif +%endif + +# Fedora 28 updates to facter3 where puppet needs to require the ruby bindings specifically +%if 0%{?fedora} >= 28 +BuildRequires: ruby-facter >= 3.0 +BuildRequires: ruby-facter < 4 +Requires: ruby-facter >= 3.0 +Requires: ruby-facter < 4 +%else +BuildRequires: facter >= %{?has_epoch:1:}2.0 +BuildRequires: facter < %{?has_epoch:1:}4 +Requires: facter >= %{?has_epoch:1:}2.0 +Requires: facter < %{?has_epoch:1:}4 +%endif +BuildRequires: hiera >= 2.0 +BuildRequires: hiera < %{?has_epoch:1:}4 +Requires: hiera >= 2.0 +Requires: hiera < %{?has_epoch:1:}4 +Obsoletes: hiera-puppet < 1.0.0-2 +Provides: hiera-puppet = %{version}-%{release} + +%{!?_without_augeas:Requires: ruby(augeas)} +Requires: tar +Requires(pre): shadow-utils + %description headless This puppet headless subpackage may be used when there is no need to have puppet agent running as a service, for example, in a container @@ -401,6 +393,9 @@ fi exit 0 %changelog +* Thu Mar 07 2019 Terje Rosten - 5.5.10-2 +- Move reqs to headless + * Thu Mar 07 2019 Terje Rosten - 5.5.10-1 - 5.5.10 From d434511db25cc483653f78fd1f92b0b98312e97a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Terje=20R=C3=B8sten?= Date: Fri, 8 Mar 2019 00:00:05 +0100 Subject: [PATCH 202/272] Move sysconfdirs to headless too --- puppet.spec | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/puppet.spec b/puppet.spec index 75fcafb..48f9807 100644 --- a/puppet.spec +++ b/puppet.spec @@ -25,7 +25,7 @@ Name: puppet Version: 5.5.10 -Release: 2%{?dist} +Release: 3%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 URL: http://puppetlabs.com @@ -235,8 +235,6 @@ mkdir -p %{buildroot}%{_sysconfdir}/%{name}/modules %{_initrddir}/puppet %config(noreplace) %{_sysconfdir}/sysconfig/puppet %endif -%dir %{_sysconfdir}/puppet -%dir %{_sysconfdir}/%{name}/modules %if 0%{?fedora} >= 15 %{_tmpfilesdir}/%{name}.conf %endif @@ -251,6 +249,8 @@ mkdir -p %{buildroot}%{_sysconfdir}/%{name}/modules %{_bindir}/puppet %{_bindir}/start-puppet-* %{puppet_libdir}/* +%dir %{_sysconfdir}/puppet +%dir %{_sysconfdir}/%{name}/modules %config(noreplace) %{_sysconfdir}/puppet/puppet.conf %config(noreplace) %{_sysconfdir}/puppet/auth.conf %{_datadir}/%{name} @@ -393,6 +393,9 @@ fi exit 0 %changelog +* Thu Mar 07 2019 Terje Rosten - 5.5.10-3 +- Move sysconfdirs to headless too + * Thu Mar 07 2019 Terje Rosten - 5.5.10-2 - Move reqs to headless From 4561a4c947ba109decc491b74050ca48fd8dd8fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Terje=20R=C3=B8sten?= Date: Wed, 13 Mar 2019 19:30:59 +0100 Subject: [PATCH 203/272] Minor clean up --- puppet-nm-dispatcher | 0 puppet-nm-dispatcher.systemd | 0 puppet.spec | 23 ++++++++--------------- 3 files changed, 8 insertions(+), 15 deletions(-) mode change 100755 => 100644 puppet-nm-dispatcher mode change 100755 => 100644 puppet-nm-dispatcher.systemd diff --git a/puppet-nm-dispatcher b/puppet-nm-dispatcher old mode 100755 new mode 100644 diff --git a/puppet-nm-dispatcher.systemd b/puppet-nm-dispatcher.systemd old mode 100755 new mode 100644 diff --git a/puppet.spec b/puppet.spec index 48f9807..c45daa1 100644 --- a/puppet.spec +++ b/puppet.spec @@ -25,7 +25,7 @@ Name: puppet Version: 5.5.10 -Release: 3%{?dist} +Release: 4%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 URL: http://puppetlabs.com @@ -101,13 +101,7 @@ Requires: rubygem(rgen) # Prevents jruby from being pulled in by dependencies (BZ #985208) Requires: ruby # Pull in ruby selinux bindings where available -%if 0%{?fedora} || 0%{?rhel} >= 6 %{!?_without_selinux:Requires: ruby(selinux), libselinux-utils} -%else -%if 0%{?rhel} && 0%{?rhel} == 5 -%{!?_without_selinux:Requires: libselinux-ruby, libselinux-utils} -%endif -%endif # Fedora 28 updates to facter3 where puppet needs to require the ruby bindings specifically %if 0%{?fedora} >= 28 @@ -194,10 +188,10 @@ rm %{buildroot}%{_sysconfdir}/puppet/hiera.yaml # Install a NetworkManager dispatcher script to pickup changes to # /etc/resolv.conf and such (https://bugzilla.redhat.com/532085). %if 0%{?_with_systemd} -install -Dpv %{SOURCE3} \ +install -Dpv -m0755 %{SOURCE3} \ %{buildroot}%{_sysconfdir}/NetworkManager/dispatcher.d/98-%{name} %else -install -Dpv %{SOURCE2} \ +install -Dpv -m0755 %{SOURCE2} \ %{buildroot}%{_sysconfdir}/NetworkManager/dispatcher.d/98-%{name} %endif @@ -205,6 +199,8 @@ install -Dpv %{SOURCE2} \ install -d %{buildroot}%{_datadir}/%{name} cp -a ext/ %{buildroot}%{_datadir}/%{name} +chmod 0755 %{buildroot}%{_datadir}/%{name}/ext/regexp_nodes/regexp_nodes.rb + # Install wrappers for SELinux install -Dp -m0755 %{SOURCE4} %{buildroot}%{_bindir}/start-puppet-agent install -Dp -m0755 %{SOURCE4} %{buildroot}%{_bindir}/start-puppet-master @@ -278,9 +274,6 @@ mkdir -p %{buildroot}%{_sysconfdir}/%{name}/modules %{_mandir}/man8/puppet-filebucket.8.gz %{_mandir}/man8/puppet-generate.8.gz %{_mandir}/man8/puppet-help.8.gz -#{_mandir}/man8/puppet-instrumentation_data.8.gz -#{_mandir}/man8/puppet-instrumentation_listener.8.gz -#{_mandir}/man8/puppet-instrumentation_probe.8.gz %{_mandir}/man8/puppet-epp.8.gz %{_mandir}/man8/puppet-key.8.gz %{_mandir}/man8/puppet-lookup.8.gz @@ -291,7 +284,6 @@ mkdir -p %{buildroot}%{_sysconfdir}/%{name}/modules %{_mandir}/man8/puppet-plugin.8.gz %{_mandir}/man8/puppet-report.8.gz %{_mandir}/man8/puppet-resource.8.gz -#{_mandir}/man8/puppet-secret_agent.8.gz %{_mandir}/man8/puppet-script.8.gz %{_mandir}/man8/puppet-status.8.gz @@ -305,9 +297,7 @@ mkdir -p %{buildroot}%{_sysconfdir}/%{name}/modules %endif %config(noreplace) %{_sysconfdir}/puppet/fileserver.conf %dir %{_sysconfdir}/puppet/manifests -#{_mandir}/man8/puppet-kick.8.gz %{_mandir}/man8/puppet-master.8.gz -#{_mandir}/man8/puppet-queue.8.gz # Fixed uid/gid were assigned in bz 472073 (Fedora), 471918 (RHEL-5), # and 471919 (RHEL-4) @@ -393,6 +383,9 @@ fi exit 0 %changelog +* Wed Mar 13 2019 Terje Rosten - 5.5.10-4 +- Minor clean up + * Thu Mar 07 2019 Terje Rosten - 5.5.10-3 - Move sysconfdirs to headless too From f96b2ccfcc9534fe8011a9144758c369da2dce18 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 26 Jul 2019 11:30:58 +0000 Subject: [PATCH 204/272] - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- puppet.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/puppet.spec b/puppet.spec index c45daa1..fbdb25b 100644 --- a/puppet.spec +++ b/puppet.spec @@ -25,7 +25,7 @@ Name: puppet Version: 5.5.10 -Release: 4%{?dist} +Release: 5%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 URL: http://puppetlabs.com @@ -383,6 +383,9 @@ fi exit 0 %changelog +* Fri Jul 26 2019 Fedora Release Engineering - 5.5.10-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + * Wed Mar 13 2019 Terje Rosten - 5.5.10-4 - Minor clean up From 38afc62ebd3e1670b03793d29a9f01f3f2a6e046 Mon Sep 17 00:00:00 2001 From: Lubomir Rintel Date: Thu, 22 Aug 2019 17:07:29 +0200 Subject: [PATCH 205/272] Move the NetworkManager dispatcher script out of /etc It's not user configuration and shouldn't ever have been there. Except for that it used to be the only location NetworkManager looked into. With NetworkManager 1.20 that is no longer the case and the dispatcher scripts can be moved to /usr/lib. --- puppet.spec | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/puppet.spec b/puppet.spec index fbdb25b..24019e6 100644 --- a/puppet.spec +++ b/puppet.spec @@ -23,9 +23,15 @@ %global pending_upgrade_path %{_localstatedir}/lib/rpm-state/puppet %global pending_upgrade_file %{pending_upgrade_path}/upgrade_pending +%if 0%{?fedora} > 30 || 0%{?rhel} > 8 +%global nm_dispatcher_dir %{buildroot}%{_prefix}/lib/NetworkManager +%else +%global nm_dispatcher_dir %{buildroot}%{_sysconfdir}/NetworkManager +%endif + Name: puppet Version: 5.5.10 -Release: 5%{?dist} +Release: 6%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 URL: http://puppetlabs.com @@ -189,10 +195,10 @@ rm %{buildroot}%{_sysconfdir}/puppet/hiera.yaml # /etc/resolv.conf and such (https://bugzilla.redhat.com/532085). %if 0%{?_with_systemd} install -Dpv -m0755 %{SOURCE3} \ - %{buildroot}%{_sysconfdir}/NetworkManager/dispatcher.d/98-%{name} + %{buildroot}%{nm_dispatcher_dir}/dispatcher.d/98-%{name} %else install -Dpv -m0755 %{SOURCE2} \ - %{buildroot}%{_sysconfdir}/NetworkManager/dispatcher.d/98-%{name} + %{buildroot}%{nm_dispatcher_dir}/dispatcher.d/98-%{name} %endif # Install the ext/ directory to %%{_datadir}/%%{name} @@ -235,9 +241,9 @@ mkdir -p %{buildroot}%{_sysconfdir}/%{name}/modules %{_tmpfilesdir}/%{name}.conf %endif %config(noreplace) %{_sysconfdir}/logrotate.d/puppet -%dir %{_sysconfdir}/NetworkManager -%dir %{_sysconfdir}/NetworkManager/dispatcher.d -%{_sysconfdir}/NetworkManager/dispatcher.d/98-puppet +%dir %{nm_dispatcher_dir} +%dir %{nm_dispatcher_dir}/dispatcher.d +%{nm_dispatcher_dir}/dispatcher.d/98-puppet %files headless %doc README.md examples @@ -383,6 +389,9 @@ fi exit 0 %changelog +* Thu Aug 22 2019 Lubomir Rintel - 5.5.10-6 +- Move the NetworkManager dispatcher script out of /etc + * Fri Jul 26 2019 Fedora Release Engineering - 5.5.10-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild From d6582b3eec7b4c90afb0c10180aee66989927fc4 Mon Sep 17 00:00:00 2001 From: Lucien Weller Date: Thu, 12 Sep 2019 07:00:21 +0200 Subject: [PATCH 206/272] fix: fixed wrong path for gem in puppet_gem.rb fixes issue https://bugzilla.redhat.com/show_bug.cgi?id=1751385 --- 0001-Fix-puppet-paths.patch | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/0001-Fix-puppet-paths.patch b/0001-Fix-puppet-paths.patch index 47d749f..423ced3 100644 --- a/0001-Fix-puppet-paths.patch +++ b/0001-Fix-puppet-paths.patch @@ -1,12 +1,25 @@ -From 23bcde066d9915952b9bf2c8fd0770a2ce9422ce Mon Sep 17 00:00:00 2001 -From: Haikel Guemar -Date: Wed, 29 Apr 2015 01:38:35 +0200 -Subject: [PATCH 1/5] Fix puppet paths +From 88c57975f8b3832688b00afc4f41b6dd87153ec2 Mon Sep 17 00:00:00 2001 +From: Lucien Weller +Date: Wed, 11 Sep 2019 23:30:38 +0200 +Subject: [PATCH 1/5] Fix-puppet-paths --- - lib/puppet/util/run_mode.rb | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) + lib/puppet/provider/package/puppet_gem.rb | 2 +- + lib/puppet/util/run_mode.rb | 10 +++++----- + 2 files changed, 6 insertions(+), 6 deletions(-) +diff --git a/lib/puppet/provider/package/puppet_gem.rb b/lib/puppet/provider/package/puppet_gem.rb +index 8d876a0..86752b7 100644 +--- a/lib/puppet/provider/package/puppet_gem.rb ++++ b/lib/puppet/provider/package/puppet_gem.rb +@@ -12,6 +12,6 @@ Puppet::Type.type(:package).provide :puppet_gem, :parent => :gem do + # sort out the absolute path. + commands :gemcmd => "gem" + else +- commands :gemcmd => "/opt/puppetlabs/puppet/bin/gem" ++ commands :gemcmd => "/usr/bin/gem" + end + end diff --git a/lib/puppet/util/run_mode.rb b/lib/puppet/util/run_mode.rb index cf6c461..777156a 100644 --- a/lib/puppet/util/run_mode.rb @@ -41,5 +54,5 @@ index cf6c461..777156a 100644 end -- -2.19.2 +2.20.1 From e24a065f4cc1ef92a35962ff87ddd2e1fe2158fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Terje=20R=C3=B8sten?= Date: Sun, 22 Sep 2019 11:35:32 +0200 Subject: [PATCH 207/272] Drop buildroot prefix in nm_dispatcher_dir macro Fix wrong path for gem in puppetet_gem.rb (rhbz#1751385), report and fix from Lucien Weller, thanks! --- puppet.spec | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/puppet.spec b/puppet.spec index 24019e6..b7445e2 100644 --- a/puppet.spec +++ b/puppet.spec @@ -24,14 +24,14 @@ %global pending_upgrade_file %{pending_upgrade_path}/upgrade_pending %if 0%{?fedora} > 30 || 0%{?rhel} > 8 -%global nm_dispatcher_dir %{buildroot}%{_prefix}/lib/NetworkManager +%global nm_dispatcher_dir %{_prefix}/lib/NetworkManager %else -%global nm_dispatcher_dir %{buildroot}%{_sysconfdir}/NetworkManager +%global nm_dispatcher_dir %{_sysconfdir}/NetworkManager %endif Name: puppet Version: 5.5.10 -Release: 6%{?dist} +Release: 7%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 URL: http://puppetlabs.com @@ -389,6 +389,11 @@ fi exit 0 %changelog +* Sun Sep 22 2019 Terje Rosten - 5.5.10-7 +- Drop buildroot prefix in nm_dispatcher_dir macro +- Fix wrong path for gem in puppetet_gem.rb (rhbz#1751385), + report and fix from Lucien Weller, thanks! + * Thu Aug 22 2019 Lubomir Rintel - 5.5.10-6 - Move the NetworkManager dispatcher script out of /etc From d9d4410a878d7efda46b526dc855ba808cb6dbe9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Terje=20R=C3=B8sten?= Date: Sun, 22 Sep 2019 11:54:12 +0200 Subject: [PATCH 208/272] Prefer /run over /var/run (rhbz#1710635) --- 0001-Fix-puppet-paths.patch | 2 +- puppet.spec | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/0001-Fix-puppet-paths.patch b/0001-Fix-puppet-paths.patch index 423ced3..6034a89 100644 --- a/0001-Fix-puppet-paths.patch +++ b/0001-Fix-puppet-paths.patch @@ -44,7 +44,7 @@ index cf6c461..777156a 100644 def run_dir - which_dir("/var/run/puppetlabs", "~/.puppetlabs/var/run") -+ which_dir("/var/run/puppet", "~/.puppet/var/run") ++ which_dir("/run/puppet", "~/.puppet/var/run") end def log_dir diff --git a/puppet.spec b/puppet.spec index b7445e2..484fc11 100644 --- a/puppet.spec +++ b/puppet.spec @@ -31,7 +31,7 @@ Name: puppet Version: 5.5.10 -Release: 7%{?dist} +Release: 8%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 URL: http://puppetlabs.com @@ -221,7 +221,7 @@ sed -i 's|^ExecStart=.*/bin/puppet|ExecStart=/usr/bin/start-puppet-agent|' \ %if 0%{?fedora} >= 15 # Setup tmpfiles.d config mkdir -p %{buildroot}%{_tmpfilesdir} -echo "D /var/run/%{name} 0755 %{name} %{name} -" > \ +echo "D /run/%{name} 0755 %{name} %{name} -" > \ %{buildroot}%{_tmpfilesdir}/%{name}.conf %endif @@ -389,6 +389,9 @@ fi exit 0 %changelog +* Sun Sep 22 2019 Terje Rosten - 5.5.10-8 +- Prefer /run over /var/run (rhbz#1710635) + * Sun Sep 22 2019 Terje Rosten - 5.5.10-7 - Drop buildroot prefix in nm_dispatcher_dir macro - Fix wrong path for gem in puppetet_gem.rb (rhbz#1751385), From 1b29836c467b345c7460004bbe14c961d83eb444 Mon Sep 17 00:00:00 2001 From: Alfredo Moralejo Date: Wed, 4 Dec 2019 16:59:26 +0000 Subject: [PATCH 209/272] Add rubygem-multi_json as dependency It's dependency upstream and without it fail to build modules in some cases, depending on the structure of metadata.json. [1] https://github.com/puppetlabs/puppet/blob/5.5.x/.gemspec#L41 [2] https://github.com/puppetlabs/puppet/blob/5.5.x/lib/puppet/util/json.rb#L18 --- puppet.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/puppet.spec b/puppet.spec index 484fc11..e603700 100644 --- a/puppet.spec +++ b/puppet.spec @@ -31,7 +31,7 @@ Name: puppet Version: 5.5.10 -Release: 8%{?dist} +Release: 9%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 URL: http://puppetlabs.com @@ -104,6 +104,7 @@ Requires: ruby(shadow) Requires: rubygem(json) Requires: rubygem(pathspec) Requires: rubygem(rgen) +Requires: rubygem(multi_json) # Prevents jruby from being pulled in by dependencies (BZ #985208) Requires: ruby # Pull in ruby selinux bindings where available @@ -389,6 +390,9 @@ fi exit 0 %changelog +* Wed Dec 04 2019 Alfrdo Moralejo - 5.5.10-9 +- Add rubygem-multi_json as dependency. + * Sun Sep 22 2019 Terje Rosten - 5.5.10-8 - Prefer /run over /var/run (rhbz#1710635) From ef734ac79671e96bf9f2d1e23f7844e500e012bd Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 30 Jan 2020 09:58:50 +0000 Subject: [PATCH 210/272] - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- puppet.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/puppet.spec b/puppet.spec index e603700..8cfae88 100644 --- a/puppet.spec +++ b/puppet.spec @@ -31,7 +31,7 @@ Name: puppet Version: 5.5.10 -Release: 9%{?dist} +Release: 10%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 URL: http://puppetlabs.com @@ -390,6 +390,9 @@ fi exit 0 %changelog +* Thu Jan 30 2020 Fedora Release Engineering - 5.5.10-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + * Wed Dec 04 2019 Alfrdo Moralejo - 5.5.10-9 - Add rubygem-multi_json as dependency. From e3ee5466f48972cbc90a865dab622186b80d6436 Mon Sep 17 00:00:00 2001 From: Terje Rosten Date: Wed, 5 Feb 2020 19:33:40 +0100 Subject: [PATCH 211/272] 5.5.18 --- ...lease-restrictions-from-DNF-provider.patch | 2 +- 0004-PUP-9069-Add-support-for-RHEL8.patch | 28 ------------------- ...lease-restrictions-from-DNF-provider.patch | 27 ------------------ puppet.spec | 11 ++++---- sources | 4 +-- 5 files changed, 8 insertions(+), 64 deletions(-) delete mode 100644 0004-PUP-9069-Add-support-for-RHEL8.patch delete mode 100644 0006-Remove-Fedora-release-restrictions-from-DNF-provider.patch diff --git a/0003-Remove-Fedora-release-restrictions-from-DNF-provider.patch b/0003-Remove-Fedora-release-restrictions-from-DNF-provider.patch index f629d6b..eba3cc8 100644 --- a/0003-Remove-Fedora-release-restrictions-from-DNF-provider.patch +++ b/0003-Remove-Fedora-release-restrictions-from-DNF-provider.patch @@ -10,7 +10,7 @@ ones being excluded. 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/puppet/provider/package/dnf.rb b/lib/puppet/provider/package/dnf.rb -index 4823ebf..ee27322 100644 +index 0bf5847..be55568 100644 --- a/lib/puppet/provider/package/dnf.rb +++ b/lib/puppet/provider/package/dnf.rb @@ -28,7 +28,7 @@ Puppet::Type.type(:package).provide :dnf, :parent => :yum do diff --git a/0004-PUP-9069-Add-support-for-RHEL8.patch b/0004-PUP-9069-Add-support-for-RHEL8.patch deleted file mode 100644 index 3f1e578..0000000 --- a/0004-PUP-9069-Add-support-for-RHEL8.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 76031db0120ef8a3bdee576ca4aac9dc8b2859af Mon Sep 17 00:00:00 2001 -From: Emilien Macchi -Date: Wed, 15 Aug 2018 22:40:35 +0200 -Subject: [PATCH 4/5] (PUP-9069) Add support for RHEL8 - -This adds support for the next version of RHEL in the systemd provider. -Note: I have no idea when it'll be released but we need this patch as we -need to make Puppet systemd provider working. ---- - lib/puppet/provider/service/systemd.rb | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/lib/puppet/provider/service/systemd.rb b/lib/puppet/provider/service/systemd.rb -index c444861..a68ce96 100644 ---- a/lib/puppet/provider/service/systemd.rb -+++ b/lib/puppet/provider/service/systemd.rb -@@ -19,7 +19,7 @@ Puppet::Type.type(:service).provide :systemd, :parent => :base do - end - - defaultfor :osfamily => [:archlinux] -- defaultfor :osfamily => :redhat, :operatingsystemmajrelease => "7" -+ defaultfor :osfamily => :redhat, :operatingsystemmajrelease => ["7", "8"] - defaultfor :osfamily => :redhat, :operatingsystem => :fedora - defaultfor :osfamily => :suse - defaultfor :osfamily => :coreos --- -2.19.2 - diff --git a/0006-Remove-Fedora-release-restrictions-from-DNF-provider.patch b/0006-Remove-Fedora-release-restrictions-from-DNF-provider.patch deleted file mode 100644 index 5673c02..0000000 --- a/0006-Remove-Fedora-release-restrictions-from-DNF-provider.patch +++ /dev/null @@ -1,27 +0,0 @@ -From ffd3da258dd526369d63df022a2fa57f6ed6c473 Mon Sep 17 00:00:00 2001 -From: Dominic Cleal -Date: Wed, 31 May 2017 10:07:04 +0100 -Subject: [PATCH] Remove Fedora release restrictions from DNF provider - -Ensure DNF provider will be used on all versions of Fedora, without new -ones being excluded. ---- - lib/puppet/provider/package/dnf.rb | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/lib/puppet/provider/package/dnf.rb b/lib/puppet/provider/package/dnf.rb -index e144a1a..c0ed877 100644 ---- a/lib/puppet/provider/package/dnf.rb -+++ b/lib/puppet/provider/package/dnf.rb -@@ -28,7 +28,7 @@ Puppet::Type.type(:package).provide :dnf, :parent => :yum do - end - end - -- defaultfor :operatingsystem => :fedora, :operatingsystemmajrelease => ['22', '23', '24', '25'] -+ defaultfor :operatingsystem => :fedora - - def self.update_command - # In DNF, update is deprecated for upgrade --- -2.7.4 - diff --git a/puppet.spec b/puppet.spec index 8cfae88..6d88f11 100644 --- a/puppet.spec +++ b/puppet.spec @@ -30,8 +30,8 @@ %endif Name: puppet -Version: 5.5.10 -Release: 10%{?dist} +Version: 5.5.18 +Release: 1%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 URL: http://puppetlabs.com @@ -45,10 +45,6 @@ Source4: start-puppet-wrapper Patch01: 0001-Fix-puppet-paths.patch Patch02: 0002-Revert-maint-Remove-puppetmaster.service.patch Patch03: 0003-Remove-Fedora-release-restrictions-from-DNF-provider.patch -# Note: Puppet 5.5.7 is broken -# Backporting patches that add supports for RHEL > 7 -# https://github.com/puppetlabs/puppet/pull/7000 (PUP-9069) -Patch04: 0004-PUP-9069-Add-support-for-RHEL8.patch BuildArch: noarch BuildRequires: git @@ -390,6 +386,9 @@ fi exit 0 %changelog +* Mon Feb 03 2020 Terje Rosten - 5.5.18-1 +- 5.5.18 + * Thu Jan 30 2020 Fedora Release Engineering - 5.5.10-10 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild diff --git a/sources b/sources index 0568f4a..034ec56 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (puppet-5.5.10.tar.gz) = 70a5684289fc576853bf908adff44c1b1ce4b37d71236e7d7a8d140fa0e3cdd46a4b570cc7e493a3f47641f6be0c3b736ab04a178c30cce4244abe686378bf4b -SHA512 (puppet-5.5.10.tar.gz.asc) = 884e7f290c6dba7076f7e5c5038326d77997598252fbf432f0e6abcbb3fe676aa38ebe5d8df682e616fa757365de423dd074a174c5e4d4f699832fd6377bd487 +SHA512 (puppet-5.5.18.tar.gz) = 86f210ee783ca36340b22463cd4ac237d8dc1c6a35526530af0696bb3f0373b0b22f690d3e3f8e31655ea182a33eb60b66b5826bd6c4d1b0059a8e46152416e6 +SHA512 (puppet-5.5.18.tar.gz.asc) = d380e1e10494c4ad164dd65235875bd885a1747671b014633a6e571677e7c87ed6c0125c9e3093caf88fff471d920a553a1862a1d810af34ce60151bd4c35244 From 626a1d02f8ed605c13675637eaa2f5715e267d30 Mon Sep 17 00:00:00 2001 From: Gwyn Ciesla Date: Fri, 7 Feb 2020 11:44:00 -0600 Subject: [PATCH 212/272] "Adding package.cfg file" --- package.cfg | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 package.cfg diff --git a/package.cfg b/package.cfg new file mode 100644 index 0000000..66ea79d --- /dev/null +++ b/package.cfg @@ -0,0 +1,2 @@ +[koji] +targets = epel8 epel8-playground \ No newline at end of file From 558a3731ebed211c561b87825dba397656c82eb4 Mon Sep 17 00:00:00 2001 From: Igor Raits Date: Mon, 13 Apr 2020 16:38:50 +0200 Subject: [PATCH 213/272] Fixup conditionals for EL8 Signed-off-by: Igor Raits --- puppet.spec | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/puppet.spec b/puppet.spec index 6d88f11..de1da86 100644 --- a/puppet.spec +++ b/puppet.spec @@ -9,7 +9,7 @@ %global puppet_libdir %(ruby -rrbconfig -e 'puts RbConfig::CONFIG["sitelibdir"]') %endif -%if 0%{?fedora} > 18 || 0%{?rhel} >= 7 || 0%{?suse_version} +%if 0%{?fedora} || 0%{?rhel} >= 7 || 0%{?suse_version} %global _with_systemd 1 %endif @@ -23,7 +23,7 @@ %global pending_upgrade_path %{_localstatedir}/lib/rpm-state/puppet %global pending_upgrade_file %{pending_upgrade_path}/upgrade_pending -%if 0%{?fedora} > 30 || 0%{?rhel} > 8 +%if 0%{?fedora} > 30 || 0%{?rhel} >= 8 %global nm_dispatcher_dir %{_prefix}/lib/NetworkManager %else %global nm_dispatcher_dir %{_sysconfdir}/NetworkManager @@ -107,7 +107,7 @@ Requires: ruby %{!?_without_selinux:Requires: ruby(selinux), libselinux-utils} # Fedora 28 updates to facter3 where puppet needs to require the ruby bindings specifically -%if 0%{?fedora} >= 28 +%if 0%{?fedora} || 0%{?rhel} >= 8 BuildRequires: ruby-facter >= 3.0 BuildRequires: ruby-facter < 4 Requires: ruby-facter >= 3.0 @@ -215,7 +215,7 @@ sed -i 's|^ExecStart=.*/bin/puppet|ExecStart=/usr/bin/start-puppet-agent|' \ %{buildroot}%{_unitdir}/puppet.service %endif -%if 0%{?fedora} >= 15 +%if 0%{?fedora} || 0%{?rhel} >= 8 # Setup tmpfiles.d config mkdir -p %{buildroot}%{_tmpfilesdir} echo "D /run/%{name} 0755 %{name} %{name} -" > \ @@ -234,7 +234,7 @@ mkdir -p %{buildroot}%{_sysconfdir}/%{name}/modules %{_initrddir}/puppet %config(noreplace) %{_sysconfdir}/sysconfig/puppet %endif -%if 0%{?fedora} >= 15 +%if 0%{?fedora} || 0%{?rhel} >= 8 %{_tmpfilesdir}/%{name}.conf %endif %config(noreplace) %{_sysconfdir}/logrotate.d/puppet From 0e3a6519359be8a0d5e0ec8a2f18747d05fce6e3 Mon Sep 17 00:00:00 2001 From: Terje Rosten Date: Sat, 2 May 2020 12:38:36 +0200 Subject: [PATCH 214/272] Update to 5.5.20 and add patches to work (somewhat) with ruby 2.7 --- puppet-5.5.18-ruby-27.patch | 17 +++++++++++++++++ puppet-5.5.18-sync.patch | 20 ++++++++++++++++++++ puppet.spec | 10 +++++++++- sources | 4 ++-- 4 files changed, 48 insertions(+), 3 deletions(-) create mode 100644 puppet-5.5.18-ruby-27.patch create mode 100644 puppet-5.5.18-sync.patch diff --git a/puppet-5.5.18-ruby-27.patch b/puppet-5.5.18-ruby-27.patch new file mode 100644 index 0000000..9b97f02 --- /dev/null +++ b/puppet-5.5.18-ruby-27.patch @@ -0,0 +1,17 @@ +Description: Fix Ruby 2.7 warning + The '**' operater should be used to pass keyword arguments from now on. +Author: Lucas Kanashiro +Last-Updated: 26-03-2020 +Forwarded: yes, https://github.com/puppetlabs/puppet/pull/8060 + +--- a/lib/puppet/file_system/file_impl.rb ++++ b/lib/puppet/file_system/file_impl.rb +@@ -77,7 +77,7 @@ + end + + def read(path, opts = {}) +- path.read(opts) ++ path.read(**opts) + end + + def read_preserve_line_endings(path) diff --git a/puppet-5.5.18-sync.patch b/puppet-5.5.18-sync.patch new file mode 100644 index 0000000..6f38a7e --- /dev/null +++ b/puppet-5.5.18-sync.patch @@ -0,0 +1,20 @@ +diff --git a/lib/puppet/configurer.rb b/lib/puppet/configurer.rb +index 2ccddbe..4c6e33d 100644 +--- a/lib/puppet/configurer.rb ++++ b/lib/puppet/configurer.rb +@@ -1,5 +1,4 @@ + # The client for interacting with the puppetmaster config server. +-require 'sync' + require 'timeout' + require 'puppet/network/http_pool' + require 'puppet/util' +diff --git a/lib/puppet/util/storage.rb b/lib/puppet/util/storage.rb +index 713f650..b9183ca 100644 +--- a/lib/puppet/util/storage.rb ++++ b/lib/puppet/util/storage.rb +@@ -1,5 +1,4 @@ + require 'yaml' +-require 'sync' + require 'singleton' + require 'puppet/util/yaml' + diff --git a/puppet.spec b/puppet.spec index de1da86..eb1458f 100644 --- a/puppet.spec +++ b/puppet.spec @@ -30,7 +30,7 @@ %endif Name: puppet -Version: 5.5.18 +Version: 5.5.20 Release: 1%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 @@ -45,6 +45,10 @@ Source4: start-puppet-wrapper Patch01: 0001-Fix-puppet-paths.patch Patch02: 0002-Revert-maint-Remove-puppetmaster.service.patch Patch03: 0003-Remove-Fedora-release-restrictions-from-DNF-provider.patch +# https://tickets.puppetlabs.com/browse/PUP-10247 +Patch04: puppet-5.5.18-sync.patch +# https://github.com/puppetlabs/puppet/pull/8060 +Patch05: puppet-5.5.18-ruby-27.patch BuildArch: noarch BuildRequires: git @@ -386,6 +390,10 @@ fi exit 0 %changelog +* Sat May 02 2020 Terje Rosten - 5.5.20-1 +- 5.5.20 +- Add patches to work (somewhat) with ruby 2.7 + * Mon Feb 03 2020 Terje Rosten - 5.5.18-1 - 5.5.18 diff --git a/sources b/sources index 034ec56..04dfbd2 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (puppet-5.5.18.tar.gz) = 86f210ee783ca36340b22463cd4ac237d8dc1c6a35526530af0696bb3f0373b0b22f690d3e3f8e31655ea182a33eb60b66b5826bd6c4d1b0059a8e46152416e6 -SHA512 (puppet-5.5.18.tar.gz.asc) = d380e1e10494c4ad164dd65235875bd885a1747671b014633a6e571677e7c87ed6c0125c9e3093caf88fff471d920a553a1862a1d810af34ce60151bd4c35244 +SHA512 (puppet-5.5.20.tar.gz) = 83b8f234697e13d6fd8ac16634fff4e4adfece70858c32c1001925c71cc4d9a482da1880c27c08e796facb46d5d17889f9521121a69cb49e160e3c031ad564c4 +SHA512 (puppet-5.5.20.tar.gz.asc) = d862eaf430cbb86112b67a8e0b3da228d3dd2d2dc4d16cd6272c4f1d737e9c8674418e56fd96a47a6be55f699a803e0e889256ad3d2cff66f6eff397c7e719cc From 593a13b497e7c7ab7967c2d70709b7e1785925ac Mon Sep 17 00:00:00 2001 From: Breno B Fernandes Date: Tue, 14 Jul 2020 09:57:45 -0400 Subject: [PATCH 215/272] EPEL 8 build. --- .cvsignore | 0 .gitignore | 11 + 0001-Fix-puppet-paths.patch | 392 +++++++++++++++++++++++++++++++++++ Makefile | 21 -- package.cfg | 2 - puppet-6.14.0.tar.gz.asc | 17 ++ puppet-nm-dispatcher.systemd | 8 + puppet.spec | 217 +++++++++++++++++++ sources | 11 + start-puppet-wrapper | 8 + 10 files changed, 664 insertions(+), 23 deletions(-) delete mode 100644 .cvsignore create mode 100644 .gitignore create mode 100644 0001-Fix-puppet-paths.patch delete mode 100644 Makefile delete mode 100644 package.cfg create mode 100644 puppet-6.14.0.tar.gz.asc create mode 100644 puppet-nm-dispatcher.systemd create mode 100644 puppet.spec create mode 100644 start-puppet-wrapper diff --git a/.cvsignore b/.cvsignore deleted file mode 100644 index e69de29..0000000 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1f3dfe9 --- /dev/null +++ b/.gitignore @@ -0,0 +1,11 @@ +/puppet-6.14.0.tar.gz +/puppetlabs-augeas_core-1.0.4.tar.gz +/puppetlabs-cron_core-1.0.3.tar.gz +/puppetlabs-host_core-1.0.2.tar.gz +/puppetlabs-mount_core-1.0.3.tar.gz +/puppetlabs-scheduled_task-2.0.1.tar.gz +/puppetlabs-selinux_core-1.0.4.tar.gz +/puppetlabs-sshkeys_core-2.0.0.tar.gz +/puppetlabs-yumrepo_core-1.0.7.tar.gz +/puppetlabs-zfs_core-1.0.5.tar.gz +/puppetlabs-zone_core-1.0.3.tar.gz diff --git a/0001-Fix-puppet-paths.patch b/0001-Fix-puppet-paths.patch new file mode 100644 index 0000000..9ff642c --- /dev/null +++ b/0001-Fix-puppet-paths.patch @@ -0,0 +1,392 @@ +diff --git a/ext/redhat/client.init b/ext/redhat/client.init +index 4ee7a2f..1a23190 100644 +--- a/ext/redhat/client.init ++++ b/ext/redhat/client.init +@@ -17,7 +17,7 @@ + lockfile=/var/lock/subsys/puppet + piddir=/var/run/puppetlabs + pidfile="${piddir}/agent.pid" +-puppetd=/opt/puppetlabs/puppet/bin/puppet ++puppetd=/usr/bin/puppet + pid=$(cat "$pidfile" 2> /dev/null) + RETVAL=0 + +diff --git a/ext/systemd/puppet.service b/ext/systemd/puppet.service +index 7c16615..c63627d 100644 +--- a/ext/systemd/puppet.service ++++ b/ext/systemd/puppet.service +@@ -11,13 +11,13 @@ + [Unit] + Description=Puppet agent + Wants=basic.target +-After=basic.target network.target ++After=basic.target network.target puppetmaster.service + + [Service] + EnvironmentFile=-/etc/sysconfig/puppetagent + EnvironmentFile=-/etc/sysconfig/puppet + EnvironmentFile=-/etc/default/puppet +-ExecStart=/opt/puppetlabs/puppet/bin/puppet agent $PUPPET_EXTRA_OPTS --no-daemonize ++ExecStart=/usr/bin/puppet agent $PUPPET_EXTRA_OPTS --no-daemonize + ExecReload=/bin/kill -HUP $MAINPID + KillMode=process + +diff --git a/install.rb b/install.rb +old mode 100755 +new mode 100644 +index 632052e..96c02dc +--- a/install.rb ++++ b/install.rb +@@ -169,13 +169,13 @@ def prepare_installation + opts.on('--destdir[=OPTIONAL]', 'Installation prefix for all targets', 'Default essentially /') do |destdir| + InstallOptions.destdir = destdir + end +- opts.on('--configdir[=OPTIONAL]', 'Installation directory for config files', 'Default /etc/puppetlabs/puppet') do |configdir| ++ opts.on('--configdir[=OPTIONAL]', 'Installation directory for config files', 'Default /etc/puppetlabs/puppet') do |destdir| + InstallOptions.configdir = configdir + end + opts.on('--codedir[=OPTIONAL]', 'Installation directory for code files', 'Default /etc/puppetlabs/code') do |codedir| + InstallOptions.codedir = codedir + end +- opts.on('--vardir[=OPTIONAL]', 'Installation directory for var files', 'Default /opt/puppetlabs/puppet/cache') do |vardir| ++ opts.on('--vardir[=OPTIONAL]', 'Installation directory for var files', 'Default /var/lib/puppet') do |vardir| + InstallOptions.vardir = vardir + end + opts.on('--rundir[=OPTIONAL]', 'Installation directory for state files', 'Default /var/run/puppetlabs') do |rundir| +@@ -187,7 +187,7 @@ def prepare_installation + opts.on('--bindir[=OPTIONAL]', 'Installation directory for binaries', 'overrides RbConfig::CONFIG["bindir"]') do |bindir| + InstallOptions.bindir = bindir + end +- opts.on('--localedir[=OPTIONAL]', 'Installation directory for locale information', 'Default /opt/puppetlabs/puppet/share/locale') do |localedir| ++ opts.on('--localedir[=OPTIONAL]', 'Installation directory for locale information', 'Default /usr/share/puppetlabs/puppet/locale') do |localedir| + InstallOptions.localedir = localedir + end + opts.on('--ruby[=OPTIONAL]', 'Ruby interpreter to use with installation', 'overrides ruby used to call install.rb') do |ruby| +@@ -273,7 +273,7 @@ def prepare_installation + elsif $operatingsystem == "windows" + vardir = File.join(Dir::COMMON_APPDATA, "PuppetLabs", "puppet", "cache") + else +- vardir = "/opt/puppetlabs/puppet/cache" ++ vardir = "/var/lib/puppet" + end + + if not InstallOptions.rundir.nil? +@@ -304,7 +304,7 @@ def prepare_installation + if $operatingsystem == "windows" + localedir = File.join(Dir::PROGRAM_FILES, "Puppet Labs", "Puppet", "puppet", "share", "locale") + else +- localedir = "/opt/puppetlabs/puppet/share/locale" ++ localedir = "/usr/share/puppetlabs/puppet/locale" + end + end + +diff --git a/lib/puppet/defaults.rb b/lib/puppet/defaults.rb +index 39834ff..2132888 100644 +--- a/lib/puppet/defaults.rb ++++ b/lib/puppet/defaults.rb +@@ -41,7 +41,7 @@ module Puppet + end + path.join(File::PATH_SEPARATOR) + else +- '$codedir/modules:/opt/puppetlabs/puppet/modules' ++ '$codedir/modules:/usr/share/puppetlabs/puppet/modules' + end + end + +@@ -54,7 +54,7 @@ module Puppet + nil + end + else +- '/opt/puppetlabs/puppet/vendor_modules' ++ '/usr/share/puppetlabs/puppet/vendor_modules' + end + end + +diff --git a/lib/puppet/face/config.rb b/lib/puppet/face/config.rb +index 692d12b..2d98e8c 100644 +--- a/lib/puppet/face/config.rb ++++ b/lib/puppet/face/config.rb +@@ -131,7 +131,7 @@ Puppet::Face.define(:config, '0.0.1') do + + Set the vardir for only the agent: + +- $ puppet config set vardir /opt/puppetlabs/puppet/cache --section agent ++ $ puppet config set vardir /var/lib/puppet --section agent + EOT + + when_invoked do |name, value, options| +diff --git a/lib/puppet/face/module/install.rb b/lib/puppet/face/module/install.rb +index 62068a5..518b0cc 100644 +--- a/lib/puppet/face/module/install.rb ++++ b/lib/puppet/face/module/install.rb +@@ -47,20 +47,20 @@ Puppet::Face.define(:module, '1.0.0') do + + Install a module into a specific directory: + +- $ puppet module install puppetlabs-vcsrepo --target-dir=/opt/puppetlabs/puppet/modules +- Preparing to install into /opt/puppetlabs/puppet/modules ... ++ $ puppet module install puppetlabs-vcsrepo --target-dir=/usr/share/puppetlabs/puppet/modules ++ Preparing to install into /usr/share/puppetlabs/puppet/modules ... + Downloading from https://forgeapi.puppet.com ... + Installing -- do not interrupt ... +- /opt/puppetlabs/puppet/modules ++ /usr/share/puppetlabs/puppet/modules + └── puppetlabs-vcsrepo (v0.0.4) + + Install a module into a specific directory and check for dependencies in other directories: + +- $ puppet module install puppetlabs-vcsrepo --target-dir=/opt/puppetlabs/puppet/modules --modulepath /etc/puppetlabs/code/modules +- Preparing to install into /opt/puppetlabs/puppet/modules ... ++ $ puppet module install puppetlabs-vcsrepo --target-dir=/usr/share/puppetlabs/puppet/modules --modulepath /etc/puppetlabs/code/modules ++ Preparing to install into /usr/share/puppetlabs/puppet/modules ... + Downloading from https://forgeapi.puppet.com ... + Installing -- do not interrupt ... +- /opt/puppetlabs/puppet/modules ++ /usr/share/puppetlabs/puppet/modules + └── puppetlabs-vcsrepo (v0.0.4) + + Install a module from a release archive: +diff --git a/lib/puppet/face/module/list.rb b/lib/puppet/face/module/list.rb +index 001a736..946dcfe 100644 +--- a/lib/puppet/face/module/list.rb ++++ b/lib/puppet/face/module/list.rb +@@ -27,7 +27,7 @@ Puppet::Face.define(:module, '1.0.0') do + ├── puppetlabs-mysql (v0.0.1) + ├── puppetlabs-sqlite (v0.0.1) + └── puppetlabs-stdlib (v2.2.1) +- /opt/puppetlabs/puppet/modules (no modules installed) ++ /usr/share/puppetlabs/puppet/modules (no modules installed) + + List installed modules in a tree view: + +@@ -38,7 +38,7 @@ Puppet::Face.define(:module, '1.0.0') do + ├─┬ puppetlabs-mysql (v0.0.1) + │ └── bodepd-create_resources (v0.0.1) + └── puppetlabs-sqlite (v0.0.1) +- /opt/puppetlabs/puppet/modules (no modules installed) ++ /usr/share/puppetlabs/puppet/modules (no modules installed) + + List installed modules from a specified environment: + +@@ -49,12 +49,12 @@ Puppet::Face.define(:module, '1.0.0') do + ├── puppetlabs-mysql (v0.0.1) + ├── puppetlabs-sqlite (v0.0.1) + └── puppetlabs-stdlib (v2.2.1) +- /opt/puppetlabs/puppet/modules (no modules installed) ++ /usr/share/puppetlabs/puppet/modules (no modules installed) + + List installed modules from a specified modulepath: + +- $ puppet module list --modulepath /opt/puppetlabs/puppet/modules +- /opt/puppetlabs/puppet/modules (no modules installed) ++ $ puppet module list --modulepath /usr/share/puppetlabs/puppet/modules ++ /usr/share/puppetlabs/puppet/modules (no modules installed) + EOT + + when_invoked do |options| +diff --git a/lib/puppet/face/module/uninstall.rb b/lib/puppet/face/module/uninstall.rb +index 6e73bc6..7fa5ec7 100644 +--- a/lib/puppet/face/module/uninstall.rb ++++ b/lib/puppet/face/module/uninstall.rb +@@ -17,8 +17,8 @@ Puppet::Face.define(:module, '1.0.0') do + + Uninstall a module from a specific directory: + +- $ puppet module uninstall puppetlabs-ssh --modulepath /opt/puppetlabs/puppet/modules +- Removed /opt/puppetlabs/puppet/modules/ssh (v1.0.0) ++ $ puppet module uninstall puppetlabs-ssh --modulepath /usr/share/puppetlabs/puppet/modules ++ Removed /usr/share/puppetlabs/puppet/modules/ssh (v1.0.0) + + Uninstall a module from a specific environment: + +diff --git a/lib/puppet/provider/package/puppet_gem.rb b/lib/puppet/provider/package/puppet_gem.rb +index e5cd381..64cb6f5 100644 +--- a/lib/puppet/provider/package/puppet_gem.rb ++++ b/lib/puppet/provider/package/puppet_gem.rb +@@ -12,6 +12,6 @@ Puppet::Type.type(:package).provide :puppet_gem, :parent => :gem do + # sort out the absolute path. + commands :gemcmd => "gem" + else +- commands :gemcmd => "/opt/puppetlabs/puppet/bin/gem" ++ commands :gemcmd => "/usr/bin/gem" + end + end +diff --git a/lib/puppet/reference/configuration.rb b/lib/puppet/reference/configuration.rb +index e747f9a..40882d8 100644 +--- a/lib/puppet/reference/configuration.rb ++++ b/lib/puppet/reference/configuration.rb +@@ -23,7 +23,7 @@ config = Puppet::Util::Reference.newreference(:configuration, :depth => 1, :doc + # Now print the data about the item. + val = object.default + if name.to_s == 'vardir' +- val = 'Unix/Linux: /opt/puppetlabs/puppet/cache -- Windows: C:\ProgramData\PuppetLabs\puppet\cache -- Non-root user: ~/.puppetlabs/opt/puppet/cache' ++ val = 'Unix/Linux: /var/lib/puppet -- Windows: C:\ProgramData\PuppetLabs\puppet\cache -- Non-root user: ~/.puppetlabs/opt/puppet/cache' + elsif name.to_s == 'confdir' + val = 'Unix/Linux: /etc/puppetlabs/puppet -- Windows: C:\ProgramData\PuppetLabs\puppet\etc -- Non-root user: ~/.puppetlabs/etc/puppet' + elsif name.to_s == 'codedir' +diff --git a/lib/puppet/util/run_mode.rb b/lib/puppet/util/run_mode.rb +index d0f9b9a..e7ecd40 100644 +--- a/lib/puppet/util/run_mode.rb ++++ b/lib/puppet/util/run_mode.rb +@@ -67,7 +67,7 @@ module Puppet + end + + def var_dir +- which_dir("/opt/puppetlabs/puppet/cache", "~/.puppetlabs/opt/puppet/cache") ++ which_dir("/var/lib/puppet", "~/.puppetlabs/opt/puppet/cache") + end + + def run_dir +diff --git a/man/man5/puppet.conf.5 b/man/man5/puppet.conf.5 +index 8b46f57..5905fde 100644 +--- a/man/man5/puppet.conf.5 ++++ b/man/man5/puppet.conf.5 +@@ -111,7 +111,7 @@ The search path for \fBglobal\fR modules\. Should be specified as a list of dire + These are the modules that will be used by \fIall\fR environments\. Note that the \fBmodules\fR directory of the active environment will have priority over any global directories\. For more info, see \fIhttps://puppet\.com/docs/puppet/latest/environments_about\.html\fR + . + .IP "\(bu" 4 +-\fIDefault\fR: $codedir/modules:/opt/puppetlabs/puppet/modules ++\fIDefault\fR: $codedir/modules:/usr/share/puppetlabs/puppet/modules + . + .IP "" 0 + . +@@ -1931,7 +1931,7 @@ The user Puppet Server will run as\. Used to ensure the agent side processes (ag + Where Puppet stores dynamic and growing data\. The default for this setting is calculated specially, like \fBconfdir\fR_\. + . + .IP "\(bu" 4 +-\fIDefault\fR: Unix/Linux: /opt/puppetlabs/puppet/cache \-\- Windows: C:\eProgramData\ePuppetLabs\epuppet\ecache \-\- Non\-root user: ~/\.puppetlabs/opt/puppet/cache ++\fIDefault\fR: Unix/Linux: /var/lib/puppet \-\- Windows: C:\eProgramData\ePuppetLabs\epuppet\ecache \-\- Non\-root user: ~/\.puppetlabs/opt/puppet/cache + . + .IP "" 0 + . +@@ -1939,7 +1939,7 @@ Where Puppet stores dynamic and growing data\. The default for this setting is c + The directory containing \fBvendored\fR modules\. These modules will be used by \fIall\fR environments like those in the \fBbasemodulepath\fR\. The only difference is that modules in the \fBbasemodulepath\fR are pluginsynced, while vendored modules are not + . + .IP "\(bu" 4 +-\fIDefault\fR: /opt/puppetlabs/puppet/vendor_modules ++\fIDefault\fR: /usr/share/puppetlabs/puppet/vendor_modules + . + .IP "" 0 + . +diff --git a/man/man8/puppet-config.8 b/man/man8/puppet-config.8 +index 3c8e65d..11db793 100644 +--- a/man/man8/puppet-config.8 ++++ b/man/man8/puppet-config.8 +@@ -145,7 +145,7 @@ $ puppet config set rundir /var/run/puppetlabs + Set the vardir for only the agent: + . + .P +-$ puppet config set vardir /opt/puppetlabs/puppet/cache \-\-section agent ++$ puppet config set vardir /var/lib/puppet \-\-section agent + . + .SH "COPYRIGHT AND LICENSE" + Copyright 2011 by Puppet Inc\. Apache 2 license; see COPYING +diff --git a/man/man8/puppet-module.8 b/man/man8/puppet-module.8 +index 541142c..1f3ce39 100644 +--- a/man/man8/puppet-module.8 ++++ b/man/man8/puppet-module.8 +@@ -271,13 +271,13 @@ $ puppet module install puppetlabs\-vcsrepo \-v 0\.0\.4 Preparing to install int + Install a module into a specific directory: + . + .P +-$ puppet module install puppetlabs\-vcsrepo \-\-target\-dir=/opt/puppetlabs/puppet/modules Preparing to install into /opt/puppetlabs/puppet/modules \.\.\. Downloading from https://forgeapi\.puppet\.com \.\.\. Installing \-\- do not interrupt \.\.\. /opt/puppetlabs/puppet/modules └── puppetlabs\-vcsrepo (v0\.0\.4) ++$ puppet module install puppetlabs\-vcsrepo \-\-target\-dir=/usr/share/puppetlabs/puppet/modules Preparing to install into /usr/share/puppetlabs/puppet/modules \.\.\. Downloading from https://forgeapi\.puppet\.com \.\.\. Installing \-\- do not interrupt \.\.\. /usr/share/puppetlabs/puppet/modules └── puppetlabs\-vcsrepo (v0\.0\.4) + . + .P + Install a module into a specific directory and check for dependencies in other directories: + . + .P +-$ puppet module install puppetlabs\-vcsrepo \-\-target\-dir=/opt/puppetlabs/puppet/modules \-\-modulepath /etc/puppetlabs/code/modules Preparing to install into /opt/puppetlabs/puppet/modules \.\.\. Downloading from https://forgeapi\.puppet\.com \.\.\. Installing \-\- do not interrupt \.\.\. /opt/puppetlabs/puppet/modules └── puppetlabs\-vcsrepo (v0\.0\.4) ++$ puppet module install puppetlabs\-vcsrepo \-\-target\-dir=/usr/share/puppetlabs/puppet/modules \-\-modulepath /etc/puppetlabs/code/modules Preparing to install into /usr/share/puppetlabs/puppet/modules \.\.\. Downloading from https://forgeapi\.puppet\.com \.\.\. Installing \-\- do not interrupt \.\.\. /usr/share/puppetlabs/puppet/modules └── puppetlabs\-vcsrepo (v0\.0\.4) + . + .P + Install a module from a release archive: +@@ -298,25 +298,25 @@ $ puppet module install puppetlabs\-vcsrepo\-0\.0\.4\.tar\.gz \-\-ignore\-depend + List installed modules: + . + .P +-$ puppet module list /etc/puppetlabs/code/modules ├── bodepd\-create_resources (v0\.0\.1) ├── puppetlabs\-bacula (v0\.0\.2) ├── puppetlabs\-mysql (v0\.0\.1) ├── puppetlabs\-sqlite (v0\.0\.1) └── puppetlabs\-stdlib (v2\.2\.1) /opt/puppetlabs/puppet/modules (no modules installed) ++$ puppet module list /etc/puppetlabs/code/modules ├── bodepd\-create_resources (v0\.0\.1) ├── puppetlabs\-bacula (v0\.0\.2) ├── puppetlabs\-mysql (v0\.0\.1) ├── puppetlabs\-sqlite (v0\.0\.1) └── puppetlabs\-stdlib (v2\.2\.1) /usr/share/puppetlabs/puppet/modules (no modules installed) + . + .P + List installed modules in a tree view: + . + .P +-$ puppet module list \-\-tree /etc/puppetlabs/code/modules └─┬ puppetlabs\-bacula (v0\.0\.2) ├── puppetlabs\-stdlib (v2\.2\.1) ├─┬ puppetlabs\-mysql (v0\.0\.1) │ └── bodepd\-create_resources (v0\.0\.1) └── puppetlabs\-sqlite (v0\.0\.1) /opt/puppetlabs/puppet/modules (no modules installed) ++$ puppet module list \-\-tree /etc/puppetlabs/code/modules └─┬ puppetlabs\-bacula (v0\.0\.2) ├── puppetlabs\-stdlib (v2\.2\.1) ├─┬ puppetlabs\-mysql (v0\.0\.1) │ └── bodepd\-create_resources (v0\.0\.1) └── puppetlabs\-sqlite (v0\.0\.1) /usr/share/puppetlabs/puppet/modules (no modules installed) + . + .P + List installed modules from a specified environment: + . + .P +-$ puppet module list \-\-environment production /etc/puppetlabs/code/modules ├── bodepd\-create_resources (v0\.0\.1) ├── puppetlabs\-bacula (v0\.0\.2) ├── puppetlabs\-mysql (v0\.0\.1) ├── puppetlabs\-sqlite (v0\.0\.1) └── puppetlabs\-stdlib (v2\.2\.1) /opt/puppetlabs/puppet/modules (no modules installed) ++$ puppet module list \-\-environment production /etc/puppetlabs/code/modules ├── bodepd\-create_resources (v0\.0\.1) ├── puppetlabs\-bacula (v0\.0\.2) ├── puppetlabs\-mysql (v0\.0\.1) ├── puppetlabs\-sqlite (v0\.0\.1) └── puppetlabs\-stdlib (v2\.2\.1) /usr/share/puppetlabs/puppet/modules (no modules installed) + . + .P + List installed modules from a specified modulepath: + . + .P +-$ puppet module list \-\-modulepath /opt/puppetlabs/puppet/modules /opt/puppetlabs/puppet/modules (no modules installed) ++$ puppet module list \-\-modulepath /usr/share/puppetlabs/puppet/modules /usr/share/puppetlabs/puppet/modules (no modules installed) + . + .P + \fBsearch\fR +@@ -340,7 +340,7 @@ $ puppet module uninstall puppetlabs\-ssh Removed /etc/puppetlabs/code/modules/s + Uninstall a module from a specific directory: + . + .P +-$ puppet module uninstall puppetlabs\-ssh \-\-modulepath /opt/puppetlabs/puppet/modules Removed /opt/puppetlabs/puppet/modules/ssh (v1\.0\.0) ++$ puppet module uninstall puppetlabs\-ssh \-\-modulepath /usr/share/puppetlabs/puppet/modules Removed /usr/share/puppetlabs/puppet/modules/ssh (v1\.0\.0) + . + .P + Uninstall a module from a specific environment: +diff --git a/spec/unit/defaults_spec.rb b/spec/unit/defaults_spec.rb +index 9a6dc40..0632839 100644 +--- a/spec/unit/defaults_spec.rb ++++ b/spec/unit/defaults_spec.rb +@@ -132,7 +132,7 @@ describe "Defaults" do + it 'includes the user and system modules', :unless => Puppet::Util::Platform.windows? do + expect( + Puppet[:basemodulepath] +- ).to match(%r{.*/code/modules:/opt/puppetlabs/puppet/modules$}) ++ ).to match(%r{.*/code/modules:/usr/share/puppetlabs/puppet/modules$}) + end + + describe 'on windows', :if => Puppet::Util::Platform.windows? do +@@ -160,7 +160,7 @@ describe "Defaults" do + it 'includes the default vendormoduledir', :unless => Puppet::Util::Platform.windows? do + expect( + Puppet[:vendormoduledir] +- ).to eq('/opt/puppetlabs/puppet/vendor_modules') ++ ).to eq('/usr/share/puppetlabs/puppet/vendor_modules') + end + + describe 'on windows', :if => Puppet::Util::Platform.windows? do +diff --git a/spec/unit/provider/package/puppet_gem_spec.rb b/spec/unit/provider/package/puppet_gem_spec.rb +index 07e5fba..760af61 100644 +--- a/spec/unit/provider/package/puppet_gem_spec.rb ++++ b/spec/unit/provider/package/puppet_gem_spec.rb +@@ -17,7 +17,7 @@ describe Puppet::Type.type(:package).provider(:puppet_gem) do + if Puppet::Util::Platform.windows? + let(:provider_gem_cmd) { 'gem' } + else +- let(:provider_gem_cmd) { '/opt/puppetlabs/puppet/bin/gem' } ++ let(:provider_gem_cmd) { '/usr/bin/gem' } + end + + let(:execute_options) { {:failonfail => true, :combine => true, :custom_environment => {"HOME"=>ENV["HOME"]}} } +diff --git a/spec/unit/util/run_mode_spec.rb b/spec/unit/util/run_mode_spec.rb +index 81855b1..d619588 100644 +--- a/spec/unit/util/run_mode_spec.rb ++++ b/spec/unit/util/run_mode_spec.rb +@@ -73,8 +73,8 @@ describe Puppet::Util::RunMode do + end + + describe "#var_dir" do +- it "has vardir /opt/puppetlabs/puppet/cache when run as root" do +- as_root { expect(@run_mode.var_dir).to eq(File.expand_path('/opt/puppetlabs/puppet/cache')) } ++ it "has vardir /usr/share/puppetlabs/puppet/cache when run as root" do ++ as_root { expect(@run_mode.var_dir).to eq(File.expand_path('/usr/share/puppetlabs/puppet/cache')) } + end + + it "has vardir ~/.puppetlabs/opt/puppet/cache when run as non-root" do diff --git a/Makefile b/Makefile deleted file mode 100644 index 692e64a..0000000 --- a/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# Makefile for source rpm: puppet -# $Id$ -NAME := puppet -SPECFILE = $(firstword $(wildcard *.spec)) - -define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done -endef - -MAKEFILE_COMMON := $(shell $(find-makefile-common)) - -ifeq ($(MAKEFILE_COMMON),) -# attept a checkout -define checkout-makefile-common -test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2 -endef - -MAKEFILE_COMMON := $(shell $(checkout-makefile-common)) -endif - -include $(MAKEFILE_COMMON) diff --git a/package.cfg b/package.cfg deleted file mode 100644 index 66ea79d..0000000 --- a/package.cfg +++ /dev/null @@ -1,2 +0,0 @@ -[koji] -targets = epel8 epel8-playground \ No newline at end of file diff --git a/puppet-6.14.0.tar.gz.asc b/puppet-6.14.0.tar.gz.asc new file mode 100644 index 0000000..f72b229 --- /dev/null +++ b/puppet-6.14.0.tar.gz.asc @@ -0,0 +1,17 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1 + +iQIcBAABCAAGBQJeZ+43AAoJEH9DgoDvjTSf7HwQAOi8xHp2Rs43/LW9Fe25oYrq +2xxnhYRHDpOhSVJqWy3kbcz7TxVGebn7kPSV6f2NS3bTtqgY4WendI12M+P1ASdX +FduoFPe3MyRqaHYT9SWK/plnwGaoQIV1Tn+YHXTFgrjciXcQBe6xUCxO5BqaWYoJ +C5utT7jVSlf81sqgqXJrpZa7HHJS8m0VJHg6fCsH0wWwlW1Cn7ar9sQB+XLbtOl/ +7IX9luJ+sGhmBf+mkvWkpAnvXhgf/f8pDI9EJfMi2TU924rce1oWhlk509tj5c/W +CASQhW9KctTWV6Krzuim6JYgtjRS0wi0ws1QpW19YpKneq5IqNpoNIG9WwfHfpyl +dNqoYLFKwgWuGmqIhBZeZTTW7Slx4rhhmIB2nYefFPaM/jOWsZGRtZDvhD4DUDVp +smBY6cnUGLmiGFwHjws/hWbBb9YbREIpjVe2wQviAxqoGAKKbg8WBec+DsP6tIjK +PJ7OtJFnFMNNMpU+oqbb/m034WSzbs6lELdLLZv7MEHIEbuGYyj3GCLGZ60EgcqA +gpT8J0w3xwMx9k7H4h9M3a0cKPeqE3RBA5JeCJ8nu2qVwhZJH5hcQOi9P4gYFoMv +XQq0GhnEGYWM94i2+LbZIrgfEkg0+neABCG85PiOiCdHwnrl5BeJ8fxzYWB2Mo97 +umScFXq8AOMc7qtUydVw +=tRG+ +-----END PGP SIGNATURE----- diff --git a/puppet-nm-dispatcher.systemd b/puppet-nm-dispatcher.systemd new file mode 100644 index 0000000..3e5eeee --- /dev/null +++ b/puppet-nm-dispatcher.systemd @@ -0,0 +1,8 @@ +#!/bin/bash +# +# Restart puppet on network changes to pickup changes to /etc/resolv.conf +# +# https://projects.puppetlabs.com/issues/2776 +# https://bugzilla.redhat.com/532085 + +[[ $2 =~ ^(up|down)$ ]] && /bin/systemctl condrestart puppetagent.service || : diff --git a/puppet.spec b/puppet.spec new file mode 100644 index 0000000..d22f07c --- /dev/null +++ b/puppet.spec @@ -0,0 +1,217 @@ +%global nm_dispatcher_dir %{_prefix}/lib/NetworkManager +%global puppet_libdir %{ruby_vendorlibdir} + +Name: puppet +Version: 6.14.0 +Release: 1%{?dist} +Summary: A network tool for managing many disparate systems +License: ASL 2.0 +URL: http://puppetlabs.com +Source0: http://downloads.puppetlabs.com/puppet/%{name}-%{version}.tar.gz +Source1: http://downloads.puppetlabs.com/puppet/%{name}-%{version}.tar.gz.asc +Source2: https://forge.puppet.com/v3/files/puppetlabs-mount_core-1.0.3.tar.gz +Source3: https://forge.puppet.com/v3/files/puppetlabs-host_core-1.0.2.tar.gz +Source4: https://forge.puppet.com/v3/files/puppetlabs-augeas_core-1.0.4.tar.gz +Source5: https://forge.puppet.com/v3/files/puppetlabs-cron_core-1.0.3.tar.gz +Source6: https://forge.puppet.com/v3/files/puppetlabs-scheduled_task-2.0.1.tar.gz +Source7: https://forge.puppet.com/v3/files/puppetlabs-selinux_core-1.0.4.tar.gz +Source8: https://forge.puppet.com/v3/files/puppetlabs-sshkeys_core-2.0.0.tar.gz +Source9: https://forge.puppet.com/v3/files/puppetlabs-yumrepo_core-1.0.7.tar.gz +Source10: https://forge.puppet.com/v3/files/puppetlabs-zfs_core-1.0.5.tar.gz +Source11: https://forge.puppet.com/v3/files/puppetlabs-zone_core-1.0.3.tar.gz +Source12: puppet-nm-dispatcher.systemd +Source13: start-puppet-wrapper + +# Puppetlabs messed up with default paths +Patch01: 0001-Fix-puppet-paths.patch + +BuildArch: noarch + +# ruby-devel does not require the base package, but requires -libs instead +BuildRequires: ruby +BuildRequires: ruby-devel +BuildRequires: systemd +BuildRequires: git +BuildRequires: hiera >= 3.3.1 +BuildRequires: facter >= 3.9.6 +BuildRequires: facter-devel >= 3.9.6 +BuildRequires: ruby-facter >= 3.9.6 +BuildRequires: rubygem-semantic_puppet >= 1.0.2 +BuildRequires: rubygem-deep_merge +BuildRequires: rubygem-httpclient +BuildRequires: rubygem-multi_json +BuildRequires: ruby-augeas >= 0.5.0 +BuildRequires: augeas >= 1.10.1 +BuildRequires: augeas-libs >= 1.10.1 +BuildRequires: cpp-hocon >= 0.2.1 +BuildRequires: cpp-hocon-devel >= 0.2.1 +BuildRequires: rubygem-concurrent-ruby >= 1.0.5 +Requires: hiera >= 3.3.1 +Requires: facter >= 3.9.6 +Requires: ruby-facter >= 3.9.6 +Requires: rubygem-semantic_puppet >= 1.0.2 +Requires: rubygem-puppet-resource_api +Requires: rubygem-deep_merge +Requires: rubygem-httpclient +Requires: rubygem-multi_json +Requires: ruby-augeas >= 0.5.0 +Requires: augeas >= 1.10.1 +Requires: augeas-libs >= 1.10.1 +Requires: cpp-hocon >= 0.2.1 +Requires: rubygem-concurrent-ruby >= 1.0.5 +Obsoletes: puppet-headless < 6.0.0 +Obsoletes: puppet-server < 6.0.0 +Obsoletes: puppet < 6.0.0 +%{!?_without_selinux:Requires: ruby(selinux), libselinux-utils} + +%description +Puppet lets you centrally manage every important aspect of your system using a +cross-platform specification language that manages all the separate elements +normally aggregated in different files, like users, cron jobs, and hosts, +along with obviously discrete elements like packages, services, and files. + +%prep +%autosetup -S git +%setup -D -b 2 puppetlabs-mount_core-1.0.3 +%setup -D -b 3 puppetlabs-host_core-1.0.2 +%setup -D -b 4 puppetlabs-augeas_core-1.0.4 +%setup -D -b 5 puppetlabs-cron_core-1.0.3 +%setup -D -b 6 puppetlabs-scheduled_task-2.0.1 +%setup -D -b 7 puppetlabs-selinux_core-1.0.4 +%setup -D -b 8 puppetlabs-sshkeys_core-2.0.0 +%setup -D -b 9 puppetlabs-yumrepo_core-1.0.7 +%setup -D -b 10 puppetlabs-zfs_core-1.0.5 +%setup -D -b 11 puppetlabs-zone_core-1.0.3 + +%patch01 -p1 + +%build +# Nothing to build + +%install +ruby install.rb --destdir=%{buildroot} \ + --bindir=%{_bindir} \ + --logdir=%{_localstatedir}/log/puppetlabs/puppet \ + --rundir=%{_rundir}/puppet \ + --localedir=%{_datadir}/puppetlabs/puppet/locale \ + --vardir=/var/lib/puppet \ + --sitelibdir=%{puppet_libdir} + +mkdir -p %{buildroot}/usr/share/puppetlabs/puppet/vendor_modules +mv %{_builddir}/puppetlabs-mount_core-1.0.3 %{buildroot}/usr/share/puppetlabs/puppet/vendor_modules/mount_core +mv %{_builddir}/puppetlabs-host_core-1.0.2 %{buildroot}/usr/share/puppetlabs/puppet/vendor_modules/host_core +mv %{_builddir}/puppetlabs-augeas_core-1.0.4 %{buildroot}/usr/share/puppetlabs/puppet/vendor_modules/augeas_core +mv %{_builddir}/puppetlabs-cron_core-1.0.3 %{buildroot}/usr/share/puppetlabs/puppet/vendor_modules/cron_core +mv %{_builddir}/puppetlabs-scheduled_task-2.0.1 %{buildroot}/usr/share/puppetlabs/puppet/vendor_modules/scheduled_task +mv %{_builddir}/puppetlabs-selinux_core-1.0.4 %{buildroot}/usr/share/puppetlabs/puppet/vendor_modules/selinux_core +mv %{_builddir}/puppetlabs-sshkeys_core-2.0.0 %{buildroot}/usr/share/puppetlabs/puppet/vendor_modules/sshkeys_core +mv %{_builddir}/puppetlabs-yumrepo_core-1.0.7 %{buildroot}/usr/share/puppetlabs/puppet/vendor_modules/yumrepo_core +mv %{_builddir}/puppetlabs-zfs_core-1.0.5 %{buildroot}/usr/share/puppetlabs/puppet/vendor_modules/zfs_core +mv %{_builddir}/puppetlabs-zone_core-1.0.3 %{buildroot}/usr/share/puppetlabs/puppet/vendor_modules/zone_core + +install -Dp -m0644 ext/redhat/logrotate %{buildroot}%{_sysconfdir}/logrotate.d/puppet + +%{__install} -d -m0755 %{buildroot}%{_unitdir} +install -Dp -m0644 ext/systemd/puppet.service %{buildroot}%{_unitdir}/puppet.service +ln -s %{_unitdir}/puppet.service %{buildroot}%{_unitdir}/puppetagent.service + +install -Dpv -m0755 %{SOURCE12} \ + %{buildroot}%{nm_dispatcher_dir}/dispatcher.d/98-%{name} + +# Install the ext/ directory to %%{_datadir}/puppetlabs/%%{name} +install -d %{buildroot}%{_datadir}/puppetlabs/%{name} +cp -a ext/ %{buildroot}%{_datadir}/puppetlabs/%{name} +chmod 0755 %{buildroot}%{_datadir}/puppetlabs/%{name}/ext/regexp_nodes/regexp_nodes.rb + +# Install wrappers for SELinux +install -Dp -m0755 %{SOURCE13} %{buildroot}%{_bindir}/start-puppet-agent +sed -i 's|^ExecStart=.*/bin/puppet|ExecStart=/usr/bin/start-puppet-agent|' \ + %{buildroot}%{_unitdir}/puppet.service + +# Setup tmpfiles.d config +mkdir -p %{buildroot}%{_tmpfilesdir} +echo "D /run/%{name} 0755 %{name} %{name} -" > \ + %{buildroot}%{_tmpfilesdir}/%{name}.conf + +# Unbundle +# Note(hguemar): remove unrelated OS/distro specific folders +# These mess-up with RPM automatic dependencies compute by adding +# unnecessary deps like /sbin/runscripts +# some other things were removed with the patch +rm -r %{buildroot}/usr/share/puppetlabs/puppet/ext/{debian,freebsd,gentoo,ips,osx,solaris,suse,windows} +rm %{buildroot}/usr/share/puppetlabs/puppet/ext/redhat/*.init +rm %{buildroot}/usr/share/puppetlabs/puppet/ext/{build_defaults.yaml,project_data.yaml} + +%files +%attr(-, puppet, puppet) %{_localstatedir}/log/puppetlabs +%attr(-, puppet, puppet) %{_datadir}/puppetlabs/puppet +%dir %attr(-, puppet, puppet) %{_datadir}/puppetlabs +%{_unitdir}/puppet.service +%{_unitdir}/puppetagent.service +%{_tmpfilesdir}/%{name}.conf +%dir %{nm_dispatcher_dir} +%dir %{nm_dispatcher_dir}/dispatcher.d +%{nm_dispatcher_dir}/dispatcher.d/98-puppet +%{_bindir}/start-puppet-agent + +%doc README.md examples +%license LICENSE +%{_datadir}/ruby/vendor_ruby/hiera +%{_datadir}/ruby/vendor_ruby/hiera_puppet.rb +%{_datadir}/ruby/vendor_ruby/puppet +%{_datadir}/ruby/vendor_ruby/puppet_pal.rb +%{_datadir}/ruby/vendor_ruby/puppet.rb +%{_datadir}/ruby/vendor_ruby/puppet_x.rb +%{_sharedstatedir}/puppet +%{_bindir}/puppet +%{_mandir}/man5/puppet.conf.5.gz +%{_mandir}/man8/puppet-plugin.8.gz +%{_mandir}/man8/puppet-report.8.gz +%{_mandir}/man8/puppet-resource.8.gz +%{_mandir}/man8/puppet-script.8.gz +%{_mandir}/man8/puppet-ssl.8.gz +%{_mandir}/man8/puppet-status.8.gz +%{_mandir}/man8/puppet-agent.8.gz +%{_mandir}/man8/puppet.8.gz +%{_mandir}/man8/puppet-apply.8.gz +%{_mandir}/man8/puppet-catalog.8.gz +%{_mandir}/man8/puppet-config.8.gz +%{_mandir}/man8/puppet-describe.8.gz +%{_mandir}/man8/puppet-device.8.gz +%{_mandir}/man8/puppet-doc.8.gz +%{_mandir}/man8/puppet-epp.8.gz +%{_mandir}/man8/puppet-facts.8.gz +%{_mandir}/man8/puppet-filebucket.8.gz +%{_mandir}/man8/puppet-generate.8.gz +%{_mandir}/man8/puppet-help.8.gz +%{_mandir}/man8/puppet-key.8.gz +%{_mandir}/man8/puppet-lookup.8.gz +%{_mandir}/man8/puppet-man.8.gz +%{_mandir}/man8/puppet-module.8.gz +%{_mandir}/man8/puppet-node.8.gz +%{_mandir}/man8/puppet-parser.8.gz + +%config(noreplace) %attr(-, puppet, puppet) %dir %{_sysconfdir}/puppetlabs +%config(noreplace) %attr(-, puppet, puppet) %dir %{_sysconfdir}/puppetlabs/puppet +%config(noreplace) %attr(-, puppet, puppet) %dir %{_sysconfdir}/puppetlabs/code +%config(noreplace) %attr(644, puppet, puppet) %{_sysconfdir}/puppetlabs/puppet/auth.conf +%config(noreplace) %attr(644, puppet, puppet) %{_sysconfdir}/puppetlabs/puppet/puppet.conf +%config(noreplace) %attr(644, puppet, puppet) %{_sysconfdir}/puppetlabs/puppet/hiera.yaml +%config(noreplace) %attr(644, root, root) %{_sysconfdir}/logrotate.d/%{name} + +%ghost %attr(755, puppet, puppet) %{_rundir}/puppetlabs + +%pre +getent group puppet &>/dev/null || groupadd -r puppet -g 52 &>/dev/null +getent passwd puppet &>/dev/null || \ +useradd -r -u 52 -g puppet -d /usr/local/puppetlabs -s /sbin/nologin \ + -c "Puppet" puppet &>/dev/null + +%post +%systemd_post puppet.service +%systemd_postun_with_restart puppet.service + + +%changelog +* Mon Jul 13 2020 Breno Brand Fernandes - 6.14.0-1 +- Build of puppet 6. diff --git a/sources b/sources index e69de29..cbd5162 100644 --- a/sources +++ b/sources @@ -0,0 +1,11 @@ +SHA512 (puppet-6.14.0.tar.gz) = 066ad8de6393cb58b1f92fae450dc72dabcbe912cdbb3417848a66955fe17696a68abf67d86b107a2b1c54e7037d38da7264a9234a8833b56065c8e407ff57a4 +SHA512 (puppetlabs-augeas_core-1.0.4.tar.gz) = b40d9fcfb7afa5143ed4b715a326939635bc9fa1c243b66c9e4341e3a6a90f7ff34b4cb27dd8040e1b027fbe350f8cd69db9dee1628c8fcb96e978c4eae97da0 +SHA512 (puppetlabs-cron_core-1.0.3.tar.gz) = c305ee2e6c9f97956ad1107076ae0a37a307ab577bbc8270ad833c6dd845dcb44685cde1726709ebaac2f7a8bcd257728429d02a84405803b08222799b2ea6b8 +SHA512 (puppetlabs-host_core-1.0.2.tar.gz) = 3e79eef4de5635ab0d5f9407345a832fad669fbc0b28ecfae11a79162ad9a3561394db70bd4a93d7c210159577f6455aca9889e0f110c94a38bbe981047fef74 +SHA512 (puppetlabs-mount_core-1.0.3.tar.gz) = 61ffc116fb22c03f79a7c4abe1679cb2f90577c7e6403b1cb6f7acbd2eff7b89bcd6906c71c9faa9b9df4ee8fe1c7077b99ff918454059f4c15509509d1611e7 +SHA512 (puppetlabs-scheduled_task-2.0.1.tar.gz) = aea50e3636b3091aff4cc4890d78a081035c10d9cbf99a42bbb509d3edbd32463b582a0d701f1771070d9fe4b3dfb5e93acbe37bdb0bd92b984ffa16a913e257 +SHA512 (puppetlabs-selinux_core-1.0.4.tar.gz) = 600bef04791bd5bb9a46a5397af6e5ed5937b0e271cb312ef64db6bb93c85acf5c6df6ab53a7999ce7609a7b7ea8c299f37cb6d44dfa2c48b3456ca893be6876 +SHA512 (puppetlabs-sshkeys_core-2.0.0.tar.gz) = 5e256294f0f38b2f493b5894144ae05259589f1a9b1592581447d7ff6e868458e6a4890a726748c54cb87d524570c69fa29aa9ce7220e670a5f3c5fb0bfcaf53 +SHA512 (puppetlabs-yumrepo_core-1.0.7.tar.gz) = 8fb3cb40077ac113c332a761c01c1d7ce4bdfff1016be696efb41be20c86ff688b40b83c00a47394d79e64941cf6c23ea4bbd1107b4c7856d1b481733cb2d7ce +SHA512 (puppetlabs-zfs_core-1.0.5.tar.gz) = e87afd7ed5bfa9bee6bc50477992dd5e7f1614095af6506e5643919ac7e35f613e4edf4fdb69cbe17dd8a84a5df28e33189efb97de098ba0d5e9f42def186132 +SHA512 (puppetlabs-zone_core-1.0.3.tar.gz) = 1083bcc810e8a7b048fad1c70656d806c65b5fa912c627bf1dfaf3b9d8a0ec675db100abc2fc6499669c17927ea3e55a5c968fde0e577fc1f4cebb1fbd5e0851 diff --git a/start-puppet-wrapper b/start-puppet-wrapper new file mode 100644 index 0000000..e0c8b70 --- /dev/null +++ b/start-puppet-wrapper @@ -0,0 +1,8 @@ +#!/bin/sh +# +# This is wrapper script to start puppet which is used to support starting +# puppet daemon processes with correct SELinux context. +# + +# Call exec rather that spawn sub-process because of signals +exec /usr/bin/puppet $* From eae5785be45e5c18f1f2cf8ee26c8887eab97fe6 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Tue, 28 Jul 2020 23:10:54 +0000 Subject: [PATCH 216/272] - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- puppet.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/puppet.spec b/puppet.spec index eb1458f..2f66584 100644 --- a/puppet.spec +++ b/puppet.spec @@ -31,7 +31,7 @@ Name: puppet Version: 5.5.20 -Release: 1%{?dist} +Release: 2%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 URL: http://puppetlabs.com @@ -390,6 +390,9 @@ fi exit 0 %changelog +* Tue Jul 28 2020 Fedora Release Engineering - 5.5.20-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + * Sat May 02 2020 Terje Rosten - 5.5.20-1 - 5.5.20 - Add patches to work (somewhat) with ruby 2.7 From 3c149dbf696be86df08de2be34e058bad08467a8 Mon Sep 17 00:00:00 2001 From: Igor Raits Date: Fri, 28 Aug 2020 15:06:01 +0200 Subject: [PATCH 217/272] Update to 6.17.0 Signed-off-by: Igor Raits --- .gitignore | 8 + 0001-Fix-puppet-paths.patch | 392 ------------------ ...6B15509CF8E59E6E469F327F438280EF8D349F.gpg | Bin 0 -> 2259 bytes puppet-6.14.0.tar.gz.asc | 17 - puppet-6.17.0.tar.gz.asc | 17 + puppet.spec | 181 ++++---- sources | 16 +- 7 files changed, 117 insertions(+), 514 deletions(-) delete mode 100644 0001-Fix-puppet-paths.patch create mode 100644 gpgkey-6F6B15509CF8E59E6E469F327F438280EF8D349F.gpg delete mode 100644 puppet-6.14.0.tar.gz.asc create mode 100644 puppet-6.17.0.tar.gz.asc diff --git a/.gitignore b/.gitignore index 1f3dfe9..4a88c46 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,11 @@ /puppetlabs-yumrepo_core-1.0.7.tar.gz /puppetlabs-zfs_core-1.0.5.tar.gz /puppetlabs-zone_core-1.0.3.tar.gz +/puppet-6.17.0.tar.gz +/puppetlabs-augeas_core-1.0.5.tar.gz +/puppetlabs-cron_core-1.0.4.tar.gz +/puppetlabs-host_core-1.0.3.tar.gz +/puppetlabs-mount_core-1.0.4.tar.gz +/puppetlabs-scheduled_task-2.2.1.tar.gz +/puppetlabs-sshkeys_core-2.1.0.tar.gz +/puppetlabs-zfs_core-1.1.0.tar.gz diff --git a/0001-Fix-puppet-paths.patch b/0001-Fix-puppet-paths.patch deleted file mode 100644 index 9ff642c..0000000 --- a/0001-Fix-puppet-paths.patch +++ /dev/null @@ -1,392 +0,0 @@ -diff --git a/ext/redhat/client.init b/ext/redhat/client.init -index 4ee7a2f..1a23190 100644 ---- a/ext/redhat/client.init -+++ b/ext/redhat/client.init -@@ -17,7 +17,7 @@ - lockfile=/var/lock/subsys/puppet - piddir=/var/run/puppetlabs - pidfile="${piddir}/agent.pid" --puppetd=/opt/puppetlabs/puppet/bin/puppet -+puppetd=/usr/bin/puppet - pid=$(cat "$pidfile" 2> /dev/null) - RETVAL=0 - -diff --git a/ext/systemd/puppet.service b/ext/systemd/puppet.service -index 7c16615..c63627d 100644 ---- a/ext/systemd/puppet.service -+++ b/ext/systemd/puppet.service -@@ -11,13 +11,13 @@ - [Unit] - Description=Puppet agent - Wants=basic.target --After=basic.target network.target -+After=basic.target network.target puppetmaster.service - - [Service] - EnvironmentFile=-/etc/sysconfig/puppetagent - EnvironmentFile=-/etc/sysconfig/puppet - EnvironmentFile=-/etc/default/puppet --ExecStart=/opt/puppetlabs/puppet/bin/puppet agent $PUPPET_EXTRA_OPTS --no-daemonize -+ExecStart=/usr/bin/puppet agent $PUPPET_EXTRA_OPTS --no-daemonize - ExecReload=/bin/kill -HUP $MAINPID - KillMode=process - -diff --git a/install.rb b/install.rb -old mode 100755 -new mode 100644 -index 632052e..96c02dc ---- a/install.rb -+++ b/install.rb -@@ -169,13 +169,13 @@ def prepare_installation - opts.on('--destdir[=OPTIONAL]', 'Installation prefix for all targets', 'Default essentially /') do |destdir| - InstallOptions.destdir = destdir - end -- opts.on('--configdir[=OPTIONAL]', 'Installation directory for config files', 'Default /etc/puppetlabs/puppet') do |configdir| -+ opts.on('--configdir[=OPTIONAL]', 'Installation directory for config files', 'Default /etc/puppetlabs/puppet') do |destdir| - InstallOptions.configdir = configdir - end - opts.on('--codedir[=OPTIONAL]', 'Installation directory for code files', 'Default /etc/puppetlabs/code') do |codedir| - InstallOptions.codedir = codedir - end -- opts.on('--vardir[=OPTIONAL]', 'Installation directory for var files', 'Default /opt/puppetlabs/puppet/cache') do |vardir| -+ opts.on('--vardir[=OPTIONAL]', 'Installation directory for var files', 'Default /var/lib/puppet') do |vardir| - InstallOptions.vardir = vardir - end - opts.on('--rundir[=OPTIONAL]', 'Installation directory for state files', 'Default /var/run/puppetlabs') do |rundir| -@@ -187,7 +187,7 @@ def prepare_installation - opts.on('--bindir[=OPTIONAL]', 'Installation directory for binaries', 'overrides RbConfig::CONFIG["bindir"]') do |bindir| - InstallOptions.bindir = bindir - end -- opts.on('--localedir[=OPTIONAL]', 'Installation directory for locale information', 'Default /opt/puppetlabs/puppet/share/locale') do |localedir| -+ opts.on('--localedir[=OPTIONAL]', 'Installation directory for locale information', 'Default /usr/share/puppetlabs/puppet/locale') do |localedir| - InstallOptions.localedir = localedir - end - opts.on('--ruby[=OPTIONAL]', 'Ruby interpreter to use with installation', 'overrides ruby used to call install.rb') do |ruby| -@@ -273,7 +273,7 @@ def prepare_installation - elsif $operatingsystem == "windows" - vardir = File.join(Dir::COMMON_APPDATA, "PuppetLabs", "puppet", "cache") - else -- vardir = "/opt/puppetlabs/puppet/cache" -+ vardir = "/var/lib/puppet" - end - - if not InstallOptions.rundir.nil? -@@ -304,7 +304,7 @@ def prepare_installation - if $operatingsystem == "windows" - localedir = File.join(Dir::PROGRAM_FILES, "Puppet Labs", "Puppet", "puppet", "share", "locale") - else -- localedir = "/opt/puppetlabs/puppet/share/locale" -+ localedir = "/usr/share/puppetlabs/puppet/locale" - end - end - -diff --git a/lib/puppet/defaults.rb b/lib/puppet/defaults.rb -index 39834ff..2132888 100644 ---- a/lib/puppet/defaults.rb -+++ b/lib/puppet/defaults.rb -@@ -41,7 +41,7 @@ module Puppet - end - path.join(File::PATH_SEPARATOR) - else -- '$codedir/modules:/opt/puppetlabs/puppet/modules' -+ '$codedir/modules:/usr/share/puppetlabs/puppet/modules' - end - end - -@@ -54,7 +54,7 @@ module Puppet - nil - end - else -- '/opt/puppetlabs/puppet/vendor_modules' -+ '/usr/share/puppetlabs/puppet/vendor_modules' - end - end - -diff --git a/lib/puppet/face/config.rb b/lib/puppet/face/config.rb -index 692d12b..2d98e8c 100644 ---- a/lib/puppet/face/config.rb -+++ b/lib/puppet/face/config.rb -@@ -131,7 +131,7 @@ Puppet::Face.define(:config, '0.0.1') do - - Set the vardir for only the agent: - -- $ puppet config set vardir /opt/puppetlabs/puppet/cache --section agent -+ $ puppet config set vardir /var/lib/puppet --section agent - EOT - - when_invoked do |name, value, options| -diff --git a/lib/puppet/face/module/install.rb b/lib/puppet/face/module/install.rb -index 62068a5..518b0cc 100644 ---- a/lib/puppet/face/module/install.rb -+++ b/lib/puppet/face/module/install.rb -@@ -47,20 +47,20 @@ Puppet::Face.define(:module, '1.0.0') do - - Install a module into a specific directory: - -- $ puppet module install puppetlabs-vcsrepo --target-dir=/opt/puppetlabs/puppet/modules -- Preparing to install into /opt/puppetlabs/puppet/modules ... -+ $ puppet module install puppetlabs-vcsrepo --target-dir=/usr/share/puppetlabs/puppet/modules -+ Preparing to install into /usr/share/puppetlabs/puppet/modules ... - Downloading from https://forgeapi.puppet.com ... - Installing -- do not interrupt ... -- /opt/puppetlabs/puppet/modules -+ /usr/share/puppetlabs/puppet/modules - └── puppetlabs-vcsrepo (v0.0.4) - - Install a module into a specific directory and check for dependencies in other directories: - -- $ puppet module install puppetlabs-vcsrepo --target-dir=/opt/puppetlabs/puppet/modules --modulepath /etc/puppetlabs/code/modules -- Preparing to install into /opt/puppetlabs/puppet/modules ... -+ $ puppet module install puppetlabs-vcsrepo --target-dir=/usr/share/puppetlabs/puppet/modules --modulepath /etc/puppetlabs/code/modules -+ Preparing to install into /usr/share/puppetlabs/puppet/modules ... - Downloading from https://forgeapi.puppet.com ... - Installing -- do not interrupt ... -- /opt/puppetlabs/puppet/modules -+ /usr/share/puppetlabs/puppet/modules - └── puppetlabs-vcsrepo (v0.0.4) - - Install a module from a release archive: -diff --git a/lib/puppet/face/module/list.rb b/lib/puppet/face/module/list.rb -index 001a736..946dcfe 100644 ---- a/lib/puppet/face/module/list.rb -+++ b/lib/puppet/face/module/list.rb -@@ -27,7 +27,7 @@ Puppet::Face.define(:module, '1.0.0') do - ├── puppetlabs-mysql (v0.0.1) - ├── puppetlabs-sqlite (v0.0.1) - └── puppetlabs-stdlib (v2.2.1) -- /opt/puppetlabs/puppet/modules (no modules installed) -+ /usr/share/puppetlabs/puppet/modules (no modules installed) - - List installed modules in a tree view: - -@@ -38,7 +38,7 @@ Puppet::Face.define(:module, '1.0.0') do - ├─┬ puppetlabs-mysql (v0.0.1) - │ └── bodepd-create_resources (v0.0.1) - └── puppetlabs-sqlite (v0.0.1) -- /opt/puppetlabs/puppet/modules (no modules installed) -+ /usr/share/puppetlabs/puppet/modules (no modules installed) - - List installed modules from a specified environment: - -@@ -49,12 +49,12 @@ Puppet::Face.define(:module, '1.0.0') do - ├── puppetlabs-mysql (v0.0.1) - ├── puppetlabs-sqlite (v0.0.1) - └── puppetlabs-stdlib (v2.2.1) -- /opt/puppetlabs/puppet/modules (no modules installed) -+ /usr/share/puppetlabs/puppet/modules (no modules installed) - - List installed modules from a specified modulepath: - -- $ puppet module list --modulepath /opt/puppetlabs/puppet/modules -- /opt/puppetlabs/puppet/modules (no modules installed) -+ $ puppet module list --modulepath /usr/share/puppetlabs/puppet/modules -+ /usr/share/puppetlabs/puppet/modules (no modules installed) - EOT - - when_invoked do |options| -diff --git a/lib/puppet/face/module/uninstall.rb b/lib/puppet/face/module/uninstall.rb -index 6e73bc6..7fa5ec7 100644 ---- a/lib/puppet/face/module/uninstall.rb -+++ b/lib/puppet/face/module/uninstall.rb -@@ -17,8 +17,8 @@ Puppet::Face.define(:module, '1.0.0') do - - Uninstall a module from a specific directory: - -- $ puppet module uninstall puppetlabs-ssh --modulepath /opt/puppetlabs/puppet/modules -- Removed /opt/puppetlabs/puppet/modules/ssh (v1.0.0) -+ $ puppet module uninstall puppetlabs-ssh --modulepath /usr/share/puppetlabs/puppet/modules -+ Removed /usr/share/puppetlabs/puppet/modules/ssh (v1.0.0) - - Uninstall a module from a specific environment: - -diff --git a/lib/puppet/provider/package/puppet_gem.rb b/lib/puppet/provider/package/puppet_gem.rb -index e5cd381..64cb6f5 100644 ---- a/lib/puppet/provider/package/puppet_gem.rb -+++ b/lib/puppet/provider/package/puppet_gem.rb -@@ -12,6 +12,6 @@ Puppet::Type.type(:package).provide :puppet_gem, :parent => :gem do - # sort out the absolute path. - commands :gemcmd => "gem" - else -- commands :gemcmd => "/opt/puppetlabs/puppet/bin/gem" -+ commands :gemcmd => "/usr/bin/gem" - end - end -diff --git a/lib/puppet/reference/configuration.rb b/lib/puppet/reference/configuration.rb -index e747f9a..40882d8 100644 ---- a/lib/puppet/reference/configuration.rb -+++ b/lib/puppet/reference/configuration.rb -@@ -23,7 +23,7 @@ config = Puppet::Util::Reference.newreference(:configuration, :depth => 1, :doc - # Now print the data about the item. - val = object.default - if name.to_s == 'vardir' -- val = 'Unix/Linux: /opt/puppetlabs/puppet/cache -- Windows: C:\ProgramData\PuppetLabs\puppet\cache -- Non-root user: ~/.puppetlabs/opt/puppet/cache' -+ val = 'Unix/Linux: /var/lib/puppet -- Windows: C:\ProgramData\PuppetLabs\puppet\cache -- Non-root user: ~/.puppetlabs/opt/puppet/cache' - elsif name.to_s == 'confdir' - val = 'Unix/Linux: /etc/puppetlabs/puppet -- Windows: C:\ProgramData\PuppetLabs\puppet\etc -- Non-root user: ~/.puppetlabs/etc/puppet' - elsif name.to_s == 'codedir' -diff --git a/lib/puppet/util/run_mode.rb b/lib/puppet/util/run_mode.rb -index d0f9b9a..e7ecd40 100644 ---- a/lib/puppet/util/run_mode.rb -+++ b/lib/puppet/util/run_mode.rb -@@ -67,7 +67,7 @@ module Puppet - end - - def var_dir -- which_dir("/opt/puppetlabs/puppet/cache", "~/.puppetlabs/opt/puppet/cache") -+ which_dir("/var/lib/puppet", "~/.puppetlabs/opt/puppet/cache") - end - - def run_dir -diff --git a/man/man5/puppet.conf.5 b/man/man5/puppet.conf.5 -index 8b46f57..5905fde 100644 ---- a/man/man5/puppet.conf.5 -+++ b/man/man5/puppet.conf.5 -@@ -111,7 +111,7 @@ The search path for \fBglobal\fR modules\. Should be specified as a list of dire - These are the modules that will be used by \fIall\fR environments\. Note that the \fBmodules\fR directory of the active environment will have priority over any global directories\. For more info, see \fIhttps://puppet\.com/docs/puppet/latest/environments_about\.html\fR - . - .IP "\(bu" 4 --\fIDefault\fR: $codedir/modules:/opt/puppetlabs/puppet/modules -+\fIDefault\fR: $codedir/modules:/usr/share/puppetlabs/puppet/modules - . - .IP "" 0 - . -@@ -1931,7 +1931,7 @@ The user Puppet Server will run as\. Used to ensure the agent side processes (ag - Where Puppet stores dynamic and growing data\. The default for this setting is calculated specially, like \fBconfdir\fR_\. - . - .IP "\(bu" 4 --\fIDefault\fR: Unix/Linux: /opt/puppetlabs/puppet/cache \-\- Windows: C:\eProgramData\ePuppetLabs\epuppet\ecache \-\- Non\-root user: ~/\.puppetlabs/opt/puppet/cache -+\fIDefault\fR: Unix/Linux: /var/lib/puppet \-\- Windows: C:\eProgramData\ePuppetLabs\epuppet\ecache \-\- Non\-root user: ~/\.puppetlabs/opt/puppet/cache - . - .IP "" 0 - . -@@ -1939,7 +1939,7 @@ Where Puppet stores dynamic and growing data\. The default for this setting is c - The directory containing \fBvendored\fR modules\. These modules will be used by \fIall\fR environments like those in the \fBbasemodulepath\fR\. The only difference is that modules in the \fBbasemodulepath\fR are pluginsynced, while vendored modules are not - . - .IP "\(bu" 4 --\fIDefault\fR: /opt/puppetlabs/puppet/vendor_modules -+\fIDefault\fR: /usr/share/puppetlabs/puppet/vendor_modules - . - .IP "" 0 - . -diff --git a/man/man8/puppet-config.8 b/man/man8/puppet-config.8 -index 3c8e65d..11db793 100644 ---- a/man/man8/puppet-config.8 -+++ b/man/man8/puppet-config.8 -@@ -145,7 +145,7 @@ $ puppet config set rundir /var/run/puppetlabs - Set the vardir for only the agent: - . - .P --$ puppet config set vardir /opt/puppetlabs/puppet/cache \-\-section agent -+$ puppet config set vardir /var/lib/puppet \-\-section agent - . - .SH "COPYRIGHT AND LICENSE" - Copyright 2011 by Puppet Inc\. Apache 2 license; see COPYING -diff --git a/man/man8/puppet-module.8 b/man/man8/puppet-module.8 -index 541142c..1f3ce39 100644 ---- a/man/man8/puppet-module.8 -+++ b/man/man8/puppet-module.8 -@@ -271,13 +271,13 @@ $ puppet module install puppetlabs\-vcsrepo \-v 0\.0\.4 Preparing to install int - Install a module into a specific directory: - . - .P --$ puppet module install puppetlabs\-vcsrepo \-\-target\-dir=/opt/puppetlabs/puppet/modules Preparing to install into /opt/puppetlabs/puppet/modules \.\.\. Downloading from https://forgeapi\.puppet\.com \.\.\. Installing \-\- do not interrupt \.\.\. /opt/puppetlabs/puppet/modules └── puppetlabs\-vcsrepo (v0\.0\.4) -+$ puppet module install puppetlabs\-vcsrepo \-\-target\-dir=/usr/share/puppetlabs/puppet/modules Preparing to install into /usr/share/puppetlabs/puppet/modules \.\.\. Downloading from https://forgeapi\.puppet\.com \.\.\. Installing \-\- do not interrupt \.\.\. /usr/share/puppetlabs/puppet/modules └── puppetlabs\-vcsrepo (v0\.0\.4) - . - .P - Install a module into a specific directory and check for dependencies in other directories: - . - .P --$ puppet module install puppetlabs\-vcsrepo \-\-target\-dir=/opt/puppetlabs/puppet/modules \-\-modulepath /etc/puppetlabs/code/modules Preparing to install into /opt/puppetlabs/puppet/modules \.\.\. Downloading from https://forgeapi\.puppet\.com \.\.\. Installing \-\- do not interrupt \.\.\. /opt/puppetlabs/puppet/modules └── puppetlabs\-vcsrepo (v0\.0\.4) -+$ puppet module install puppetlabs\-vcsrepo \-\-target\-dir=/usr/share/puppetlabs/puppet/modules \-\-modulepath /etc/puppetlabs/code/modules Preparing to install into /usr/share/puppetlabs/puppet/modules \.\.\. Downloading from https://forgeapi\.puppet\.com \.\.\. Installing \-\- do not interrupt \.\.\. /usr/share/puppetlabs/puppet/modules └── puppetlabs\-vcsrepo (v0\.0\.4) - . - .P - Install a module from a release archive: -@@ -298,25 +298,25 @@ $ puppet module install puppetlabs\-vcsrepo\-0\.0\.4\.tar\.gz \-\-ignore\-depend - List installed modules: - . - .P --$ puppet module list /etc/puppetlabs/code/modules ├── bodepd\-create_resources (v0\.0\.1) ├── puppetlabs\-bacula (v0\.0\.2) ├── puppetlabs\-mysql (v0\.0\.1) ├── puppetlabs\-sqlite (v0\.0\.1) └── puppetlabs\-stdlib (v2\.2\.1) /opt/puppetlabs/puppet/modules (no modules installed) -+$ puppet module list /etc/puppetlabs/code/modules ├── bodepd\-create_resources (v0\.0\.1) ├── puppetlabs\-bacula (v0\.0\.2) ├── puppetlabs\-mysql (v0\.0\.1) ├── puppetlabs\-sqlite (v0\.0\.1) └── puppetlabs\-stdlib (v2\.2\.1) /usr/share/puppetlabs/puppet/modules (no modules installed) - . - .P - List installed modules in a tree view: - . - .P --$ puppet module list \-\-tree /etc/puppetlabs/code/modules └─┬ puppetlabs\-bacula (v0\.0\.2) ├── puppetlabs\-stdlib (v2\.2\.1) ├─┬ puppetlabs\-mysql (v0\.0\.1) │ └── bodepd\-create_resources (v0\.0\.1) └── puppetlabs\-sqlite (v0\.0\.1) /opt/puppetlabs/puppet/modules (no modules installed) -+$ puppet module list \-\-tree /etc/puppetlabs/code/modules └─┬ puppetlabs\-bacula (v0\.0\.2) ├── puppetlabs\-stdlib (v2\.2\.1) ├─┬ puppetlabs\-mysql (v0\.0\.1) │ └── bodepd\-create_resources (v0\.0\.1) └── puppetlabs\-sqlite (v0\.0\.1) /usr/share/puppetlabs/puppet/modules (no modules installed) - . - .P - List installed modules from a specified environment: - . - .P --$ puppet module list \-\-environment production /etc/puppetlabs/code/modules ├── bodepd\-create_resources (v0\.0\.1) ├── puppetlabs\-bacula (v0\.0\.2) ├── puppetlabs\-mysql (v0\.0\.1) ├── puppetlabs\-sqlite (v0\.0\.1) └── puppetlabs\-stdlib (v2\.2\.1) /opt/puppetlabs/puppet/modules (no modules installed) -+$ puppet module list \-\-environment production /etc/puppetlabs/code/modules ├── bodepd\-create_resources (v0\.0\.1) ├── puppetlabs\-bacula (v0\.0\.2) ├── puppetlabs\-mysql (v0\.0\.1) ├── puppetlabs\-sqlite (v0\.0\.1) └── puppetlabs\-stdlib (v2\.2\.1) /usr/share/puppetlabs/puppet/modules (no modules installed) - . - .P - List installed modules from a specified modulepath: - . - .P --$ puppet module list \-\-modulepath /opt/puppetlabs/puppet/modules /opt/puppetlabs/puppet/modules (no modules installed) -+$ puppet module list \-\-modulepath /usr/share/puppetlabs/puppet/modules /usr/share/puppetlabs/puppet/modules (no modules installed) - . - .P - \fBsearch\fR -@@ -340,7 +340,7 @@ $ puppet module uninstall puppetlabs\-ssh Removed /etc/puppetlabs/code/modules/s - Uninstall a module from a specific directory: - . - .P --$ puppet module uninstall puppetlabs\-ssh \-\-modulepath /opt/puppetlabs/puppet/modules Removed /opt/puppetlabs/puppet/modules/ssh (v1\.0\.0) -+$ puppet module uninstall puppetlabs\-ssh \-\-modulepath /usr/share/puppetlabs/puppet/modules Removed /usr/share/puppetlabs/puppet/modules/ssh (v1\.0\.0) - . - .P - Uninstall a module from a specific environment: -diff --git a/spec/unit/defaults_spec.rb b/spec/unit/defaults_spec.rb -index 9a6dc40..0632839 100644 ---- a/spec/unit/defaults_spec.rb -+++ b/spec/unit/defaults_spec.rb -@@ -132,7 +132,7 @@ describe "Defaults" do - it 'includes the user and system modules', :unless => Puppet::Util::Platform.windows? do - expect( - Puppet[:basemodulepath] -- ).to match(%r{.*/code/modules:/opt/puppetlabs/puppet/modules$}) -+ ).to match(%r{.*/code/modules:/usr/share/puppetlabs/puppet/modules$}) - end - - describe 'on windows', :if => Puppet::Util::Platform.windows? do -@@ -160,7 +160,7 @@ describe "Defaults" do - it 'includes the default vendormoduledir', :unless => Puppet::Util::Platform.windows? do - expect( - Puppet[:vendormoduledir] -- ).to eq('/opt/puppetlabs/puppet/vendor_modules') -+ ).to eq('/usr/share/puppetlabs/puppet/vendor_modules') - end - - describe 'on windows', :if => Puppet::Util::Platform.windows? do -diff --git a/spec/unit/provider/package/puppet_gem_spec.rb b/spec/unit/provider/package/puppet_gem_spec.rb -index 07e5fba..760af61 100644 ---- a/spec/unit/provider/package/puppet_gem_spec.rb -+++ b/spec/unit/provider/package/puppet_gem_spec.rb -@@ -17,7 +17,7 @@ describe Puppet::Type.type(:package).provider(:puppet_gem) do - if Puppet::Util::Platform.windows? - let(:provider_gem_cmd) { 'gem' } - else -- let(:provider_gem_cmd) { '/opt/puppetlabs/puppet/bin/gem' } -+ let(:provider_gem_cmd) { '/usr/bin/gem' } - end - - let(:execute_options) { {:failonfail => true, :combine => true, :custom_environment => {"HOME"=>ENV["HOME"]}} } -diff --git a/spec/unit/util/run_mode_spec.rb b/spec/unit/util/run_mode_spec.rb -index 81855b1..d619588 100644 ---- a/spec/unit/util/run_mode_spec.rb -+++ b/spec/unit/util/run_mode_spec.rb -@@ -73,8 +73,8 @@ describe Puppet::Util::RunMode do - end - - describe "#var_dir" do -- it "has vardir /opt/puppetlabs/puppet/cache when run as root" do -- as_root { expect(@run_mode.var_dir).to eq(File.expand_path('/opt/puppetlabs/puppet/cache')) } -+ it "has vardir /usr/share/puppetlabs/puppet/cache when run as root" do -+ as_root { expect(@run_mode.var_dir).to eq(File.expand_path('/usr/share/puppetlabs/puppet/cache')) } - end - - it "has vardir ~/.puppetlabs/opt/puppet/cache when run as non-root" do diff --git a/gpgkey-6F6B15509CF8E59E6E469F327F438280EF8D349F.gpg b/gpgkey-6F6B15509CF8E59E6E469F327F438280EF8D349F.gpg new file mode 100644 index 0000000000000000000000000000000000000000..2d64c0c0522426e9941e659e37467c6429f5609b GIT binary patch literal 2259 zcmV;^2rT!R0u2OLwj(|P5CH0K|L0m{cImq!y)e!$s^0`l(Yx6ad^0m*A3>TaH3Pt*QZo5frQkc8ToQ2TAlWIjCjEPt?ciyS*zgyhiVcrZA!yQ~>y z@z}+HijVzE;X0|=7>gj_%+tMRf4>H&p~u+p6Y#=^X4!vhhcEs`F2SA#THxe=k41d-+FW=&An2`d$|49rXu?j(r^_#mRm-IEJTc)r5pmi6{a6i9b$@-JJCsP{~ z1n5XZY`43%>+v{u%+<22Qqn%se^UUm%N_O95!+f^EDV&Jj?{uD)b*MlvGd4C@aW~g zb1wIw&u6$w!6GU(JFP5~^3Gdj&4tyOBqUam#qzr8k&cI{&$W%zm@F*h+y}bcL7-3G zkj>EV&YPEI4GyScD`+Oq#nK1Fg95toOuUoJ6i4ApESij?K(IOvf_Y^)N)QBhTv^3d z7U@%tDqQ`?*Kdr4L!V@&Oc3TRFMY`=P)nZcjAP#$2~kpenLmS`O6mnP(oJvE&gpSd zKdzoMaa$6SC~1K-GJ&gN~f)_)7QBbJdW(!wM2%2#71UG*Sbony{Qsf zYxZM*7dws6-*CM~u9@Fp$2$%Qsk;pH=D8v-!z(1;-DZp;WNwNy)wpg|ceWH6AUN@J z0Feh^Q}LSa?O5r8#MUCZ<}Jj$uv580{hE3So2uu$NvTDO7aO?|*mhlZIqVDz<`*h7ZL*)zjdVKF)J>b0o{FdsY-BeU6)@oU0$n^lc z`^;FJh=6!Du=hPU!<8A@BqfSHr`1Zs8_0#GL85flC+-tNu!*VbYVRB)Zn#x>h~|(z z3&}lyW|aowVlKtnEJpO)EX7+tNu(0(v=3Zyrl#HZl-Nn93ws;)5dI;#F{_!16y4<$ zH2?sLnh8I{j~yi8-VQoe;T0;h+qGM2Q91qf+ zm;XVZ#y>!A4TvPq3wZ0dUQGu8EHKGc;Kj%!vjDY>dJ7rycb-lFl_@ z{SePd+4(D=DCa5eY-T2C`~s8U-Bc7qmIbKqBS;s6eXLuOFaZg~4QES~*cJi}_JGCT z@rRxTMto4O;6b;^Ej%7gZ4F%;h^I=*moei_lLG}&SpHAWY+UR1S5t;zWdIQY00D^t zB?K4&0ss#M0#~*pJ^~vI1qlge0e}Ds2@ronf`IRhG@or|5CFUye1r=1tJO4%p)$;v zJ+JZ|{;N>p>aByd7%8K_A-HjgtIIcW$@do$YlP(h2y8-GiPr$IFNB2~{ z$~1pQ1x)+?k*TNn94XnGdUtakop8FCwa*tTO0z6E zfEhME;#{}&qy(`Hg@s+u`=pkgptep|R;BU3+K`fICcJgF8%6EXP|}ydKP1C-s6m5h zd|s!bzbF+@K2U{aymvW=viG&|a+Msp3ky-^uu!&uVsRC55eGW~6J`fh*0}lYF$sS+ zQCxk`ib#URZcq{FiRblsJg9d4wK>Q5YR!$K zT6%iMR`||3&Nf~<%<~f&rV!FL`2PP@OMWeEkQOSDGf0-qXsBStpjG4Yz)_k_UUmOV zh4(3k94^5OhYNv4hjtJ32d?8smJok4$x@=>pDAtD$iqbfC4cSI`PXl)?U==X>tRAR hfE4%H4A8FqHR!7%WbcjmjGEjY1MAB=#}pFZ5@%{dH%tHk literal 0 HcmV?d00001 diff --git a/puppet-6.14.0.tar.gz.asc b/puppet-6.14.0.tar.gz.asc deleted file mode 100644 index f72b229..0000000 --- a/puppet-6.14.0.tar.gz.asc +++ /dev/null @@ -1,17 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v1 - -iQIcBAABCAAGBQJeZ+43AAoJEH9DgoDvjTSf7HwQAOi8xHp2Rs43/LW9Fe25oYrq -2xxnhYRHDpOhSVJqWy3kbcz7TxVGebn7kPSV6f2NS3bTtqgY4WendI12M+P1ASdX -FduoFPe3MyRqaHYT9SWK/plnwGaoQIV1Tn+YHXTFgrjciXcQBe6xUCxO5BqaWYoJ -C5utT7jVSlf81sqgqXJrpZa7HHJS8m0VJHg6fCsH0wWwlW1Cn7ar9sQB+XLbtOl/ -7IX9luJ+sGhmBf+mkvWkpAnvXhgf/f8pDI9EJfMi2TU924rce1oWhlk509tj5c/W -CASQhW9KctTWV6Krzuim6JYgtjRS0wi0ws1QpW19YpKneq5IqNpoNIG9WwfHfpyl -dNqoYLFKwgWuGmqIhBZeZTTW7Slx4rhhmIB2nYefFPaM/jOWsZGRtZDvhD4DUDVp -smBY6cnUGLmiGFwHjws/hWbBb9YbREIpjVe2wQviAxqoGAKKbg8WBec+DsP6tIjK -PJ7OtJFnFMNNMpU+oqbb/m034WSzbs6lELdLLZv7MEHIEbuGYyj3GCLGZ60EgcqA -gpT8J0w3xwMx9k7H4h9M3a0cKPeqE3RBA5JeCJ8nu2qVwhZJH5hcQOi9P4gYFoMv -XQq0GhnEGYWM94i2+LbZIrgfEkg0+neABCG85PiOiCdHwnrl5BeJ8fxzYWB2Mo97 -umScFXq8AOMc7qtUydVw -=tRG+ ------END PGP SIGNATURE----- diff --git a/puppet-6.17.0.tar.gz.asc b/puppet-6.17.0.tar.gz.asc new file mode 100644 index 0000000..b4622a4 --- /dev/null +++ b/puppet-6.17.0.tar.gz.asc @@ -0,0 +1,17 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1 + +iQIcBAABCAAGBQJfDdkxAAoJEH9DgoDvjTSfO2IQANITfYFTu4fpqJqiFS2H01wv +ZqjE035ncBNrJD0XQOZUqjhP4qsxgmn83xqXDeZcNkKNPWQu8622nZ6Jbkde++FA +R2JOWlt7KsaolU+iwRuI2WKPWrhyrYrpupF7U5/6YsBccPFlmMiw89VUfkfiNXoW +9t+DXWZxzOBhSaz+JZJE4GYEKXdIEbf6EtnaHUTYsb7JhYBKnW5CdRjJxxYZeORr +jP8jizIALEgd9K/uM2v0EcQWBl28Fks9FoHrvUejBEqNlKN6ZgGoDWccbbK9b1mC ++UilBkmo7VR24KaW3I6P6XDWDCaGco2Wa5/j38djkD6CB89VlI89ojjLOOX7/npo +zqlQfbES3UN7Ir1RO3/pAnoQjDIMdxMNJiDZbxrs+jLWAmG51YtRWdWZnn4nURaG +yqOxeMqrUCgE67N88qSDrOO0/4Eb+NPHkv9feJbqRHjJ9hIC+Yv4gbqHUwcXowIl +Sn9cGfOUZZsSVL2GQ1xnzfHk5/pEG1+Y6tc8BT/QHX0EqTBE9dC/P28NiM5loEgb +Y5Wgpsj2StRSZTkwrPYFqKXND6qIP3IIUqCPQKcynfX4hrKY7x+eb4/8/577wzPL +dh1F/JSJnuraYYIBLuK7f7FFPRfjMiKIN5NVHYWOqRRFEcN5prEJ41WuiiZ+KjS+ +BX8I9tAME+BQZTblybfq +=/Irk +-----END PGP SIGNATURE----- diff --git a/puppet.spec b/puppet.spec index d22f07c..61a2fec 100644 --- a/puppet.spec +++ b/puppet.spec @@ -2,50 +2,35 @@ %global puppet_libdir %{ruby_vendorlibdir} Name: puppet -Version: 6.14.0 +Version: 6.17.0 Release: 1%{?dist} -Summary: A network tool for managing many disparate systems +Summary: Network tool for managing many disparate systems License: ASL 2.0 -URL: http://puppetlabs.com -Source0: http://downloads.puppetlabs.com/puppet/%{name}-%{version}.tar.gz -Source1: http://downloads.puppetlabs.com/puppet/%{name}-%{version}.tar.gz.asc -Source2: https://forge.puppet.com/v3/files/puppetlabs-mount_core-1.0.3.tar.gz -Source3: https://forge.puppet.com/v3/files/puppetlabs-host_core-1.0.2.tar.gz -Source4: https://forge.puppet.com/v3/files/puppetlabs-augeas_core-1.0.4.tar.gz -Source5: https://forge.puppet.com/v3/files/puppetlabs-cron_core-1.0.3.tar.gz -Source6: https://forge.puppet.com/v3/files/puppetlabs-scheduled_task-2.0.1.tar.gz -Source7: https://forge.puppet.com/v3/files/puppetlabs-selinux_core-1.0.4.tar.gz -Source8: https://forge.puppet.com/v3/files/puppetlabs-sshkeys_core-2.0.0.tar.gz -Source9: https://forge.puppet.com/v3/files/puppetlabs-yumrepo_core-1.0.7.tar.gz -Source10: https://forge.puppet.com/v3/files/puppetlabs-zfs_core-1.0.5.tar.gz -Source11: https://forge.puppet.com/v3/files/puppetlabs-zone_core-1.0.3.tar.gz -Source12: puppet-nm-dispatcher.systemd -Source13: start-puppet-wrapper - -# Puppetlabs messed up with default paths -Patch01: 0001-Fix-puppet-paths.patch +URL: https://puppetlabs.com +Source0: https://downloads.puppetlabs.com/puppet/%{name}-%{version}.tar.gz +Source1: https://downloads.puppetlabs.com/puppet/%{name}-%{version}.tar.gz.asc +Source2: gpgkey-6F6B15509CF8E59E6E469F327F438280EF8D349F.gpg +Source3: https://forge.puppet.com/v3/files/puppetlabs-mount_core-1.0.4.tar.gz +Source4: https://forge.puppet.com/v3/files/puppetlabs-host_core-1.0.3.tar.gz +Source5: https://forge.puppet.com/v3/files/puppetlabs-augeas_core-1.0.5.tar.gz +Source6: https://forge.puppet.com/v3/files/puppetlabs-cron_core-1.0.4.tar.gz +Source7: https://forge.puppet.com/v3/files/puppetlabs-scheduled_task-2.2.1.tar.gz +Source8: https://forge.puppet.com/v3/files/puppetlabs-selinux_core-1.0.4.tar.gz +Source9: https://forge.puppet.com/v3/files/puppetlabs-sshkeys_core-2.1.0.tar.gz +Source10: https://forge.puppet.com/v3/files/puppetlabs-yumrepo_core-1.0.7.tar.gz +Source11: https://forge.puppet.com/v3/files/puppetlabs-zfs_core-1.1.0.tar.gz +Source12: https://forge.puppet.com/v3/files/puppetlabs-zone_core-1.0.3.tar.gz +Source13: puppet-nm-dispatcher.systemd +Source14: start-puppet-wrapper BuildArch: noarch # ruby-devel does not require the base package, but requires -libs instead BuildRequires: ruby BuildRequires: ruby-devel +BuildRequires: ruby-facter +BuildRequires: hiera BuildRequires: systemd -BuildRequires: git -BuildRequires: hiera >= 3.3.1 -BuildRequires: facter >= 3.9.6 -BuildRequires: facter-devel >= 3.9.6 -BuildRequires: ruby-facter >= 3.9.6 -BuildRequires: rubygem-semantic_puppet >= 1.0.2 -BuildRequires: rubygem-deep_merge -BuildRequires: rubygem-httpclient -BuildRequires: rubygem-multi_json -BuildRequires: ruby-augeas >= 0.5.0 -BuildRequires: augeas >= 1.10.1 -BuildRequires: augeas-libs >= 1.10.1 -BuildRequires: cpp-hocon >= 0.2.1 -BuildRequires: cpp-hocon-devel >= 0.2.1 -BuildRequires: rubygem-concurrent-ruby >= 1.0.5 Requires: hiera >= 3.3.1 Requires: facter >= 3.9.6 Requires: ruby-facter >= 3.9.6 @@ -59,10 +44,10 @@ Requires: augeas >= 1.10.1 Requires: augeas-libs >= 1.10.1 Requires: cpp-hocon >= 0.2.1 Requires: rubygem-concurrent-ruby >= 1.0.5 +Requires: ruby(selinux) libselinux-utils Obsoletes: puppet-headless < 6.0.0 Obsoletes: puppet-server < 6.0.0 Obsoletes: puppet < 6.0.0 -%{!?_without_selinux:Requires: ruby(selinux), libselinux-utils} %description Puppet lets you centrally manage every important aspect of your system using a @@ -71,22 +56,21 @@ normally aggregated in different files, like users, cron jobs, and hosts, along with obviously discrete elements like packages, services, and files. %prep -%autosetup -S git -%setup -D -b 2 puppetlabs-mount_core-1.0.3 -%setup -D -b 3 puppetlabs-host_core-1.0.2 -%setup -D -b 4 puppetlabs-augeas_core-1.0.4 -%setup -D -b 5 puppetlabs-cron_core-1.0.3 -%setup -D -b 6 puppetlabs-scheduled_task-2.0.1 -%setup -D -b 7 puppetlabs-selinux_core-1.0.4 -%setup -D -b 8 puppetlabs-sshkeys_core-2.0.0 -%setup -D -b 9 puppetlabs-yumrepo_core-1.0.7 -%setup -D -b 10 puppetlabs-zfs_core-1.0.5 -%setup -D -b 11 puppetlabs-zone_core-1.0.3 - -%patch01 -p1 - -%build -# Nothing to build +%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}' +%autosetup +cp -a %{sources} . +for f in puppetlabs-*.tar*; do + tar xvf $f +done +# Puppetlabs messed up with default paths +find -type f -exec \ + sed -i \ + -e 's|/opt/puppetlabs/puppet/bin|%{_bindir}|' \ + -e 's|/opt/puppetlabs/puppet/cache|%{_sharedstatedir}/puppet|' \ + -e 's|/opt/puppetlabs/puppet/share/locale|%{_datadir}/puppetlabs/puppet/locale|' \ + -e 's|/opt/puppetlabs/puppet/modules|%{_datadir}/puppetlabs/puppet/modules|' \ + -e 's|/opt/puppetlabs/puppet/vendor_modules|%{_datadir}/puppetlabs/puppet/vendor_modules|' \ + '{}' + %install ruby install.rb --destdir=%{buildroot} \ @@ -94,20 +78,15 @@ ruby install.rb --destdir=%{buildroot} \ --logdir=%{_localstatedir}/log/puppetlabs/puppet \ --rundir=%{_rundir}/puppet \ --localedir=%{_datadir}/puppetlabs/puppet/locale \ - --vardir=/var/lib/puppet \ + --vardir=%{_sharedstatedir}/puppet \ --sitelibdir=%{puppet_libdir} mkdir -p %{buildroot}/usr/share/puppetlabs/puppet/vendor_modules -mv %{_builddir}/puppetlabs-mount_core-1.0.3 %{buildroot}/usr/share/puppetlabs/puppet/vendor_modules/mount_core -mv %{_builddir}/puppetlabs-host_core-1.0.2 %{buildroot}/usr/share/puppetlabs/puppet/vendor_modules/host_core -mv %{_builddir}/puppetlabs-augeas_core-1.0.4 %{buildroot}/usr/share/puppetlabs/puppet/vendor_modules/augeas_core -mv %{_builddir}/puppetlabs-cron_core-1.0.3 %{buildroot}/usr/share/puppetlabs/puppet/vendor_modules/cron_core -mv %{_builddir}/puppetlabs-scheduled_task-2.0.1 %{buildroot}/usr/share/puppetlabs/puppet/vendor_modules/scheduled_task -mv %{_builddir}/puppetlabs-selinux_core-1.0.4 %{buildroot}/usr/share/puppetlabs/puppet/vendor_modules/selinux_core -mv %{_builddir}/puppetlabs-sshkeys_core-2.0.0 %{buildroot}/usr/share/puppetlabs/puppet/vendor_modules/sshkeys_core -mv %{_builddir}/puppetlabs-yumrepo_core-1.0.7 %{buildroot}/usr/share/puppetlabs/puppet/vendor_modules/yumrepo_core -mv %{_builddir}/puppetlabs-zfs_core-1.0.5 %{buildroot}/usr/share/puppetlabs/puppet/vendor_modules/zfs_core -mv %{_builddir}/puppetlabs-zone_core-1.0.3 %{buildroot}/usr/share/puppetlabs/puppet/vendor_modules/zone_core +for d in $(find -mindepth 1 -maxdepth 1 -type d -name 'puppetlabs-*'); do + modver=${d#*-} + mod=${modver%-*} + cp -a $d %{buildroot}%{_datadir}/puppetlabs/puppet/vendor_modules/$mod +done install -Dp -m0644 ext/redhat/logrotate %{buildroot}%{_sysconfdir}/logrotate.d/puppet @@ -115,7 +94,7 @@ install -Dp -m0644 ext/redhat/logrotate %{buildroot}%{_sysconfdir}/logrotate.d/p install -Dp -m0644 ext/systemd/puppet.service %{buildroot}%{_unitdir}/puppet.service ln -s %{_unitdir}/puppet.service %{buildroot}%{_unitdir}/puppetagent.service -install -Dpv -m0755 %{SOURCE12} \ +install -Dpv -m0755 %{SOURCE13} \ %{buildroot}%{nm_dispatcher_dir}/dispatcher.d/98-%{name} # Install the ext/ directory to %%{_datadir}/puppetlabs/%%{name} @@ -124,13 +103,13 @@ cp -a ext/ %{buildroot}%{_datadir}/puppetlabs/%{name} chmod 0755 %{buildroot}%{_datadir}/puppetlabs/%{name}/ext/regexp_nodes/regexp_nodes.rb # Install wrappers for SELinux -install -Dp -m0755 %{SOURCE13} %{buildroot}%{_bindir}/start-puppet-agent -sed -i 's|^ExecStart=.*/bin/puppet|ExecStart=/usr/bin/start-puppet-agent|' \ +install -Dp -m0755 %{SOURCE14} %{buildroot}%{_bindir}/start-puppet-agent +sed -i 's|^ExecStart=.*/bin/puppet|ExecStart=%{_bindir}/start-puppet-agent|' \ %{buildroot}%{_unitdir}/puppet.service # Setup tmpfiles.d config mkdir -p %{buildroot}%{_tmpfilesdir} -echo "D /run/%{name} 0755 %{name} %{name} -" > \ +echo "D %{_rundir}/%{name} 0755 %{name} %{name} -" > \ %{buildroot}%{_tmpfilesdir}/%{name}.conf # Unbundle @@ -138,9 +117,9 @@ echo "D /run/%{name} 0755 %{name} %{name} -" > \ # These mess-up with RPM automatic dependencies compute by adding # unnecessary deps like /sbin/runscripts # some other things were removed with the patch -rm -r %{buildroot}/usr/share/puppetlabs/puppet/ext/{debian,freebsd,gentoo,ips,osx,solaris,suse,windows} -rm %{buildroot}/usr/share/puppetlabs/puppet/ext/redhat/*.init -rm %{buildroot}/usr/share/puppetlabs/puppet/ext/{build_defaults.yaml,project_data.yaml} +rm -r %{buildroot}%{_datadir}/puppetlabs/puppet/ext/{debian,freebsd,gentoo,ips,osx,solaris,suse,windows} +rm %{buildroot}%{_datadir}/puppetlabs/puppet/ext/redhat/*.init +rm %{buildroot}%{_datadir}/puppetlabs/puppet/ext/{build_defaults.yaml,project_data.yaml} %files %attr(-, puppet, puppet) %{_localstatedir}/log/puppetlabs @@ -164,32 +143,32 @@ rm %{buildroot}/usr/share/puppetlabs/puppet/ext/{build_defaults.yaml,project_dat %{_datadir}/ruby/vendor_ruby/puppet_x.rb %{_sharedstatedir}/puppet %{_bindir}/puppet -%{_mandir}/man5/puppet.conf.5.gz -%{_mandir}/man8/puppet-plugin.8.gz -%{_mandir}/man8/puppet-report.8.gz -%{_mandir}/man8/puppet-resource.8.gz -%{_mandir}/man8/puppet-script.8.gz -%{_mandir}/man8/puppet-ssl.8.gz -%{_mandir}/man8/puppet-status.8.gz -%{_mandir}/man8/puppet-agent.8.gz -%{_mandir}/man8/puppet.8.gz -%{_mandir}/man8/puppet-apply.8.gz -%{_mandir}/man8/puppet-catalog.8.gz -%{_mandir}/man8/puppet-config.8.gz -%{_mandir}/man8/puppet-describe.8.gz -%{_mandir}/man8/puppet-device.8.gz -%{_mandir}/man8/puppet-doc.8.gz -%{_mandir}/man8/puppet-epp.8.gz -%{_mandir}/man8/puppet-facts.8.gz -%{_mandir}/man8/puppet-filebucket.8.gz -%{_mandir}/man8/puppet-generate.8.gz -%{_mandir}/man8/puppet-help.8.gz -%{_mandir}/man8/puppet-key.8.gz -%{_mandir}/man8/puppet-lookup.8.gz -%{_mandir}/man8/puppet-man.8.gz -%{_mandir}/man8/puppet-module.8.gz -%{_mandir}/man8/puppet-node.8.gz -%{_mandir}/man8/puppet-parser.8.gz +%{_mandir}/man5/puppet.conf.5* +%{_mandir}/man8/puppet-plugin.8* +%{_mandir}/man8/puppet-report.8* +%{_mandir}/man8/puppet-resource.8* +%{_mandir}/man8/puppet-script.8* +%{_mandir}/man8/puppet-ssl.8* +%{_mandir}/man8/puppet-status.8* +%{_mandir}/man8/puppet-agent.8* +%{_mandir}/man8/puppet.8* +%{_mandir}/man8/puppet-apply.8* +%{_mandir}/man8/puppet-catalog.8* +%{_mandir}/man8/puppet-config.8* +%{_mandir}/man8/puppet-describe.8* +%{_mandir}/man8/puppet-device.8* +%{_mandir}/man8/puppet-doc.8* +%{_mandir}/man8/puppet-epp.8* +%{_mandir}/man8/puppet-facts.8* +%{_mandir}/man8/puppet-filebucket.8* +%{_mandir}/man8/puppet-generate.8* +%{_mandir}/man8/puppet-help.8* +%{_mandir}/man8/puppet-key.8* +%{_mandir}/man8/puppet-lookup.8* +%{_mandir}/man8/puppet-man.8* +%{_mandir}/man8/puppet-module.8* +%{_mandir}/man8/puppet-node.8* +%{_mandir}/man8/puppet-parser.8* %config(noreplace) %attr(-, puppet, puppet) %dir %{_sysconfdir}/puppetlabs %config(noreplace) %attr(-, puppet, puppet) %dir %{_sysconfdir}/puppetlabs/puppet @@ -199,7 +178,7 @@ rm %{buildroot}/usr/share/puppetlabs/puppet/ext/{build_defaults.yaml,project_dat %config(noreplace) %attr(644, puppet, puppet) %{_sysconfdir}/puppetlabs/puppet/hiera.yaml %config(noreplace) %attr(644, root, root) %{_sysconfdir}/logrotate.d/%{name} -%ghost %attr(755, puppet, puppet) %{_rundir}/puppetlabs +%ghost %attr(755, puppet, puppet) %{_rundir}/%{name} %pre getent group puppet &>/dev/null || groupadd -r puppet -g 52 &>/dev/null @@ -209,9 +188,17 @@ useradd -r -u 52 -g puppet -d /usr/local/puppetlabs -s /sbin/nologin \ %post %systemd_post puppet.service + +%postun %systemd_postun_with_restart puppet.service %changelog +* Fri Aug 28 2020 Igor Raits - 6.17.0-1 +- Update to 6.17.0 +- Verify GPG key of the main tarball +- Drop unneeded BuildRequires +- Trivial fixes in packaging + * Mon Jul 13 2020 Breno Brand Fernandes - 6.14.0-1 - Build of puppet 6. diff --git a/sources b/sources index cbd5162..67087c3 100644 --- a/sources +++ b/sources @@ -1,11 +1,11 @@ -SHA512 (puppet-6.14.0.tar.gz) = 066ad8de6393cb58b1f92fae450dc72dabcbe912cdbb3417848a66955fe17696a68abf67d86b107a2b1c54e7037d38da7264a9234a8833b56065c8e407ff57a4 -SHA512 (puppetlabs-augeas_core-1.0.4.tar.gz) = b40d9fcfb7afa5143ed4b715a326939635bc9fa1c243b66c9e4341e3a6a90f7ff34b4cb27dd8040e1b027fbe350f8cd69db9dee1628c8fcb96e978c4eae97da0 -SHA512 (puppetlabs-cron_core-1.0.3.tar.gz) = c305ee2e6c9f97956ad1107076ae0a37a307ab577bbc8270ad833c6dd845dcb44685cde1726709ebaac2f7a8bcd257728429d02a84405803b08222799b2ea6b8 -SHA512 (puppetlabs-host_core-1.0.2.tar.gz) = 3e79eef4de5635ab0d5f9407345a832fad669fbc0b28ecfae11a79162ad9a3561394db70bd4a93d7c210159577f6455aca9889e0f110c94a38bbe981047fef74 -SHA512 (puppetlabs-mount_core-1.0.3.tar.gz) = 61ffc116fb22c03f79a7c4abe1679cb2f90577c7e6403b1cb6f7acbd2eff7b89bcd6906c71c9faa9b9df4ee8fe1c7077b99ff918454059f4c15509509d1611e7 -SHA512 (puppetlabs-scheduled_task-2.0.1.tar.gz) = aea50e3636b3091aff4cc4890d78a081035c10d9cbf99a42bbb509d3edbd32463b582a0d701f1771070d9fe4b3dfb5e93acbe37bdb0bd92b984ffa16a913e257 +SHA512 (puppet-6.17.0.tar.gz) = 2ebf31cce1dcc4ce0bf9403f56d3f97a41a4014111be1f27e340de8e4db157549bc4609068ee6396be3c88ff1a93b40792692a5b01140fa66a1f5a82453ba1d1 +SHA512 (puppetlabs-augeas_core-1.0.5.tar.gz) = 3f648472b0bc39eff78b9be8f4f6ff466144710c34e1180f1a0e8072fd2b9df9261459a00c954920abe3815ae438428be66d80d15e64aabce501084634eeef31 +SHA512 (puppetlabs-cron_core-1.0.4.tar.gz) = bdeab644f8f6084dcb8331edb207f5634672e512bf3573d85bb5eadcb979f83da7fb5ccbec150383d903bced3d0f05a7c20d4394abc2c479e194cff6646cb0ee +SHA512 (puppetlabs-host_core-1.0.3.tar.gz) = 09b4084663f4f6886380a473d26d1b759026f345bd3850084ac4f3ef59ed8ab2396fecdb3c836591d9097b9c5252ba794c4b7d3296b8321ff401f8a956ad093c +SHA512 (puppetlabs-mount_core-1.0.4.tar.gz) = 07aaae0c1176ffe098647094f2c7d9ea975288b52965af9dcc2aab043d65c20424bd6698988af540e4b1eb1852eaf3ceec9c71a6e08642f103370f5679d9206f +SHA512 (puppetlabs-scheduled_task-2.2.1.tar.gz) = a7d0860e28971167c3560a997e18d8ca7a528aa5ce9331645ff67eb021d5262964d7f735cf657227b8b680a930a79b50afc07324272b760866663f593851289a SHA512 (puppetlabs-selinux_core-1.0.4.tar.gz) = 600bef04791bd5bb9a46a5397af6e5ed5937b0e271cb312ef64db6bb93c85acf5c6df6ab53a7999ce7609a7b7ea8c299f37cb6d44dfa2c48b3456ca893be6876 -SHA512 (puppetlabs-sshkeys_core-2.0.0.tar.gz) = 5e256294f0f38b2f493b5894144ae05259589f1a9b1592581447d7ff6e868458e6a4890a726748c54cb87d524570c69fa29aa9ce7220e670a5f3c5fb0bfcaf53 +SHA512 (puppetlabs-sshkeys_core-2.1.0.tar.gz) = acc9877bcb076376f0c2184b19f3b79e042506d663e2ffaccf226bbd2025e57a5c718214ed920c8c4dbb0ad3fbf167073137e816898ac3ea93c859cbd7542f1f SHA512 (puppetlabs-yumrepo_core-1.0.7.tar.gz) = 8fb3cb40077ac113c332a761c01c1d7ce4bdfff1016be696efb41be20c86ff688b40b83c00a47394d79e64941cf6c23ea4bbd1107b4c7856d1b481733cb2d7ce -SHA512 (puppetlabs-zfs_core-1.0.5.tar.gz) = e87afd7ed5bfa9bee6bc50477992dd5e7f1614095af6506e5643919ac7e35f613e4edf4fdb69cbe17dd8a84a5df28e33189efb97de098ba0d5e9f42def186132 +SHA512 (puppetlabs-zfs_core-1.1.0.tar.gz) = cda1fcc55a54b4690c81edadf6c62e849db80b5f09a5310cdd9b82d0cef374432c2c62b98e5c8e8cc2bbb8d22007ddb3694b88208658ff303fdd608a76c15e0b SHA512 (puppetlabs-zone_core-1.0.3.tar.gz) = 1083bcc810e8a7b048fad1c70656d806c65b5fa912c627bf1dfaf3b9d8a0ec675db100abc2fc6499669c17927ea3e55a5c968fde0e577fc1f4cebb1fbd5e0851 From b23dbcfd58ac455e6fb2506d0dbd6798872988ba Mon Sep 17 00:00:00 2001 From: Igor Raits Date: Fri, 28 Aug 2020 18:00:58 +0200 Subject: [PATCH 218/272] Add dependency on rubygem-json It is actually mandatory dependency from the util/json.rb. Signed-off-by: Igor Raits --- puppet.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/puppet.spec b/puppet.spec index 61a2fec..31acbb0 100644 --- a/puppet.spec +++ b/puppet.spec @@ -39,6 +39,7 @@ Requires: rubygem-puppet-resource_api Requires: rubygem-deep_merge Requires: rubygem-httpclient Requires: rubygem-multi_json +Requires: rubygem-json Requires: ruby-augeas >= 0.5.0 Requires: augeas >= 1.10.1 Requires: augeas-libs >= 1.10.1 From e0bf460885227db2ba631876362ad1ae36ae7dce Mon Sep 17 00:00:00 2001 From: Igor Raits Date: Sat, 26 Sep 2020 08:49:06 +0200 Subject: [PATCH 219/272] Update to 6.18.0 Signed-off-by: Igor Raits --- .gitignore | 1 + puppet-6.17.0.tar.gz.asc | 17 ----------------- puppet-6.18.0.tar.gz.asc | 17 +++++++++++++++++ puppet.spec | 5 ++++- sources | 2 +- 5 files changed, 23 insertions(+), 19 deletions(-) delete mode 100644 puppet-6.17.0.tar.gz.asc create mode 100644 puppet-6.18.0.tar.gz.asc diff --git a/.gitignore b/.gitignore index 4a88c46..576d609 100644 --- a/.gitignore +++ b/.gitignore @@ -17,3 +17,4 @@ /puppetlabs-scheduled_task-2.2.1.tar.gz /puppetlabs-sshkeys_core-2.1.0.tar.gz /puppetlabs-zfs_core-1.1.0.tar.gz +/puppet-6.18.0.tar.gz diff --git a/puppet-6.17.0.tar.gz.asc b/puppet-6.17.0.tar.gz.asc deleted file mode 100644 index b4622a4..0000000 --- a/puppet-6.17.0.tar.gz.asc +++ /dev/null @@ -1,17 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v1 - -iQIcBAABCAAGBQJfDdkxAAoJEH9DgoDvjTSfO2IQANITfYFTu4fpqJqiFS2H01wv -ZqjE035ncBNrJD0XQOZUqjhP4qsxgmn83xqXDeZcNkKNPWQu8622nZ6Jbkde++FA -R2JOWlt7KsaolU+iwRuI2WKPWrhyrYrpupF7U5/6YsBccPFlmMiw89VUfkfiNXoW -9t+DXWZxzOBhSaz+JZJE4GYEKXdIEbf6EtnaHUTYsb7JhYBKnW5CdRjJxxYZeORr -jP8jizIALEgd9K/uM2v0EcQWBl28Fks9FoHrvUejBEqNlKN6ZgGoDWccbbK9b1mC -+UilBkmo7VR24KaW3I6P6XDWDCaGco2Wa5/j38djkD6CB89VlI89ojjLOOX7/npo -zqlQfbES3UN7Ir1RO3/pAnoQjDIMdxMNJiDZbxrs+jLWAmG51YtRWdWZnn4nURaG -yqOxeMqrUCgE67N88qSDrOO0/4Eb+NPHkv9feJbqRHjJ9hIC+Yv4gbqHUwcXowIl -Sn9cGfOUZZsSVL2GQ1xnzfHk5/pEG1+Y6tc8BT/QHX0EqTBE9dC/P28NiM5loEgb -Y5Wgpsj2StRSZTkwrPYFqKXND6qIP3IIUqCPQKcynfX4hrKY7x+eb4/8/577wzPL -dh1F/JSJnuraYYIBLuK7f7FFPRfjMiKIN5NVHYWOqRRFEcN5prEJ41WuiiZ+KjS+ -BX8I9tAME+BQZTblybfq -=/Irk ------END PGP SIGNATURE----- diff --git a/puppet-6.18.0.tar.gz.asc b/puppet-6.18.0.tar.gz.asc new file mode 100644 index 0000000..ce14dad --- /dev/null +++ b/puppet-6.18.0.tar.gz.asc @@ -0,0 +1,17 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1 + +iQIcBAABCAAGBQJfRThMAAoJEH9DgoDvjTSfthIQANF3fnJxe6I3s2lpbkZBCxbd +JlVI3e3enz+yXcTc/eqxoQ1sAskK8Skgc60bG6L9bH5HkAGsSEL05lYZ7/1Tjctv +TmrRc0tLNkHlzTRJc69qtvnskPvdRG/By3ylGLY+7Qrg8QWswZ4sjMC/4SJpDfrE +KGEfNWIIwOmO5nDNtytMrcQAgKD5WLv61LR00bpD0KtL9uQGscomSaHllZJmWC9P +tDaxsJ34dsHUcKwXP0jHogYNnNe6JfTxYOfYk+4cAmtTYslU3/LEKyYBs/W9tKhX +dD0NBY6EGiuTlA6t/gQ0j9VhMeZMShgaPiDnfz9CX6Y5vK2DKRAgYn/OTzmni8xq +1Nw/KH24bQdKeHDhz/vdaHcCE3wzNLamiZo5HQmSnbE2s1T434nHE6xHLYAWQzcq +xbAxJybUnH35vnFYfvDeUc4eQ8FfjF/lmY9xePr3wMFdA1gEoY3UJBIcIAhvcUcO +XqW0OOxc19L/t8dgGI658aHepw+8aSbuSWUaiGEskjw6MXKkg7N5p9laAEyP4rBz +IK5jX70uIsYpJGEyPwV2MgwCcDEbd3NMH1EgCym352HXaYQ7iWnR8JVsB8T5k5We +PAEOOSiPLBgs/mbOCB9hOVLOLQ4OrlRGB4zpdbthypQY/vnwL9XiBB5i3ezJy7/h +vvnzkBecaI3fISSsRZyO +=CnED +-----END PGP SIGNATURE----- diff --git a/puppet.spec b/puppet.spec index 31acbb0..cd58e49 100644 --- a/puppet.spec +++ b/puppet.spec @@ -2,7 +2,7 @@ %global puppet_libdir %{ruby_vendorlibdir} Name: puppet -Version: 6.17.0 +Version: 6.18.0 Release: 1%{?dist} Summary: Network tool for managing many disparate systems License: ASL 2.0 @@ -195,6 +195,9 @@ useradd -r -u 52 -g puppet -d /usr/local/puppetlabs -s /sbin/nologin \ %changelog +* Sat Sep 26 2020 Igor Raits - 6.18.0-1 +- Update to 6.18.0 + * Fri Aug 28 2020 Igor Raits - 6.17.0-1 - Update to 6.17.0 - Verify GPG key of the main tarball diff --git a/sources b/sources index 67087c3..bdd2dbb 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (puppet-6.17.0.tar.gz) = 2ebf31cce1dcc4ce0bf9403f56d3f97a41a4014111be1f27e340de8e4db157549bc4609068ee6396be3c88ff1a93b40792692a5b01140fa66a1f5a82453ba1d1 +SHA512 (puppet-6.18.0.tar.gz) = a14994aea502fbc78219967e2d711952b580df1e7befeab2d254a73f28036c6c7923d167a20bc61c9abe76000f93dcd3cba92b3353540e2a26fc27b10b06efe1 SHA512 (puppetlabs-augeas_core-1.0.5.tar.gz) = 3f648472b0bc39eff78b9be8f4f6ff466144710c34e1180f1a0e8072fd2b9df9261459a00c954920abe3815ae438428be66d80d15e64aabce501084634eeef31 SHA512 (puppetlabs-cron_core-1.0.4.tar.gz) = bdeab644f8f6084dcb8331edb207f5634672e512bf3573d85bb5eadcb979f83da7fb5ccbec150383d903bced3d0f05a7c20d4394abc2c479e194cff6646cb0ee SHA512 (puppetlabs-host_core-1.0.3.tar.gz) = 09b4084663f4f6886380a473d26d1b759026f345bd3850084ac4f3ef59ed8ab2396fecdb3c836591d9097b9c5252ba794c4b7d3296b8321ff401f8a956ad093c From 6a8f1776b74a60cf85bacd36bfbb00f6bdd3f7df Mon Sep 17 00:00:00 2001 From: Igor Raits Date: Thu, 22 Oct 2020 10:40:31 +0200 Subject: [PATCH 220/272] Update to 6.19.0 Signed-off-by: Igor Raits --- .gitignore | 3 +++ puppet-6.18.0.tar.gz.asc | 17 ----------------- puppet-6.19.0.tar.gz.asc | 17 +++++++++++++++++ puppet.spec | 9 ++++++--- sources | 6 +++--- 5 files changed, 29 insertions(+), 23 deletions(-) delete mode 100644 puppet-6.18.0.tar.gz.asc create mode 100644 puppet-6.19.0.tar.gz.asc diff --git a/.gitignore b/.gitignore index 576d609..7f2ba30 100644 --- a/.gitignore +++ b/.gitignore @@ -18,3 +18,6 @@ /puppetlabs-sshkeys_core-2.1.0.tar.gz /puppetlabs-zfs_core-1.1.0.tar.gz /puppet-6.18.0.tar.gz +/puppet-6.19.0.tar.gz +/puppetlabs-augeas_core-1.1.1.tar.gz +/puppetlabs-sshkeys_core-2.2.0.tar.gz diff --git a/puppet-6.18.0.tar.gz.asc b/puppet-6.18.0.tar.gz.asc deleted file mode 100644 index ce14dad..0000000 --- a/puppet-6.18.0.tar.gz.asc +++ /dev/null @@ -1,17 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v1 - -iQIcBAABCAAGBQJfRThMAAoJEH9DgoDvjTSfthIQANF3fnJxe6I3s2lpbkZBCxbd -JlVI3e3enz+yXcTc/eqxoQ1sAskK8Skgc60bG6L9bH5HkAGsSEL05lYZ7/1Tjctv -TmrRc0tLNkHlzTRJc69qtvnskPvdRG/By3ylGLY+7Qrg8QWswZ4sjMC/4SJpDfrE -KGEfNWIIwOmO5nDNtytMrcQAgKD5WLv61LR00bpD0KtL9uQGscomSaHllZJmWC9P -tDaxsJ34dsHUcKwXP0jHogYNnNe6JfTxYOfYk+4cAmtTYslU3/LEKyYBs/W9tKhX -dD0NBY6EGiuTlA6t/gQ0j9VhMeZMShgaPiDnfz9CX6Y5vK2DKRAgYn/OTzmni8xq -1Nw/KH24bQdKeHDhz/vdaHcCE3wzNLamiZo5HQmSnbE2s1T434nHE6xHLYAWQzcq -xbAxJybUnH35vnFYfvDeUc4eQ8FfjF/lmY9xePr3wMFdA1gEoY3UJBIcIAhvcUcO -XqW0OOxc19L/t8dgGI658aHepw+8aSbuSWUaiGEskjw6MXKkg7N5p9laAEyP4rBz -IK5jX70uIsYpJGEyPwV2MgwCcDEbd3NMH1EgCym352HXaYQ7iWnR8JVsB8T5k5We -PAEOOSiPLBgs/mbOCB9hOVLOLQ4OrlRGB4zpdbthypQY/vnwL9XiBB5i3ezJy7/h -vvnzkBecaI3fISSsRZyO -=CnED ------END PGP SIGNATURE----- diff --git a/puppet-6.19.0.tar.gz.asc b/puppet-6.19.0.tar.gz.asc new file mode 100644 index 0000000..eb70f9d --- /dev/null +++ b/puppet-6.19.0.tar.gz.asc @@ -0,0 +1,17 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1 + +iQIcBAABCAAGBQJfjxxrAAoJEH9DgoDvjTSf1XkP/ijzAjlw2C5PATRWpT0Zgg03 +IqGUkqHQX8ZFRDywypYlZlSLKChreF6jGBWWuiH3i6Bg+rnIU4JvpOX2VN1lVeo7 +XLqlKuL8fIrp6oeqO+0ejnGWbFPJtqddV/nLavU3VV7YO/ujrk02ACoQnZDOx7Z2 +V/Eb9akwUH7cMf+c/x54sC0fwHpXtT6DIAJiH9N6pZurad6lqwYxRLlyawlW0qQi +BlW63JzW2aZRV2gGbWAouLZKFc6G2Q9MwdhK4NLKzrzbWeXla8fhFKFmK3JbXF/d +GReeF2UWplVhWYx85bFVWpdORoN6mrk5ng8K5Eq8+63wFLgaPFFu/fNlTk9UYZh/ +UNGGUdAd26TdW9fnIeW/Qh5GmW1dPusNBA2zEZ/oygVqv6tuZg2ZXf27t//L7RLY +/S9czEZmff6QONcY/Gcigvt4fr/bpJqQAQwr+PW52lV1WqNKrtCI9CuTxODlkEjx +creVvp7/fIGq1Y4o1NvwzMRDH8lHfX497OSeY5ahJTZpqQRKcIv7QawVdELJIC5B +338R7tirIhJjBdeFndfr3M6SO4Qzi7SwnMz0LAscsy7Z0PAxn/nfe4f5P5RaEkpA +d7lvP4GOc3x7k/IclEXpnSJS9T4/pHhcYwd7/PFCih8cwTkPq539HgyslziYUPPF +r/l/AyQGB+zKrkfgrw7R +=/v0J +-----END PGP SIGNATURE----- diff --git a/puppet.spec b/puppet.spec index cd58e49..8b8c4f4 100644 --- a/puppet.spec +++ b/puppet.spec @@ -2,7 +2,7 @@ %global puppet_libdir %{ruby_vendorlibdir} Name: puppet -Version: 6.18.0 +Version: 6.19.0 Release: 1%{?dist} Summary: Network tool for managing many disparate systems License: ASL 2.0 @@ -12,11 +12,11 @@ Source1: https://downloads.puppetlabs.com/puppet/%{name}-%{version}.tar.g Source2: gpgkey-6F6B15509CF8E59E6E469F327F438280EF8D349F.gpg Source3: https://forge.puppet.com/v3/files/puppetlabs-mount_core-1.0.4.tar.gz Source4: https://forge.puppet.com/v3/files/puppetlabs-host_core-1.0.3.tar.gz -Source5: https://forge.puppet.com/v3/files/puppetlabs-augeas_core-1.0.5.tar.gz +Source5: https://forge.puppet.com/v3/files/puppetlabs-augeas_core-1.1.1.tar.gz Source6: https://forge.puppet.com/v3/files/puppetlabs-cron_core-1.0.4.tar.gz Source7: https://forge.puppet.com/v3/files/puppetlabs-scheduled_task-2.2.1.tar.gz Source8: https://forge.puppet.com/v3/files/puppetlabs-selinux_core-1.0.4.tar.gz -Source9: https://forge.puppet.com/v3/files/puppetlabs-sshkeys_core-2.1.0.tar.gz +Source9: https://forge.puppet.com/v3/files/puppetlabs-sshkeys_core-2.2.0.tar.gz Source10: https://forge.puppet.com/v3/files/puppetlabs-yumrepo_core-1.0.7.tar.gz Source11: https://forge.puppet.com/v3/files/puppetlabs-zfs_core-1.1.0.tar.gz Source12: https://forge.puppet.com/v3/files/puppetlabs-zone_core-1.0.3.tar.gz @@ -195,6 +195,9 @@ useradd -r -u 52 -g puppet -d /usr/local/puppetlabs -s /sbin/nologin \ %changelog +* Thu Oct 22 2020 Igor Raits - 6.19.0-1 +- Update to 6.19.0 + * Sat Sep 26 2020 Igor Raits - 6.18.0-1 - Update to 6.18.0 diff --git a/sources b/sources index bdd2dbb..a541611 100644 --- a/sources +++ b/sources @@ -1,11 +1,11 @@ -SHA512 (puppet-6.18.0.tar.gz) = a14994aea502fbc78219967e2d711952b580df1e7befeab2d254a73f28036c6c7923d167a20bc61c9abe76000f93dcd3cba92b3353540e2a26fc27b10b06efe1 -SHA512 (puppetlabs-augeas_core-1.0.5.tar.gz) = 3f648472b0bc39eff78b9be8f4f6ff466144710c34e1180f1a0e8072fd2b9df9261459a00c954920abe3815ae438428be66d80d15e64aabce501084634eeef31 +SHA512 (puppet-6.19.0.tar.gz) = 88f9731e435234d74aba6b46793d44be6e97848b4365cae1b02641102dc2e1638b8912404912ebd2e49a9fe0f6c88fa06c3c4a22c91ff5ecc45a9bec386d357e +SHA512 (puppetlabs-augeas_core-1.1.1.tar.gz) = 19e312da6b1accb74b772cb2d0a19dfa29d93cf03173bbf3c58e1def46ed352dd7c0618e0420b28a09607412ba87144ef3f2afc1cdedbe93f227b39bc4e290ac SHA512 (puppetlabs-cron_core-1.0.4.tar.gz) = bdeab644f8f6084dcb8331edb207f5634672e512bf3573d85bb5eadcb979f83da7fb5ccbec150383d903bced3d0f05a7c20d4394abc2c479e194cff6646cb0ee SHA512 (puppetlabs-host_core-1.0.3.tar.gz) = 09b4084663f4f6886380a473d26d1b759026f345bd3850084ac4f3ef59ed8ab2396fecdb3c836591d9097b9c5252ba794c4b7d3296b8321ff401f8a956ad093c SHA512 (puppetlabs-mount_core-1.0.4.tar.gz) = 07aaae0c1176ffe098647094f2c7d9ea975288b52965af9dcc2aab043d65c20424bd6698988af540e4b1eb1852eaf3ceec9c71a6e08642f103370f5679d9206f SHA512 (puppetlabs-scheduled_task-2.2.1.tar.gz) = a7d0860e28971167c3560a997e18d8ca7a528aa5ce9331645ff67eb021d5262964d7f735cf657227b8b680a930a79b50afc07324272b760866663f593851289a SHA512 (puppetlabs-selinux_core-1.0.4.tar.gz) = 600bef04791bd5bb9a46a5397af6e5ed5937b0e271cb312ef64db6bb93c85acf5c6df6ab53a7999ce7609a7b7ea8c299f37cb6d44dfa2c48b3456ca893be6876 -SHA512 (puppetlabs-sshkeys_core-2.1.0.tar.gz) = acc9877bcb076376f0c2184b19f3b79e042506d663e2ffaccf226bbd2025e57a5c718214ed920c8c4dbb0ad3fbf167073137e816898ac3ea93c859cbd7542f1f +SHA512 (puppetlabs-sshkeys_core-2.2.0.tar.gz) = 933d7a41f94aa499805dfd260ee52791400163f47135920ffed6294978805ef9db8f7edc2ad28c60a00a23f566143565a4e8cf52929020a400feff91c04db68b SHA512 (puppetlabs-yumrepo_core-1.0.7.tar.gz) = 8fb3cb40077ac113c332a761c01c1d7ce4bdfff1016be696efb41be20c86ff688b40b83c00a47394d79e64941cf6c23ea4bbd1107b4c7856d1b481733cb2d7ce SHA512 (puppetlabs-zfs_core-1.1.0.tar.gz) = cda1fcc55a54b4690c81edadf6c62e849db80b5f09a5310cdd9b82d0cef374432c2c62b98e5c8e8cc2bbb8d22007ddb3694b88208658ff303fdd608a76c15e0b SHA512 (puppetlabs-zone_core-1.0.3.tar.gz) = 1083bcc810e8a7b048fad1c70656d806c65b5fa912c627bf1dfaf3b9d8a0ec675db100abc2fc6499669c17927ea3e55a5c968fde0e577fc1f4cebb1fbd5e0851 From e8e5fc2c0d9a7399108bab7f0e2d917a71447c63 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 27 Jan 2021 08:45:16 +0000 Subject: [PATCH 221/272] - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- puppet.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/puppet.spec b/puppet.spec index 2f66584..4b3c243 100644 --- a/puppet.spec +++ b/puppet.spec @@ -31,7 +31,7 @@ Name: puppet Version: 5.5.20 -Release: 2%{?dist} +Release: 3%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 URL: http://puppetlabs.com @@ -390,6 +390,9 @@ fi exit 0 %changelog +* Wed Jan 27 2021 Fedora Release Engineering - 5.5.20-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + * Tue Jul 28 2020 Fedora Release Engineering - 5.5.20-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild From a95697f47f807e3f721ff854b446abf985d380df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Tue, 2 Mar 2021 16:12:58 +0100 Subject: [PATCH 222/272] Rebuilt for updated systemd-rpm-macros See https://pagure.io/fesco/issue/2583. --- puppet.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/puppet.spec b/puppet.spec index 4b3c243..1073d92 100644 --- a/puppet.spec +++ b/puppet.spec @@ -31,7 +31,7 @@ Name: puppet Version: 5.5.20 -Release: 3%{?dist} +Release: 4%{?dist} Summary: A network tool for managing many disparate systems License: ASL 2.0 URL: http://puppetlabs.com @@ -390,6 +390,10 @@ fi exit 0 %changelog +* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek - 5.5.20-4 +- Rebuilt for updated systemd-rpm-macros + See https://pagure.io/fesco/issue/2583. + * Wed Jan 27 2021 Fedora Release Engineering - 5.5.20-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild From 4ecda1c3d8af205f2693b88f1c2e4ee9542fcb99 Mon Sep 17 00:00:00 2001 From: Breno Brand Fernandes Date: Thu, 1 Jul 2021 09:27:07 -0400 Subject: [PATCH 223/272] Puppet 7.7 build -- ruby 3 --- 0001-Fix-puppet-paths.patch | 58 -- ...rt-maint-Remove-puppetmaster.service.patch | 46 -- ...lease-restrictions-from-DNF-provider.patch | 24 - RPM-GPG-KEY-puppet-20250406 | 31 ++ puppet-5.5.18-ruby-27.patch | 17 - puppet-5.5.18-sync.patch | 20 - puppet.spec | 502 ++++++------------ sources | 14 +- 8 files changed, 197 insertions(+), 515 deletions(-) delete mode 100644 0001-Fix-puppet-paths.patch delete mode 100644 0002-Revert-maint-Remove-puppetmaster.service.patch delete mode 100644 0003-Remove-Fedora-release-restrictions-from-DNF-provider.patch create mode 100644 RPM-GPG-KEY-puppet-20250406 delete mode 100644 puppet-5.5.18-ruby-27.patch delete mode 100644 puppet-5.5.18-sync.patch diff --git a/0001-Fix-puppet-paths.patch b/0001-Fix-puppet-paths.patch deleted file mode 100644 index 6034a89..0000000 --- a/0001-Fix-puppet-paths.patch +++ /dev/null @@ -1,58 +0,0 @@ -From 88c57975f8b3832688b00afc4f41b6dd87153ec2 Mon Sep 17 00:00:00 2001 -From: Lucien Weller -Date: Wed, 11 Sep 2019 23:30:38 +0200 -Subject: [PATCH 1/5] Fix-puppet-paths - ---- - lib/puppet/provider/package/puppet_gem.rb | 2 +- - lib/puppet/util/run_mode.rb | 10 +++++----- - 2 files changed, 6 insertions(+), 6 deletions(-) - -diff --git a/lib/puppet/provider/package/puppet_gem.rb b/lib/puppet/provider/package/puppet_gem.rb -index 8d876a0..86752b7 100644 ---- a/lib/puppet/provider/package/puppet_gem.rb -+++ b/lib/puppet/provider/package/puppet_gem.rb -@@ -12,6 +12,6 @@ Puppet::Type.type(:package).provide :puppet_gem, :parent => :gem do - # sort out the absolute path. - commands :gemcmd => "gem" - else -- commands :gemcmd => "/opt/puppetlabs/puppet/bin/gem" -+ commands :gemcmd => "/usr/bin/gem" - end - end -diff --git a/lib/puppet/util/run_mode.rb b/lib/puppet/util/run_mode.rb -index cf6c461..777156a 100644 ---- a/lib/puppet/util/run_mode.rb -+++ b/lib/puppet/util/run_mode.rb -@@ -59,23 +59,23 @@ module Puppet - - class UnixRunMode < RunMode - def conf_dir -- which_dir("/etc/puppetlabs/puppet", "~/.puppetlabs/etc/puppet") -+ which_dir("/etc/puppet", "~/.puppet") - end - - def code_dir -- which_dir("/etc/puppetlabs/code", "~/.puppetlabs/etc/code") -+ which_dir("/etc/puppet", "~/.puppet/code") - end - - def var_dir -- which_dir("/opt/puppetlabs/puppet/cache", "~/.puppetlabs/opt/puppet/cache") -+ which_dir("/var/lib/puppet", "~/.puppet/cache") - end - - def run_dir -- which_dir("/var/run/puppetlabs", "~/.puppetlabs/var/run") -+ which_dir("/run/puppet", "~/.puppet/var/run") - end - - def log_dir -- which_dir("/var/log/puppetlabs/puppet", "~/.puppetlabs/var/log") -+ which_dir("/var/log/puppet", "~/.puppet/var/log") - end - end - --- -2.20.1 - diff --git a/0002-Revert-maint-Remove-puppetmaster.service.patch b/0002-Revert-maint-Remove-puppetmaster.service.patch deleted file mode 100644 index 365e21f..0000000 --- a/0002-Revert-maint-Remove-puppetmaster.service.patch +++ /dev/null @@ -1,46 +0,0 @@ -From f54a22b96e9e631991bad095a7b321273a2e6e3f Mon Sep 17 00:00:00 2001 -From: Gael Chamoulaud -Date: Wed, 29 Jul 2015 21:58:48 +0200 -Subject: [PATCH 2/5] Revert "(maint) Remove puppetmaster.service" - -This reverts commit c0e30daa53b6267c1c86b6e27c01b1c26cf49af5. ---- - ext/systemd/puppet.service | 2 +- - ext/systemd/puppetmaster.service | 12 ++++++++++++ - 2 files changed, 13 insertions(+), 1 deletion(-) - create mode 100644 ext/systemd/puppetmaster.service - -diff --git a/ext/systemd/puppet.service b/ext/systemd/puppet.service -index 7c16615..36769ac 100644 ---- a/ext/systemd/puppet.service -+++ b/ext/systemd/puppet.service -@@ -11,7 +11,7 @@ - [Unit] - Description=Puppet agent - Wants=basic.target --After=basic.target network.target -+After=basic.target network.target puppetmaster.service - - [Service] - EnvironmentFile=-/etc/sysconfig/puppetagent -diff --git a/ext/systemd/puppetmaster.service b/ext/systemd/puppetmaster.service -new file mode 100644 -index 0000000..dbbd627 ---- /dev/null -+++ b/ext/systemd/puppetmaster.service -@@ -0,0 +1,12 @@ -+[Unit] -+Description=Puppet master -+Wants=basic.target -+After=basic.target network.target -+ -+[Service] -+EnvironmentFile=-/etc/sysconfig/puppetmaster -+EnvironmentFile=-/etc/default/puppetmaster -+ExecStart=/usr/bin/puppet master $PUPPETMASTER_EXTRA_OPTS --no-daemonize -+ -+[Install] -+WantedBy=multi-user.target --- -2.19.2 - diff --git a/0003-Remove-Fedora-release-restrictions-from-DNF-provider.patch b/0003-Remove-Fedora-release-restrictions-from-DNF-provider.patch deleted file mode 100644 index eba3cc8..0000000 --- a/0003-Remove-Fedora-release-restrictions-from-DNF-provider.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 5688991cd78f7c38a1edf28f76e9b7825a7d415a Mon Sep 17 00:00:00 2001 -From: Dominic Cleal -Date: Wed, 31 May 2017 10:07:04 +0100 -Subject: [PATCH 3/5] Remove Fedora release restrictions from DNF provider - -Ensure DNF provider will be used on all versions of Fedora, without new -ones being excluded. ---- - lib/puppet/provider/package/dnf.rb | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/lib/puppet/provider/package/dnf.rb b/lib/puppet/provider/package/dnf.rb -index 0bf5847..be55568 100644 ---- a/lib/puppet/provider/package/dnf.rb -+++ b/lib/puppet/provider/package/dnf.rb -@@ -28,7 +28,7 @@ Puppet::Type.type(:package).provide :dnf, :parent => :yum do - end - end - -- defaultfor :operatingsystem => :fedora, :operatingsystemmajrelease => (22..30).to_a -+ defaultfor :operatingsystem => :fedora - defaultfor :osfamily => :redhat, :operatingsystemmajrelease => ["8"] - - def self.update_command diff --git a/RPM-GPG-KEY-puppet-20250406 b/RPM-GPG-KEY-puppet-20250406 new file mode 100644 index 0000000..333b379 --- /dev/null +++ b/RPM-GPG-KEY-puppet-20250406 @@ -0,0 +1,31 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mQINBFyrv4oBEADhL8iyDPZ+GWN7L+A8dpEpggglxTtL7qYNyN5Uga2j0cusDdOD +ftPHsurLjfxtc2EFGdFK/N8y4LSpq+nOeazhkHcPeDiWC2AuN7+NGjH9LtvMUqKy +NWPhPYP2r/xPL547oDMdvLXDH5n+FsLFW8QgATHk4AvlIhGng0gWu80OqTCiL0HC +W7TftkF8ofP8k90SnLYbI9HDVOj6VYYtqG5NeoCHGAqrb79G/jq64Z/gLktD3IrB +CxYhKFfJtZ/BSDB8Aa4ht+jIyeFCNSbGyfFfWlHKvF3JngS/76Y7gxX1sbR3gHJQ +hO25AQdsPYKxgtIgNeB9/oBp1+V3K1W/nta4gbDVwJWCqDRbEFlHIdV7fvV/sqiI +W7rQ60aAY7J6Gjt/aUmNArvT8ty3szmhR0wEEU5/hhIVV6VjS+AQsI8pFv6VB8bJ +TLfOBPDW7dw2PgyWhVTEN8KW/ckyBvGmSdzSgAhw+rAe7li50/9e2H8eiJgBbGid +8EQidZgkokh331CMDkIA6F3ygiB+u2ZZ7ywxhxIRO70JElIuIOiofhVfRnh/ODlH +X7eD+cA2rlLQd2yWf4diiA7C9R8r8vPrAdp3aPZ4xLxvYYZV8E1JBdMus5GRy4rB +Avetp0Wx/1r9zVDKD/J1bNIlt0SR9FTmynZj4kLWhoCqmbrLS35325sS6wARAQAB +tEhQdXBwZXQsIEluYy4gUmVsZWFzZSBLZXkgKFB1cHBldCwgSW5jLiBSZWxlYXNl +IEtleSkgPHJlbGVhc2VAcHVwcGV0LmNvbT6JAlQEEwEKAD4WIQTWgR7Tre64RBr1 +qo9FKLbNnmHvJgUCXKu/igIbAwUJC0c1AAULCQgHAwUVCgkICwUWAgMBAAIeAQIX +gAAKCRBFKLbNnmHvJg/vD/0eOl/pBb6ooGnzg2qoD+XwgOK3HkTdvGNZKGsIrhUG +q6O0zoyPW8v9b/i7QEDre8QahARmMAEQ+T3nbNVzw4kpE+YIrEkKjoJsrF8/K/1L +zBHJCc3S9oF9KubG5BuQ4bAmcvnI+qpEYbSTLHztYGUfXAGu+MnaDf4C60G7zM6m +ec4bX8lVnt+gcsGGGCdN89XsZLBNdv21z9xMeaAPiRYJpbqwrb8cYbKQeqFSQt2M +UylN5oVeN77Q8iyXSyVwpc6uKzXdQ8bVPbKUTWSXQ4SSp0HJjtAMiDH2pjty4PG6 +EgZ6/njJLOzQ29ZgFrS19XLONlptHwKzLYB8nJhJvGHfzzInmNttDtNwTA6IxpsR +4aCnrPWFJRCbmMBNXvBR9B/O+e/T5ngL21ipMEwzEOiQlRSacnO2pICwZ5pARMRI +dxq/5BQYry9HNlJDGR7YIfn7i0oCGk5BxwotSlAPw8jFpNU/zTOvpQAdPvZje2JP +6GS+hYxSdHsigREXI2gxTvpcLk8LOe9PsqJv631e6Kvn9P9OHiihIp8G9fRQ8T7y +elHcNanV192mfbWxJhDAcQ+JEy9883lOanaCoaf/7z4kdmCQLz5/oNg2K0qjSgZH +JY/gxCOwuAuUJlLcAXQG6txJshfMxyQUO46DXg0/gjwkKgT/9PbTJEN/WN/G6n1h +lQ== +=nKF2 +-----END PGP PUBLIC KEY BLOCK----- + diff --git a/puppet-5.5.18-ruby-27.patch b/puppet-5.5.18-ruby-27.patch deleted file mode 100644 index 9b97f02..0000000 --- a/puppet-5.5.18-ruby-27.patch +++ /dev/null @@ -1,17 +0,0 @@ -Description: Fix Ruby 2.7 warning - The '**' operater should be used to pass keyword arguments from now on. -Author: Lucas Kanashiro -Last-Updated: 26-03-2020 -Forwarded: yes, https://github.com/puppetlabs/puppet/pull/8060 - ---- a/lib/puppet/file_system/file_impl.rb -+++ b/lib/puppet/file_system/file_impl.rb -@@ -77,7 +77,7 @@ - end - - def read(path, opts = {}) -- path.read(opts) -+ path.read(**opts) - end - - def read_preserve_line_endings(path) diff --git a/puppet-5.5.18-sync.patch b/puppet-5.5.18-sync.patch deleted file mode 100644 index 6f38a7e..0000000 --- a/puppet-5.5.18-sync.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff --git a/lib/puppet/configurer.rb b/lib/puppet/configurer.rb -index 2ccddbe..4c6e33d 100644 ---- a/lib/puppet/configurer.rb -+++ b/lib/puppet/configurer.rb -@@ -1,5 +1,4 @@ - # The client for interacting with the puppetmaster config server. --require 'sync' - require 'timeout' - require 'puppet/network/http_pool' - require 'puppet/util' -diff --git a/lib/puppet/util/storage.rb b/lib/puppet/util/storage.rb -index 713f650..b9183ca 100644 ---- a/lib/puppet/util/storage.rb -+++ b/lib/puppet/util/storage.rb -@@ -1,5 +1,4 @@ - require 'yaml' --require 'sync' - require 'singleton' - require 'puppet/util/yaml' - diff --git a/puppet.spec b/puppet.spec index 1073d92..9a0ba0a 100644 --- a/puppet.spec +++ b/puppet.spec @@ -1,72 +1,56 @@ -# Augeas and SELinux requirements may be disabled at build time by passing -# --without augeas and/or --without selinux to rpmbuild or mock - -# Specifically not using systemd on F18 as it's technically a break between -# using SystemV on 2.7.x and Systemd on 3.1.0. -%if 0%{?fedora} || 0%{?rhel} >= 7 -%global puppet_libdir %{ruby_vendorlibdir} -%else -%global puppet_libdir %(ruby -rrbconfig -e 'puts RbConfig::CONFIG["sitelibdir"]') -%endif - -%if 0%{?fedora} || 0%{?rhel} >= 7 || 0%{?suse_version} -%global _with_systemd 1 -%endif - -# FIXME(hguemar): RH products builds of facter and hiera have introduced epochs -# does not impact Fedora nor EPEL -%if 0%{?rhel} && 0%{?rhel} >= 7 && !0%{?epel} -%global has_epoch 1 -%endif - -%global confdir conf -%global pending_upgrade_path %{_localstatedir}/lib/rpm-state/puppet -%global pending_upgrade_file %{pending_upgrade_path}/upgrade_pending - -%if 0%{?fedora} > 30 || 0%{?rhel} >= 8 %global nm_dispatcher_dir %{_prefix}/lib/NetworkManager -%else -%global nm_dispatcher_dir %{_sysconfdir}/NetworkManager -%endif +%global puppet_libdir %{ruby_vendorlibdir} Name: puppet -Version: 5.5.20 -Release: 4%{?dist} -Summary: A network tool for managing many disparate systems +Version: 7.7.0 +Release: 1%{?dist} +Summary: Network tool for managing many disparate systems License: ASL 2.0 -URL: http://puppetlabs.com -Source0: http://downloads.puppetlabs.com/%{name}/%{name}-%{version}.tar.gz -Source1: http://downloads.puppetlabs.com/%{name}/%{name}-%{version}.tar.gz.asc -Source2: puppet-nm-dispatcher -Source3: puppet-nm-dispatcher.systemd -Source4: start-puppet-wrapper +URL: https://puppetlabs.com +Source0: https://downloads.puppetlabs.com/puppet/%{name}-%{version}.tar.gz +Source1: https://downloads.puppetlabs.com/puppet/%{name}-%{version}.tar.gz.asc +Source2: RPM-GPG-KEY-puppet-20250406 +Source3: https://forge.puppet.com/v3/files/puppetlabs-mount_core-1.0.4.tar.gz +Source4: https://forge.puppet.com/v3/files/puppetlabs-host_core-1.0.3.tar.gz +Source5: https://forge.puppet.com/v3/files/puppetlabs-augeas_core-1.1.1.tar.gz +Source6: https://forge.puppet.com/v3/files/puppetlabs-cron_core-1.0.4.tar.gz +Source7: https://forge.puppet.com/v3/files/puppetlabs-scheduled_task-2.2.1.tar.gz +Source8: https://forge.puppet.com/v3/files/puppetlabs-selinux_core-1.0.4.tar.gz +Source9: https://forge.puppet.com/v3/files/puppetlabs-sshkeys_core-2.2.0.tar.gz +Source10: https://forge.puppet.com/v3/files/puppetlabs-yumrepo_core-1.0.7.tar.gz +Source11: https://forge.puppet.com/v3/files/puppetlabs-zfs_core-1.1.0.tar.gz +Source12: https://forge.puppet.com/v3/files/puppetlabs-zone_core-1.0.3.tar.gz +Source13: puppet-nm-dispatcher.systemd +Source14: start-puppet-wrapper -# Puppetlabs messed up with default paths -Patch01: 0001-Fix-puppet-paths.patch -Patch02: 0002-Revert-maint-Remove-puppetmaster.service.patch -Patch03: 0003-Remove-Fedora-release-restrictions-from-DNF-provider.patch -# https://tickets.puppetlabs.com/browse/PUP-10247 -Patch04: puppet-5.5.18-sync.patch -# https://github.com/puppetlabs/puppet/pull/8060 -Patch05: puppet-5.5.18-ruby-27.patch +BuildArch: noarch -BuildArch: noarch -BuildRequires: git -BuildRequires: ruby-devel >= 1.8.7 # ruby-devel does not require the base package, but requires -libs instead -BuildRequires: ruby >= 1.8.7 - -Requires: puppet-headless = %{version}-%{release} - -%if 0%{?_with_systemd} -%{?systemd_requires} +BuildRequires: ruby +BuildRequires: ruby-devel +BuildRequires: rubygem-json +BuildRequires: facter +BuildRequires: hiera BuildRequires: systemd -%else -Requires(post): chkconfig -Requires(preun): chkconfig -Requires(preun): initscripts -Requires(postun): initscripts -%endif +BuildRequires: gnupg2 +Requires: hiera >= 3.3.1 +Requires: facter >= 3.9.6 +Requires: ruby-facter >= 3.9.6 +Requires: rubygem-semantic_puppet >= 1.0.2 +Requires: rubygem-puppet-resource_api +Requires: rubygem-deep_merge +Requires: rubygem-httpclient +Requires: rubygem-multi_json +Requires: rubygem-json +Requires: ruby-augeas >= 0.5.0 +Requires: augeas >= 1.10.1 +Requires: augeas-libs >= 1.10.1 +Requires: cpp-hocon >= 0.2.1 +Requires: rubygem-concurrent-ruby >= 1.0.5 +Requires: ruby(selinux) libselinux-utils +Obsoletes: puppet-headless < 6.0.0 +Obsoletes: puppet-server < 6.0.0 +Obsoletes: puppet < 6.0.0 %description Puppet lets you centrally manage every important aspect of your system using a @@ -74,322 +58,144 @@ cross-platform specification language that manages all the separate elements normally aggregated in different files, like users, cron jobs, and hosts, along with obviously discrete elements like packages, services, and files. -%package server -Summary: Server for the puppet system management tool -Requires: puppet = %{version}-%{release} -Requires: puppet-headless = %{version}-%{release} -%if 0%{?_with_systemd} -%{?systemd_requires} -BuildRequires: systemd -%else -Requires(post): chkconfig -Requires(preun): chkconfig -Requires(preun): initscripts -Requires(postun): initscripts -%endif - -%description server -Provides the central puppet server daemon which provides manifests to clients. -The server can also function as a certificate authority and file server. - -%package headless -Summary: Headless Puppet -Conflicts: puppet < 5.5.6-6 -%if 0%{?rhel} && 0%{?rhel} <= 6 -Requires: ruby(abi) = 1.8 -%else -Requires: ruby(release) -%endif -Requires: ruby(shadow) -Requires: rubygem(json) -Requires: rubygem(pathspec) -Requires: rubygem(rgen) -Requires: rubygem(multi_json) -# Prevents jruby from being pulled in by dependencies (BZ #985208) -Requires: ruby -# Pull in ruby selinux bindings where available -%{!?_without_selinux:Requires: ruby(selinux), libselinux-utils} - -# Fedora 28 updates to facter3 where puppet needs to require the ruby bindings specifically -%if 0%{?fedora} || 0%{?rhel} >= 8 -BuildRequires: ruby-facter >= 3.0 -BuildRequires: ruby-facter < 4 -Requires: ruby-facter >= 3.0 -Requires: ruby-facter < 4 -%else -BuildRequires: facter >= %{?has_epoch:1:}2.0 -BuildRequires: facter < %{?has_epoch:1:}4 -Requires: facter >= %{?has_epoch:1:}2.0 -Requires: facter < %{?has_epoch:1:}4 -%endif -BuildRequires: hiera >= 2.0 -BuildRequires: hiera < %{?has_epoch:1:}4 -Requires: hiera >= 2.0 -Requires: hiera < %{?has_epoch:1:}4 -Obsoletes: hiera-puppet < 1.0.0-2 -Provides: hiera-puppet = %{version}-%{release} - -%{!?_without_augeas:Requires: ruby(augeas)} -Requires: tar -Requires(pre): shadow-utils - -%description headless -This puppet headless subpackage may be used when there is no need to -have puppet agent running as a service, for example, in a container -image. - %prep -%autosetup -S git +%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}' +%autosetup +cp -a %{sources} . +for f in puppetlabs-*.tar*; do + tar xvf $f +done +# Puppetlabs messed up with default paths +find -type f -exec \ + sed -i \ + -e 's|/opt/puppetlabs/puppet/bin|%{_bindir}|' \ + -e 's|/opt/puppetlabs/puppet/cache|%{_sharedstatedir}/puppet|' \ + -e 's|/opt/puppetlabs/puppet/share/locale|%{_datadir}/puppetlabs/puppet/locale|' \ + -e 's|/opt/puppetlabs/puppet/modules|%{_datadir}/puppetlabs/puppet/modules|' \ + -e 's|/opt/puppetlabs/puppet/vendor_modules|%{_datadir}/puppetlabs/puppet/vendor_modules|' \ + '{}' + + +%install +ruby install.rb --destdir=%{buildroot} \ + --bindir=%{_bindir} \ + --logdir=%{_localstatedir}/log/puppet \ + --rundir=%{_rundir}/puppet \ + --localedir=%{_datadir}/puppetlabs/puppet/locale \ + --vardir=%{_sharedstatedir}/puppet \ + --configdir=%{_sysconfdir}/puppet \ + --codedir=%{_sysconfdir}/puppet/code \ + --sitelibdir=%{puppet_libdir} + +mkdir -p %{buildroot}/usr/share/puppetlabs/puppet/vendor_modules +for d in $(find -mindepth 1 -maxdepth 1 -type d -name 'puppetlabs-*'); do + modver=${d#*-} + mod=${modver%-*} + cp -a $d %{buildroot}%{_datadir}/puppetlabs/puppet/vendor_modules/$mod +done + +install -Dp -m0644 ext/redhat/logrotate %{buildroot}%{_sysconfdir}/logrotate.d/puppet + +%{__install} -d -m0755 %{buildroot}%{_unitdir} +install -Dp -m0644 ext/systemd/puppet.service %{buildroot}%{_unitdir}/puppet.service +ln -s %{_unitdir}/puppet.service %{buildroot}%{_unitdir}/puppetagent.service + +install -Dpv -m0755 %{SOURCE13} \ + %{buildroot}%{nm_dispatcher_dir}/dispatcher.d/98-%{name} + +# Install the ext/ directory to %%{_datadir}/puppetlabs/%%{name} +install -d %{buildroot}%{_datadir}/puppetlabs/%{name} +cp -a ext/ %{buildroot}%{_datadir}/puppetlabs/%{name} +chmod 0755 %{buildroot}%{_datadir}/puppetlabs/%{name}/ext/regexp_nodes/regexp_nodes.rb + +# Install wrappers for SELinux +install -Dp -m0755 %{SOURCE14} %{buildroot}%{_bindir}/start-puppet-agent +sed -i 's|^ExecStart=.*/bin/puppet|ExecStart=%{_bindir}/start-puppet-agent|' \ + %{buildroot}%{_unitdir}/puppet.service + +# Setup tmpfiles.d config +mkdir -p %{buildroot}%{_tmpfilesdir} +echo "D %{_rundir}/%{name} 0755 %{name} %{name} -" > \ + %{buildroot}%{_tmpfilesdir}/%{name}.conf + # Unbundle -rm -r lib/puppet/vendor/pathspec # Note(hguemar): remove unrelated OS/distro specific folders # These mess-up with RPM automatic dependencies compute by adding # unnecessary deps like /sbin/runscripts -rm -r ext/{debian,freebsd,gentoo,ips,osx,solaris,suse,windows} -rm ext/redhat/*.init -rm ext/{build_defaults.yaml,project_data.yaml} - - -%build -# Nothing to build - -%install -rm -rf %{buildroot} -ruby install.rb --destdir=%{buildroot} \ - --configdir=%{_sysconfdir}/puppet \ - --bindir=%{_bindir} --vardir=%{_localstatedir}/cache/puppet \ - --logdir=%{_localstatedir}/log/puppet \ - --rundir=%{_localstatedir}/log/puppet \ - --localedir=%{_datadir}/%{name}/locale \ - --quick --no-rdoc --sitelibdir=%{puppet_libdir} - - -install -d -m0755 %{buildroot}%{_sysconfdir}/puppet/manifests -install -d -m0755 %{buildroot}%{_datadir}/%{name}/modules -install -d -m0755 %{buildroot}%{_localstatedir}/lib/puppet -install -d -m0755 %{buildroot}%{_localstatedir}/run/puppet -install -d -m0750 %{buildroot}%{_localstatedir}/log/puppet -install -d -m0750 %{buildroot}%{_localstatedir}/cache/puppet - -%if 0%{?_with_systemd} -%{__install} -d -m0755 %{buildroot}%{_unitdir} -install -Dp -m0644 ext/systemd/puppet.service %{buildroot}%{_unitdir}/puppet.service -ln -s %{_unitdir}/puppet.service %{buildroot}%{_unitdir}/puppetagent.service -install -Dp -m0644 ext/systemd/puppetmaster.service %{buildroot}%{_unitdir}/puppetmaster.service -%else -install -Dp -m0644 %{confdir}/client.sysconfig %{buildroot}%{_sysconfdir}/sysconfig/puppet -install -Dp -m0755 %{confdir}/client.init %{buildroot}%{_initrddir}/puppet -install -Dp -m0644 %{confdir}/server.sysconfig %{buildroot}%{_sysconfdir}/sysconfig/puppetmaster -install -Dp -m0755 %{confdir}/server.init %{buildroot}%{_initrddir}/puppetmaster -install -Dp -m0755 %{confdir}/queue.init %{buildroot}%{_initrddir}/puppetqueue -%endif - -install -Dp -m0644 %{confdir}/auth.conf %{buildroot}%{_sysconfdir}/puppet/auth.conf -install -Dp -m0644 %{confdir}/fileserver.conf %{buildroot}%{_sysconfdir}/puppet/fileserver.conf -install -Dp -m0644 %{confdir}/puppet.conf %{buildroot}%{_sysconfdir}/puppet/puppet.conf -install -Dp -m0644 ext/redhat/logrotate %{buildroot}%{_sysconfdir}/logrotate.d/puppet - -# Note(hguemar): Conflicts with config file from hiera package -rm %{buildroot}%{_sysconfdir}/puppet/hiera.yaml - -# Install a NetworkManager dispatcher script to pickup changes to -# /etc/resolv.conf and such (https://bugzilla.redhat.com/532085). -%if 0%{?_with_systemd} -install -Dpv -m0755 %{SOURCE3} \ - %{buildroot}%{nm_dispatcher_dir}/dispatcher.d/98-%{name} -%else -install -Dpv -m0755 %{SOURCE2} \ - %{buildroot}%{nm_dispatcher_dir}/dispatcher.d/98-%{name} -%endif - -# Install the ext/ directory to %%{_datadir}/%%{name} -install -d %{buildroot}%{_datadir}/%{name} -cp -a ext/ %{buildroot}%{_datadir}/%{name} - -chmod 0755 %{buildroot}%{_datadir}/%{name}/ext/regexp_nodes/regexp_nodes.rb - -# Install wrappers for SELinux -install -Dp -m0755 %{SOURCE4} %{buildroot}%{_bindir}/start-puppet-agent -install -Dp -m0755 %{SOURCE4} %{buildroot}%{_bindir}/start-puppet-master -install -Dp -m0755 %{SOURCE4} %{buildroot}%{_bindir}/start-puppet-ca -%if 0%{?_with_systemd} -sed -i 's|^ExecStart=.*/bin/puppet|ExecStart=/usr/bin/start-puppet-master|' \ - %{buildroot}%{_unitdir}/puppetmaster.service -sed -i 's|^ExecStart=.*/bin/puppet|ExecStart=/usr/bin/start-puppet-agent|' \ - %{buildroot}%{_unitdir}/puppet.service -%endif - -%if 0%{?fedora} || 0%{?rhel} >= 8 -# Setup tmpfiles.d config -mkdir -p %{buildroot}%{_tmpfilesdir} -echo "D /run/%{name} 0755 %{name} %{name} -" > \ - %{buildroot}%{_tmpfilesdir}/%{name}.conf -%endif - -# Create puppet modules directory for puppet module tool -mkdir -p %{buildroot}%{_sysconfdir}/%{name}/modules - +# some other things were removed with the patch +rm -r %{buildroot}%{_datadir}/puppetlabs/puppet/ext/{debian,freebsd,gentoo,ips,osx,solaris,suse,windows} +rm %{buildroot}%{_datadir}/puppetlabs/puppet/ext/redhat/*.init +rm %{buildroot}%{_datadir}/puppetlabs/puppet/ext/{build_defaults.yaml,project_data.yaml} %files -%if 0%{?_with_systemd} +%attr(-, puppet, puppet) %{_localstatedir}/log/puppet +%attr(-, puppet, puppet) %{_datadir}/puppetlabs/puppet +%dir %attr(-, puppet, puppet) %{_datadir}/puppetlabs %{_unitdir}/puppet.service %{_unitdir}/puppetagent.service -%else -%{_initrddir}/puppet -%config(noreplace) %{_sysconfdir}/sysconfig/puppet -%endif -%if 0%{?fedora} || 0%{?rhel} >= 8 %{_tmpfilesdir}/%{name}.conf -%endif -%config(noreplace) %{_sysconfdir}/logrotate.d/puppet %dir %{nm_dispatcher_dir} %dir %{nm_dispatcher_dir}/dispatcher.d %{nm_dispatcher_dir}/dispatcher.d/98-puppet +%{_bindir}/start-puppet-agent -%files headless %doc README.md examples %license LICENSE +%{_datadir}/ruby/vendor_ruby/hiera +%{_datadir}/ruby/vendor_ruby/hiera_puppet.rb +%{_datadir}/ruby/vendor_ruby/puppet +%{_datadir}/ruby/vendor_ruby/puppet_pal.rb +%{_datadir}/ruby/vendor_ruby/puppet.rb +%{_datadir}/ruby/vendor_ruby/puppet_x.rb +%{_sharedstatedir}/puppet %{_bindir}/puppet -%{_bindir}/start-puppet-* -%{puppet_libdir}/* -%dir %{_sysconfdir}/puppet -%dir %{_sysconfdir}/%{name}/modules -%config(noreplace) %{_sysconfdir}/puppet/puppet.conf -%config(noreplace) %{_sysconfdir}/puppet/auth.conf -%{_datadir}/%{name} -# These need to be owned by puppet so the server can -# write to them -%attr(-, puppet, puppet) %{_localstatedir}/run/puppet -%attr(0750, puppet, puppet) %{_localstatedir}/log/puppet -%attr(-, puppet, puppet) %{_localstatedir}/lib/puppet -%attr(0750, puppet, puppet) %{_localstatedir}/cache/puppet -%{_mandir}/man5/puppet.conf.5.gz -%{_mandir}/man8/puppet.8.gz -%{_mandir}/man8/puppet-agent.8.gz -%{_mandir}/man8/puppet-apply.8.gz -%{_mandir}/man8/puppet-catalog.8.gz -%{_mandir}/man8/puppet-describe.8.gz -%{_mandir}/man8/puppet-ca.8.gz -%{_mandir}/man8/puppet-cert.8.gz -%{_mandir}/man8/puppet-certificate.8.gz -%{_mandir}/man8/puppet-certificate_request.8.gz -%{_mandir}/man8/puppet-certificate_revocation_list.8.gz -%{_mandir}/man8/puppet-config.8.gz -%{_mandir}/man8/puppet-device.8.gz -%{_mandir}/man8/puppet-doc.8.gz -%{_mandir}/man8/puppet-facts.8.gz -%{_mandir}/man8/puppet-filebucket.8.gz -%{_mandir}/man8/puppet-generate.8.gz -%{_mandir}/man8/puppet-help.8.gz -%{_mandir}/man8/puppet-epp.8.gz -%{_mandir}/man8/puppet-key.8.gz -%{_mandir}/man8/puppet-lookup.8.gz -%{_mandir}/man8/puppet-man.8.gz -%{_mandir}/man8/puppet-module.8.gz -%{_mandir}/man8/puppet-node.8.gz -%{_mandir}/man8/puppet-parser.8.gz -%{_mandir}/man8/puppet-plugin.8.gz -%{_mandir}/man8/puppet-report.8.gz -%{_mandir}/man8/puppet-resource.8.gz -%{_mandir}/man8/puppet-script.8.gz -%{_mandir}/man8/puppet-status.8.gz +%{_mandir}/man5/puppet.conf.5* +%{_mandir}/man8/puppet-plugin.8* +%{_mandir}/man8/puppet-report.8* +%{_mandir}/man8/puppet-resource.8* +%{_mandir}/man8/puppet-script.8* +%{_mandir}/man8/puppet-ssl.8* +%{_mandir}/man8/puppet-agent.8* +%{_mandir}/man8/puppet.8* +%{_mandir}/man8/puppet-apply.8* +%{_mandir}/man8/puppet-catalog.8* +%{_mandir}/man8/puppet-config.8* +%{_mandir}/man8/puppet-describe.8* +%{_mandir}/man8/puppet-device.8* +%{_mandir}/man8/puppet-doc.8* +%{_mandir}/man8/puppet-epp.8* +%{_mandir}/man8/puppet-facts.8* +%{_mandir}/man8/puppet-filebucket.8* +%{_mandir}/man8/puppet-generate.8* +%{_mandir}/man8/puppet-help.8* +%{_mandir}/man8/puppet-lookup.8* +%{_mandir}/man8/puppet-module.8* +%{_mandir}/man8/puppet-node.8* +%{_mandir}/man8/puppet-parser.8* -%files server -%if 0%{?_with_systemd} -%{_unitdir}/puppetmaster.service -%else -%{_initrddir}/puppetmaster -%{_initrddir}/puppetqueue -%config(noreplace) %{_sysconfdir}/sysconfig/puppetmaster -%endif -%config(noreplace) %{_sysconfdir}/puppet/fileserver.conf -%dir %{_sysconfdir}/puppet/manifests -%{_mandir}/man8/puppet-master.8.gz +%config(noreplace) %attr(-, puppet, puppet) %dir %{_sysconfdir}/puppet +%config(noreplace) %attr(-, puppet, puppet) %dir %{_sysconfdir}/puppet/code +%config(noreplace) %attr(644, puppet, puppet) %{_sysconfdir}/puppet/puppet.conf +%config(noreplace) %attr(644, puppet, puppet) %{_sysconfdir}/puppet/hiera.yaml +%config(noreplace) %attr(644, root, root) %{_sysconfdir}/logrotate.d/%{name} -# Fixed uid/gid were assigned in bz 472073 (Fedora), 471918 (RHEL-5), -# and 471919 (RHEL-4) -%pre headless +%ghost %attr(755, puppet, puppet) %{_rundir}/%{name} + +%pre getent group puppet &>/dev/null || groupadd -r puppet -g 52 &>/dev/null getent passwd puppet &>/dev/null || \ -useradd -r -u 52 -g puppet -d %{_localstatedir}/lib/puppet -s /sbin/nologin \ - -c "Puppet" puppet &>/dev/null -# ensure that old setups have the right puppet home dir -if [ $1 -gt 1 ]; then - usermod -d %{_localstatedir}/lib/puppet puppet &>/dev/null -fi -exit 0 +useradd -r -u 52 -g puppet -d /usr/local/puppetlabs -s /sbin/nologin \ + -c "Puppet" puppet &>/dev/null %post -%if 0%{?_with_systemd} %systemd_post puppet.service -%else -# If there's a running puppet agent, restart it during upgrade. Fixes -# BZ #1024538. -if [ "$1" -ge 1 ]; then - pid="%{_localstatedir}/run/puppet/agent.pid" - if [ -e "$pid" ]; then - if ps -p "$(< "$pid")" -o cmd= | grep -q "puppet agent"; then - kill "$(< "$pid")" \ - && rm -f "$pid" \ - && /sbin/service puppet start - fi &>/dev/null - fi -fi -/sbin/chkconfig --add puppet -%endif -exit 0 - -%post server -%if 0%{?_with_systemd} -%systemd_post puppetmaster.service -%else -/sbin/chkconfig --add puppetmaster -%endif -exit 0 - -%preun -%if 0%{?_with_systemd} -%systemd_preun puppet.service -%else -if [ "$1" -eq 0 ]; then - /sbin/service puppet stop &>/dev/null - /sbin/chkconfig --del puppet -fi -%endif -exit 0 - -%preun server -%if 0%{?_with_systemd} -%systemd_preun puppetmaster.service -%else -if [ "$1" -eq 0 ]; then - /sbin/service puppetmaster stop &>/dev/null - /sbin/chkconfig --del puppetmaster -fi -%endif -exit 0 %postun -%if 0%{?_with_systemd} %systemd_postun_with_restart puppet.service -%else -if [ "$1" -ge 1 ]; then - /sbin/service puppet condrestart &>/dev/null -fi -%endif -exit 0 - -%postun server -%if 0%{?_with_systemd} -%systemd_postun_with_restart puppetmaster.service -%else -if [ "$1" -ge 1 ]; then - /sbin/service puppetmaster condrestart &>/dev/null -fi -%endif -exit 0 %changelog +* Tue Jun 15 2021 Breno Brand Fernandes - 7.7.0-1 +- Update to 7.7.0 -- the version that supports ruby 3 + * Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek - 5.5.20-4 - Rebuilt for updated systemd-rpm-macros See https://pagure.io/fesco/issue/2583. diff --git a/sources b/sources index 04dfbd2..08a1fc9 100644 --- a/sources +++ b/sources @@ -1,2 +1,12 @@ -SHA512 (puppet-5.5.20.tar.gz) = 83b8f234697e13d6fd8ac16634fff4e4adfece70858c32c1001925c71cc4d9a482da1880c27c08e796facb46d5d17889f9521121a69cb49e160e3c031ad564c4 -SHA512 (puppet-5.5.20.tar.gz.asc) = d862eaf430cbb86112b67a8e0b3da228d3dd2d2dc4d16cd6272c4f1d737e9c8674418e56fd96a47a6be55f699a803e0e889256ad3d2cff66f6eff397c7e719cc +SHA512 (gpgkey-6F6B15509CF8E59E6E469F327F438280EF8D349F.gpg) = 57dca499c8cf46ce19c07902b67f2b0f92813e5372057e468cc9dbe032cbe3dfd481b0f749cf5a696d86936977e5bafcc72c8662976e6dcee5e10860e7d9148c +SHA512 (puppet-7.7.0.tar.gz) = 2cd1bf799bfe5a3d5d3458db84021a29d119651faae111b8c3bfd374c2c1b008610f2c15d4b434dbd13caa91aea073503d40071d85e86687fa330e997b80f220 +SHA512 (puppetlabs-augeas_core-1.1.1.tar.gz) = 19e312da6b1accb74b772cb2d0a19dfa29d93cf03173bbf3c58e1def46ed352dd7c0618e0420b28a09607412ba87144ef3f2afc1cdedbe93f227b39bc4e290ac +SHA512 (puppetlabs-cron_core-1.0.4.tar.gz) = bdeab644f8f6084dcb8331edb207f5634672e512bf3573d85bb5eadcb979f83da7fb5ccbec150383d903bced3d0f05a7c20d4394abc2c479e194cff6646cb0ee +SHA512 (puppetlabs-host_core-1.0.3.tar.gz) = 09b4084663f4f6886380a473d26d1b759026f345bd3850084ac4f3ef59ed8ab2396fecdb3c836591d9097b9c5252ba794c4b7d3296b8321ff401f8a956ad093c +SHA512 (puppetlabs-mount_core-1.0.4.tar.gz) = 07aaae0c1176ffe098647094f2c7d9ea975288b52965af9dcc2aab043d65c20424bd6698988af540e4b1eb1852eaf3ceec9c71a6e08642f103370f5679d9206f +SHA512 (puppetlabs-scheduled_task-2.2.1.tar.gz) = a7d0860e28971167c3560a997e18d8ca7a528aa5ce9331645ff67eb021d5262964d7f735cf657227b8b680a930a79b50afc07324272b760866663f593851289a +SHA512 (puppetlabs-selinux_core-1.0.4.tar.gz) = 600bef04791bd5bb9a46a5397af6e5ed5937b0e271cb312ef64db6bb93c85acf5c6df6ab53a7999ce7609a7b7ea8c299f37cb6d44dfa2c48b3456ca893be6876 +SHA512 (puppetlabs-sshkeys_core-2.2.0.tar.gz) = 933d7a41f94aa499805dfd260ee52791400163f47135920ffed6294978805ef9db8f7edc2ad28c60a00a23f566143565a4e8cf52929020a400feff91c04db68b +SHA512 (puppetlabs-yumrepo_core-1.0.7.tar.gz) = 8fb3cb40077ac113c332a761c01c1d7ce4bdfff1016be696efb41be20c86ff688b40b83c00a47394d79e64941cf6c23ea4bbd1107b4c7856d1b481733cb2d7ce +SHA512 (puppetlabs-zfs_core-1.1.0.tar.gz) = cda1fcc55a54b4690c81edadf6c62e849db80b5f09a5310cdd9b82d0cef374432c2c62b98e5c8e8cc2bbb8d22007ddb3694b88208658ff303fdd608a76c15e0b +SHA512 (puppetlabs-zone_core-1.0.3.tar.gz) = 1083bcc810e8a7b048fad1c70656d806c65b5fa912c627bf1dfaf3b9d8a0ec675db100abc2fc6499669c17927ea3e55a5c968fde0e577fc1f4cebb1fbd5e0851 From d4979b9a4d09b83af9d5c3982180bc027f9a6718 Mon Sep 17 00:00:00 2001 From: Breno Brand Fernandes Date: Thu, 1 Jul 2021 10:13:28 -0400 Subject: [PATCH 224/272] Changed back paths due to conflicts with other packages --- puppet.spec | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/puppet.spec b/puppet.spec index 9a0ba0a..aaba4a1 100644 --- a/puppet.spec +++ b/puppet.spec @@ -78,12 +78,10 @@ find -type f -exec \ %install ruby install.rb --destdir=%{buildroot} \ --bindir=%{_bindir} \ - --logdir=%{_localstatedir}/log/puppet \ + --logdir=%{_localstatedir}/log/puppetlabs/puppet \ --rundir=%{_rundir}/puppet \ --localedir=%{_datadir}/puppetlabs/puppet/locale \ --vardir=%{_sharedstatedir}/puppet \ - --configdir=%{_sysconfdir}/puppet \ - --codedir=%{_sysconfdir}/puppet/code \ --sitelibdir=%{puppet_libdir} mkdir -p %{buildroot}/usr/share/puppetlabs/puppet/vendor_modules @@ -127,7 +125,7 @@ rm %{buildroot}%{_datadir}/puppetlabs/puppet/ext/redhat/*.init rm %{buildroot}%{_datadir}/puppetlabs/puppet/ext/{build_defaults.yaml,project_data.yaml} %files -%attr(-, puppet, puppet) %{_localstatedir}/log/puppet +%attr(-, puppet, puppet) %{_localstatedir}/log/puppetlabs %attr(-, puppet, puppet) %{_datadir}/puppetlabs/puppet %dir %attr(-, puppet, puppet) %{_datadir}/puppetlabs %{_unitdir}/puppet.service @@ -172,10 +170,12 @@ rm %{buildroot}%{_datadir}/puppetlabs/puppet/ext/{build_defaults.yaml,project_da %{_mandir}/man8/puppet-node.8* %{_mandir}/man8/puppet-parser.8* -%config(noreplace) %attr(-, puppet, puppet) %dir %{_sysconfdir}/puppet -%config(noreplace) %attr(-, puppet, puppet) %dir %{_sysconfdir}/puppet/code -%config(noreplace) %attr(644, puppet, puppet) %{_sysconfdir}/puppet/puppet.conf -%config(noreplace) %attr(644, puppet, puppet) %{_sysconfdir}/puppet/hiera.yaml +# Due to the long time without building puppet with a new version, sysconfig and log paths have changed +%config(noreplace) %attr(-, puppet, puppet) %dir %{_sysconfdir}/puppetlabs +%config(noreplace) %attr(-, puppet, puppet) %dir %{_sysconfdir}/puppetlabs/puppet +%config(noreplace) %attr(-, puppet, puppet) %dir %{_sysconfdir}/puppetlabs/code +%config(noreplace) %attr(644, puppet, puppet) %{_sysconfdir}/puppetlabs/puppet/puppet.conf +%config(noreplace) %attr(644, puppet, puppet) %{_sysconfdir}/puppetlabs/puppet/hiera.yaml %config(noreplace) %attr(644, root, root) %{_sysconfdir}/logrotate.d/%{name} %ghost %attr(755, puppet, puppet) %{_rundir}/%{name} @@ -194,7 +194,7 @@ useradd -r -u 52 -g puppet -d /usr/local/puppetlabs -s /sbin/nologin \ %changelog * Tue Jun 15 2021 Breno Brand Fernandes - 7.7.0-1 -- Update to 7.7.0 -- the version that supports ruby 3 +- Update to 7.7.0 - latest version that supports ruby 3.0 * Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek - 5.5.20-4 - Rebuilt for updated systemd-rpm-macros From cfea9bd83e92ae1cfb6f2b0391c9b86692d9591d Mon Sep 17 00:00:00 2001 From: Breno Brand Fernandes Date: Thu, 1 Jul 2021 10:31:50 -0400 Subject: [PATCH 225/272] Removed old gpg --- sources | 1 - 1 file changed, 1 deletion(-) diff --git a/sources b/sources index 08a1fc9..5f7787d 100644 --- a/sources +++ b/sources @@ -1,4 +1,3 @@ -SHA512 (gpgkey-6F6B15509CF8E59E6E469F327F438280EF8D349F.gpg) = 57dca499c8cf46ce19c07902b67f2b0f92813e5372057e468cc9dbe032cbe3dfd481b0f749cf5a696d86936977e5bafcc72c8662976e6dcee5e10860e7d9148c SHA512 (puppet-7.7.0.tar.gz) = 2cd1bf799bfe5a3d5d3458db84021a29d119651faae111b8c3bfd374c2c1b008610f2c15d4b434dbd13caa91aea073503d40071d85e86687fa330e997b80f220 SHA512 (puppetlabs-augeas_core-1.1.1.tar.gz) = 19e312da6b1accb74b772cb2d0a19dfa29d93cf03173bbf3c58e1def46ed352dd7c0618e0420b28a09607412ba87144ef3f2afc1cdedbe93f227b39bc4e290ac SHA512 (puppetlabs-cron_core-1.0.4.tar.gz) = bdeab644f8f6084dcb8331edb207f5634672e512bf3573d85bb5eadcb979f83da7fb5ccbec150383d903bced3d0f05a7c20d4394abc2c479e194cff6646cb0ee From 42eb2eff11233d0492b3ecaa175476648b2a142e Mon Sep 17 00:00:00 2001 From: Breno Brand Fernandes Date: Thu, 1 Jul 2021 10:38:47 -0400 Subject: [PATCH 226/272] Updated sources with missing file --- sources | 1 + 1 file changed, 1 insertion(+) diff --git a/sources b/sources index 5f7787d..2d7a6b9 100644 --- a/sources +++ b/sources @@ -1,3 +1,4 @@ +SHA512 (puppet-7.7.0.tar.gz.asc) = 918b37590aa7812a0e36dde94d364a22fa5628d96a3b5e77fdd3292836e6fd4a5e70db392dc4627e430dcc96b5772849100146cb9ddb9f9ed7bec9aa3b3a51be SHA512 (puppet-7.7.0.tar.gz) = 2cd1bf799bfe5a3d5d3458db84021a29d119651faae111b8c3bfd374c2c1b008610f2c15d4b434dbd13caa91aea073503d40071d85e86687fa330e997b80f220 SHA512 (puppetlabs-augeas_core-1.1.1.tar.gz) = 19e312da6b1accb74b772cb2d0a19dfa29d93cf03173bbf3c58e1def46ed352dd7c0618e0420b28a09607412ba87144ef3f2afc1cdedbe93f227b39bc4e290ac SHA512 (puppetlabs-cron_core-1.0.4.tar.gz) = bdeab644f8f6084dcb8331edb207f5634672e512bf3573d85bb5eadcb979f83da7fb5ccbec150383d903bced3d0f05a7c20d4394abc2c479e194cff6646cb0ee From f61ad049151050559f2870eb5ed71589fef2b0ce Mon Sep 17 00:00:00 2001 From: Breno Brand Fernandes Date: Sun, 4 Jul 2021 10:41:18 -0400 Subject: [PATCH 227/272] Changed ownership of files in /etc/puppetlabs --- puppet.spec | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/puppet.spec b/puppet.spec index aaba4a1..e2c52f4 100644 --- a/puppet.spec +++ b/puppet.spec @@ -171,11 +171,11 @@ rm %{buildroot}%{_datadir}/puppetlabs/puppet/ext/{build_defaults.yaml,project_da %{_mandir}/man8/puppet-parser.8* # Due to the long time without building puppet with a new version, sysconfig and log paths have changed -%config(noreplace) %attr(-, puppet, puppet) %dir %{_sysconfdir}/puppetlabs -%config(noreplace) %attr(-, puppet, puppet) %dir %{_sysconfdir}/puppetlabs/puppet -%config(noreplace) %attr(-, puppet, puppet) %dir %{_sysconfdir}/puppetlabs/code -%config(noreplace) %attr(644, puppet, puppet) %{_sysconfdir}/puppetlabs/puppet/puppet.conf -%config(noreplace) %attr(644, puppet, puppet) %{_sysconfdir}/puppetlabs/puppet/hiera.yaml +%config(noreplace) %attr(-, root, root) %dir %{_sysconfdir}/puppetlabs +%config(noreplace) %attr(-, root, root) %dir %{_sysconfdir}/puppetlabs/puppet +%config(noreplace) %attr(-, root, root) %dir %{_sysconfdir}/puppetlabs/code +%config(noreplace) %attr(644, root, root) %{_sysconfdir}/puppetlabs/puppet/puppet.conf +%config(noreplace) %attr(644, root, root) %{_sysconfdir}/puppetlabs/puppet/hiera.yaml %config(noreplace) %attr(644, root, root) %{_sysconfdir}/logrotate.d/%{name} %ghost %attr(755, puppet, puppet) %{_rundir}/%{name} From 2ab5939cfe8126773d6cd6159e0de1e3625ac4e4 Mon Sep 17 00:00:00 2001 From: Breno Brand Fernandes Date: Mon, 5 Jul 2021 19:36:17 -0400 Subject: [PATCH 228/272] Cleaning up the spec file, adding suggestions from ekohl (Ewoud Kohl van Wijngaarden) --- puppet.spec | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/puppet.spec b/puppet.spec index e2c52f4..2383930 100644 --- a/puppet.spec +++ b/puppet.spec @@ -3,7 +3,7 @@ Name: puppet Version: 7.7.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Network tool for managing many disparate systems License: ASL 2.0 URL: https://puppetlabs.com @@ -95,7 +95,6 @@ install -Dp -m0644 ext/redhat/logrotate %{buildroot}%{_sysconfdir}/logrotate.d/p %{__install} -d -m0755 %{buildroot}%{_unitdir} install -Dp -m0644 ext/systemd/puppet.service %{buildroot}%{_unitdir}/puppet.service -ln -s %{_unitdir}/puppet.service %{buildroot}%{_unitdir}/puppetagent.service install -Dpv -m0755 %{SOURCE13} \ %{buildroot}%{nm_dispatcher_dir}/dispatcher.d/98-%{name} @@ -129,7 +128,6 @@ rm %{buildroot}%{_datadir}/puppetlabs/puppet/ext/{build_defaults.yaml,project_da %attr(-, puppet, puppet) %{_datadir}/puppetlabs/puppet %dir %attr(-, puppet, puppet) %{_datadir}/puppetlabs %{_unitdir}/puppet.service -%{_unitdir}/puppetagent.service %{_tmpfilesdir}/%{name}.conf %dir %{nm_dispatcher_dir} %dir %{nm_dispatcher_dir}/dispatcher.d @@ -183,7 +181,7 @@ rm %{buildroot}%{_datadir}/puppetlabs/puppet/ext/{build_defaults.yaml,project_da %pre getent group puppet &>/dev/null || groupadd -r puppet -g 52 &>/dev/null getent passwd puppet &>/dev/null || \ -useradd -r -u 52 -g puppet -d /usr/local/puppetlabs -s /sbin/nologin \ +useradd -r -u 52 -g puppet -s /sbin/nologin \ -c "Puppet" puppet &>/dev/null %post @@ -193,6 +191,9 @@ useradd -r -u 52 -g puppet -d /usr/local/puppetlabs -s /sbin/nologin \ %systemd_postun_with_restart puppet.service %changelog +* Mon Jul 05 2021 Breno Brand Fernandes - 7.7.0-2 +- Cleaning up the spec file, adding suggestions from ekohl (Ewoud Kohl van Wijngaarden) + * Tue Jun 15 2021 Breno Brand Fernandes - 7.7.0-1 - Update to 7.7.0 - latest version that supports ruby 3.0 From 8535a17a669784710103dd3938d17656c16e48a6 Mon Sep 17 00:00:00 2001 From: Breno Brand Fernandes Date: Wed, 7 Jul 2021 17:23:50 -0400 Subject: [PATCH 229/272] Updated puppet url --- puppet.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/puppet.spec b/puppet.spec index 2383930..a732e59 100644 --- a/puppet.spec +++ b/puppet.spec @@ -3,10 +3,10 @@ Name: puppet Version: 7.7.0 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Network tool for managing many disparate systems License: ASL 2.0 -URL: https://puppetlabs.com +URL: https://puppet.com Source0: https://downloads.puppetlabs.com/puppet/%{name}-%{version}.tar.gz Source1: https://downloads.puppetlabs.com/puppet/%{name}-%{version}.tar.gz.asc Source2: RPM-GPG-KEY-puppet-20250406 @@ -191,6 +191,9 @@ useradd -r -u 52 -g puppet -s /sbin/nologin \ %systemd_postun_with_restart puppet.service %changelog +* Wed Jul 07 2021 Breno Brand Fernandes - 7.7.0-2 +- Updated puppet url + * Mon Jul 05 2021 Breno Brand Fernandes - 7.7.0-2 - Cleaning up the spec file, adding suggestions from ekohl (Ewoud Kohl van Wijngaarden) From f9f2ad1c13214d5257b51203ad9a5ec570f7fbbc Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 23 Jul 2021 04:16:15 +0000 Subject: [PATCH 230/272] - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- puppet.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/puppet.spec b/puppet.spec index a732e59..b1680e7 100644 --- a/puppet.spec +++ b/puppet.spec @@ -3,7 +3,7 @@ Name: puppet Version: 7.7.0 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Network tool for managing many disparate systems License: ASL 2.0 URL: https://puppet.com @@ -191,6 +191,9 @@ useradd -r -u 52 -g puppet -s /sbin/nologin \ %systemd_postun_with_restart puppet.service %changelog +* Fri Jul 23 2021 Fedora Release Engineering - 7.7.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + * Wed Jul 07 2021 Breno Brand Fernandes - 7.7.0-2 - Updated puppet url From 6ac02046f59790d25b02268531c27105b31e1084 Mon Sep 17 00:00:00 2001 From: Ewoud Kohl van Wijngaarden Date: Tue, 17 Aug 2021 12:42:24 +0200 Subject: [PATCH 231/272] Ignore mockbuild's results_puppet directory --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index b490e46..2eb5ee8 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ *.tar.gz.asc /puppet-*/ /.build*.log +results_puppet/ From f132964acb93c0d1198d492303aa9162522e1386 Mon Sep 17 00:00:00 2001 From: Ewoud Kohl van Wijngaarden Date: Tue, 17 Aug 2021 12:12:19 +0200 Subject: [PATCH 232/272] Remove unused file In 4ecda1c3d8af205f2693b88f1c2e4ee9542fcb99 this was removed from the spec file but the file remained in the repository. Fixes: 4ecda1c3d8af205f2693b88f1c2e4ee9542fcb99 --- puppet-nm-dispatcher | 8 -------- 1 file changed, 8 deletions(-) delete mode 100644 puppet-nm-dispatcher diff --git a/puppet-nm-dispatcher b/puppet-nm-dispatcher deleted file mode 100644 index 6e9e0b3..0000000 --- a/puppet-nm-dispatcher +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/bash -# -# Restart puppet on network changes to pickup changes to /etc/resolv.conf -# -# https://projects.puppetlabs.com/issues/2776 -# https://bugzilla.redhat.com/532085 - -[[ $2 =~ ^(up|down)$ ]] && /sbin/service puppet condrestart || : From a9a7dc1d70a8c08df8fe11871ab88c342a2eb286 Mon Sep 17 00:00:00 2001 From: Ewoud Kohl van Wijngaarden Date: Tue, 17 Aug 2021 12:37:49 +0200 Subject: [PATCH 233/272] Update to 7.9.0 - Update bundled modules (and sort them) - Update gem dependencies - Revert paths to FHS standards --- puppet.spec | 123 ++++++++++++++++++++++++++++++---------------------- sources | 14 +++--- 2 files changed, 79 insertions(+), 58 deletions(-) diff --git a/puppet.spec b/puppet.spec index b1680e7..7cc8103 100644 --- a/puppet.spec +++ b/puppet.spec @@ -1,24 +1,27 @@ %global nm_dispatcher_dir %{_prefix}/lib/NetworkManager %global puppet_libdir %{ruby_vendorlibdir} +%global puppet_vendor_mod_dir %{_datadir}/%{name}/vendor_modules Name: puppet -Version: 7.7.0 -Release: 4%{?dist} +Version: 7.9.0 +Release: 1%{?dist} Summary: Network tool for managing many disparate systems License: ASL 2.0 URL: https://puppet.com Source0: https://downloads.puppetlabs.com/puppet/%{name}-%{version}.tar.gz Source1: https://downloads.puppetlabs.com/puppet/%{name}-%{version}.tar.gz.asc Source2: RPM-GPG-KEY-puppet-20250406 -Source3: https://forge.puppet.com/v3/files/puppetlabs-mount_core-1.0.4.tar.gz -Source4: https://forge.puppet.com/v3/files/puppetlabs-host_core-1.0.3.tar.gz -Source5: https://forge.puppet.com/v3/files/puppetlabs-augeas_core-1.1.1.tar.gz -Source6: https://forge.puppet.com/v3/files/puppetlabs-cron_core-1.0.4.tar.gz -Source7: https://forge.puppet.com/v3/files/puppetlabs-scheduled_task-2.2.1.tar.gz -Source8: https://forge.puppet.com/v3/files/puppetlabs-selinux_core-1.0.4.tar.gz +# Get these by checking out the right tag from https://github.com/puppetlabs/puppet-agent and: +# sed 's|.\+puppetlabs/\([a-z_-]\+\).git.\+tags/\([0-9\.]\+\)"}|https://forge.puppet.com/v3/files/\1-\2.tar.gz|' configs/components/module-puppetlabs-*.json +Source3: https://forge.puppet.com/v3/files/puppetlabs-augeas_core-1.1.2.tar.gz +Source4: https://forge.puppet.com/v3/files/puppetlabs-cron_core-1.0.5.tar.gz +Source5: https://forge.puppet.com/v3/files/puppetlabs-host_core-1.0.3.tar.gz +Source6: https://forge.puppet.com/v3/files/puppetlabs-mount_core-1.0.4.tar.gz +Source7: https://forge.puppet.com/v3/files/puppetlabs-scheduled_task-1.0.0.tar.gz +Source8: https://forge.puppet.com/v3/files/puppetlabs-selinux_core-1.1.0.tar.gz Source9: https://forge.puppet.com/v3/files/puppetlabs-sshkeys_core-2.2.0.tar.gz Source10: https://forge.puppet.com/v3/files/puppetlabs-yumrepo_core-1.0.7.tar.gz -Source11: https://forge.puppet.com/v3/files/puppetlabs-zfs_core-1.1.0.tar.gz +Source11: https://forge.puppet.com/v3/files/puppetlabs-zfs_core-1.2.0.tar.gz Source12: https://forge.puppet.com/v3/files/puppetlabs-zone_core-1.0.3.tar.gz Source13: puppet-nm-dispatcher.systemd Source14: start-puppet-wrapper @@ -35,18 +38,16 @@ BuildRequires: systemd BuildRequires: gnupg2 Requires: hiera >= 3.3.1 Requires: facter >= 3.9.6 -Requires: ruby-facter >= 3.9.6 -Requires: rubygem-semantic_puppet >= 1.0.2 -Requires: rubygem-puppet-resource_api -Requires: rubygem-deep_merge -Requires: rubygem-httpclient -Requires: rubygem-multi_json -Requires: rubygem-json +Requires: rubygem(concurrent-ruby) >= 1.0.5 +Requires: rubygem(deep_merge) >= 1.0 +Requires: rubygem(facter) >= 3.9.6 +Requires: rubygem(multi_json) >= 1.10 +Requires: rubygem(puppet-resource_api) >= 1.5 +Requires: rubygem(semantic_puppet) >= 1.0.2 Requires: ruby-augeas >= 0.5.0 Requires: augeas >= 1.10.1 Requires: augeas-libs >= 1.10.1 Requires: cpp-hocon >= 0.2.1 -Requires: rubygem-concurrent-ruby >= 1.0.5 Requires: ruby(selinux) libselinux-utils Obsoletes: puppet-headless < 6.0.0 Obsoletes: puppet-server < 6.0.0 @@ -68,46 +69,58 @@ done # Puppetlabs messed up with default paths find -type f -exec \ sed -i \ + -e 's|/etc/puppetlabs/puppet|%{_sysconfdir}/%{name}|' \ + -e 's|/etc/puppetlabs/code|%{_sysconfdir}/%{name}/code|' \ -e 's|/opt/puppetlabs/puppet/bin|%{_bindir}|' \ - -e 's|/opt/puppetlabs/puppet/cache|%{_sharedstatedir}/puppet|' \ - -e 's|/opt/puppetlabs/puppet/share/locale|%{_datadir}/puppetlabs/puppet/locale|' \ - -e 's|/opt/puppetlabs/puppet/modules|%{_datadir}/puppetlabs/puppet/modules|' \ - -e 's|/opt/puppetlabs/puppet/vendor_modules|%{_datadir}/puppetlabs/puppet/vendor_modules|' \ + -e 's|/opt/puppetlabs/puppet/cache|%{_sharedstatedir}/%{name}|' \ + -e 's|/opt/puppetlabs/puppet/public|%{_sharedstatedir}/%{name}/public|' \ + -e 's|/opt/puppetlabs/puppet/share/locale|%{_datadir}/%{name}/locale|' \ + -e 's|/opt/puppetlabs/puppet/modules|%{_datadir}/%{name}/modules|' \ + -e 's|/opt/puppetlabs/puppet/vendor_modules|%{_datadir}/%{name}/vendor_modules|' \ + -e 's|/var/log/puppetlabs/puppet|%{_localstatedir}/log/%{name}|' \ '{}' + %install ruby install.rb --destdir=%{buildroot} \ --bindir=%{_bindir} \ - --logdir=%{_localstatedir}/log/puppetlabs/puppet \ - --rundir=%{_rundir}/puppet \ - --localedir=%{_datadir}/puppetlabs/puppet/locale \ - --vardir=%{_sharedstatedir}/puppet \ + --configdir=%{_sysconfdir}/%{name} \ + --codedir=%{_sysconfdir}/%{name}/code \ + --logdir=%{_localstatedir}/log/%{name} \ + --rundir=%{_rundir}/%{name} \ + --localedir=%{_datadir}/%{name}/locale \ + --vardir=%{_sharedstatedir}/%{name} \ + --publicdir=%{_sharedstatedir}/%{name}/public \ --sitelibdir=%{puppet_libdir} -mkdir -p %{buildroot}/usr/share/puppetlabs/puppet/vendor_modules +mkdir -p %{buildroot}%{_datadir}/%{name}/vendor_modules for d in $(find -mindepth 1 -maxdepth 1 -type d -name 'puppetlabs-*'); do modver=${d#*-} mod=${modver%-*} - cp -a $d %{buildroot}%{_datadir}/puppetlabs/puppet/vendor_modules/$mod + cp -a $d %{buildroot}%{_datadir}/%{name}/vendor_modules/$mod done -install -Dp -m0644 ext/redhat/logrotate %{buildroot}%{_sysconfdir}/logrotate.d/puppet +install -Dp -m0644 ext/redhat/logrotate %{buildroot}%{_sysconfdir}/logrotate.d/%{name} %{__install} -d -m0755 %{buildroot}%{_unitdir} -install -Dp -m0644 ext/systemd/puppet.service %{buildroot}%{_unitdir}/puppet.service +install -Dp -m0644 ext/systemd/puppet.service %{buildroot}%{_unitdir}/%{name}.service +# Note(hguemar): Conflicts with config file from hiera package +rm %{buildroot}%{_sysconfdir}/%{name}/hiera.yaml + +# Install a NetworkManager dispatcher script to pickup changes to +# /etc/resolv.conf and such (https://bugzilla.redhat.com/532085). install -Dpv -m0755 %{SOURCE13} \ %{buildroot}%{nm_dispatcher_dir}/dispatcher.d/98-%{name} -# Install the ext/ directory to %%{_datadir}/puppetlabs/%%{name} -install -d %{buildroot}%{_datadir}/puppetlabs/%{name} -cp -a ext/ %{buildroot}%{_datadir}/puppetlabs/%{name} -chmod 0755 %{buildroot}%{_datadir}/puppetlabs/%{name}/ext/regexp_nodes/regexp_nodes.rb +# Install the ext/ directory to %%{_datadir}/%%{name} +install -d %{buildroot}%{_datadir}/%{name} +cp -a ext/ %{buildroot}%{_datadir}/%{name} +chmod 0755 %{buildroot}%{_datadir}/%{name}/ext/regexp_nodes/regexp_nodes.rb # Install wrappers for SELinux install -Dp -m0755 %{SOURCE14} %{buildroot}%{_bindir}/start-puppet-agent sed -i 's|^ExecStart=.*/bin/puppet|ExecStart=%{_bindir}/start-puppet-agent|' \ - %{buildroot}%{_unitdir}/puppet.service + %{buildroot}%{_unitdir}/%{name}.service # Setup tmpfiles.d config mkdir -p %{buildroot}%{_tmpfilesdir} @@ -119,20 +132,25 @@ echo "D %{_rundir}/%{name} 0755 %{name} %{name} -" > \ # These mess-up with RPM automatic dependencies compute by adding # unnecessary deps like /sbin/runscripts # some other things were removed with the patch -rm -r %{buildroot}%{_datadir}/puppetlabs/puppet/ext/{debian,freebsd,gentoo,ips,osx,solaris,suse,windows} -rm %{buildroot}%{_datadir}/puppetlabs/puppet/ext/redhat/*.init -rm %{buildroot}%{_datadir}/puppetlabs/puppet/ext/{build_defaults.yaml,project_data.yaml} +rm -r %{buildroot}%{_datadir}/%{name}/ext/{debian,freebsd,gentoo,ips,osx,solaris,suse,windows,systemd,redhat} +rm %{buildroot}%{_datadir}/%{name}/ext/{build_defaults.yaml,project_data.yaml} %files -%attr(-, puppet, puppet) %{_localstatedir}/log/puppetlabs -%attr(-, puppet, puppet) %{_datadir}/puppetlabs/puppet -%dir %attr(-, puppet, puppet) %{_datadir}/puppetlabs -%{_unitdir}/puppet.service +%attr(-, puppet, puppet) %{_localstatedir}/log/%{name} +%attr(-, root, root) %{_datadir}/%{name} +%{_unitdir}/%{name}.service %{_tmpfilesdir}/%{name}.conf %dir %{nm_dispatcher_dir} %dir %{nm_dispatcher_dir}/dispatcher.d %{nm_dispatcher_dir}/dispatcher.d/98-puppet -%{_bindir}/start-puppet-agent + +# Vendor modules +%doc %{_datadir}/%{name}/vendor_modules/*/*.md +%doc %{_datadir}/%{name}/vendor_modules/*/readmes +%license %{_datadir}/%{name}/vendor_modules/*/LICENSE +# Strip development files +%exclude %{_datadir}/%{name}/vendor_modules/*/.{github,puppet-lint.rc,sync.yml} +%exclude %{_datadir}/%{name}/vendor_modules/*/{CODEOWNERS,Gemfile,appveyor.yml,spec} %doc README.md examples %license LICENSE @@ -142,8 +160,10 @@ rm %{buildroot}%{_datadir}/puppetlabs/puppet/ext/{build_defaults.yaml,project_da %{_datadir}/ruby/vendor_ruby/puppet_pal.rb %{_datadir}/ruby/vendor_ruby/puppet.rb %{_datadir}/ruby/vendor_ruby/puppet_x.rb -%{_sharedstatedir}/puppet +%dir %{_sharedstatedir}/%{name} +%dir %{_sharedstatedir}/%{name}/public %{_bindir}/puppet +%{_bindir}/start-puppet-agent %{_mandir}/man5/puppet.conf.5* %{_mandir}/man8/puppet-plugin.8* %{_mandir}/man8/puppet-report.8* @@ -168,12 +188,9 @@ rm %{buildroot}%{_datadir}/puppetlabs/puppet/ext/{build_defaults.yaml,project_da %{_mandir}/man8/puppet-node.8* %{_mandir}/man8/puppet-parser.8* -# Due to the long time without building puppet with a new version, sysconfig and log paths have changed -%config(noreplace) %attr(-, root, root) %dir %{_sysconfdir}/puppetlabs -%config(noreplace) %attr(-, root, root) %dir %{_sysconfdir}/puppetlabs/puppet -%config(noreplace) %attr(-, root, root) %dir %{_sysconfdir}/puppetlabs/code -%config(noreplace) %attr(644, root, root) %{_sysconfdir}/puppetlabs/puppet/puppet.conf -%config(noreplace) %attr(644, root, root) %{_sysconfdir}/puppetlabs/puppet/hiera.yaml +%config(noreplace) %attr(-, root, root) %dir %{_sysconfdir}/%{name} +%config(noreplace) %attr(-, root, root) %dir %{_sysconfdir}/%{name}/code +%config(noreplace) %attr(644, root, root) %{_sysconfdir}/%{name}/puppet.conf %config(noreplace) %attr(644, root, root) %{_sysconfdir}/logrotate.d/%{name} %ghost %attr(755, puppet, puppet) %{_rundir}/%{name} @@ -185,12 +202,16 @@ useradd -r -u 52 -g puppet -s /sbin/nologin \ -c "Puppet" puppet &>/dev/null %post -%systemd_post puppet.service +%systemd_post %{name}.service %postun -%systemd_postun_with_restart puppet.service +%systemd_postun_with_restart %{name}.service %changelog +* Tue Aug 17 2021 Ewoud Kohl van Wijngaarden - 7.9.0-1 +- Update to 7.9.0 +- Revert paths to FHS standards + * Fri Jul 23 2021 Fedora Release Engineering - 7.7.0-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild diff --git a/sources b/sources index 2d7a6b9..becb176 100644 --- a/sources +++ b/sources @@ -1,12 +1,12 @@ -SHA512 (puppet-7.7.0.tar.gz.asc) = 918b37590aa7812a0e36dde94d364a22fa5628d96a3b5e77fdd3292836e6fd4a5e70db392dc4627e430dcc96b5772849100146cb9ddb9f9ed7bec9aa3b3a51be -SHA512 (puppet-7.7.0.tar.gz) = 2cd1bf799bfe5a3d5d3458db84021a29d119651faae111b8c3bfd374c2c1b008610f2c15d4b434dbd13caa91aea073503d40071d85e86687fa330e997b80f220 -SHA512 (puppetlabs-augeas_core-1.1.1.tar.gz) = 19e312da6b1accb74b772cb2d0a19dfa29d93cf03173bbf3c58e1def46ed352dd7c0618e0420b28a09607412ba87144ef3f2afc1cdedbe93f227b39bc4e290ac -SHA512 (puppetlabs-cron_core-1.0.4.tar.gz) = bdeab644f8f6084dcb8331edb207f5634672e512bf3573d85bb5eadcb979f83da7fb5ccbec150383d903bced3d0f05a7c20d4394abc2c479e194cff6646cb0ee +SHA512 (puppet-7.9.0.tar.gz) = 6329d89530d2cb008e28116de655024e9bf944b3f41d086e0e47c41c74af3da51c283a912ac966cf7bac52f86e54304df6cf31477a5663cae09fb4d18f958cf2 +SHA512 (puppet-7.9.0.tar.gz.asc) = 22b9f826ba310ae1dc60f525d36f06f2fb7e2392ae3f04a082b6c600877111d9b2faedc02a1e00dce6ad2711359a2035f24413148253059f607ce6ccd8c267ba +SHA512 (puppetlabs-augeas_core-1.1.2.tar.gz) = 0e2a1f136685b54636cf1741d34bb2385a0bb22d6ea78b6fe495ced3273920d266258143333a4185f901c0c1a6ee562107224b5093668f0c370723c9b3125308 +SHA512 (puppetlabs-cron_core-1.0.5.tar.gz) = a31d3170b0457985fc067b73902a82a92ee0e537020056ffef825ff8b295d581808e729ff0481479086ab6c21a2ecf111df9e16b87c0c14e26ef318e7fbfcd19 SHA512 (puppetlabs-host_core-1.0.3.tar.gz) = 09b4084663f4f6886380a473d26d1b759026f345bd3850084ac4f3ef59ed8ab2396fecdb3c836591d9097b9c5252ba794c4b7d3296b8321ff401f8a956ad093c SHA512 (puppetlabs-mount_core-1.0.4.tar.gz) = 07aaae0c1176ffe098647094f2c7d9ea975288b52965af9dcc2aab043d65c20424bd6698988af540e4b1eb1852eaf3ceec9c71a6e08642f103370f5679d9206f -SHA512 (puppetlabs-scheduled_task-2.2.1.tar.gz) = a7d0860e28971167c3560a997e18d8ca7a528aa5ce9331645ff67eb021d5262964d7f735cf657227b8b680a930a79b50afc07324272b760866663f593851289a -SHA512 (puppetlabs-selinux_core-1.0.4.tar.gz) = 600bef04791bd5bb9a46a5397af6e5ed5937b0e271cb312ef64db6bb93c85acf5c6df6ab53a7999ce7609a7b7ea8c299f37cb6d44dfa2c48b3456ca893be6876 +SHA512 (puppetlabs-scheduled_task-1.0.0.tar.gz) = ecec36e7944bc812fd5cbebbac8fb657c77058f6a72e8f2743b67c268678c2fa649a1953f1c9013bea5133c027e9a25a39a30871f3e5fd56690d033392e99b4f +SHA512 (puppetlabs-selinux_core-1.1.0.tar.gz) = 23145d89d475080c8e1298603dea357583b29ac1461c30a17f76bb2344af28cc0e6de75055cc0a820b76ed5f7f5242916fae8c5f5ec06f9ab92ce8474de306d2 SHA512 (puppetlabs-sshkeys_core-2.2.0.tar.gz) = 933d7a41f94aa499805dfd260ee52791400163f47135920ffed6294978805ef9db8f7edc2ad28c60a00a23f566143565a4e8cf52929020a400feff91c04db68b SHA512 (puppetlabs-yumrepo_core-1.0.7.tar.gz) = 8fb3cb40077ac113c332a761c01c1d7ce4bdfff1016be696efb41be20c86ff688b40b83c00a47394d79e64941cf6c23ea4bbd1107b4c7856d1b481733cb2d7ce -SHA512 (puppetlabs-zfs_core-1.1.0.tar.gz) = cda1fcc55a54b4690c81edadf6c62e849db80b5f09a5310cdd9b82d0cef374432c2c62b98e5c8e8cc2bbb8d22007ddb3694b88208658ff303fdd608a76c15e0b +SHA512 (puppetlabs-zfs_core-1.2.0.tar.gz) = 5cf44b314094a6dad45482776b1442ab941cd1f93b39141e452c8c03b441a90ab7e6077f22f6fee9796ec2af41c30a8601e9cec6ccce81c2cb2dcc4ecba7117f SHA512 (puppetlabs-zone_core-1.0.3.tar.gz) = 1083bcc810e8a7b048fad1c70656d806c65b5fa912c627bf1dfaf3b9d8a0ec675db100abc2fc6499669c17927ea3e55a5c968fde0e577fc1f4cebb1fbd5e0851 From 4a3f654feaf27cd1c8b7b2bd477b94f95a8e153f Mon Sep 17 00:00:00 2001 From: Breno Brand Fernandes Date: Thu, 18 Nov 2021 18:05:45 -0500 Subject: [PATCH 234/272] Bump to 6.25.1 --- RPM-GPG-KEY-puppet-20250406 | 31 ++++++++++++++++++ ...6B15509CF8E59E6E469F327F438280EF8D349F.gpg | Bin 2259 -> 0 bytes logrotate | 21 ++++++++++++ puppet.spec | 13 +++++--- 4 files changed, 60 insertions(+), 5 deletions(-) create mode 100644 RPM-GPG-KEY-puppet-20250406 delete mode 100644 gpgkey-6F6B15509CF8E59E6E469F327F438280EF8D349F.gpg create mode 100644 logrotate diff --git a/RPM-GPG-KEY-puppet-20250406 b/RPM-GPG-KEY-puppet-20250406 new file mode 100644 index 0000000..333b379 --- /dev/null +++ b/RPM-GPG-KEY-puppet-20250406 @@ -0,0 +1,31 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mQINBFyrv4oBEADhL8iyDPZ+GWN7L+A8dpEpggglxTtL7qYNyN5Uga2j0cusDdOD +ftPHsurLjfxtc2EFGdFK/N8y4LSpq+nOeazhkHcPeDiWC2AuN7+NGjH9LtvMUqKy +NWPhPYP2r/xPL547oDMdvLXDH5n+FsLFW8QgATHk4AvlIhGng0gWu80OqTCiL0HC +W7TftkF8ofP8k90SnLYbI9HDVOj6VYYtqG5NeoCHGAqrb79G/jq64Z/gLktD3IrB +CxYhKFfJtZ/BSDB8Aa4ht+jIyeFCNSbGyfFfWlHKvF3JngS/76Y7gxX1sbR3gHJQ +hO25AQdsPYKxgtIgNeB9/oBp1+V3K1W/nta4gbDVwJWCqDRbEFlHIdV7fvV/sqiI +W7rQ60aAY7J6Gjt/aUmNArvT8ty3szmhR0wEEU5/hhIVV6VjS+AQsI8pFv6VB8bJ +TLfOBPDW7dw2PgyWhVTEN8KW/ckyBvGmSdzSgAhw+rAe7li50/9e2H8eiJgBbGid +8EQidZgkokh331CMDkIA6F3ygiB+u2ZZ7ywxhxIRO70JElIuIOiofhVfRnh/ODlH +X7eD+cA2rlLQd2yWf4diiA7C9R8r8vPrAdp3aPZ4xLxvYYZV8E1JBdMus5GRy4rB +Avetp0Wx/1r9zVDKD/J1bNIlt0SR9FTmynZj4kLWhoCqmbrLS35325sS6wARAQAB +tEhQdXBwZXQsIEluYy4gUmVsZWFzZSBLZXkgKFB1cHBldCwgSW5jLiBSZWxlYXNl +IEtleSkgPHJlbGVhc2VAcHVwcGV0LmNvbT6JAlQEEwEKAD4WIQTWgR7Tre64RBr1 +qo9FKLbNnmHvJgUCXKu/igIbAwUJC0c1AAULCQgHAwUVCgkICwUWAgMBAAIeAQIX +gAAKCRBFKLbNnmHvJg/vD/0eOl/pBb6ooGnzg2qoD+XwgOK3HkTdvGNZKGsIrhUG +q6O0zoyPW8v9b/i7QEDre8QahARmMAEQ+T3nbNVzw4kpE+YIrEkKjoJsrF8/K/1L +zBHJCc3S9oF9KubG5BuQ4bAmcvnI+qpEYbSTLHztYGUfXAGu+MnaDf4C60G7zM6m +ec4bX8lVnt+gcsGGGCdN89XsZLBNdv21z9xMeaAPiRYJpbqwrb8cYbKQeqFSQt2M +UylN5oVeN77Q8iyXSyVwpc6uKzXdQ8bVPbKUTWSXQ4SSp0HJjtAMiDH2pjty4PG6 +EgZ6/njJLOzQ29ZgFrS19XLONlptHwKzLYB8nJhJvGHfzzInmNttDtNwTA6IxpsR +4aCnrPWFJRCbmMBNXvBR9B/O+e/T5ngL21ipMEwzEOiQlRSacnO2pICwZ5pARMRI +dxq/5BQYry9HNlJDGR7YIfn7i0oCGk5BxwotSlAPw8jFpNU/zTOvpQAdPvZje2JP +6GS+hYxSdHsigREXI2gxTvpcLk8LOe9PsqJv631e6Kvn9P9OHiihIp8G9fRQ8T7y +elHcNanV192mfbWxJhDAcQ+JEy9883lOanaCoaf/7z4kdmCQLz5/oNg2K0qjSgZH +JY/gxCOwuAuUJlLcAXQG6txJshfMxyQUO46DXg0/gjwkKgT/9PbTJEN/WN/G6n1h +lQ== +=nKF2 +-----END PGP PUBLIC KEY BLOCK----- + diff --git a/gpgkey-6F6B15509CF8E59E6E469F327F438280EF8D349F.gpg b/gpgkey-6F6B15509CF8E59E6E469F327F438280EF8D349F.gpg deleted file mode 100644 index 2d64c0c0522426e9941e659e37467c6429f5609b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2259 zcmV;^2rT!R0u2OLwj(|P5CH0K|L0m{cImq!y)e!$s^0`l(Yx6ad^0m*A3>TaH3Pt*QZo5frQkc8ToQ2TAlWIjCjEPt?ciyS*zgyhiVcrZA!yQ~>y z@z}+HijVzE;X0|=7>gj_%+tMRf4>H&p~u+p6Y#=^X4!vhhcEs`F2SA#THxe=k41d-+FW=&An2`d$|49rXu?j(r^_#mRm-IEJTc)r5pmi6{a6i9b$@-JJCsP{~ z1n5XZY`43%>+v{u%+<22Qqn%se^UUm%N_O95!+f^EDV&Jj?{uD)b*MlvGd4C@aW~g zb1wIw&u6$w!6GU(JFP5~^3Gdj&4tyOBqUam#qzr8k&cI{&$W%zm@F*h+y}bcL7-3G zkj>EV&YPEI4GyScD`+Oq#nK1Fg95toOuUoJ6i4ApESij?K(IOvf_Y^)N)QBhTv^3d z7U@%tDqQ`?*Kdr4L!V@&Oc3TRFMY`=P)nZcjAP#$2~kpenLmS`O6mnP(oJvE&gpSd zKdzoMaa$6SC~1K-GJ&gN~f)_)7QBbJdW(!wM2%2#71UG*Sbony{Qsf zYxZM*7dws6-*CM~u9@Fp$2$%Qsk;pH=D8v-!z(1;-DZp;WNwNy)wpg|ceWH6AUN@J z0Feh^Q}LSa?O5r8#MUCZ<}Jj$uv580{hE3So2uu$NvTDO7aO?|*mhlZIqVDz<`*h7ZL*)zjdVKF)J>b0o{FdsY-BeU6)@oU0$n^lc z`^;FJh=6!Du=hPU!<8A@BqfSHr`1Zs8_0#GL85flC+-tNu!*VbYVRB)Zn#x>h~|(z z3&}lyW|aowVlKtnEJpO)EX7+tNu(0(v=3Zyrl#HZl-Nn93ws;)5dI;#F{_!16y4<$ zH2?sLnh8I{j~yi8-VQoe;T0;h+qGM2Q91qf+ zm;XVZ#y>!A4TvPq3wZ0dUQGu8EHKGc;Kj%!vjDY>dJ7rycb-lFl_@ z{SePd+4(D=DCa5eY-T2C`~s8U-Bc7qmIbKqBS;s6eXLuOFaZg~4QES~*cJi}_JGCT z@rRxTMto4O;6b;^Ej%7gZ4F%;h^I=*moei_lLG}&SpHAWY+UR1S5t;zWdIQY00D^t zB?K4&0ss#M0#~*pJ^~vI1qlge0e}Ds2@ronf`IRhG@or|5CFUye1r=1tJO4%p)$;v zJ+JZ|{;N>p>aByd7%8K_A-HjgtIIcW$@do$YlP(h2y8-GiPr$IFNB2~{ z$~1pQ1x)+?k*TNn94XnGdUtakop8FCwa*tTO0z6E zfEhME;#{}&qy(`Hg@s+u`=pkgptep|R;BU3+K`fICcJgF8%6EXP|}ydKP1C-s6m5h zd|s!bzbF+@K2U{aymvW=viG&|a+Msp3ky-^uu!&uVsRC55eGW~6J`fh*0}lYF$sS+ zQCxk`ib#URZcq{FiRblsJg9d4wK>Q5YR!$K zT6%iMR`||3&Nf~<%<~f&rV!FL`2PP@OMWeEkQOSDGf0-qXsBStpjG4Yz)_k_UUmOV zh4(3k94^5OhYNv4hjtJ32d?8smJok4$x@=>pDAtD$iqbfC4cSI`PXl)?U==X>tRAR hfE4%H4A8FqHR!7%WbcjmjGEjY1MAB=#}pFZ5@%{dH%tHk diff --git a/logrotate b/logrotate new file mode 100644 index 0000000..dcb57a2 --- /dev/null +++ b/logrotate @@ -0,0 +1,21 @@ +# Generic logrotate config for Red Hat systems. Works with both official +# Fedora and RHEL packages as well as PuppetLabs distributions. + +/var/log/puppetlabs/masterhttp.log /var/log/puppet/masterhttp.log { + compress + missingok + notifempty + nocreate +} + +/var/log/puppetlabs/puppetd.log /var/log/puppet/puppetd.log { + compress + missingok + notifempty + nocreate + sharedscripts + postrotate + ([ -x /etc/init.d/puppet ] && /etc/init.d/puppet rotate > /dev/null 2>&1) || + ([ -x /usr/bin/systemctl ] && /usr/bin/systemctl kill -s USR2 puppet.service > /dev/null 2>&1) || true + endscript +} diff --git a/puppet.spec b/puppet.spec index 8b8c4f4..932c27c 100644 --- a/puppet.spec +++ b/puppet.spec @@ -2,14 +2,14 @@ %global puppet_libdir %{ruby_vendorlibdir} Name: puppet -Version: 6.19.0 +Version: 6.25.1 Release: 1%{?dist} Summary: Network tool for managing many disparate systems License: ASL 2.0 URL: https://puppetlabs.com Source0: https://downloads.puppetlabs.com/puppet/%{name}-%{version}.tar.gz Source1: https://downloads.puppetlabs.com/puppet/%{name}-%{version}.tar.gz.asc -Source2: gpgkey-6F6B15509CF8E59E6E469F327F438280EF8D349F.gpg +Source2: RPM-GPG-KEY-puppet-20250406 Source3: https://forge.puppet.com/v3/files/puppetlabs-mount_core-1.0.4.tar.gz Source4: https://forge.puppet.com/v3/files/puppetlabs-host_core-1.0.3.tar.gz Source5: https://forge.puppet.com/v3/files/puppetlabs-augeas_core-1.1.1.tar.gz @@ -22,6 +22,7 @@ Source11: https://forge.puppet.com/v3/files/puppetlabs-zfs_core-1.1.0.tar. Source12: https://forge.puppet.com/v3/files/puppetlabs-zone_core-1.0.3.tar.gz Source13: puppet-nm-dispatcher.systemd Source14: start-puppet-wrapper +Source15: logrotate BuildArch: noarch @@ -89,7 +90,7 @@ for d in $(find -mindepth 1 -maxdepth 1 -type d -name 'puppetlabs-*'); do cp -a $d %{buildroot}%{_datadir}/puppetlabs/puppet/vendor_modules/$mod done -install -Dp -m0644 ext/redhat/logrotate %{buildroot}%{_sysconfdir}/logrotate.d/puppet +install -Dp -m0644 %{SOURCE15} %{buildroot}%{_sysconfdir}/logrotate.d/puppet %{__install} -d -m0755 %{buildroot}%{_unitdir} install -Dp -m0644 ext/systemd/puppet.service %{buildroot}%{_unitdir}/puppet.service @@ -101,7 +102,6 @@ install -Dpv -m0755 %{SOURCE13} \ # Install the ext/ directory to %%{_datadir}/puppetlabs/%%{name} install -d %{buildroot}%{_datadir}/puppetlabs/%{name} cp -a ext/ %{buildroot}%{_datadir}/puppetlabs/%{name} -chmod 0755 %{buildroot}%{_datadir}/puppetlabs/%{name}/ext/regexp_nodes/regexp_nodes.rb # Install wrappers for SELinux install -Dp -m0755 %{SOURCE14} %{buildroot}%{_bindir}/start-puppet-agent @@ -118,7 +118,7 @@ echo "D %{_rundir}/%{name} 0755 %{name} %{name} -" > \ # These mess-up with RPM automatic dependencies compute by adding # unnecessary deps like /sbin/runscripts # some other things were removed with the patch -rm -r %{buildroot}%{_datadir}/puppetlabs/puppet/ext/{debian,freebsd,gentoo,ips,osx,solaris,suse,windows} +rm -r %{buildroot}%{_datadir}/puppetlabs/puppet/ext/{debian,solaris,suse,windows} rm %{buildroot}%{_datadir}/puppetlabs/puppet/ext/redhat/*.init rm %{buildroot}%{_datadir}/puppetlabs/puppet/ext/{build_defaults.yaml,project_data.yaml} @@ -195,6 +195,9 @@ useradd -r -u 52 -g puppet -d /usr/local/puppetlabs -s /sbin/nologin \ %changelog +* Thu Nov 18 2021 Breno Brand Fernandes - 6.25.1-1 +- Update to 6.25.1 + * Thu Oct 22 2020 Igor Raits - 6.19.0-1 - Update to 6.19.0 From 96115c35646b70e54ca927305ad8b262d7d6a86c Mon Sep 17 00:00:00 2001 From: Breno Brand Fernandes Date: Thu, 18 Nov 2021 18:13:05 -0500 Subject: [PATCH 235/272] Updating sources --- .gitignore | 1 + puppet-6.19.0.tar.gz.asc | 17 ----------------- puppet-6.25.1.tar.gz.asc | 17 +++++++++++++++++ sources | 2 +- 4 files changed, 19 insertions(+), 18 deletions(-) delete mode 100644 puppet-6.19.0.tar.gz.asc create mode 100644 puppet-6.25.1.tar.gz.asc diff --git a/.gitignore b/.gitignore index 7f2ba30..f78b234 100644 --- a/.gitignore +++ b/.gitignore @@ -21,3 +21,4 @@ /puppet-6.19.0.tar.gz /puppetlabs-augeas_core-1.1.1.tar.gz /puppetlabs-sshkeys_core-2.2.0.tar.gz +/puppet-6.25.1.tar.gz diff --git a/puppet-6.19.0.tar.gz.asc b/puppet-6.19.0.tar.gz.asc deleted file mode 100644 index eb70f9d..0000000 --- a/puppet-6.19.0.tar.gz.asc +++ /dev/null @@ -1,17 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v1 - -iQIcBAABCAAGBQJfjxxrAAoJEH9DgoDvjTSf1XkP/ijzAjlw2C5PATRWpT0Zgg03 -IqGUkqHQX8ZFRDywypYlZlSLKChreF6jGBWWuiH3i6Bg+rnIU4JvpOX2VN1lVeo7 -XLqlKuL8fIrp6oeqO+0ejnGWbFPJtqddV/nLavU3VV7YO/ujrk02ACoQnZDOx7Z2 -V/Eb9akwUH7cMf+c/x54sC0fwHpXtT6DIAJiH9N6pZurad6lqwYxRLlyawlW0qQi -BlW63JzW2aZRV2gGbWAouLZKFc6G2Q9MwdhK4NLKzrzbWeXla8fhFKFmK3JbXF/d -GReeF2UWplVhWYx85bFVWpdORoN6mrk5ng8K5Eq8+63wFLgaPFFu/fNlTk9UYZh/ -UNGGUdAd26TdW9fnIeW/Qh5GmW1dPusNBA2zEZ/oygVqv6tuZg2ZXf27t//L7RLY -/S9czEZmff6QONcY/Gcigvt4fr/bpJqQAQwr+PW52lV1WqNKrtCI9CuTxODlkEjx -creVvp7/fIGq1Y4o1NvwzMRDH8lHfX497OSeY5ahJTZpqQRKcIv7QawVdELJIC5B -338R7tirIhJjBdeFndfr3M6SO4Qzi7SwnMz0LAscsy7Z0PAxn/nfe4f5P5RaEkpA -d7lvP4GOc3x7k/IclEXpnSJS9T4/pHhcYwd7/PFCih8cwTkPq539HgyslziYUPPF -r/l/AyQGB+zKrkfgrw7R -=/v0J ------END PGP SIGNATURE----- diff --git a/puppet-6.25.1.tar.gz.asc b/puppet-6.25.1.tar.gz.asc new file mode 100644 index 0000000..7594510 --- /dev/null +++ b/puppet-6.25.1.tar.gz.asc @@ -0,0 +1,17 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1 + +iQIcBAABCAAGBQJhiqx3AAoJEEUots2eYe8mfVkQALzen674oNAVarYrv6gvsnVq +A+X9JHFFFCm2SEi9WMlkvU+1dsWJoqMyXbsKfJGUINlWbEbv8Gm7izY0cvyGcHmV +dPrB/GmqAj1Rxuc29llABjy5VThWC/r7+4sbcwPX5CQ/sJwvE15JtYpMbPit9YtJ +76bxY8G7fv2Vq+lyRFtskmJ3OOvX4endccgf5qkdj1jo247zjBXhBejPvaBHYtFp +QvV5/mjpsGKt2yY6c0UJES15Sw2CLIDFr3JsaM2ADUIfc+7PP36JCT9hq60Lsl1o +8OWZZ+ruztFIQl6AKWjHJgnBMWxqqofJGCy1CXXdbOGt117eShsNfh2D+Bw70atM +y1Lb8l383VAFf0n8yqXjTvyU/lgHxC9nBtCMmPNrLEmOwqIR1hU0RtCEbwdC4izw +SnZKEI3SMM/dyalmGrkl5Tr26iMkAxpAIVlREH0eO0RYZXpJry5r1kcsuhKjiUsU +9P6M//5ltrmSZsxRfrdqwd8ulZgPktZN2D6Pimzvz68WE3RGRIcaazvTu3uIVF3K +pP7IND37H73QqJ9/u4QnSwBzX440LwEN9O+LKHqovqJaZFw7FV99IbD2+ETtKlPS +3dxM3GhIm7KZ2nw8xj1L+XRp8LrtBah1kCGv7jjuIJu2jvV58uNvgpMrPSFylLl0 +OOSSfYgOPTh8JX4l+lQE +=rZpx +-----END PGP SIGNATURE----- diff --git a/sources b/sources index a541611..f5000cf 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (puppet-6.19.0.tar.gz) = 88f9731e435234d74aba6b46793d44be6e97848b4365cae1b02641102dc2e1638b8912404912ebd2e49a9fe0f6c88fa06c3c4a22c91ff5ecc45a9bec386d357e +SHA512 (puppet-6.25.1.tar.gz) = 88000578cbcdc09165512345ef8f4182635ad5508279ccdec9ca8019663c485adf01e0db8adbb6ad7c9089d96a98524b2e62136af68c18bcb2834764c02402a1 SHA512 (puppetlabs-augeas_core-1.1.1.tar.gz) = 19e312da6b1accb74b772cb2d0a19dfa29d93cf03173bbf3c58e1def46ed352dd7c0618e0420b28a09607412ba87144ef3f2afc1cdedbe93f227b39bc4e290ac SHA512 (puppetlabs-cron_core-1.0.4.tar.gz) = bdeab644f8f6084dcb8331edb207f5634672e512bf3573d85bb5eadcb979f83da7fb5ccbec150383d903bced3d0f05a7c20d4394abc2c479e194cff6646cb0ee SHA512 (puppetlabs-host_core-1.0.3.tar.gz) = 09b4084663f4f6886380a473d26d1b759026f345bd3850084ac4f3ef59ed8ab2396fecdb3c836591d9097b9c5252ba794c4b7d3296b8321ff401f8a956ad093c From 4f3b23ce3b7cff5b4adb9f92194ba54f8164b204 Mon Sep 17 00:00:00 2001 From: Breno Brand Fernandes Date: Thu, 18 Nov 2021 20:32:28 -0500 Subject: [PATCH 236/272] Update to 7.12.1 --- logrotate | 21 +++++++++++++++++++++ puppet.spec | 11 +++++++---- 2 files changed, 28 insertions(+), 4 deletions(-) create mode 100644 logrotate diff --git a/logrotate b/logrotate new file mode 100644 index 0000000..dcb57a2 --- /dev/null +++ b/logrotate @@ -0,0 +1,21 @@ +# Generic logrotate config for Red Hat systems. Works with both official +# Fedora and RHEL packages as well as PuppetLabs distributions. + +/var/log/puppetlabs/masterhttp.log /var/log/puppet/masterhttp.log { + compress + missingok + notifempty + nocreate +} + +/var/log/puppetlabs/puppetd.log /var/log/puppet/puppetd.log { + compress + missingok + notifempty + nocreate + sharedscripts + postrotate + ([ -x /etc/init.d/puppet ] && /etc/init.d/puppet rotate > /dev/null 2>&1) || + ([ -x /usr/bin/systemctl ] && /usr/bin/systemctl kill -s USR2 puppet.service > /dev/null 2>&1) || true + endscript +} diff --git a/puppet.spec b/puppet.spec index 7cc8103..ebb75da 100644 --- a/puppet.spec +++ b/puppet.spec @@ -3,7 +3,7 @@ %global puppet_vendor_mod_dir %{_datadir}/%{name}/vendor_modules Name: puppet -Version: 7.9.0 +Version: 7.12.1 Release: 1%{?dist} Summary: Network tool for managing many disparate systems License: ASL 2.0 @@ -25,6 +25,7 @@ Source11: https://forge.puppet.com/v3/files/puppetlabs-zfs_core-1.2.0.tar. Source12: https://forge.puppet.com/v3/files/puppetlabs-zone_core-1.0.3.tar.gz Source13: puppet-nm-dispatcher.systemd Source14: start-puppet-wrapper +Source15: logrotate BuildArch: noarch @@ -99,7 +100,7 @@ for d in $(find -mindepth 1 -maxdepth 1 -type d -name 'puppetlabs-*'); do cp -a $d %{buildroot}%{_datadir}/%{name}/vendor_modules/$mod done -install -Dp -m0644 ext/redhat/logrotate %{buildroot}%{_sysconfdir}/logrotate.d/%{name} +install -Dp -m0644 %{SOURCE15} %{buildroot}%{_sysconfdir}/logrotate.d/%{name} %{__install} -d -m0755 %{buildroot}%{_unitdir} install -Dp -m0644 ext/systemd/puppet.service %{buildroot}%{_unitdir}/%{name}.service @@ -115,7 +116,6 @@ install -Dpv -m0755 %{SOURCE13} \ # Install the ext/ directory to %%{_datadir}/%%{name} install -d %{buildroot}%{_datadir}/%{name} cp -a ext/ %{buildroot}%{_datadir}/%{name} -chmod 0755 %{buildroot}%{_datadir}/%{name}/ext/regexp_nodes/regexp_nodes.rb # Install wrappers for SELinux install -Dp -m0755 %{SOURCE14} %{buildroot}%{_bindir}/start-puppet-agent @@ -132,7 +132,7 @@ echo "D %{_rundir}/%{name} 0755 %{name} %{name} -" > \ # These mess-up with RPM automatic dependencies compute by adding # unnecessary deps like /sbin/runscripts # some other things were removed with the patch -rm -r %{buildroot}%{_datadir}/%{name}/ext/{debian,freebsd,gentoo,ips,osx,solaris,suse,windows,systemd,redhat} +rm -r %{buildroot}%{_datadir}/%{name}/ext/{debian,osx,solaris,suse,windows,systemd,redhat} rm %{buildroot}%{_datadir}/%{name}/ext/{build_defaults.yaml,project_data.yaml} %files @@ -208,6 +208,9 @@ useradd -r -u 52 -g puppet -s /sbin/nologin \ %systemd_postun_with_restart %{name}.service %changelog +* Thu Nov 18 2021 Breno Brand Fernandes - 7.12.1-1 +- Update to 7.12.1 + * Tue Aug 17 2021 Ewoud Kohl van Wijngaarden - 7.9.0-1 - Update to 7.9.0 - Revert paths to FHS standards From d3d27b1e3f99f1e3ce8f81c2128c3335b948de13 Mon Sep 17 00:00:00 2001 From: Breno Brand Fernandes Date: Thu, 18 Nov 2021 20:32:45 -0500 Subject: [PATCH 237/272] Updating sources --- puppet-7.12.1.tar.gz.asc | 17 +++++++++++++++++ sources | 3 +-- 2 files changed, 18 insertions(+), 2 deletions(-) create mode 100644 puppet-7.12.1.tar.gz.asc diff --git a/puppet-7.12.1.tar.gz.asc b/puppet-7.12.1.tar.gz.asc new file mode 100644 index 0000000..69058f3 --- /dev/null +++ b/puppet-7.12.1.tar.gz.asc @@ -0,0 +1,17 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1 + +iQIcBAABCAAGBQJhiqyLAAoJEEUots2eYe8mXp4P/3pU/GmGMldkCSdcYLUpWO+K +LcxdTFZZg35JjJw6bIKCgGvQ/M2mC1bTaxaKKk2Wt3/V0rpYz2yEt+wskks8GqPc +Fs9+wWSNU4v5swHrH95W0uxBoexfxV1Zpqm/J6TuWsqt20U1rlWo/W/V7SB6Cilr +1bUsd/nJn+/ifDJN/OxU+n/NWAVcRi64IWKpyBIliQI5heQSuSD52czAo10L4hg8 +5HiZZyS4vx/+FpeXgnu8gVKDoqezOeYNrZxNLOajcpz5ohQdW2OxexF3l2oh+ehh +l1KCofsiP0s5GhzZq8LvFmhqEPYurEsXExe5GZSqHFFjQ27vnEl5SsHWSA817LL/ +PczCwXTe4te2nA2u+QqoJ3Of5AKet3fvEDQLZKnNaGRctcLoPmAd7vrBnNQOjlNg +h3KTI2iG5slN0n3WqHWVIHhy/8vq/24FdJE9UDwERmdpKpxtB5cDWheRC32D0+rU +BCmbKU6GCiKhjFKA3VELtKAyRVARbxxRiSB6InVfNGoLSqARiUvDy/p7ZqZThg6J +4BWBnwmYjS02gXZk0VyxfeEYa0MOL5TDDgY+rosjI6hA4I/dnosLVLzjOWkaQXc4 +uzCPjMUDSQbX9bZCygRHMLnBNzU4ldmTM2QPVkRZMTUU+gMIk+nPT+iqRAvicfr/ +ZO/FQBCmaHkbSC518ClM +=hKI2 +-----END PGP SIGNATURE----- diff --git a/sources b/sources index becb176..e5cc9db 100644 --- a/sources +++ b/sources @@ -1,5 +1,4 @@ -SHA512 (puppet-7.9.0.tar.gz) = 6329d89530d2cb008e28116de655024e9bf944b3f41d086e0e47c41c74af3da51c283a912ac966cf7bac52f86e54304df6cf31477a5663cae09fb4d18f958cf2 -SHA512 (puppet-7.9.0.tar.gz.asc) = 22b9f826ba310ae1dc60f525d36f06f2fb7e2392ae3f04a082b6c600877111d9b2faedc02a1e00dce6ad2711359a2035f24413148253059f607ce6ccd8c267ba +SHA512 (puppet-7.12.1.tar.gz) = 908685f206126b49c9bc7d70c2c6273dce025040e6fdcfac1828a13c2aa570d383772a717aea2feac2383489003a31f321a2efe3cfe612cd321d2c1696d036ac SHA512 (puppetlabs-augeas_core-1.1.2.tar.gz) = 0e2a1f136685b54636cf1741d34bb2385a0bb22d6ea78b6fe495ced3273920d266258143333a4185f901c0c1a6ee562107224b5093668f0c370723c9b3125308 SHA512 (puppetlabs-cron_core-1.0.5.tar.gz) = a31d3170b0457985fc067b73902a82a92ee0e537020056ffef825ff8b295d581808e729ff0481479086ab6c21a2ecf111df9e16b87c0c14e26ef318e7fbfcd19 SHA512 (puppetlabs-host_core-1.0.3.tar.gz) = 09b4084663f4f6886380a473d26d1b759026f345bd3850084ac4f3ef59ed8ab2396fecdb3c836591d9097b9c5252ba794c4b7d3296b8321ff401f8a956ad093c From bc15811b40c36f897100b2fec621638ce594b32b Mon Sep 17 00:00:00 2001 From: Igor Raits Date: Sat, 27 Nov 2021 17:31:23 +0100 Subject: [PATCH 238/272] Drop unneded dependency on cpp-hocon Signed-off-by: Igor Raits --- puppet.spec | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/puppet.spec b/puppet.spec index ebb75da..a56a22a 100644 --- a/puppet.spec +++ b/puppet.spec @@ -4,7 +4,7 @@ Name: puppet Version: 7.12.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Network tool for managing many disparate systems License: ASL 2.0 URL: https://puppet.com @@ -48,7 +48,6 @@ Requires: rubygem(semantic_puppet) >= 1.0.2 Requires: ruby-augeas >= 0.5.0 Requires: augeas >= 1.10.1 Requires: augeas-libs >= 1.10.1 -Requires: cpp-hocon >= 0.2.1 Requires: ruby(selinux) libselinux-utils Obsoletes: puppet-headless < 6.0.0 Obsoletes: puppet-server < 6.0.0 @@ -208,6 +207,9 @@ useradd -r -u 52 -g puppet -s /sbin/nologin \ %systemd_postun_with_restart %{name}.service %changelog +* Sat Nov 27 2021 Igor Raits - 7.12.1-2 +- Drop obsolete dependency on cpp-hocon + * Thu Nov 18 2021 Breno Brand Fernandes - 7.12.1-1 - Update to 7.12.1 From 73e16243b21db7761f67cdc4f79aebdf46dfee4f Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 21 Jan 2022 09:39:28 +0000 Subject: [PATCH 239/272] - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- puppet.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/puppet.spec b/puppet.spec index a56a22a..e5ee418 100644 --- a/puppet.spec +++ b/puppet.spec @@ -4,7 +4,7 @@ Name: puppet Version: 7.12.1 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Network tool for managing many disparate systems License: ASL 2.0 URL: https://puppet.com @@ -207,6 +207,9 @@ useradd -r -u 52 -g puppet -s /sbin/nologin \ %systemd_postun_with_restart %{name}.service %changelog +* Fri Jan 21 2022 Fedora Release Engineering - 7.12.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + * Sat Nov 27 2021 Igor Raits - 7.12.1-2 - Drop obsolete dependency on cpp-hocon From 18faf1003565bd699cda72e90d77b5c7f80beb45 Mon Sep 17 00:00:00 2001 From: Breno Brand Fernandes Date: Wed, 26 Jan 2022 15:02:33 -0500 Subject: [PATCH 240/272] Update to 6.26.0 --- .gitignore | 1 + puppet-6.25.1.tar.gz.asc | 17 ----------------- puppet-6.26.0.tar.gz.asc | 17 +++++++++++++++++ puppet.spec | 5 ++++- sources | 2 +- 5 files changed, 23 insertions(+), 19 deletions(-) delete mode 100644 puppet-6.25.1.tar.gz.asc create mode 100644 puppet-6.26.0.tar.gz.asc diff --git a/.gitignore b/.gitignore index f78b234..80f5985 100644 --- a/.gitignore +++ b/.gitignore @@ -22,3 +22,4 @@ /puppetlabs-augeas_core-1.1.1.tar.gz /puppetlabs-sshkeys_core-2.2.0.tar.gz /puppet-6.25.1.tar.gz +/puppet-6.26.0.tar.gz diff --git a/puppet-6.25.1.tar.gz.asc b/puppet-6.25.1.tar.gz.asc deleted file mode 100644 index 7594510..0000000 --- a/puppet-6.25.1.tar.gz.asc +++ /dev/null @@ -1,17 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v1 - -iQIcBAABCAAGBQJhiqx3AAoJEEUots2eYe8mfVkQALzen674oNAVarYrv6gvsnVq -A+X9JHFFFCm2SEi9WMlkvU+1dsWJoqMyXbsKfJGUINlWbEbv8Gm7izY0cvyGcHmV -dPrB/GmqAj1Rxuc29llABjy5VThWC/r7+4sbcwPX5CQ/sJwvE15JtYpMbPit9YtJ -76bxY8G7fv2Vq+lyRFtskmJ3OOvX4endccgf5qkdj1jo247zjBXhBejPvaBHYtFp -QvV5/mjpsGKt2yY6c0UJES15Sw2CLIDFr3JsaM2ADUIfc+7PP36JCT9hq60Lsl1o -8OWZZ+ruztFIQl6AKWjHJgnBMWxqqofJGCy1CXXdbOGt117eShsNfh2D+Bw70atM -y1Lb8l383VAFf0n8yqXjTvyU/lgHxC9nBtCMmPNrLEmOwqIR1hU0RtCEbwdC4izw -SnZKEI3SMM/dyalmGrkl5Tr26iMkAxpAIVlREH0eO0RYZXpJry5r1kcsuhKjiUsU -9P6M//5ltrmSZsxRfrdqwd8ulZgPktZN2D6Pimzvz68WE3RGRIcaazvTu3uIVF3K -pP7IND37H73QqJ9/u4QnSwBzX440LwEN9O+LKHqovqJaZFw7FV99IbD2+ETtKlPS -3dxM3GhIm7KZ2nw8xj1L+XRp8LrtBah1kCGv7jjuIJu2jvV58uNvgpMrPSFylLl0 -OOSSfYgOPTh8JX4l+lQE -=rZpx ------END PGP SIGNATURE----- diff --git a/puppet-6.26.0.tar.gz.asc b/puppet-6.26.0.tar.gz.asc new file mode 100644 index 0000000..61cd309 --- /dev/null +++ b/puppet-6.26.0.tar.gz.asc @@ -0,0 +1,17 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1 + +iQIcBAABCAAGBQJh6ZmQAAoJEEUots2eYe8mnOgP/1aX8OwhGx8uZMVaqUSL5ZEH +q+y5PY+UVV5mDhpzAiF4T+aJJ1PpZ5nr+5RFxMz4H8m8btLK35mhZJf2jFZ4aBrM +k5OXG9M3L26YfoLbAM2JEpFGpli/wXi6tTOUg3Yfx0qNfjagaYJtL6YvntlOexa0 +lsIWTmlkVcyIMY1K26PIfIQOpolsxEGQeoBfr/oKvPVTbkbiG3y/SDcF0H2FcppE +85vwvOk7InrQvl3+JNmfsgX5GIE9SqG3bkWY8KXJrguynium5Ige55vrVpbl1eNc +A6yhTCzfqPM8QXnp3ze6snpu3ksCQ6yovWBlO7bfX9M47PZau/8FS7pYy06oI0FD +1G9TJwF96LqaCLgnBLKcbcoze0vxxfcap5gxnWxh3iXh++31Mh3b6JIpski4tOy+ +lBpNTTnttYA/86ROIQCPgTDGIwcXWprvO/2tUTXne5KUIRhSZghrexEHLoKiQoFO +Ry2HKYVulPPi+1PuMFUleBqsgmWVpQZZ8u0opEQgTqNHbGFYx88aSSL4MuF+5Msv +Lno1J7FD/4ctu+ck0Xc7+rWqSLC2hK6FVS555/quIyV9gJODcW/fEB8tSLoZUPCc +ex4Iy1wu0u1KnmVcOC8WiP2gcWJS67TDl9U3CFzks6CGBjwu6n+RlS3TmZu7l/C6 +Ea7562XrM8z9HOSQ+ymE +=degl +-----END PGP SIGNATURE----- diff --git a/puppet.spec b/puppet.spec index 932c27c..9337c11 100644 --- a/puppet.spec +++ b/puppet.spec @@ -2,7 +2,7 @@ %global puppet_libdir %{ruby_vendorlibdir} Name: puppet -Version: 6.25.1 +Version: 6.26.0 Release: 1%{?dist} Summary: Network tool for managing many disparate systems License: ASL 2.0 @@ -195,6 +195,9 @@ useradd -r -u 52 -g puppet -d /usr/local/puppetlabs -s /sbin/nologin \ %changelog +* Wed Jan 26 2022 Breno Brand Fernandes - 6.26.0-1 +- Update to 6.26.0 + * Thu Nov 18 2021 Breno Brand Fernandes - 6.25.1-1 - Update to 6.25.1 diff --git a/sources b/sources index f5000cf..45300f0 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (puppet-6.25.1.tar.gz) = 88000578cbcdc09165512345ef8f4182635ad5508279ccdec9ca8019663c485adf01e0db8adbb6ad7c9089d96a98524b2e62136af68c18bcb2834764c02402a1 +SHA512 (puppet-6.26.0.tar.gz) = 7fe4d0dd9d3ae93095d8196499ee532865e7a81d2795a377ae0ca1bff45bc38b59df1643210c5f8cff8edf63780a41171191b10194cc54ac97e09258ad75b1cb SHA512 (puppetlabs-augeas_core-1.1.1.tar.gz) = 19e312da6b1accb74b772cb2d0a19dfa29d93cf03173bbf3c58e1def46ed352dd7c0618e0420b28a09607412ba87144ef3f2afc1cdedbe93f227b39bc4e290ac SHA512 (puppetlabs-cron_core-1.0.4.tar.gz) = bdeab644f8f6084dcb8331edb207f5634672e512bf3573d85bb5eadcb979f83da7fb5ccbec150383d903bced3d0f05a7c20d4394abc2c479e194cff6646cb0ee SHA512 (puppetlabs-host_core-1.0.3.tar.gz) = 09b4084663f4f6886380a473d26d1b759026f345bd3850084ac4f3ef59ed8ab2396fecdb3c836591d9097b9c5252ba794c4b7d3296b8321ff401f8a956ad093c From 4bc6604985bd1edd1475f8476504285c76820b5c Mon Sep 17 00:00:00 2001 From: Ewoud Kohl van Wijngaarden Date: Wed, 20 Apr 2022 11:39:10 +0200 Subject: [PATCH 241/272] Update to 7.16.0 --- puppet-7.12.1.tar.gz.asc | 17 ----------------- puppet.spec | 8 ++++++-- sources | 3 ++- 3 files changed, 8 insertions(+), 20 deletions(-) delete mode 100644 puppet-7.12.1.tar.gz.asc diff --git a/puppet-7.12.1.tar.gz.asc b/puppet-7.12.1.tar.gz.asc deleted file mode 100644 index 69058f3..0000000 --- a/puppet-7.12.1.tar.gz.asc +++ /dev/null @@ -1,17 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v1 - -iQIcBAABCAAGBQJhiqyLAAoJEEUots2eYe8mXp4P/3pU/GmGMldkCSdcYLUpWO+K -LcxdTFZZg35JjJw6bIKCgGvQ/M2mC1bTaxaKKk2Wt3/V0rpYz2yEt+wskks8GqPc -Fs9+wWSNU4v5swHrH95W0uxBoexfxV1Zpqm/J6TuWsqt20U1rlWo/W/V7SB6Cilr -1bUsd/nJn+/ifDJN/OxU+n/NWAVcRi64IWKpyBIliQI5heQSuSD52czAo10L4hg8 -5HiZZyS4vx/+FpeXgnu8gVKDoqezOeYNrZxNLOajcpz5ohQdW2OxexF3l2oh+ehh -l1KCofsiP0s5GhzZq8LvFmhqEPYurEsXExe5GZSqHFFjQ27vnEl5SsHWSA817LL/ -PczCwXTe4te2nA2u+QqoJ3Of5AKet3fvEDQLZKnNaGRctcLoPmAd7vrBnNQOjlNg -h3KTI2iG5slN0n3WqHWVIHhy/8vq/24FdJE9UDwERmdpKpxtB5cDWheRC32D0+rU -BCmbKU6GCiKhjFKA3VELtKAyRVARbxxRiSB6InVfNGoLSqARiUvDy/p7ZqZThg6J -4BWBnwmYjS02gXZk0VyxfeEYa0MOL5TDDgY+rosjI6hA4I/dnosLVLzjOWkaQXc4 -uzCPjMUDSQbX9bZCygRHMLnBNzU4ldmTM2QPVkRZMTUU+gMIk+nPT+iqRAvicfr/ -ZO/FQBCmaHkbSC518ClM -=hKI2 ------END PGP SIGNATURE----- diff --git a/puppet.spec b/puppet.spec index e5ee418..23b0f3a 100644 --- a/puppet.spec +++ b/puppet.spec @@ -3,8 +3,8 @@ %global puppet_vendor_mod_dir %{_datadir}/%{name}/vendor_modules Name: puppet -Version: 7.12.1 -Release: 3%{?dist} +Version: 7.16.0 +Release: 1%{?dist} Summary: Network tool for managing many disparate systems License: ASL 2.0 URL: https://puppet.com @@ -45,6 +45,7 @@ Requires: rubygem(facter) >= 3.9.6 Requires: rubygem(multi_json) >= 1.10 Requires: rubygem(puppet-resource_api) >= 1.5 Requires: rubygem(semantic_puppet) >= 1.0.2 +Requires: rubygem(scanf) >= 1.0 Requires: ruby-augeas >= 0.5.0 Requires: augeas >= 1.10.1 Requires: augeas-libs >= 1.10.1 @@ -207,6 +208,9 @@ useradd -r -u 52 -g puppet -s /sbin/nologin \ %systemd_postun_with_restart %{name}.service %changelog +* Wed Apr 20 2022 Ewoud Kohl van Wijngaarden - 7.16.0-1 +- Update to 7.16.0 + * Fri Jan 21 2022 Fedora Release Engineering - 7.12.1-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild diff --git a/sources b/sources index e5cc9db..273c0de 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (puppet-7.12.1.tar.gz) = 908685f206126b49c9bc7d70c2c6273dce025040e6fdcfac1828a13c2aa570d383772a717aea2feac2383489003a31f321a2efe3cfe612cd321d2c1696d036ac +SHA512 (puppet-7.16.0.tar.gz) = b1f3c6072821225c9068089f44ad9ab955534f2d91bf88b44f762e0588442b9d6191eb89909dc05b7efc3a82302d2d3dc5a5a040fbc84f81645817d695b4db72 SHA512 (puppetlabs-augeas_core-1.1.2.tar.gz) = 0e2a1f136685b54636cf1741d34bb2385a0bb22d6ea78b6fe495ced3273920d266258143333a4185f901c0c1a6ee562107224b5093668f0c370723c9b3125308 SHA512 (puppetlabs-cron_core-1.0.5.tar.gz) = a31d3170b0457985fc067b73902a82a92ee0e537020056ffef825ff8b295d581808e729ff0481479086ab6c21a2ecf111df9e16b87c0c14e26ef318e7fbfcd19 SHA512 (puppetlabs-host_core-1.0.3.tar.gz) = 09b4084663f4f6886380a473d26d1b759026f345bd3850084ac4f3ef59ed8ab2396fecdb3c836591d9097b9c5252ba794c4b7d3296b8321ff401f8a956ad093c @@ -9,3 +9,4 @@ SHA512 (puppetlabs-sshkeys_core-2.2.0.tar.gz) = 933d7a41f94aa499805dfd260ee52791 SHA512 (puppetlabs-yumrepo_core-1.0.7.tar.gz) = 8fb3cb40077ac113c332a761c01c1d7ce4bdfff1016be696efb41be20c86ff688b40b83c00a47394d79e64941cf6c23ea4bbd1107b4c7856d1b481733cb2d7ce SHA512 (puppetlabs-zfs_core-1.2.0.tar.gz) = 5cf44b314094a6dad45482776b1442ab941cd1f93b39141e452c8c03b441a90ab7e6077f22f6fee9796ec2af41c30a8601e9cec6ccce81c2cb2dcc4ecba7117f SHA512 (puppetlabs-zone_core-1.0.3.tar.gz) = 1083bcc810e8a7b048fad1c70656d806c65b5fa912c627bf1dfaf3b9d8a0ec675db100abc2fc6499669c17927ea3e55a5c968fde0e577fc1f4cebb1fbd5e0851 +SHA512 (puppet-7.16.0.tar.gz.asc) = c160bf3ad4600042d89acd3581fd4399cd8d8b2d1f0e21fc51aa06d51f3d850989aab83fe0144ad7501317d42d4c15115741eac5ebed9c9fcfe229ce9538d2f1 From ddd86b7d5d15798a2a1840cd7875da19e6153b72 Mon Sep 17 00:00:00 2001 From: Ewoud Kohl van Wijngaarden Date: Wed, 1 Jun 2022 18:35:13 +0200 Subject: [PATCH 242/272] Update to 7.17.0 --- puppet.spec | 5 ++++- sources | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/puppet.spec b/puppet.spec index 23b0f3a..cbf82f4 100644 --- a/puppet.spec +++ b/puppet.spec @@ -3,7 +3,7 @@ %global puppet_vendor_mod_dir %{_datadir}/%{name}/vendor_modules Name: puppet -Version: 7.16.0 +Version: 7.17.0 Release: 1%{?dist} Summary: Network tool for managing many disparate systems License: ASL 2.0 @@ -208,6 +208,9 @@ useradd -r -u 52 -g puppet -s /sbin/nologin \ %systemd_postun_with_restart %{name}.service %changelog +* Wed Jun 01 2022 Ewoud Kohl van Wijngaarden - 7.17.0-1 +- Update to 7.17.0 + * Wed Apr 20 2022 Ewoud Kohl van Wijngaarden - 7.16.0-1 - Update to 7.16.0 diff --git a/sources b/sources index 273c0de..69e5cc5 100644 --- a/sources +++ b/sources @@ -1,4 +1,5 @@ -SHA512 (puppet-7.16.0.tar.gz) = b1f3c6072821225c9068089f44ad9ab955534f2d91bf88b44f762e0588442b9d6191eb89909dc05b7efc3a82302d2d3dc5a5a040fbc84f81645817d695b4db72 +SHA512 (puppet-7.17.0.tar.gz) = f691b6d3e931c5cc879c8e5129af2a935bedc891964ba5cbb873d6d69e0ec61bd82ca7d413a94389cda13cb6c8c536aae6f11dade4c6e2597abc7756a74f4df0 +SHA512 (puppet-7.17.0.tar.gz.asc) = b8170200b596531e7f117f3fe699955254a26483e0374fdb190b8a68cff007b35c2845d38185dc22eabac254f5305802fd67c3bf264d6112a42ad9ce4901d6c3 SHA512 (puppetlabs-augeas_core-1.1.2.tar.gz) = 0e2a1f136685b54636cf1741d34bb2385a0bb22d6ea78b6fe495ced3273920d266258143333a4185f901c0c1a6ee562107224b5093668f0c370723c9b3125308 SHA512 (puppetlabs-cron_core-1.0.5.tar.gz) = a31d3170b0457985fc067b73902a82a92ee0e537020056ffef825ff8b295d581808e729ff0481479086ab6c21a2ecf111df9e16b87c0c14e26ef318e7fbfcd19 SHA512 (puppetlabs-host_core-1.0.3.tar.gz) = 09b4084663f4f6886380a473d26d1b759026f345bd3850084ac4f3ef59ed8ab2396fecdb3c836591d9097b9c5252ba794c4b7d3296b8321ff401f8a956ad093c @@ -9,4 +10,3 @@ SHA512 (puppetlabs-sshkeys_core-2.2.0.tar.gz) = 933d7a41f94aa499805dfd260ee52791 SHA512 (puppetlabs-yumrepo_core-1.0.7.tar.gz) = 8fb3cb40077ac113c332a761c01c1d7ce4bdfff1016be696efb41be20c86ff688b40b83c00a47394d79e64941cf6c23ea4bbd1107b4c7856d1b481733cb2d7ce SHA512 (puppetlabs-zfs_core-1.2.0.tar.gz) = 5cf44b314094a6dad45482776b1442ab941cd1f93b39141e452c8c03b441a90ab7e6077f22f6fee9796ec2af41c30a8601e9cec6ccce81c2cb2dcc4ecba7117f SHA512 (puppetlabs-zone_core-1.0.3.tar.gz) = 1083bcc810e8a7b048fad1c70656d806c65b5fa912c627bf1dfaf3b9d8a0ec675db100abc2fc6499669c17927ea3e55a5c968fde0e577fc1f4cebb1fbd5e0851 -SHA512 (puppet-7.16.0.tar.gz.asc) = c160bf3ad4600042d89acd3581fd4399cd8d8b2d1f0e21fc51aa06d51f3d850989aab83fe0144ad7501317d42d4c15115741eac5ebed9c9fcfe229ce9538d2f1 From 65dda53fbe2c5b90c028665e892ec8805a03f147 Mon Sep 17 00:00:00 2001 From: Ewoud Kohl van Wijngaarden Date: Wed, 15 Jun 2022 13:53:09 +0200 Subject: [PATCH 243/272] Require at least concurrent-ruby 1.1.9 Fixes rhbz#2077122 --- puppet.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/puppet.spec b/puppet.spec index cbf82f4..0b9b8a9 100644 --- a/puppet.spec +++ b/puppet.spec @@ -4,7 +4,7 @@ Name: puppet Version: 7.17.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Network tool for managing many disparate systems License: ASL 2.0 URL: https://puppet.com @@ -39,7 +39,7 @@ BuildRequires: systemd BuildRequires: gnupg2 Requires: hiera >= 3.3.1 Requires: facter >= 3.9.6 -Requires: rubygem(concurrent-ruby) >= 1.0.5 +Requires: rubygem(concurrent-ruby) >= 1.1.9 Requires: rubygem(deep_merge) >= 1.0 Requires: rubygem(facter) >= 3.9.6 Requires: rubygem(multi_json) >= 1.10 @@ -208,6 +208,9 @@ useradd -r -u 52 -g puppet -s /sbin/nologin \ %systemd_postun_with_restart %{name}.service %changelog +* Wed Jun 15 2022 Ewoud Kohl van Wijngaarden - 7.17.0-2 +- Require at least concurrent-ruby 1.1.9 (fixes rhbz#2077122) + * Wed Jun 01 2022 Ewoud Kohl van Wijngaarden - 7.17.0-1 - Update to 7.17.0 From 786139b96104c04f3818b363bf1e24541332ddc3 Mon Sep 17 00:00:00 2001 From: Ewoud Kohl van Wijngaarden Date: Tue, 21 Jun 2022 12:03:18 +0200 Subject: [PATCH 244/272] Add tests using tmt --- .fmf/version | 1 + .gitignore | 1 + plans/lookup.fmf | 7 +++++++ plans/smoke.fmf | 5 +++++ tests/smoke/main.fmf | 4 ++++ tests/smoke/test.sh | 25 +++++++++++++++++++++++++ 6 files changed, 43 insertions(+) create mode 100644 .fmf/version create mode 100644 plans/lookup.fmf create mode 100644 plans/smoke.fmf create mode 100644 tests/smoke/main.fmf create mode 100755 tests/smoke/test.sh diff --git a/.fmf/version b/.fmf/version new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/.fmf/version @@ -0,0 +1 @@ +1 diff --git a/.gitignore b/.gitignore index 2eb5ee8..8f62a61 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ /puppet-*/ /.build*.log results_puppet/ +/tests/*/log.txt diff --git a/plans/lookup.fmf b/plans/lookup.fmf new file mode 100644 index 0000000..1a53fc5 --- /dev/null +++ b/plans/lookup.fmf @@ -0,0 +1,7 @@ +summary: Run puppet lookup +prepare: + how: install + package: puppet +execute: + how: tmt + script: puppet lookup --explain foo diff --git a/plans/smoke.fmf b/plans/smoke.fmf new file mode 100644 index 0000000..c1627f9 --- /dev/null +++ b/plans/smoke.fmf @@ -0,0 +1,5 @@ +summary: Basic smoke test +discover: + how: fmf +execute: + how: tmt diff --git a/tests/smoke/main.fmf b/tests/smoke/main.fmf new file mode 100644 index 0000000..ca3245b --- /dev/null +++ b/tests/smoke/main.fmf @@ -0,0 +1,4 @@ +summary: Basic smoke testing +require: puppet +test: ./test.sh +framework: beakerlib diff --git a/tests/smoke/test.sh b/tests/smoke/test.sh new file mode 100755 index 0000000..1037517 --- /dev/null +++ b/tests/smoke/test.sh @@ -0,0 +1,25 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +rlJournalStart + rlPhaseStartSetup + rlRun "tmp=\$(mktemp -d)" 0 "Create tmp directory" + rlRun "pushd $tmp" + rlRun "set -o pipefail" + rlAssertRpm puppet + rlPhaseEnd + + rlPhaseStartTest + rlRun -s "puppet --help" 0 "Check help message" + rlAssertNotGrep "warning" $rlRun_LOG -i + + rlRun "echo \"file { '${tmp}/applied-file': ensure => file, content => 'Hello World' }\" | puppet apply" 0 "Apply manifest" + rlAssertGrep "Hello World" "applied-file" + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $tmp" 0 "Remove tmp directory" + rlPhaseEnd +rlJournalEnd From b4b3086744f6a5e0d275d480d5d7ed08088959cc Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 22 Jul 2022 15:37:30 +0000 Subject: [PATCH 245/272] Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- puppet.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/puppet.spec b/puppet.spec index 0b9b8a9..1c296a6 100644 --- a/puppet.spec +++ b/puppet.spec @@ -4,7 +4,7 @@ Name: puppet Version: 7.17.0 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Network tool for managing many disparate systems License: ASL 2.0 URL: https://puppet.com @@ -208,6 +208,9 @@ useradd -r -u 52 -g puppet -s /sbin/nologin \ %systemd_postun_with_restart %{name}.service %changelog +* Fri Jul 22 2022 Fedora Release Engineering - 7.17.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + * Wed Jun 15 2022 Ewoud Kohl van Wijngaarden - 7.17.0-2 - Require at least concurrent-ruby 1.1.9 (fixes rhbz#2077122) From 9017a79c57cf4e93419f3a587e6ab83e1d3ab3d7 Mon Sep 17 00:00:00 2001 From: Ewoud Kohl van Wijngaarden Date: Tue, 30 Aug 2022 18:51:06 +0200 Subject: [PATCH 246/272] Update to 7.18.0 --- puppet.spec | 7 +++++-- sources | 4 ++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/puppet.spec b/puppet.spec index 1c296a6..2c0fdf6 100644 --- a/puppet.spec +++ b/puppet.spec @@ -3,8 +3,8 @@ %global puppet_vendor_mod_dir %{_datadir}/%{name}/vendor_modules Name: puppet -Version: 7.17.0 -Release: 3%{?dist} +Version: 7.18.0 +Release: 1%{?dist} Summary: Network tool for managing many disparate systems License: ASL 2.0 URL: https://puppet.com @@ -208,6 +208,9 @@ useradd -r -u 52 -g puppet -s /sbin/nologin \ %systemd_postun_with_restart %{name}.service %changelog +* Tue Aug 30 2022 Ewoud Kohl van Wijngaarden - 7.18.0-1 +- Update to 7.18.0 + * Fri Jul 22 2022 Fedora Release Engineering - 7.17.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild diff --git a/sources b/sources index 69e5cc5..2b76e55 100644 --- a/sources +++ b/sources @@ -1,5 +1,5 @@ -SHA512 (puppet-7.17.0.tar.gz) = f691b6d3e931c5cc879c8e5129af2a935bedc891964ba5cbb873d6d69e0ec61bd82ca7d413a94389cda13cb6c8c536aae6f11dade4c6e2597abc7756a74f4df0 -SHA512 (puppet-7.17.0.tar.gz.asc) = b8170200b596531e7f117f3fe699955254a26483e0374fdb190b8a68cff007b35c2845d38185dc22eabac254f5305802fd67c3bf264d6112a42ad9ce4901d6c3 +SHA512 (puppet-7.18.0.tar.gz) = 428268c9d8333c0624023a3d4b55b5dddfaa890eb6d88a31486c8de5112db4d1dce7553050de81c4b5ffd0fec74c5d10f3c09c3fb1826ffc196808f2b45495d4 +SHA512 (puppet-7.18.0.tar.gz.asc) = 8e47c21f8eec94a46a6a71f901d68176f8011d8009a8f34c5818217006b87128ef64d62f5a0280a651385aa08d025f821faa127902424f0c4c4f60a66dee9e41 SHA512 (puppetlabs-augeas_core-1.1.2.tar.gz) = 0e2a1f136685b54636cf1741d34bb2385a0bb22d6ea78b6fe495ced3273920d266258143333a4185f901c0c1a6ee562107224b5093668f0c370723c9b3125308 SHA512 (puppetlabs-cron_core-1.0.5.tar.gz) = a31d3170b0457985fc067b73902a82a92ee0e537020056ffef825ff8b295d581808e729ff0481479086ab6c21a2ecf111df9e16b87c0c14e26ef318e7fbfcd19 SHA512 (puppetlabs-host_core-1.0.3.tar.gz) = 09b4084663f4f6886380a473d26d1b759026f345bd3850084ac4f3ef59ed8ab2396fecdb3c836591d9097b9c5252ba794c4b7d3296b8321ff401f8a956ad093c From 870fc73fa168f07b8fbf76a3745b86088e582f9f Mon Sep 17 00:00:00 2001 From: Ewoud Kohl van Wijngaarden Date: Sat, 17 Sep 2022 14:51:39 +0200 Subject: [PATCH 247/272] Update to 7.19.0 --- puppet.spec | 5 ++++- sources | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/puppet.spec b/puppet.spec index 2c0fdf6..201deb0 100644 --- a/puppet.spec +++ b/puppet.spec @@ -3,7 +3,7 @@ %global puppet_vendor_mod_dir %{_datadir}/%{name}/vendor_modules Name: puppet -Version: 7.18.0 +Version: 7.19.0 Release: 1%{?dist} Summary: Network tool for managing many disparate systems License: ASL 2.0 @@ -208,6 +208,9 @@ useradd -r -u 52 -g puppet -s /sbin/nologin \ %systemd_postun_with_restart %{name}.service %changelog +* Sat Sep 17 2022 Ewoud Kohl van Wijngaarden - 7.19.0-1 +- Update to 7.19.0 (fixes rhbz#2126546) + * Tue Aug 30 2022 Ewoud Kohl van Wijngaarden - 7.18.0-1 - Update to 7.18.0 diff --git a/sources b/sources index 2b76e55..aac66ff 100644 --- a/sources +++ b/sources @@ -1,5 +1,5 @@ -SHA512 (puppet-7.18.0.tar.gz) = 428268c9d8333c0624023a3d4b55b5dddfaa890eb6d88a31486c8de5112db4d1dce7553050de81c4b5ffd0fec74c5d10f3c09c3fb1826ffc196808f2b45495d4 -SHA512 (puppet-7.18.0.tar.gz.asc) = 8e47c21f8eec94a46a6a71f901d68176f8011d8009a8f34c5818217006b87128ef64d62f5a0280a651385aa08d025f821faa127902424f0c4c4f60a66dee9e41 +SHA512 (puppet-7.19.0.tar.gz) = 952ae1e77e9d9aaa0a0a731f408550fd3bf483dda9bbb12845e534e6208321db774325da8621f36535d7601bd7b8611098e486ef733428b7108f613f5dade4e0 +SHA512 (puppet-7.19.0.tar.gz.asc) = 24be9f9fe5c0c68ec6e1710da81b61016fc9fa95ee73e6073220e069ce00df02238cd7a1d38b6c409e790c5a5e10a26616721cb93bf46f289a30bf043aa927b5 SHA512 (puppetlabs-augeas_core-1.1.2.tar.gz) = 0e2a1f136685b54636cf1741d34bb2385a0bb22d6ea78b6fe495ced3273920d266258143333a4185f901c0c1a6ee562107224b5093668f0c370723c9b3125308 SHA512 (puppetlabs-cron_core-1.0.5.tar.gz) = a31d3170b0457985fc067b73902a82a92ee0e537020056ffef825ff8b295d581808e729ff0481479086ab6c21a2ecf111df9e16b87c0c14e26ef318e7fbfcd19 SHA512 (puppetlabs-host_core-1.0.3.tar.gz) = 09b4084663f4f6886380a473d26d1b759026f345bd3850084ac4f3ef59ed8ab2396fecdb3c836591d9097b9c5252ba794c4b7d3296b8321ff401f8a956ad093c From 44f1d5e10bef9ff7cdd6faba1bf0cf3b04172fb7 Mon Sep 17 00:00:00 2001 From: Ewoud Kohl van Wijngaarden Date: Thu, 20 Oct 2022 14:04:02 +0200 Subject: [PATCH 248/272] Update to 7.20.0 --- puppet.spec | 5 ++++- sources | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/puppet.spec b/puppet.spec index 201deb0..ad42649 100644 --- a/puppet.spec +++ b/puppet.spec @@ -3,7 +3,7 @@ %global puppet_vendor_mod_dir %{_datadir}/%{name}/vendor_modules Name: puppet -Version: 7.19.0 +Version: 7.20.0 Release: 1%{?dist} Summary: Network tool for managing many disparate systems License: ASL 2.0 @@ -208,6 +208,9 @@ useradd -r -u 52 -g puppet -s /sbin/nologin \ %systemd_postun_with_restart %{name}.service %changelog +* Thu Oct 20 2022 Ewoud Kohl van Wijngaarden - 7.20.0-1 +- Update to 7.20.0 (fixes rhbz#2126546) + * Sat Sep 17 2022 Ewoud Kohl van Wijngaarden - 7.19.0-1 - Update to 7.19.0 (fixes rhbz#2126546) diff --git a/sources b/sources index aac66ff..5228e65 100644 --- a/sources +++ b/sources @@ -1,5 +1,5 @@ -SHA512 (puppet-7.19.0.tar.gz) = 952ae1e77e9d9aaa0a0a731f408550fd3bf483dda9bbb12845e534e6208321db774325da8621f36535d7601bd7b8611098e486ef733428b7108f613f5dade4e0 -SHA512 (puppet-7.19.0.tar.gz.asc) = 24be9f9fe5c0c68ec6e1710da81b61016fc9fa95ee73e6073220e069ce00df02238cd7a1d38b6c409e790c5a5e10a26616721cb93bf46f289a30bf043aa927b5 +SHA512 (puppet-7.20.0.tar.gz) = 6774bf03ad0ee80c0fd2cd8ebad60da56df7ed9818a526084fc2cf1ba2fecc81555fff200f5feef2b5d7a2275d90f44b24160de7221d682de470b511a7051f7f +SHA512 (puppet-7.20.0.tar.gz.asc) = d68e6f5f081dea4fcec13b57afc675f14e40eac94efb4ea72cbaaea07e3ef9762507a1eb23806e975500c766619060930b5f06230768a0150309c3b268d7f4d8 SHA512 (puppetlabs-augeas_core-1.1.2.tar.gz) = 0e2a1f136685b54636cf1741d34bb2385a0bb22d6ea78b6fe495ced3273920d266258143333a4185f901c0c1a6ee562107224b5093668f0c370723c9b3125308 SHA512 (puppetlabs-cron_core-1.0.5.tar.gz) = a31d3170b0457985fc067b73902a82a92ee0e537020056ffef825ff8b295d581808e729ff0481479086ab6c21a2ecf111df9e16b87c0c14e26ef318e7fbfcd19 SHA512 (puppetlabs-host_core-1.0.3.tar.gz) = 09b4084663f4f6886380a473d26d1b759026f345bd3850084ac4f3ef59ed8ab2396fecdb3c836591d9097b9c5252ba794c4b7d3296b8321ff401f8a956ad093c From 5c59d45ff46099a3d6ca331c60ea8ff157a1c47b Mon Sep 17 00:00:00 2001 From: Ewoud Kohl van Wijngaarden Date: Thu, 20 Oct 2022 14:11:06 +0200 Subject: [PATCH 249/272] Add gating on tests --- gating.yaml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 gating.yaml diff --git a/gating.yaml b/gating.yaml new file mode 100644 index 0000000..bb1d8ee --- /dev/null +++ b/gating.yaml @@ -0,0 +1,14 @@ +--- !Policy +product_versions: + - fedora-* +decision_contexts: [bodhi_update_push_testing] +subject_type: koji_build +rules: + - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional} +--- !Policy +product_versions: + - fedora-* +decision_contexts: [bodhi_update_push_stable] +subject_type: koji_build +rules: + - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional} From c3ff3326f17f04927bb768b18000d51b077fe4a8 Mon Sep 17 00:00:00 2001 From: Ewoud Kohl van Wijngaarden Date: Sat, 17 Dec 2022 14:22:29 +0100 Subject: [PATCH 250/272] Update to 7.21.0 --- puppet.spec | 5 ++++- sources | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/puppet.spec b/puppet.spec index ad42649..8f60dc9 100644 --- a/puppet.spec +++ b/puppet.spec @@ -3,7 +3,7 @@ %global puppet_vendor_mod_dir %{_datadir}/%{name}/vendor_modules Name: puppet -Version: 7.20.0 +Version: 7.21.0 Release: 1%{?dist} Summary: Network tool for managing many disparate systems License: ASL 2.0 @@ -208,6 +208,9 @@ useradd -r -u 52 -g puppet -s /sbin/nologin \ %systemd_postun_with_restart %{name}.service %changelog +* Sat Dec 17 2022 Ewoud Kohl van Wijngaarden - 7.21.0-1 +- Update to 7.21.0 (fixes rhbz#2151953) + * Thu Oct 20 2022 Ewoud Kohl van Wijngaarden - 7.20.0-1 - Update to 7.20.0 (fixes rhbz#2126546) diff --git a/sources b/sources index 5228e65..68cfe3e 100644 --- a/sources +++ b/sources @@ -1,5 +1,5 @@ -SHA512 (puppet-7.20.0.tar.gz) = 6774bf03ad0ee80c0fd2cd8ebad60da56df7ed9818a526084fc2cf1ba2fecc81555fff200f5feef2b5d7a2275d90f44b24160de7221d682de470b511a7051f7f -SHA512 (puppet-7.20.0.tar.gz.asc) = d68e6f5f081dea4fcec13b57afc675f14e40eac94efb4ea72cbaaea07e3ef9762507a1eb23806e975500c766619060930b5f06230768a0150309c3b268d7f4d8 +SHA512 (puppet-7.21.0.tar.gz) = b0fbdf63391054d0496c67be963f98e3d85e3a1536e50d6a3f09d0c49110bb4c92bebdc38a48cd50e824e27268150cda0643c6df0edb01b3587f00a591645ee6 +SHA512 (puppet-7.21.0.tar.gz.asc) = 8486da5220d9b4fcff8c6e2ae7c081bb43c19b844cbbf30059dd7872fdc2ab6205aa85dbb4954d3e9564c93c3233fc621cbab1f06783bd83a7fe82db3e49dc3c SHA512 (puppetlabs-augeas_core-1.1.2.tar.gz) = 0e2a1f136685b54636cf1741d34bb2385a0bb22d6ea78b6fe495ced3273920d266258143333a4185f901c0c1a6ee562107224b5093668f0c370723c9b3125308 SHA512 (puppetlabs-cron_core-1.0.5.tar.gz) = a31d3170b0457985fc067b73902a82a92ee0e537020056ffef825ff8b295d581808e729ff0481479086ab6c21a2ecf111df9e16b87c0c14e26ef318e7fbfcd19 SHA512 (puppetlabs-host_core-1.0.3.tar.gz) = 09b4084663f4f6886380a473d26d1b759026f345bd3850084ac4f3ef59ed8ab2396fecdb3c836591d9097b9c5252ba794c4b7d3296b8321ff401f8a956ad093c From cd482a042b806431fc171453cdc7d7d01697b61e Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 20 Jan 2023 10:29:45 +0000 Subject: [PATCH 251/272] Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- puppet.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/puppet.spec b/puppet.spec index 8f60dc9..bad678f 100644 --- a/puppet.spec +++ b/puppet.spec @@ -4,7 +4,7 @@ Name: puppet Version: 7.21.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Network tool for managing many disparate systems License: ASL 2.0 URL: https://puppet.com @@ -208,6 +208,9 @@ useradd -r -u 52 -g puppet -s /sbin/nologin \ %systemd_postun_with_restart %{name}.service %changelog +* Fri Jan 20 2023 Fedora Release Engineering - 7.21.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + * Sat Dec 17 2022 Ewoud Kohl van Wijngaarden - 7.21.0-1 - Update to 7.21.0 (fixes rhbz#2151953) From aecd12514f44d622e66401bb367291ab2dded9d0 Mon Sep 17 00:00:00 2001 From: Breno Brand Fernandes Date: Thu, 8 Jun 2023 00:31:41 -0400 Subject: [PATCH 252/272] Update puppet to 7.24.0 --- puppet.spec | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/puppet.spec b/puppet.spec index bad678f..f82043f 100644 --- a/puppet.spec +++ b/puppet.spec @@ -3,10 +3,10 @@ %global puppet_vendor_mod_dir %{_datadir}/%{name}/vendor_modules Name: puppet -Version: 7.21.0 -Release: 2%{?dist} +Version: 7.24.0 +Release: 1%{?dist} Summary: Network tool for managing many disparate systems -License: ASL 2.0 +License: Apache-2.0 URL: https://puppet.com Source0: https://downloads.puppetlabs.com/puppet/%{name}-%{version}.tar.gz Source1: https://downloads.puppetlabs.com/puppet/%{name}-%{version}.tar.gz.asc @@ -208,6 +208,9 @@ useradd -r -u 52 -g puppet -s /sbin/nologin \ %systemd_postun_with_restart %{name}.service %changelog +* Thu Jun 8 2023 Breno Brand Fernandes - 7.24.0-1 +- Build 7.24.0 + * Fri Jan 20 2023 Fedora Release Engineering - 7.21.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild From 145f512cd29ba837ea092f9d0cabe2d916b20211 Mon Sep 17 00:00:00 2001 From: Breno Brand Fernandes Date: Thu, 8 Jun 2023 00:40:23 -0400 Subject: [PATCH 253/272] Update src files for 7.24 --- puppet-7.24.0.tar.gz.asc | 17 +++++++++++++++++ sources | 3 +-- 2 files changed, 18 insertions(+), 2 deletions(-) create mode 100644 puppet-7.24.0.tar.gz.asc diff --git a/puppet-7.24.0.tar.gz.asc b/puppet-7.24.0.tar.gz.asc new file mode 100644 index 0000000..a84c887 --- /dev/null +++ b/puppet-7.24.0.tar.gz.asc @@ -0,0 +1,17 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1 + +iQIcBAABCAAGBQJkLvOXAAoJEEUots2eYe8mBRMP+wehHaik3fN/PTYOKD6KYYY5 +DM3a29KRDONoJXM6VE4CD9TNjPZvJ1Kfen5wM83SvzIPn8XWqbtSVS4zKrOfcKTb +7Ed4ZcOtv8GWTHR6HGjL0adasMuUQcz6RuuU38VkzzQMBiOBKspDQpuOtoE1E/rh +H0+nPI+/d5Hy7tIsund4HjiXKJOAmDHKbczexUpUIoE+00pcVCHnax9ocm35uCt8 +BsSjWL+RrayjCy1MIdPYf2K57Ilv7w86TDDZGck2zwKtwNdhROKX+LljpYIDymEI +Gs8FTcCGAtJxjkcarOCC92YuJ7g9AReHMgvsTovAPcNmsDwAquK93gKqGk7pDizm +Za6cg6EbaMYiLVCWV9BTi2OkX8qSkHxEFdTOw5kdpFBQn/FiofrfTqco75K1yiWw +uoDZNwbDR+DJ1wrdnotX6iRIUFZ1il6P6j8Pvzh1lbwoIlo58NGgwMndQqxHwMsW +G5gfKh7Q2Mo8VfnNSkjLkW4HmCDSXDWQVC5PHNHxpZBPA6AkASxfLBACpb2MuB54 +VtuzrynixNygHjvcs8jcoROOGZERtfMho+MxTK2yqHzlQUW+adsN0mQM5gBU+uOb +lirGkj0CiKS7JMjZBvkuKkxs8VewVok5SUvEGY4c2QlxhrzB+Mrs7oxlmnIdd1Du +18nQa7kwn2knZ2aeZQcq +=NYdp +-----END PGP SIGNATURE----- diff --git a/sources b/sources index 68cfe3e..39b4239 100644 --- a/sources +++ b/sources @@ -1,5 +1,4 @@ -SHA512 (puppet-7.21.0.tar.gz) = b0fbdf63391054d0496c67be963f98e3d85e3a1536e50d6a3f09d0c49110bb4c92bebdc38a48cd50e824e27268150cda0643c6df0edb01b3587f00a591645ee6 -SHA512 (puppet-7.21.0.tar.gz.asc) = 8486da5220d9b4fcff8c6e2ae7c081bb43c19b844cbbf30059dd7872fdc2ab6205aa85dbb4954d3e9564c93c3233fc621cbab1f06783bd83a7fe82db3e49dc3c +SHA512 (puppet-7.24.0.tar.gz) = bb881e7523fce72ca8941d363ebc12f0172aff61a28d49465b7977fdf0d004575f5677fad3f0858db109b1cf85e4d870becdaa7c6687db32eb6eecf849ed25e9 SHA512 (puppetlabs-augeas_core-1.1.2.tar.gz) = 0e2a1f136685b54636cf1741d34bb2385a0bb22d6ea78b6fe495ced3273920d266258143333a4185f901c0c1a6ee562107224b5093668f0c370723c9b3125308 SHA512 (puppetlabs-cron_core-1.0.5.tar.gz) = a31d3170b0457985fc067b73902a82a92ee0e537020056ffef825ff8b295d581808e729ff0481479086ab6c21a2ecf111df9e16b87c0c14e26ef318e7fbfcd19 SHA512 (puppetlabs-host_core-1.0.3.tar.gz) = 09b4084663f4f6886380a473d26d1b759026f345bd3850084ac4f3ef59ed8ab2396fecdb3c836591d9097b9c5252ba794c4b7d3296b8321ff401f8a956ad093c From b435333ebcab4d7519a7d645f4588dcf19001ba8 Mon Sep 17 00:00:00 2001 From: Breno Brand Fernandes Date: Fri, 23 Jun 2023 04:41:22 -0400 Subject: [PATCH 254/272] Build puppet 8.1.0 --- puppet-7.24.0.tar.gz.asc | 17 ----------------- puppet.spec | 5 ++++- 2 files changed, 4 insertions(+), 18 deletions(-) delete mode 100644 puppet-7.24.0.tar.gz.asc diff --git a/puppet-7.24.0.tar.gz.asc b/puppet-7.24.0.tar.gz.asc deleted file mode 100644 index a84c887..0000000 --- a/puppet-7.24.0.tar.gz.asc +++ /dev/null @@ -1,17 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v1 - -iQIcBAABCAAGBQJkLvOXAAoJEEUots2eYe8mBRMP+wehHaik3fN/PTYOKD6KYYY5 -DM3a29KRDONoJXM6VE4CD9TNjPZvJ1Kfen5wM83SvzIPn8XWqbtSVS4zKrOfcKTb -7Ed4ZcOtv8GWTHR6HGjL0adasMuUQcz6RuuU38VkzzQMBiOBKspDQpuOtoE1E/rh -H0+nPI+/d5Hy7tIsund4HjiXKJOAmDHKbczexUpUIoE+00pcVCHnax9ocm35uCt8 -BsSjWL+RrayjCy1MIdPYf2K57Ilv7w86TDDZGck2zwKtwNdhROKX+LljpYIDymEI -Gs8FTcCGAtJxjkcarOCC92YuJ7g9AReHMgvsTovAPcNmsDwAquK93gKqGk7pDizm -Za6cg6EbaMYiLVCWV9BTi2OkX8qSkHxEFdTOw5kdpFBQn/FiofrfTqco75K1yiWw -uoDZNwbDR+DJ1wrdnotX6iRIUFZ1il6P6j8Pvzh1lbwoIlo58NGgwMndQqxHwMsW -G5gfKh7Q2Mo8VfnNSkjLkW4HmCDSXDWQVC5PHNHxpZBPA6AkASxfLBACpb2MuB54 -VtuzrynixNygHjvcs8jcoROOGZERtfMho+MxTK2yqHzlQUW+adsN0mQM5gBU+uOb -lirGkj0CiKS7JMjZBvkuKkxs8VewVok5SUvEGY4c2QlxhrzB+Mrs7oxlmnIdd1Du -18nQa7kwn2knZ2aeZQcq -=NYdp ------END PGP SIGNATURE----- diff --git a/puppet.spec b/puppet.spec index f82043f..e0569a2 100644 --- a/puppet.spec +++ b/puppet.spec @@ -3,7 +3,7 @@ %global puppet_vendor_mod_dir %{_datadir}/%{name}/vendor_modules Name: puppet -Version: 7.24.0 +Version: 8.1.0 Release: 1%{?dist} Summary: Network tool for managing many disparate systems License: Apache-2.0 @@ -208,6 +208,9 @@ useradd -r -u 52 -g puppet -s /sbin/nologin \ %systemd_postun_with_restart %{name}.service %changelog +* Thu Jun 8 2023 Breno Brand Fernandes - 8.1.0-1 +- Build 8.1.0 + * Thu Jun 8 2023 Breno Brand Fernandes - 7.24.0-1 - Build 7.24.0 From 0c86f5071ff04a9dd9bdee5f34f44400ea27c06a Mon Sep 17 00:00:00 2001 From: Breno Brand Fernandes Date: Fri, 23 Jun 2023 04:42:06 -0400 Subject: [PATCH 255/272] Include files for 8.1.0 --- puppet-8.1.0.tar.gz.asc | 16 ++++++++++++++++ sources | 2 +- 2 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 puppet-8.1.0.tar.gz.asc diff --git a/puppet-8.1.0.tar.gz.asc b/puppet-8.1.0.tar.gz.asc new file mode 100644 index 0000000..e29438a --- /dev/null +++ b/puppet-8.1.0.tar.gz.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIzBAABCgAdFiEE1oEe063uuEQa9aqPRSi2zZ5h7yYFAmSJ92EACgkQRSi2zZ5h +7ybmkBAA3p7B7HDQzq50HuzXn5+RJRJUO8Y46V+6d29UR/ccYoSj6lg54fzRXTA0 +fY1JfcCl6iVpBosbOiHH2W3MMy5u6ANLrYtmA6FK7fp63/mTEW45EMChgdKZX4SM +dEVRmmFv+o/A/hcDA8uNC6AQvAD83fndPvjEQnIervL2lTjRcSBOaxbHbz6JvXAo +k/si6i6Y27wGWOeKNMZpxVoZqxfpNGtq6hueYRy8k3YY/9IBOONWu9z7bsjObFt1 +6tML/u4jHlm0jbk/oRnPVFlcSPoU4LhOKubu6PN9IvGfcFPJx6aCN29qoZnu+roo +deH1aJhNF+ZcUvOCR2kay3B6xT37miRhNpNLLc4sixzOasC23YiiiB4tetm2OCO3 +bmDsk2BcfXftpSsMrLBAUZaDsAGPqaRTDymmDh2tvx3PsDCpBTR37C/85Qt9/dJo +3i8klyn/bDJwcghWIf3gMk3SV697h++9Zd2Ky5iFEeIf/Hpdr6P2Gd3dW4NLXh5h +uThevTcIJPuI9uzk9NS+dvf5JCZoehAZI6bhV5aqE3sCDOArmzLEkYfiJsLYKVcI +7TnXH79wIiC4M2PU3d+uWqRYOecBG95SGib9vv13SYi7MRsvO13oIgsa/eihypgs +RKc4skCK6lDHQmOVMDUYBwr53gXrTNW/4CV9ub2utuuy/vSv28E= +=qxIC +-----END PGP SIGNATURE----- diff --git a/sources b/sources index 39b4239..1c83595 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (puppet-7.24.0.tar.gz) = bb881e7523fce72ca8941d363ebc12f0172aff61a28d49465b7977fdf0d004575f5677fad3f0858db109b1cf85e4d870becdaa7c6687db32eb6eecf849ed25e9 +SHA512 (puppet-8.1.0.tar.gz) = 7811d67f83c72d67d5d463ccddece8889868f302217229f748a1d95df8b64213d9ee86a34e42af3beed9fc55cf70a14f63e6b8a6fcd18feb259e1d027dc35259 SHA512 (puppetlabs-augeas_core-1.1.2.tar.gz) = 0e2a1f136685b54636cf1741d34bb2385a0bb22d6ea78b6fe495ced3273920d266258143333a4185f901c0c1a6ee562107224b5093668f0c370723c9b3125308 SHA512 (puppetlabs-cron_core-1.0.5.tar.gz) = a31d3170b0457985fc067b73902a82a92ee0e537020056ffef825ff8b295d581808e729ff0481479086ab6c21a2ecf111df9e16b87c0c14e26ef318e7fbfcd19 SHA512 (puppetlabs-host_core-1.0.3.tar.gz) = 09b4084663f4f6886380a473d26d1b759026f345bd3850084ac4f3ef59ed8ab2396fecdb3c836591d9097b9c5252ba794c4b7d3296b8321ff401f8a956ad093c From e61e5b057181695ba9eeee4a0336dca3a22d38f4 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 21 Jul 2023 06:31:21 +0000 Subject: [PATCH 256/272] Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- puppet.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/puppet.spec b/puppet.spec index e0569a2..d852c2b 100644 --- a/puppet.spec +++ b/puppet.spec @@ -4,7 +4,7 @@ Name: puppet Version: 8.1.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Network tool for managing many disparate systems License: Apache-2.0 URL: https://puppet.com @@ -208,6 +208,9 @@ useradd -r -u 52 -g puppet -s /sbin/nologin \ %systemd_postun_with_restart %{name}.service %changelog +* Fri Jul 21 2023 Fedora Release Engineering - 8.1.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + * Thu Jun 8 2023 Breno Brand Fernandes - 8.1.0-1 - Build 8.1.0 From 4ba8b5f472d0817714f4b181ada8c865a04b9c88 Mon Sep 17 00:00:00 2001 From: Ewoud Kohl van Wijngaarden Date: Tue, 14 Nov 2023 23:19:01 +0100 Subject: [PATCH 257/272] Update to 8.3.1 (fixes rhbz#2233957) --- puppet.spec | 33 ++++++++++++++++++--------------- sources | 23 ++++++++++++----------- 2 files changed, 30 insertions(+), 26 deletions(-) diff --git a/puppet.spec b/puppet.spec index d852c2b..7d1b974 100644 --- a/puppet.spec +++ b/puppet.spec @@ -3,8 +3,8 @@ %global puppet_vendor_mod_dir %{_datadir}/%{name}/vendor_modules Name: puppet -Version: 8.1.0 -Release: 2%{?dist} +Version: 8.3.1 +Release: 1%{?dist} Summary: Network tool for managing many disparate systems License: Apache-2.0 URL: https://puppet.com @@ -13,16 +13,16 @@ Source1: https://downloads.puppetlabs.com/puppet/%{name}-%{version}.tar.g Source2: RPM-GPG-KEY-puppet-20250406 # Get these by checking out the right tag from https://github.com/puppetlabs/puppet-agent and: # sed 's|.\+puppetlabs/\([a-z_-]\+\).git.\+tags/\([0-9\.]\+\)"}|https://forge.puppet.com/v3/files/\1-\2.tar.gz|' configs/components/module-puppetlabs-*.json -Source3: https://forge.puppet.com/v3/files/puppetlabs-augeas_core-1.1.2.tar.gz -Source4: https://forge.puppet.com/v3/files/puppetlabs-cron_core-1.0.5.tar.gz -Source5: https://forge.puppet.com/v3/files/puppetlabs-host_core-1.0.3.tar.gz -Source6: https://forge.puppet.com/v3/files/puppetlabs-mount_core-1.0.4.tar.gz -Source7: https://forge.puppet.com/v3/files/puppetlabs-scheduled_task-1.0.0.tar.gz -Source8: https://forge.puppet.com/v3/files/puppetlabs-selinux_core-1.1.0.tar.gz -Source9: https://forge.puppet.com/v3/files/puppetlabs-sshkeys_core-2.2.0.tar.gz -Source10: https://forge.puppet.com/v3/files/puppetlabs-yumrepo_core-1.0.7.tar.gz -Source11: https://forge.puppet.com/v3/files/puppetlabs-zfs_core-1.2.0.tar.gz -Source12: https://forge.puppet.com/v3/files/puppetlabs-zone_core-1.0.3.tar.gz +Source3: https://forge.puppet.com/v3/files/puppetlabs-augeas_core-1.4.0.tar.gz +Source4: https://forge.puppet.com/v3/files/puppetlabs-cron_core-1.2.0.tar.gz +Source5: https://forge.puppet.com/v3/files/puppetlabs-host_core-1.2.0.tar.gz +Source6: https://forge.puppet.com/v3/files/puppetlabs-mount_core-1.2.0.tar.gz +Source7: https://forge.puppet.com/v3/files/puppetlabs-scheduled_task-3.1.1.tar.gz +Source8: https://forge.puppet.com/v3/files/puppetlabs-selinux_core-1.3.0.tar.gz +Source9: https://forge.puppet.com/v3/files/puppetlabs-sshkeys_core-2.4.0.tar.gz +Source10: https://forge.puppet.com/v3/files/puppetlabs-yumrepo_core-2.0.0.tar.gz +Source11: https://forge.puppet.com/v3/files/puppetlabs-zfs_core-1.4.0.tar.gz +Source12: https://forge.puppet.com/v3/files/puppetlabs-zone_core-1.1.0.tar.gz Source13: puppet-nm-dispatcher.systemd Source14: start-puppet-wrapper Source15: logrotate @@ -38,11 +38,11 @@ BuildRequires: hiera BuildRequires: systemd BuildRequires: gnupg2 Requires: hiera >= 3.3.1 -Requires: facter >= 3.9.6 +Requires: facter >= 4.3.0 Requires: rubygem(concurrent-ruby) >= 1.1.9 Requires: rubygem(deep_merge) >= 1.0 -Requires: rubygem(facter) >= 3.9.6 -Requires: rubygem(multi_json) >= 1.10 +Requires: rubygem(facter) >= 4.3.0 +Requires: rubygem(multi_json) >= 1.13 Requires: rubygem(puppet-resource_api) >= 1.5 Requires: rubygem(semantic_puppet) >= 1.0.2 Requires: rubygem(scanf) >= 1.0 @@ -208,6 +208,9 @@ useradd -r -u 52 -g puppet -s /sbin/nologin \ %systemd_postun_with_restart %{name}.service %changelog +* Tue Nov 14 2023 Ewoud Kohl van Wijngaarden - 8.3.1-1 +- Update to 8.3.1 (fixes rhbz#2233957) + * Fri Jul 21 2023 Fedora Release Engineering - 8.1.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild diff --git a/sources b/sources index 1c83595..b67ee6b 100644 --- a/sources +++ b/sources @@ -1,11 +1,12 @@ -SHA512 (puppet-8.1.0.tar.gz) = 7811d67f83c72d67d5d463ccddece8889868f302217229f748a1d95df8b64213d9ee86a34e42af3beed9fc55cf70a14f63e6b8a6fcd18feb259e1d027dc35259 -SHA512 (puppetlabs-augeas_core-1.1.2.tar.gz) = 0e2a1f136685b54636cf1741d34bb2385a0bb22d6ea78b6fe495ced3273920d266258143333a4185f901c0c1a6ee562107224b5093668f0c370723c9b3125308 -SHA512 (puppetlabs-cron_core-1.0.5.tar.gz) = a31d3170b0457985fc067b73902a82a92ee0e537020056ffef825ff8b295d581808e729ff0481479086ab6c21a2ecf111df9e16b87c0c14e26ef318e7fbfcd19 -SHA512 (puppetlabs-host_core-1.0.3.tar.gz) = 09b4084663f4f6886380a473d26d1b759026f345bd3850084ac4f3ef59ed8ab2396fecdb3c836591d9097b9c5252ba794c4b7d3296b8321ff401f8a956ad093c -SHA512 (puppetlabs-mount_core-1.0.4.tar.gz) = 07aaae0c1176ffe098647094f2c7d9ea975288b52965af9dcc2aab043d65c20424bd6698988af540e4b1eb1852eaf3ceec9c71a6e08642f103370f5679d9206f -SHA512 (puppetlabs-scheduled_task-1.0.0.tar.gz) = ecec36e7944bc812fd5cbebbac8fb657c77058f6a72e8f2743b67c268678c2fa649a1953f1c9013bea5133c027e9a25a39a30871f3e5fd56690d033392e99b4f -SHA512 (puppetlabs-selinux_core-1.1.0.tar.gz) = 23145d89d475080c8e1298603dea357583b29ac1461c30a17f76bb2344af28cc0e6de75055cc0a820b76ed5f7f5242916fae8c5f5ec06f9ab92ce8474de306d2 -SHA512 (puppetlabs-sshkeys_core-2.2.0.tar.gz) = 933d7a41f94aa499805dfd260ee52791400163f47135920ffed6294978805ef9db8f7edc2ad28c60a00a23f566143565a4e8cf52929020a400feff91c04db68b -SHA512 (puppetlabs-yumrepo_core-1.0.7.tar.gz) = 8fb3cb40077ac113c332a761c01c1d7ce4bdfff1016be696efb41be20c86ff688b40b83c00a47394d79e64941cf6c23ea4bbd1107b4c7856d1b481733cb2d7ce -SHA512 (puppetlabs-zfs_core-1.2.0.tar.gz) = 5cf44b314094a6dad45482776b1442ab941cd1f93b39141e452c8c03b441a90ab7e6077f22f6fee9796ec2af41c30a8601e9cec6ccce81c2cb2dcc4ecba7117f -SHA512 (puppetlabs-zone_core-1.0.3.tar.gz) = 1083bcc810e8a7b048fad1c70656d806c65b5fa912c627bf1dfaf3b9d8a0ec675db100abc2fc6499669c17927ea3e55a5c968fde0e577fc1f4cebb1fbd5e0851 +SHA512 (puppet-8.3.1.tar.gz) = 0aff032caf7a3966f7e369d6f1785f0ada16e419f96f34dafee61457d2e97979b7934195eb356e44ef323401fa40be5eef608a175b3c2907f25ca92901ec81d2 +SHA512 (puppet-8.3.1.tar.gz.asc) = 694d88fd3163fb2b83255373820803979c49e1f4282a106ee615a3463dafade25a770755721d7c65b18d61a44bc471eb9f3b3e2b1571f8670944ac8f0b57276f +SHA512 (puppetlabs-augeas_core-1.4.0.tar.gz) = 225b614b4ecef9fb59428b0f0634f2677b704807f6ea05f4abca3631195faaf60d4d0b94e663b29ec298e4b915a42772c64e6358e88216b3767a54a1e91dc3a6 +SHA512 (puppetlabs-cron_core-1.2.0.tar.gz) = 7fd44777ab9a969ac28073a973fcb13499f672252aff1d21c243e98ca32a4c59f4165cd8d2e1c71b99e3ae804a520a153bdf84508b940ee705f6a6a18287b411 +SHA512 (puppetlabs-host_core-1.2.0.tar.gz) = 2be11180252bc31cbed6fdfd16a342d6585f99dede5ea9e20d1fdc2d6f0e5feecc9dbc5e2b21f6c69537d356b768609c8922ca8394d6a201f3eeedeb27466465 +SHA512 (puppetlabs-mount_core-1.2.0.tar.gz) = 6025fd130d64490e47b9660152ed8b800507940e5446a0f766b89c198b145b53b1c7056e789af202e98703e4dac0f5c590474b021e81452a45869bb1f16f3adf +SHA512 (puppetlabs-scheduled_task-3.1.1.tar.gz) = 12063fcc9be047c5391b2c7d873d0e10188db8256e9b99593e7ac9d79a2c14969422416235e14a15e55f2c8e085c185d4b08a37a09deb7ff748cb60eb07f75c9 +SHA512 (puppetlabs-selinux_core-1.3.0.tar.gz) = ce8ea21127b71e30da3f3ae8cb3c1284aea04a5c9bd7bb3523db06feec0465843fa649be561fac469f958309f3a9c84aca1dc7078e540cd82317725aadfc1923 +SHA512 (puppetlabs-sshkeys_core-2.4.0.tar.gz) = 0ed3050e8bdebe22b3581825d4e3b1a1b2cc20fb2efb835e84ebfaaa743d75e159c7f51e748d2fb9e007ec90cd3dc9840cd5f4c8e364f69b1d787467dc7db1ea +SHA512 (puppetlabs-yumrepo_core-2.0.0.tar.gz) = e203549235a967455d64c4cd92c8fca77f83228b41fb433340ac7cde25b1e39d09b0512b80b01ca01fea7fd3e8491cabee69db59fa51fff3d905f51a3d26e35e +SHA512 (puppetlabs-zfs_core-1.4.0.tar.gz) = 8810be1a57504f58fcf6b802bbc2fa5a4531914fe49c08c56a82c0088d61965e83947b809c334f9d4fc9f2947255b811dba0e2b9b18c67d2979bc7450d323a9d +SHA512 (puppetlabs-zone_core-1.1.0.tar.gz) = 231a197b2d62ba06b93f5914ff8935e7f3a972cb412749d3edc20e34977d1152f5dd091265eed5f4d7d11a2f67719f9feb5fbb017eebfb7ce231c4a2a69eed8d From 59974bc91394c390b11c442630cc158ba9edaadb Mon Sep 17 00:00:00 2001 From: Ewoud Kohl van Wijngaarden Date: Fri, 17 Nov 2023 15:22:25 +0100 Subject: [PATCH 258/272] Update command in comment for correct sources The git tags are now prefixed by v so the regex needs to reflect that. --- puppet.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/puppet.spec b/puppet.spec index 7d1b974..a4369d6 100644 --- a/puppet.spec +++ b/puppet.spec @@ -12,7 +12,7 @@ Source0: https://downloads.puppetlabs.com/puppet/%{name}-%{version}.tar.g Source1: https://downloads.puppetlabs.com/puppet/%{name}-%{version}.tar.gz.asc Source2: RPM-GPG-KEY-puppet-20250406 # Get these by checking out the right tag from https://github.com/puppetlabs/puppet-agent and: -# sed 's|.\+puppetlabs/\([a-z_-]\+\).git.\+tags/\([0-9\.]\+\)"}|https://forge.puppet.com/v3/files/\1-\2.tar.gz|' configs/components/module-puppetlabs-*.json +# sed 's|.\+puppetlabs/\([a-z_-]\+\).git.\+tags/v\?\([0-9\.]\+\)"}|https://forge.puppet.com/v3/files/\1-\2.tar.gz|' configs/components/module-puppetlabs-*.json Source3: https://forge.puppet.com/v3/files/puppetlabs-augeas_core-1.4.0.tar.gz Source4: https://forge.puppet.com/v3/files/puppetlabs-cron_core-1.2.0.tar.gz Source5: https://forge.puppet.com/v3/files/puppetlabs-host_core-1.2.0.tar.gz From 59844c277775578e3fc6adedfdead44e1b4d1ce0 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sun, 21 Jan 2024 22:35:43 +0000 Subject: [PATCH 259/272] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- puppet.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/puppet.spec b/puppet.spec index a4369d6..d521b70 100644 --- a/puppet.spec +++ b/puppet.spec @@ -4,7 +4,7 @@ Name: puppet Version: 8.3.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Network tool for managing many disparate systems License: Apache-2.0 URL: https://puppet.com @@ -208,6 +208,9 @@ useradd -r -u 52 -g puppet -s /sbin/nologin \ %systemd_postun_with_restart %{name}.service %changelog +* Sun Jan 21 2024 Fedora Release Engineering - 8.3.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Tue Nov 14 2023 Ewoud Kohl van Wijngaarden - 8.3.1-1 - Update to 8.3.1 (fixes rhbz#2233957) From 2b273833ea3bb0d0688e3f9b6521a685cd6ea878 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 26 Jan 2024 00:21:48 +0000 Subject: [PATCH 260/272] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- puppet.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/puppet.spec b/puppet.spec index d521b70..b4f25d6 100644 --- a/puppet.spec +++ b/puppet.spec @@ -4,7 +4,7 @@ Name: puppet Version: 8.3.1 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Network tool for managing many disparate systems License: Apache-2.0 URL: https://puppet.com @@ -208,6 +208,9 @@ useradd -r -u 52 -g puppet -s /sbin/nologin \ %systemd_postun_with_restart %{name}.service %changelog +* Fri Jan 26 2024 Fedora Release Engineering - 8.3.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Sun Jan 21 2024 Fedora Release Engineering - 8.3.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From 007a2a2a0ecb76df5a683b544b61f57984fe3fb7 Mon Sep 17 00:00:00 2001 From: Ewoud Kohl van Wijngaarden Date: Fri, 17 Nov 2023 16:14:07 +0100 Subject: [PATCH 261/272] Add EPEL to gating config --- gating.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gating.yaml b/gating.yaml index bb1d8ee..0da9f5a 100644 --- a/gating.yaml +++ b/gating.yaml @@ -1,5 +1,6 @@ --- !Policy product_versions: + - epel-* - fedora-* decision_contexts: [bodhi_update_push_testing] subject_type: koji_build @@ -7,6 +8,7 @@ rules: - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional} --- !Policy product_versions: + - epel-* - fedora-* decision_contexts: [bodhi_update_push_stable] subject_type: koji_build From d304672e2f9187bdf825e6899a9d6613eea84cd2 Mon Sep 17 00:00:00 2001 From: Ewoud Kohl van Wijngaarden Date: Sun, 10 Mar 2024 16:32:13 +0100 Subject: [PATCH 262/272] Add a small README to simplify updating --- README.md | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..3c71d01 --- /dev/null +++ b/README.md @@ -0,0 +1,31 @@ +# Puppet + +This is the packaging for [Puppet](https://puppet.com/). +The files are downloaded from [downloads.puppet.com](https://downloads.puppet.com/puppet/) since they contain GPG signed tarballs, unlike on Rubygems. +Additionally it vendors various Puppet modules to match upstream's [puppet-agent config](https://github.com/puppetlabs/puppet-agent). + +## Updating + +Typically you will be notified via [release-monitoring](https://release-monitoring.org/project/7018/), which creates a Bugzilla. +Start with bumping the spec and reference the Bugzilla number. + +``` +BZ=2151953 VERSION=7.21.0 ; rpmdev-bumpspec --new="$VERSION" --comment="Update to $VERSION (fixes rhbz#$BZ)" puppet.spec +``` + +Then verify whether any vendored modules need to be updated. +See the lines in the spec file itself on how to do that. +In addition to that the dependencies should be verified. + +Once that's done, retrieve the sources: + +``` +spectool --get-files puppet.spec +``` + +Then upload the sources: +``` +spectool --list-files puppet.spec | awk '/https:/ { print $2 }' | xargs -n 1 basename | xargs fedpkg new-sources --offline +``` + +If it looks all right, drop the `--offline` parameter. From c9ee8964f8d74fd9d0dc3863c161b3a842b620df Mon Sep 17 00:00:00 2001 From: Ewoud Kohl van Wijngaarden Date: Sun, 10 Mar 2024 16:29:24 +0100 Subject: [PATCH 263/272] Update to 8.5.1 (fixes rhbz#2259039) --- puppet.spec | 13 +++++++++---- sources | 8 ++++---- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/puppet.spec b/puppet.spec index b4f25d6..6298684 100644 --- a/puppet.spec +++ b/puppet.spec @@ -3,8 +3,8 @@ %global puppet_vendor_mod_dir %{_datadir}/%{name}/vendor_modules Name: puppet -Version: 8.3.1 -Release: 3%{?dist} +Version: 8.5.1 +Release: 1%{?dist} Summary: Network tool for managing many disparate systems License: Apache-2.0 URL: https://puppet.com @@ -14,10 +14,10 @@ Source2: RPM-GPG-KEY-puppet-20250406 # Get these by checking out the right tag from https://github.com/puppetlabs/puppet-agent and: # sed 's|.\+puppetlabs/\([a-z_-]\+\).git.\+tags/v\?\([0-9\.]\+\)"}|https://forge.puppet.com/v3/files/\1-\2.tar.gz|' configs/components/module-puppetlabs-*.json Source3: https://forge.puppet.com/v3/files/puppetlabs-augeas_core-1.4.0.tar.gz -Source4: https://forge.puppet.com/v3/files/puppetlabs-cron_core-1.2.0.tar.gz +Source4: https://forge.puppet.com/v3/files/puppetlabs-cron_core-1.2.1.tar.gz Source5: https://forge.puppet.com/v3/files/puppetlabs-host_core-1.2.0.tar.gz Source6: https://forge.puppet.com/v3/files/puppetlabs-mount_core-1.2.0.tar.gz -Source7: https://forge.puppet.com/v3/files/puppetlabs-scheduled_task-3.1.1.tar.gz +Source7: https://forge.puppet.com/v3/files/puppetlabs-scheduled_task-3.2.0.tar.gz Source8: https://forge.puppet.com/v3/files/puppetlabs-selinux_core-1.3.0.tar.gz Source9: https://forge.puppet.com/v3/files/puppetlabs-sshkeys_core-2.4.0.tar.gz Source10: https://forge.puppet.com/v3/files/puppetlabs-yumrepo_core-2.0.0.tar.gz @@ -47,6 +47,8 @@ Requires: rubygem(puppet-resource_api) >= 1.5 Requires: rubygem(semantic_puppet) >= 1.0.2 Requires: rubygem(scanf) >= 1.0 Requires: ruby-augeas >= 0.5.0 +# racc was a default gem, is now a bundled gem but shipped as a sepeate package +Requires: (ruby-default-gems < 3.3 or rubygem(racc)) Requires: augeas >= 1.10.1 Requires: augeas-libs >= 1.10.1 Requires: ruby(selinux) libselinux-utils @@ -208,6 +210,9 @@ useradd -r -u 52 -g puppet -s /sbin/nologin \ %systemd_postun_with_restart %{name}.service %changelog +* Sun Mar 10 2024 Ewoud Kohl van Wijngaarden - 8.5.1-1 +- Update to 8.5.1 (fixes rhbz#2259039) + * Fri Jan 26 2024 Fedora Release Engineering - 8.3.1-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild diff --git a/sources b/sources index b67ee6b..ee7bbc6 100644 --- a/sources +++ b/sources @@ -1,10 +1,10 @@ -SHA512 (puppet-8.3.1.tar.gz) = 0aff032caf7a3966f7e369d6f1785f0ada16e419f96f34dafee61457d2e97979b7934195eb356e44ef323401fa40be5eef608a175b3c2907f25ca92901ec81d2 -SHA512 (puppet-8.3.1.tar.gz.asc) = 694d88fd3163fb2b83255373820803979c49e1f4282a106ee615a3463dafade25a770755721d7c65b18d61a44bc471eb9f3b3e2b1571f8670944ac8f0b57276f +SHA512 (puppet-8.5.1.tar.gz) = f1d661c34fc7c1381c6422ff7e027fdf4554a69939f5db926bf8a61a89583090fb8d28151f90093d3ca8037950ed911b0a5c7b8677a80ede72e83d9cbf89af7f +SHA512 (puppet-8.5.1.tar.gz.asc) = bd1df6f4831189accf380ea819cfa26356904bdb309b32a66b0522e3535401e59367a4a2a1d3c08c72cd28342ce3e2511086c78a0c890df94f136e13bb9475e0 SHA512 (puppetlabs-augeas_core-1.4.0.tar.gz) = 225b614b4ecef9fb59428b0f0634f2677b704807f6ea05f4abca3631195faaf60d4d0b94e663b29ec298e4b915a42772c64e6358e88216b3767a54a1e91dc3a6 -SHA512 (puppetlabs-cron_core-1.2.0.tar.gz) = 7fd44777ab9a969ac28073a973fcb13499f672252aff1d21c243e98ca32a4c59f4165cd8d2e1c71b99e3ae804a520a153bdf84508b940ee705f6a6a18287b411 +SHA512 (puppetlabs-cron_core-1.2.1.tar.gz) = 547e46f89f655e67d693f0f8216011cb984cf5d72ed5f14b40115768e7d97d3beff35478b45f5792efba8a43a7f5013a68ff22d9e552c98f2fbf48e31879c9ac SHA512 (puppetlabs-host_core-1.2.0.tar.gz) = 2be11180252bc31cbed6fdfd16a342d6585f99dede5ea9e20d1fdc2d6f0e5feecc9dbc5e2b21f6c69537d356b768609c8922ca8394d6a201f3eeedeb27466465 SHA512 (puppetlabs-mount_core-1.2.0.tar.gz) = 6025fd130d64490e47b9660152ed8b800507940e5446a0f766b89c198b145b53b1c7056e789af202e98703e4dac0f5c590474b021e81452a45869bb1f16f3adf -SHA512 (puppetlabs-scheduled_task-3.1.1.tar.gz) = 12063fcc9be047c5391b2c7d873d0e10188db8256e9b99593e7ac9d79a2c14969422416235e14a15e55f2c8e085c185d4b08a37a09deb7ff748cb60eb07f75c9 +SHA512 (puppetlabs-scheduled_task-3.2.0.tar.gz) = e6ba41bfc1b636c2c7a997a1b70e4a37f59abfd19ff338acd6c1a50fc8d9ac2f40feb9565cd52cb6ec1677c88d85cdda152f7ec05393ca94f3a01321fbca262d SHA512 (puppetlabs-selinux_core-1.3.0.tar.gz) = ce8ea21127b71e30da3f3ae8cb3c1284aea04a5c9bd7bb3523db06feec0465843fa649be561fac469f958309f3a9c84aca1dc7078e540cd82317725aadfc1923 SHA512 (puppetlabs-sshkeys_core-2.4.0.tar.gz) = 0ed3050e8bdebe22b3581825d4e3b1a1b2cc20fb2efb835e84ebfaaa743d75e159c7f51e748d2fb9e007ec90cd3dc9840cd5f4c8e364f69b1d787467dc7db1ea SHA512 (puppetlabs-yumrepo_core-2.0.0.tar.gz) = e203549235a967455d64c4cd92c8fca77f83228b41fb433340ac7cde25b1e39d09b0512b80b01ca01fea7fd3e8491cabee69db59fa51fff3d905f51a3d26e35e From 4f21b7c12ea2e9c204012dc834c0028e6987b022 Mon Sep 17 00:00:00 2001 From: Breno Brand Fernandes Date: Sat, 20 Apr 2024 02:06:10 -0400 Subject: [PATCH 264/272] Update to 8.6.0 (fixes rhbz#2274550) --- puppet.spec | 5 ++++- sources | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/puppet.spec b/puppet.spec index 6298684..388453d 100644 --- a/puppet.spec +++ b/puppet.spec @@ -3,7 +3,7 @@ %global puppet_vendor_mod_dir %{_datadir}/%{name}/vendor_modules Name: puppet -Version: 8.5.1 +Version: 8.6.0 Release: 1%{?dist} Summary: Network tool for managing many disparate systems License: Apache-2.0 @@ -210,6 +210,9 @@ useradd -r -u 52 -g puppet -s /sbin/nologin \ %systemd_postun_with_restart %{name}.service %changelog +* Sat Apr 20 2024 Breno Brand Fernandes - 8.6.0-1 +- Update to 8.6.0 (fixes rhbz#2274550) + * Sun Mar 10 2024 Ewoud Kohl van Wijngaarden - 8.5.1-1 - Update to 8.5.1 (fixes rhbz#2259039) diff --git a/sources b/sources index ee7bbc6..4122548 100644 --- a/sources +++ b/sources @@ -1,5 +1,5 @@ -SHA512 (puppet-8.5.1.tar.gz) = f1d661c34fc7c1381c6422ff7e027fdf4554a69939f5db926bf8a61a89583090fb8d28151f90093d3ca8037950ed911b0a5c7b8677a80ede72e83d9cbf89af7f -SHA512 (puppet-8.5.1.tar.gz.asc) = bd1df6f4831189accf380ea819cfa26356904bdb309b32a66b0522e3535401e59367a4a2a1d3c08c72cd28342ce3e2511086c78a0c890df94f136e13bb9475e0 +SHA512 (puppet-8.6.0.tar.gz) = b08d59b4ec79fec5f3dd2d37c9b6a9f016cf25068e507866ab8d545f59792b9af84e302675182a0318c792814f0bff2bf052c8953b6b44c5441fa2c692a9f04d +SHA512 (puppet-8.6.0.tar.gz.asc) = bb7eae98711802449a65f08b04e87e82cb8c17e9bf2fbe282be705a6a4a83c7b5d700c96d322e9882d939de63802f19f5fc15aae8ab9c2ff88adacd356d60caf SHA512 (puppetlabs-augeas_core-1.4.0.tar.gz) = 225b614b4ecef9fb59428b0f0634f2677b704807f6ea05f4abca3631195faaf60d4d0b94e663b29ec298e4b915a42772c64e6358e88216b3767a54a1e91dc3a6 SHA512 (puppetlabs-cron_core-1.2.1.tar.gz) = 547e46f89f655e67d693f0f8216011cb984cf5d72ed5f14b40115768e7d97d3beff35478b45f5792efba8a43a7f5013a68ff22d9e552c98f2fbf48e31879c9ac SHA512 (puppetlabs-host_core-1.2.0.tar.gz) = 2be11180252bc31cbed6fdfd16a342d6585f99dede5ea9e20d1fdc2d6f0e5feecc9dbc5e2b21f6c69537d356b768609c8922ca8394d6a201f3eeedeb27466465 From 81ec2372e41d819498e63837ca84f9cf05bf9886 Mon Sep 17 00:00:00 2001 From: Breno Brand Fernandes Date: Sat, 20 Apr 2024 02:17:34 -0400 Subject: [PATCH 265/272] Testing and push steps in the readme --- README.md | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 3c71d01..a8653bd 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,8 @@ Typically you will be notified via [release-monitoring](https://release-monitori Start with bumping the spec and reference the Bugzilla number. ``` -BZ=2151953 VERSION=7.21.0 ; rpmdev-bumpspec --new="$VERSION" --comment="Update to $VERSION (fixes rhbz#$BZ)" puppet.spec +export commit_message="Update to $VERSION (fixes rhbz#$BZ)" +BZ=2151953 VERSION=7.21.0 ; rpmdev-bumpspec --new="$VERSION" --comment="$commit_message" puppet.spec ``` Then verify whether any vendored modules need to be updated. @@ -28,4 +29,19 @@ Then upload the sources: spectool --list-files puppet.spec | awk '/https:/ { print $2 }' | xargs -n 1 basename | xargs fedpkg new-sources --offline ``` -If it looks all right, drop the `--offline` parameter. +Test out a scratch build: +``` +koji build --scratch rawhide $(fedpkg srpm 2>/dev/null | grep ^Wrote | rev | cut -d "/" -f1 | rev) +``` + +If it looks all right, drop the `--offline` parameter from the spectool. + +Commit, push, build, update + +``` +# git additions/removals/etc at this point +fedpkg commit -m "$commit_message" +fedpk build --target rawhide +fedpkg update +``` + From e2a1828ffc4e07a96f22a009a35b9adf2f76a0a1 Mon Sep 17 00:00:00 2001 From: Breno Brand Fernandes Date: Sat, 20 Apr 2024 02:25:33 -0400 Subject: [PATCH 266/272] Bugfix on readme --- README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index a8653bd..fc68bd3 100644 --- a/README.md +++ b/README.md @@ -10,8 +10,9 @@ Typically you will be notified via [release-monitoring](https://release-monitori Start with bumping the spec and reference the Bugzilla number. ``` -export commit_message="Update to $VERSION (fixes rhbz#$BZ)" -BZ=2151953 VERSION=7.21.0 ; rpmdev-bumpspec --new="$VERSION" --comment="$commit_message" puppet.spec +BZ=2151953 VERSION=7.21.0 +commit_message="Update to $VERSION (fixes rhbz#$BZ)" +rpmdev-bumpspec --new="$VERSION" --comment="$commit_message" puppet.spec ``` Then verify whether any vendored modules need to be updated. From f99c309c62464a6f80dc0d9c141e54cf3e7972f7 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 19 Jul 2024 08:44:12 +0000 Subject: [PATCH 267/272] Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild --- puppet.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/puppet.spec b/puppet.spec index 388453d..de6dd61 100644 --- a/puppet.spec +++ b/puppet.spec @@ -4,7 +4,7 @@ Name: puppet Version: 8.6.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Network tool for managing many disparate systems License: Apache-2.0 URL: https://puppet.com @@ -210,6 +210,9 @@ useradd -r -u 52 -g puppet -s /sbin/nologin \ %systemd_postun_with_restart %{name}.service %changelog +* Fri Jul 19 2024 Fedora Release Engineering - 8.6.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + * Sat Apr 20 2024 Breno Brand Fernandes - 8.6.0-1 - Update to 8.6.0 (fixes rhbz#2274550) From a5bd42b30dfe4a84aac3ce358274244275ac26b9 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 18 Jan 2025 11:04:53 +0000 Subject: [PATCH 268/272] Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild --- puppet.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/puppet.spec b/puppet.spec index de6dd61..fa29cba 100644 --- a/puppet.spec +++ b/puppet.spec @@ -4,7 +4,7 @@ Name: puppet Version: 8.6.0 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Network tool for managing many disparate systems License: Apache-2.0 URL: https://puppet.com @@ -210,6 +210,9 @@ useradd -r -u 52 -g puppet -s /sbin/nologin \ %systemd_postun_with_restart %{name}.service %changelog +* Sat Jan 18 2025 Fedora Release Engineering - 8.6.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + * Fri Jul 19 2024 Fedora Release Engineering - 8.6.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild From 86d01f52bb9c3e4b67908acccdbc361a96ff0575 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Thu, 23 Jan 2025 20:59:31 +0100 Subject: [PATCH 269/272] Add sysusers.d config file to allow rpm to create users/groups automatically --- puppet.spec | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/puppet.spec b/puppet.spec index fa29cba..23d0595 100644 --- a/puppet.spec +++ b/puppet.spec @@ -4,7 +4,7 @@ Name: puppet Version: 8.6.0 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Network tool for managing many disparate systems License: Apache-2.0 URL: https://puppet.com @@ -83,6 +83,11 @@ find -type f -exec \ -e 's|/var/log/puppetlabs/puppet|%{_localstatedir}/log/%{name}|' \ '{}' + +# Create a sysusers.d config file +cat >puppet.sysusers.conf </dev/null || groupadd -r puppet -g 52 &>/dev/null -getent passwd puppet &>/dev/null || \ -useradd -r -u 52 -g puppet -s /sbin/nologin \ - -c "Puppet" puppet &>/dev/null %post %systemd_post %{name}.service @@ -210,6 +212,9 @@ useradd -r -u 52 -g puppet -s /sbin/nologin \ %systemd_postun_with_restart %{name}.service %changelog +* Thu Jan 23 2025 Zbigniew Jędrzejewski-Szmek - 8.6.0-4 +- Add sysusers.d config file to allow rpm to create users/groups automatically + * Sat Jan 18 2025 Fedora Release Engineering - 8.6.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild From 2c952e70a2d53778a2764d59dc1a3600fb4fb87d Mon Sep 17 00:00:00 2001 From: Ewoud Kohl van Wijngaarden Date: Tue, 15 Apr 2025 15:46:24 +0200 Subject: [PATCH 270/272] Update to 8.10.0 ... rhbz#2291351 - Ruby 3.3 compatibility fix rhbz#2280109 - Ruby 3.4 compatibility fix rhbz#2349352 --- ...id-closing-directory-we-re-iterating.patch | 41 +++++++++++++++++++ puppet-8.1.0.tar.gz.asc | 16 -------- puppet.spec | 31 ++++++++------ sources | 22 +++++----- tests/smoke/test.sh | 4 ++ 5 files changed, 75 insertions(+), 39 deletions(-) create mode 100644 0001-Avoid-closing-directory-we-re-iterating.patch delete mode 100644 puppet-8.1.0.tar.gz.asc diff --git a/0001-Avoid-closing-directory-we-re-iterating.patch b/0001-Avoid-closing-directory-we-re-iterating.patch new file mode 100644 index 0000000..4ff762a --- /dev/null +++ b/0001-Avoid-closing-directory-we-re-iterating.patch @@ -0,0 +1,41 @@ +From 2032d928c2520cba988fe57f888011a286bae1c8 Mon Sep 17 00:00:00 2001 +From: Ewoud Kohl van Wijngaarden +Date: Wed, 5 Mar 2025 14:01:47 +0100 +Subject: [PATCH] Avoid closing directory we're iterating + +Ruby 3.4 started error checking directory access and starts to raise +Errno::EBADF. + +This particular loop iterates on all open file descriptors and one is +the directory listing from Dir.foreach. + +In the past this could have led to leaked file descriptors, but it's +unlikely since it's likely the last opened file descriptor and have the +highest number. + +Link: https://github.com/ruby/ruby/commit/f2919bd11c570fc5f5440d1f101be38f61e3d16b +Link: https://bugzilla.redhat.com/show_bug.cgi?id=2349352 +--- + lib/puppet/util.rb | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/lib/puppet/util.rb b/lib/puppet/util.rb +index 06c7b11815db..37b37d614d3a 100644 +--- a/lib/puppet/util.rb ++++ b/lib/puppet/util.rb +@@ -478,8 +478,10 @@ module Util + $stderr = STDERR + + begin +- Dir.foreach('/proc/self/fd') do |f| +- if f != '.' && f != '..' && f.to_i >= 3 ++ d = Dir.new('/proc/self/fd') ++ ignore_fds = ['.', '..', d.fileno.to_s] ++ d.each_child do |f| ++ if !ignore_fds.include?(f) && f.to_i >= 3 + begin + IO.new(f.to_i).close + rescue +-- +2.49.0 + diff --git a/puppet-8.1.0.tar.gz.asc b/puppet-8.1.0.tar.gz.asc deleted file mode 100644 index e29438a..0000000 --- a/puppet-8.1.0.tar.gz.asc +++ /dev/null @@ -1,16 +0,0 @@ ------BEGIN PGP SIGNATURE----- - -iQIzBAABCgAdFiEE1oEe063uuEQa9aqPRSi2zZ5h7yYFAmSJ92EACgkQRSi2zZ5h -7ybmkBAA3p7B7HDQzq50HuzXn5+RJRJUO8Y46V+6d29UR/ccYoSj6lg54fzRXTA0 -fY1JfcCl6iVpBosbOiHH2W3MMy5u6ANLrYtmA6FK7fp63/mTEW45EMChgdKZX4SM -dEVRmmFv+o/A/hcDA8uNC6AQvAD83fndPvjEQnIervL2lTjRcSBOaxbHbz6JvXAo -k/si6i6Y27wGWOeKNMZpxVoZqxfpNGtq6hueYRy8k3YY/9IBOONWu9z7bsjObFt1 -6tML/u4jHlm0jbk/oRnPVFlcSPoU4LhOKubu6PN9IvGfcFPJx6aCN29qoZnu+roo -deH1aJhNF+ZcUvOCR2kay3B6xT37miRhNpNLLc4sixzOasC23YiiiB4tetm2OCO3 -bmDsk2BcfXftpSsMrLBAUZaDsAGPqaRTDymmDh2tvx3PsDCpBTR37C/85Qt9/dJo -3i8klyn/bDJwcghWIf3gMk3SV697h++9Zd2Ky5iFEeIf/Hpdr6P2Gd3dW4NLXh5h -uThevTcIJPuI9uzk9NS+dvf5JCZoehAZI6bhV5aqE3sCDOArmzLEkYfiJsLYKVcI -7TnXH79wIiC4M2PU3d+uWqRYOecBG95SGib9vv13SYi7MRsvO13oIgsa/eihypgs -RKc4skCK6lDHQmOVMDUYBwr53gXrTNW/4CV9ub2utuuy/vSv28E= -=qxIC ------END PGP SIGNATURE----- diff --git a/puppet.spec b/puppet.spec index 23d0595..9656e82 100644 --- a/puppet.spec +++ b/puppet.spec @@ -3,8 +3,8 @@ %global puppet_vendor_mod_dir %{_datadir}/%{name}/vendor_modules Name: puppet -Version: 8.6.0 -Release: 4%{?dist} +Version: 8.10.0 +Release: 1%{?dist} Summary: Network tool for managing many disparate systems License: Apache-2.0 URL: https://puppet.com @@ -13,20 +13,22 @@ Source1: https://downloads.puppetlabs.com/puppet/%{name}-%{version}.tar.g Source2: RPM-GPG-KEY-puppet-20250406 # Get these by checking out the right tag from https://github.com/puppetlabs/puppet-agent and: # sed 's|.\+puppetlabs/\([a-z_-]\+\).git.\+tags/v\?\([0-9\.]\+\)"}|https://forge.puppet.com/v3/files/\1-\2.tar.gz|' configs/components/module-puppetlabs-*.json -Source3: https://forge.puppet.com/v3/files/puppetlabs-augeas_core-1.4.0.tar.gz -Source4: https://forge.puppet.com/v3/files/puppetlabs-cron_core-1.2.1.tar.gz -Source5: https://forge.puppet.com/v3/files/puppetlabs-host_core-1.2.0.tar.gz -Source6: https://forge.puppet.com/v3/files/puppetlabs-mount_core-1.2.0.tar.gz +Source3: https://forge.puppet.com/v3/files/puppetlabs-augeas_core-1.5.0.tar.gz +Source4: https://forge.puppet.com/v3/files/puppetlabs-cron_core-1.3.0.tar.gz +Source5: https://forge.puppet.com/v3/files/puppetlabs-host_core-1.3.0.tar.gz +Source6: https://forge.puppet.com/v3/files/puppetlabs-mount_core-1.3.0.tar.gz Source7: https://forge.puppet.com/v3/files/puppetlabs-scheduled_task-3.2.0.tar.gz -Source8: https://forge.puppet.com/v3/files/puppetlabs-selinux_core-1.3.0.tar.gz -Source9: https://forge.puppet.com/v3/files/puppetlabs-sshkeys_core-2.4.0.tar.gz -Source10: https://forge.puppet.com/v3/files/puppetlabs-yumrepo_core-2.0.0.tar.gz -Source11: https://forge.puppet.com/v3/files/puppetlabs-zfs_core-1.4.0.tar.gz -Source12: https://forge.puppet.com/v3/files/puppetlabs-zone_core-1.1.0.tar.gz +Source8: https://forge.puppet.com/v3/files/puppetlabs-selinux_core-1.4.0.tar.gz +Source9: https://forge.puppet.com/v3/files/puppetlabs-sshkeys_core-2.5.0.tar.gz +Source10: https://forge.puppet.com/v3/files/puppetlabs-yumrepo_core-2.1.0.tar.gz +Source11: https://forge.puppet.com/v3/files/puppetlabs-zfs_core-1.6.1.tar.gz +Source12: https://forge.puppet.com/v3/files/puppetlabs-zone_core-1.2.0.tar.gz Source13: puppet-nm-dispatcher.systemd Source14: start-puppet-wrapper Source15: logrotate +Patch: 0001-Avoid-closing-directory-we-re-iterating.patch + BuildArch: noarch # ruby-devel does not require the base package, but requires -libs instead @@ -64,7 +66,7 @@ along with obviously discrete elements like packages, services, and files. %prep %{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}' -%autosetup +%autosetup -p1 cp -a %{sources} . for f in puppetlabs-*.tar*; do tar xvf $f @@ -212,6 +214,11 @@ rm %{buildroot}%{_datadir}/%{name}/ext/{build_defaults.yaml,project_data.yaml} %systemd_postun_with_restart %{name}.service %changelog +* Tue Apr 15 2025 Ewoud Kohl van Wijngaarden - 8.10.0-1 +- Update to 8.10.0 (fixes rhbz#2291351) +- Ruby 3.3 regexp incompability bugfix (fixes rhbz#2280109) +- Ruby 3.4 closedir bugfix (fixes rhbz#2349352) + * Thu Jan 23 2025 Zbigniew Jędrzejewski-Szmek - 8.6.0-4 - Add sysusers.d config file to allow rpm to create users/groups automatically diff --git a/sources b/sources index 4122548..7864b03 100644 --- a/sources +++ b/sources @@ -1,12 +1,12 @@ -SHA512 (puppet-8.6.0.tar.gz) = b08d59b4ec79fec5f3dd2d37c9b6a9f016cf25068e507866ab8d545f59792b9af84e302675182a0318c792814f0bff2bf052c8953b6b44c5441fa2c692a9f04d -SHA512 (puppet-8.6.0.tar.gz.asc) = bb7eae98711802449a65f08b04e87e82cb8c17e9bf2fbe282be705a6a4a83c7b5d700c96d322e9882d939de63802f19f5fc15aae8ab9c2ff88adacd356d60caf -SHA512 (puppetlabs-augeas_core-1.4.0.tar.gz) = 225b614b4ecef9fb59428b0f0634f2677b704807f6ea05f4abca3631195faaf60d4d0b94e663b29ec298e4b915a42772c64e6358e88216b3767a54a1e91dc3a6 -SHA512 (puppetlabs-cron_core-1.2.1.tar.gz) = 547e46f89f655e67d693f0f8216011cb984cf5d72ed5f14b40115768e7d97d3beff35478b45f5792efba8a43a7f5013a68ff22d9e552c98f2fbf48e31879c9ac -SHA512 (puppetlabs-host_core-1.2.0.tar.gz) = 2be11180252bc31cbed6fdfd16a342d6585f99dede5ea9e20d1fdc2d6f0e5feecc9dbc5e2b21f6c69537d356b768609c8922ca8394d6a201f3eeedeb27466465 -SHA512 (puppetlabs-mount_core-1.2.0.tar.gz) = 6025fd130d64490e47b9660152ed8b800507940e5446a0f766b89c198b145b53b1c7056e789af202e98703e4dac0f5c590474b021e81452a45869bb1f16f3adf +SHA512 (puppet-8.10.0.tar.gz) = 5fc7842695c12ba07ffafbc6e1b1bc0efab8d3b2587a01aabb8fd8c6de07c6e227b741190b138eeac94ae2ac557fe9909d836827f79292b981e5d0bd2f53b91b +SHA512 (puppet-8.10.0.tar.gz.asc) = 4f938b43edb84f99f6e2154f767452b954427f4f8604c6aa8baf76503b7b9924b1a579cad6666b84d1b5c8a5ede1df5a373882e3644f9e1c930c214a2aba64d8 +SHA512 (puppetlabs-augeas_core-1.5.0.tar.gz) = b480356bea541b26966a300cd4505e94fd8a21f93a3946824250bf1d864f2d65676c17be2c954769ee21c4cd7314c53cc5f4986651513079868fafca27873e48 +SHA512 (puppetlabs-cron_core-1.3.0.tar.gz) = 7687240dd12b90d57ac76e3553db8b3dd981ace76141abff3199dce6b08a2b1153e31ebc52aa1b2b3498cf5e4b5f717f3ba8cace1d70991fcffe463de0a8a8e5 +SHA512 (puppetlabs-host_core-1.3.0.tar.gz) = b2b3e4d64818189babb2958742cd8b1d71273fed7142ed0f5f556ea5519fa33acec0255008398d059fd9a22fefc095f25872f77e47ea5755e729b78202cfc1fb +SHA512 (puppetlabs-mount_core-1.3.0.tar.gz) = b99825a614e54a0d5bc99061cfa88de4fe7a8b1d4cfded04a113594ec4107a685fa872a8e2c956026d7f99284ac181549cb8243b94b46721c7617c82489a2cfd SHA512 (puppetlabs-scheduled_task-3.2.0.tar.gz) = e6ba41bfc1b636c2c7a997a1b70e4a37f59abfd19ff338acd6c1a50fc8d9ac2f40feb9565cd52cb6ec1677c88d85cdda152f7ec05393ca94f3a01321fbca262d -SHA512 (puppetlabs-selinux_core-1.3.0.tar.gz) = ce8ea21127b71e30da3f3ae8cb3c1284aea04a5c9bd7bb3523db06feec0465843fa649be561fac469f958309f3a9c84aca1dc7078e540cd82317725aadfc1923 -SHA512 (puppetlabs-sshkeys_core-2.4.0.tar.gz) = 0ed3050e8bdebe22b3581825d4e3b1a1b2cc20fb2efb835e84ebfaaa743d75e159c7f51e748d2fb9e007ec90cd3dc9840cd5f4c8e364f69b1d787467dc7db1ea -SHA512 (puppetlabs-yumrepo_core-2.0.0.tar.gz) = e203549235a967455d64c4cd92c8fca77f83228b41fb433340ac7cde25b1e39d09b0512b80b01ca01fea7fd3e8491cabee69db59fa51fff3d905f51a3d26e35e -SHA512 (puppetlabs-zfs_core-1.4.0.tar.gz) = 8810be1a57504f58fcf6b802bbc2fa5a4531914fe49c08c56a82c0088d61965e83947b809c334f9d4fc9f2947255b811dba0e2b9b18c67d2979bc7450d323a9d -SHA512 (puppetlabs-zone_core-1.1.0.tar.gz) = 231a197b2d62ba06b93f5914ff8935e7f3a972cb412749d3edc20e34977d1152f5dd091265eed5f4d7d11a2f67719f9feb5fbb017eebfb7ce231c4a2a69eed8d +SHA512 (puppetlabs-selinux_core-1.4.0.tar.gz) = c212d1ad6bd4aaf58723aa0a5902e1ef90c481e333fa6b04dec53ee7badfd5d4869f0f6851b469d54368b47eac807c794e630ddd8a6be50397360281acc80ab1 +SHA512 (puppetlabs-sshkeys_core-2.5.0.tar.gz) = 8793e4d198de50167bdde5e49f77ba62e2c08232bbc4d861dc7e3d6b24248c94f6c0d025679978efaf5d0413e1390b41224ca0222148feb8e7061950b6d567c4 +SHA512 (puppetlabs-yumrepo_core-2.1.0.tar.gz) = 3f129b1c2c8ca8eaf105839db4f07f51c1c1723b9d6545ea672b95c14915003f95b1fc92308e280552cee0e27505ce09db7ceb5c219ec274c63b91ca04dee758 +SHA512 (puppetlabs-zfs_core-1.6.1.tar.gz) = a1fa2b90beeb7f2798c59e5932d4320af8baf1b9f18775716bbdeee172331efb93c8e6510bf7798552d74982bd8999ee092968ecba251c590b6c921d2b8d8992 +SHA512 (puppetlabs-zone_core-1.2.0.tar.gz) = 0cae94798551875dbbb362956d39cdcf63f8c07a6ca330394966ce49385497028134927751c7f91a992a51be3acff5781788689b72af4b25ba8493931e635c87 diff --git a/tests/smoke/test.sh b/tests/smoke/test.sh index 1037517..de07e21 100755 --- a/tests/smoke/test.sh +++ b/tests/smoke/test.sh @@ -15,7 +15,11 @@ rlJournalStart rlAssertNotGrep "warning" $rlRun_LOG -i rlRun "echo \"file { '${tmp}/applied-file': ensure => file, content => 'Hello World' }\" | puppet apply" 0 "Apply manifest" + rlAssertExists "${tmp}/applied-file" rlAssertGrep "Hello World" "applied-file" + + rlRun "puppet resource exec test command='/usr/bin/rm ${tmp}/applied-file'" 0 "Exec resource" + rlAssertNotExists "${tmp}/applied-file" rlPhaseEnd rlPhaseStartCleanup From 9b710b2b23aa10f373eb73595e5791acab269671 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 25 Jul 2025 06:16:56 +0000 Subject: [PATCH 271/272] Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild --- puppet.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/puppet.spec b/puppet.spec index 9656e82..0f49348 100644 --- a/puppet.spec +++ b/puppet.spec @@ -4,7 +4,7 @@ Name: puppet Version: 8.10.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Network tool for managing many disparate systems License: Apache-2.0 URL: https://puppet.com @@ -214,6 +214,9 @@ rm %{buildroot}%{_datadir}/%{name}/ext/{build_defaults.yaml,project_data.yaml} %systemd_postun_with_restart %{name}.service %changelog +* Fri Jul 25 2025 Fedora Release Engineering - 8.10.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + * Tue Apr 15 2025 Ewoud Kohl van Wijngaarden - 8.10.0-1 - Update to 8.10.0 (fixes rhbz#2291351) - Ruby 3.3 regexp incompability bugfix (fixes rhbz#2280109) From 3eddbf4082baf1e2d58f7c35f877a4907d5c757e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Terje=20R=C3=B8sten?= Date: Fri, 3 Oct 2025 11:26:50 +0200 Subject: [PATCH 272/272] Add patch from openvox to fix dnf5 issue --- openvox-dnf5.patch | 84 ++++++++++++++++++++++++++++++++++++++++++++++ puppet.spec | 6 +++- 2 files changed, 89 insertions(+), 1 deletion(-) create mode 100644 openvox-dnf5.patch diff --git a/openvox-dnf5.patch b/openvox-dnf5.patch new file mode 100644 index 0000000..770db7f --- /dev/null +++ b/openvox-dnf5.patch @@ -0,0 +1,84 @@ +commit 26d3405df7f35497ec07942c44c292bb25d60210 +Author: Lars Haugan +Date: Mon Dec 23 14:56:21 2024 +0100 + + Add fix for package running dnf5 on fedora + + Fedora 41 introduced dnf5 which has deprecated the use of the flags '-d' + and '-e'. This change removes the options + + Signed-off-by: Lars Haugan + +diff --git a/lib/puppet/provider/package/dnfmodule.rb b/lib/puppet/provider/package/dnfmodule.rb +index 8d58d2fdd8..de052ad744 100644 +--- a/lib/puppet/provider/package/dnfmodule.rb ++++ b/lib/puppet/provider/package/dnfmodule.rb +@@ -35,7 +35,7 @@ Puppet::Type.type(:package).provide :dnfmodule, :parent => :dnf do + + def self.instances + packages = [] +- cmd = "#{command(:dnf)} module list -y -d 0 -e #{error_level}" ++ cmd = "#{command(:dnf)} module list -y" + execute(cmd).each_line do |line| + # select only lines with actual packages since DNF clutters the output + next unless line =~ /\[[eix]\][, ]/ +@@ -90,7 +90,7 @@ Puppet::Type.type(:package).provide :dnfmodule, :parent => :dnf do + enable(args) + else + begin +- execute([command(:dnf), 'module', 'install', '-d', '0', '-e', self.class.error_level, '-y', args]) ++ execute([command(:dnf), 'module', 'install', '-y', args]) + rescue Puppet::ExecutionFailure => e + # module has no default profile and no profile was requested, so just enable the stream + # DNF versions prior to 4.2.8 do not need this workaround +@@ -117,20 +117,20 @@ Puppet::Type.type(:package).provide :dnfmodule, :parent => :dnf do + end + + def enable(args = @resource[:name]) +- execute([command(:dnf), 'module', 'enable', '-d', '0', '-e', self.class.error_level, '-y', args]) ++ execute([command(:dnf), 'module', 'enable', '-y', args]) + end + + def uninstall +- execute([command(:dnf), 'module', 'remove', '-d', '0', '-e', self.class.error_level, '-y', @resource[:name]]) ++ execute([command(:dnf), 'module', 'remove', '-y', @resource[:name]]) + reset # reset module to the default stream + end + + def disable(args = @resource[:name]) +- execute([command(:dnf), 'module', 'disable', '-d', '0', '-e', self.class.error_level, '-y', args]) ++ execute([command(:dnf), 'module', 'disable', '-y', args]) + end + + def reset +- execute([command(:dnf), 'module', 'reset', '-d', '0', '-e', self.class.error_level, '-y', @resource[:name]]) ++ execute([command(:dnf), 'module', 'reset', '-y', @resource[:name]]) + end + + def flavor +diff --git a/lib/puppet/provider/package/yum.rb b/lib/puppet/provider/package/yum.rb +index 15bc372c6b..6c0f85e31b 100644 +--- a/lib/puppet/provider/package/yum.rb ++++ b/lib/puppet/provider/package/yum.rb +@@ -247,7 +247,7 @@ Puppet::Type.type(:package).provide :yum, :parent => :rpm, :source => :rpm do + update_command = self.class.update_command + # If not allowing virtual packages, do a query to ensure a real package exists + unless @resource.allow_virtual? +- execute([command(:cmd), '-d', '0', '-e', error_level, '-y', install_options, :list, wanted].compact) ++ execute([command(:cmd), '-y', install_options, :list, wanted].compact) + end + + should = @resource.should(:ensure) +@@ -307,10 +307,7 @@ Puppet::Type.type(:package).provide :yum, :parent => :rpm, :source => :rpm do + end + end + +- # Yum on el-4 and el-5 returns exit status 0 when trying to install a package it doesn't recognize; +- # ensure we capture output to check for errors. +- no_debug = Puppet.runtime[:facter].value('os.release.major').to_i > 5 ? ["-d", "0"] : [] +- command = [command(:cmd)] + no_debug + ["-e", error_level, "-y", install_options, operation, wanted].compact ++ command = [command(:cmd)] + ["-y", install_options, operation, wanted].compact + output = execute(command) + + if output.to_s =~ /^No package #{wanted} available\.$/ + diff --git a/puppet.spec b/puppet.spec index 0f49348..e762f4e 100644 --- a/puppet.spec +++ b/puppet.spec @@ -4,7 +4,7 @@ Name: puppet Version: 8.10.0 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Network tool for managing many disparate systems License: Apache-2.0 URL: https://puppet.com @@ -28,6 +28,7 @@ Source14: start-puppet-wrapper Source15: logrotate Patch: 0001-Avoid-closing-directory-we-re-iterating.patch +Patch: openvox-dnf5.patch BuildArch: noarch @@ -214,6 +215,9 @@ rm %{buildroot}%{_datadir}/%{name}/ext/{build_defaults.yaml,project_data.yaml} %systemd_postun_with_restart %{name}.service %changelog +* Fri Oct 03 2025 Terje Rosten - 8.10.0-3 +- Add patch from openvox to fix dnf5 issue + * Fri Jul 25 2025 Fedora Release Engineering - 8.10.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild