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 80f5985..8f62a61 100644 --- a/.gitignore +++ b/.gitignore @@ -1,25 +1,8 @@ -/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 -/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 -/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 -/puppet-6.25.1.tar.gz -/puppet-6.26.0.tar.gz +*~ +*.rpm +*.tar.gz +*.tar.gz.asc +/puppet-*/ +/.build*.log +results_puppet/ +/tests/*/log.txt 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/README.md b/README.md new file mode 100644 index 0000000..fc68bd3 --- /dev/null +++ b/README.md @@ -0,0 +1,48 @@ +# 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 +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. +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 +``` + +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 +``` + diff --git a/gating.yaml b/gating.yaml new file mode 100644 index 0000000..0da9f5a --- /dev/null +++ b/gating.yaml @@ -0,0 +1,16 @@ +--- !Policy +product_versions: + - epel-* + - 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: + - epel-* + - fedora-* +decision_contexts: [bodhi_update_push_stable] +subject_type: koji_build +rules: + - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional} 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/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/puppet-6.26.0.tar.gz.asc b/puppet-6.26.0.tar.gz.asc deleted file mode 100644 index 61cd309..0000000 --- a/puppet-6.26.0.tar.gz.asc +++ /dev/null @@ -1,17 +0,0 @@ ------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 9337c11..e762f4e 100644 --- a/puppet.spec +++ b/puppet.spec @@ -1,51 +1,59 @@ %global nm_dispatcher_dir %{_prefix}/lib/NetworkManager %global puppet_libdir %{ruby_vendorlibdir} +%global puppet_vendor_mod_dir %{_datadir}/%{name}/vendor_modules Name: puppet -Version: 6.26.0 -Release: 1%{?dist} +Version: 8.10.0 +Release: 3%{?dist} Summary: Network tool for managing many disparate systems -License: ASL 2.0 -URL: https://puppetlabs.com +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 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 +# 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.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.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 +Patch: openvox-dnf5.patch + BuildArch: noarch # ruby-devel does not require the base package, but requires -libs instead BuildRequires: ruby BuildRequires: ruby-devel -BuildRequires: ruby-facter +BuildRequires: rubygem-json +BuildRequires: facter BuildRequires: hiera 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: facter >= 4.3.0 +Requires: rubygem(concurrent-ruby) >= 1.1.9 +Requires: rubygem(deep_merge) >= 1.0 +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 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: 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 @@ -59,7 +67,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 @@ -67,46 +75,63 @@ 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}|' \ '{}' + +# Create a sysusers.d config file +cat >puppet.sysusers.conf < \ # 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,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,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 -%{_unitdir}/puppetagent.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,15 +171,16 @@ 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* %{_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* @@ -164,54 +194,691 @@ rm %{buildroot}%{_datadir}/puppetlabs/puppet/ext/{build_defaults.yaml,project_da %{_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 -%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(-, 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} +%{_sysusersdir}/puppet.conf -%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_post %{name}.service %postun -%systemd_postun_with_restart puppet.service - +%systemd_postun_with_restart %{name}.service %changelog -* Wed Jan 26 2022 Breno Brand Fernandes - 6.26.0-1 -- Update to 6.26.0 +* Fri Oct 03 2025 Terje Rosten - 8.10.0-3 +- Add patch from openvox to fix dnf5 issue -* Thu Nov 18 2021 Breno Brand Fernandes - 6.25.1-1 -- Update to 6.25.1 +* Fri Jul 25 2025 Fedora Release Engineering - 8.10.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild -* Thu Oct 22 2020 Igor Raits - 6.19.0-1 -- Update to 6.19.0 +* 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) -* Sat Sep 26 2020 Igor Raits - 6.18.0-1 -- Update to 6.18.0 +* 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 -* 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 +* Sat Jan 18 2025 Fedora Release Engineering - 8.6.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild -* Mon Jul 13 2020 Breno Brand Fernandes - 6.14.0-1 -- Build of puppet 6. +* 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) + +* 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 + +* 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) + +* 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 + +* 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 + +* 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) + +* 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 + +* 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) + +* 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 + +* 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 + +* 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 + +* 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 + +* 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 + +* 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 + +* 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 + +* 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 + +* 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) + +* 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 + +* 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 + +* 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 + +* 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 + +* 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 + +* 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 + +* 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) +- 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 + +* 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 + +* 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 + +* 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 + +* 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) + +* 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 + +* 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 + +* 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 + +* 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 + +* 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) + +* 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 + +* 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 + +* 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) + +* 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) + +* 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 +- Update to 3.7.1 + +* 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_ + +* 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 + +* 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 + +* 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 + +* 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 + +* 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 + +* 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) + +* 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) + +* 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 + +* 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 + +* 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 +- 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 + +* 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 + +* 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 + +* 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) + +* 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) +- 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 +- 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 +- 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 +- 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 + +* 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 +- 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) + +* 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 +- 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 + upstream #9793 + +* 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 +- 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 +- 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 + +* 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 + +* 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 + +* 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) +- Install auth.conf, puppetqd manpage, and queuing examples/docs + +* 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) +- Install emacs mode and vim syntax files (#491437) +- 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 +- Quiet output from %%pre +- Use upstream install script +- Increase required facter version to >= 1.5 + +* 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) +- 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 +- 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 + +* 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) + +* Mon Mar 24 2008 David Lutterkort - 0.24.3-1 +- New version + +* Wed Mar 5 2008 David Lutterkort - 0.24.2-1 +- New version + +* 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 + +* 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 + +* 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 +- Use plain shell commands in install instead of macros + +* 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) + +* 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 + +* Sat Feb 3 2007 David Lutterkort - 0.22.1-1 +- New version + +* 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 + +* Mon Oct 23 2006 David Lutterkort - 0.20.0-1 +- New version + +* Tue Sep 26 2006 David Lutterkort - 0.19.3-1 +- New version + +* Mon Sep 18 2006 David Lutterkort - 0.19.1-1 +- New version + +* 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 + right process + +* Tue Aug 1 2006 David Lutterkort - 0.18.4-1 +- New version + +* Fri Jul 14 2006 David Lutterkort - 0.18.3-1 +- New version + +* 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 45300f0..7864b03 100644 --- a/sources +++ b/sources @@ -1,11 +1,12 @@ -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 -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 +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.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/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..de07e21 --- /dev/null +++ b/tests/smoke/test.sh @@ -0,0 +1,29 @@ +#!/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" + 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 + rlRun "popd" + rlRun "rm -r $tmp" 0 "Remove tmp directory" + rlPhaseEnd +rlJournalEnd