Compare commits

..

No commits in common. "rawhide" and "f32" have entirely different histories.

20 changed files with 514 additions and 571 deletions

View file

@ -1 +0,0 @@
1

2
.gitignore vendored
View file

@ -4,5 +4,3 @@
*.tar.gz.asc
/puppet-*/
/.build*.log
results_puppet/
/tests/*/log.txt

View file

@ -1,41 +0,0 @@
From 2032d928c2520cba988fe57f888011a286bae1c8 Mon Sep 17 00:00:00 2001
From: Ewoud Kohl van Wijngaarden <ewoud@kohlvanwijngaarden.nl>
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

View file

@ -0,0 +1,58 @@
From 88c57975f8b3832688b00afc4f41b6dd87153ec2 Mon Sep 17 00:00:00 2001
From: Lucien Weller <lucien@wellernet.ch>
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

View file

@ -0,0 +1,46 @@
From f54a22b96e9e631991bad095a7b321273a2e6e3f Mon Sep 17 00:00:00 2001
From: Gael Chamoulaud <gchamoul@redhat.com>
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

View file

@ -0,0 +1,24 @@
From 5688991cd78f7c38a1edf28f76e9b7825a7d415a Mon Sep 17 00:00:00 2001
From: Dominic Cleal <dominic@cleal.org>
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

View file

@ -1,48 +0,0 @@
# 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
```

View file

@ -1,31 +0,0 @@
-----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-----

View file

@ -1,16 +0,0 @@
--- !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}

View file

@ -1,21 +0,0 @@
# 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
}

View file

@ -1,84 +0,0 @@
commit 26d3405df7f35497ec07942c44c292bb25d60210
Author: Lars Haugan <lars.haugan@sparebank1.no>
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 <lars.haugan@sparebank1.no>
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\.$/

View file

@ -1,7 +0,0 @@
summary: Run puppet lookup
prepare:
how: install
package: puppet
execute:
how: tmt
script: puppet lookup --explain foo

View file

@ -1,5 +0,0 @@
summary: Basic smoke test
discover:
how: fmf
execute:
how: tmt

View file

@ -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 <lucas.kanashiro@canonical.com>
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)

20
puppet-5.5.18-sync.patch Normal file
View file

@ -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'

8
puppet-nm-dispatcher Normal file
View file

@ -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 || :

View file

@ -1,63 +1,72 @@
# 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
%global puppet_libdir %{ruby_vendorlibdir}
%global puppet_vendor_mod_dir %{_datadir}/%{name}/vendor_modules
%else
%global nm_dispatcher_dir %{_sysconfdir}/NetworkManager
%endif
Name: puppet
Version: 8.10.0
Release: 3%{?dist}
Summary: Network tool for managing many disparate systems
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
# 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
Version: 5.5.20
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: puppet-nm-dispatcher
Source3: puppet-nm-dispatcher.systemd
Source4: start-puppet-wrapper
Patch: 0001-Avoid-closing-directory-we-re-iterating.patch
Patch: openvox-dnf5.patch
BuildArch: noarch
# 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
BuildRequires: git
BuildRequires: ruby-devel >= 1.8.7
# ruby-devel does not require the base package, but requires -libs instead
BuildRequires: ruby
BuildRequires: ruby-devel
BuildRequires: rubygem-json
BuildRequires: facter
BuildRequires: hiera
BuildRequires: ruby >= 1.8.7
Requires: puppet-headless = %{version}-%{release}
%if 0%{?_with_systemd}
%{?systemd_requires}
BuildRequires: systemd
BuildRequires: gnupg2
Requires: hiera >= 3.3.1
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: ruby(selinux) libselinux-utils
Obsoletes: puppet-headless < 6.0.0
Obsoletes: puppet-server < 6.0.0
Obsoletes: puppet < 6.0.0
%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
@ -65,262 +74,322 @@ 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
%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}'
%autosetup -p1
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|/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}/%{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}|' \
'{}' +
%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
# Create a sysusers.d config file
cat >puppet.sysusers.conf <<EOF
u puppet 52 'Puppet' - -
EOF
%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
# 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} \
--bindir=%{_bindir} \
--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}
--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}
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}/%{name}/vendor_modules/$mod
done
install -Dp -m0644 %{SOURCE15} %{buildroot}%{_sysconfdir}/logrotate.d/%{name}
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
install -d -m0755 %{buildroot}%{_unitdir}
install -Dp -m0644 ext/systemd/puppet.service %{buildroot}%{_unitdir}/%{name}.service
install -D -m0644 puppet.sysusers.conf %{buildroot}%{_sysusersdir}/puppet.conf
%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}/%{name}/hiera.yaml
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).
install -Dpv -m0755 %{SOURCE13} \
%{buildroot}%{nm_dispatcher_dir}/dispatcher.d/98-%{name}
%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}
# 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}/%{name}.service
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 %{_rundir}/%{name} 0755 %{name} %{name} -" > \
%{buildroot}%{_tmpfilesdir}/%{name}.conf
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
# 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}%{_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/%{name}
%attr(-, root, root) %{_datadir}/%{name}
%{_unitdir}/%{name}.service
%if 0%{?_with_systemd}
%{_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
# 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}
%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
%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-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*
%{_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
%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
%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
# Fixed uid/gid were assigned in bz 472073 (Fedora), 471918 (RHEL-5),
# and 471919 (RHEL-4)
%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 \
-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
%post
%systemd_post %{name}.service
%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
%systemd_postun_with_restart %{name}.service
%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
* Fri Oct 03 2025 Terje Rosten <terjeros@gmail.com> - 8.10.0-3
- Add patch from openvox to fix dnf5 issue
* Fri Jul 25 2025 Fedora Release Engineering <releng@fedoraproject.org> - 8.10.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Tue Apr 15 2025 Ewoud Kohl van Wijngaarden <ewoud@kohlvanwijngaarden.nl> - 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 <zbyszek@in.waw.pl> - 8.6.0-4
- Add sysusers.d config file to allow rpm to create users/groups automatically
* Sat Jan 18 2025 Fedora Release Engineering <releng@fedoraproject.org> - 8.6.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Fri Jul 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 8.6.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Sat Apr 20 2024 Breno Brand Fernandes <breno.brandfernandes@achievers.com> - 8.6.0-1
- Update to 8.6.0 (fixes rhbz#2274550)
* Sun Mar 10 2024 Ewoud Kohl van Wijngaarden <ewoud@kohlvanwijngaarden.nl> - 8.5.1-1
- Update to 8.5.1 (fixes rhbz#2259039)
* Fri Jan 26 2024 Fedora Release Engineering <releng@fedoraproject.org> - 8.3.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 8.3.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Tue Nov 14 2023 Ewoud Kohl van Wijngaarden <ewoud@kohlvanwijngaarden.nl> - 8.3.1-1
- Update to 8.3.1 (fixes rhbz#2233957)
* Fri Jul 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 8.1.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Thu Jun 8 2023 Breno Brand Fernandes <brandfbb@gmail.com> - 8.1.0-1
- Build 8.1.0
* Thu Jun 8 2023 Breno Brand Fernandes <brandfbb@gmail.com> - 7.24.0-1
- Build 7.24.0
* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 7.21.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Sat Dec 17 2022 Ewoud Kohl van Wijngaarden <ewoud@kohlvanwijngaarden.nl> - 7.21.0-1
- Update to 7.21.0 (fixes rhbz#2151953)
* Thu Oct 20 2022 Ewoud Kohl van Wijngaarden <ewoud@kohlvanwijngaarden.nl> - 7.20.0-1
- Update to 7.20.0 (fixes rhbz#2126546)
* Sat Sep 17 2022 Ewoud Kohl van Wijngaarden <ewoud@kohlvanwijngaarden.nl> - 7.19.0-1
- Update to 7.19.0 (fixes rhbz#2126546)
* Tue Aug 30 2022 Ewoud Kohl van Wijngaarden <ewoud@kohlvanwijngaarden.nl> - 7.18.0-1
- Update to 7.18.0
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 7.17.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Wed Jun 15 2022 Ewoud Kohl van Wijngaarden <ewoud@kohlvanwijngaarden.nl> - 7.17.0-2
- Require at least concurrent-ruby 1.1.9 (fixes rhbz#2077122)
* Wed Jun 01 2022 Ewoud Kohl van Wijngaarden <ewoud@kohlvanwijngaarden.nl> - 7.17.0-1
- Update to 7.17.0
* Wed Apr 20 2022 Ewoud Kohl van Wijngaarden <ewoud@kohlvanwijngaarden.nl> - 7.16.0-1
- Update to 7.16.0
* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 7.12.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Sat Nov 27 2021 Igor Raits <ignatenkobrain@fedoraproject.org> - 7.12.1-2
- Drop obsolete dependency on cpp-hocon
* Thu Nov 18 2021 Breno Brand Fernandes <brandfbb@gmail.com> - 7.12.1-1
- Update to 7.12.1
* Tue Aug 17 2021 Ewoud Kohl van Wijngaarden <ewoud+fedora@kohlvanwijngaarden.nl> - 7.9.0-1
- Update to 7.9.0
- Revert paths to FHS standards
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 7.7.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Wed Jul 07 2021 Breno Brand Fernandes <brandfbb@gmail.com> - 7.7.0-2
- Updated puppet url
* Mon Jul 05 2021 Breno Brand Fernandes <brandfbb@gmail.com> - 7.7.0-2
- Cleaning up the spec file, adding suggestions from ekohl (Ewoud Kohl van Wijngaarden)
* Tue Jun 15 2021 Breno Brand Fernandes <brandfbb@gmail.com> - 7.7.0-1
- Update to 7.7.0 - latest version that supports ruby 3.0
* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 5.5.20-4
- Rebuilt for updated systemd-rpm-macros
See https://pagure.io/fesco/issue/2583.
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 5.5.20-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 5.5.20-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Sat May 02 2020 Terje Rosten <terje.rosten@ntnu.no> - 5.5.20-1
- 5.5.20
- Add patches to work (somewhat) with ruby 2.7

14
sources
View file

@ -1,12 +1,2 @@
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
SHA512 (puppet-5.5.20.tar.gz) = 83b8f234697e13d6fd8ac16634fff4e4adfece70858c32c1001925c71cc4d9a482da1880c27c08e796facb46d5d17889f9521121a69cb49e160e3c031ad564c4
SHA512 (puppet-5.5.20.tar.gz.asc) = d862eaf430cbb86112b67a8e0b3da228d3dd2d2dc4d16cd6272c4f1d737e9c8674418e56fd96a47a6be55f699a803e0e889256ad3d2cff66f6eff397c7e719cc

View file

@ -1,4 +0,0 @@
summary: Basic smoke testing
require: puppet
test: ./test.sh
framework: beakerlib

View file

@ -1,29 +0,0 @@
#!/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