Puppet 7.7 build -- ruby 3

epel9
Breno Brand Fernandes 3 years ago
parent a95697f47f
commit 4ecda1c3d8

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

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

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

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

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

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

@ -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 %global nm_dispatcher_dir %{_prefix}/lib/NetworkManager
%else %global puppet_libdir %{ruby_vendorlibdir}
%global nm_dispatcher_dir %{_sysconfdir}/NetworkManager
%endif
Name: puppet Name: puppet
Version: 5.5.20 Version: 7.7.0
Release: 4%{?dist} Release: 1%{?dist}
Summary: A network tool for managing many disparate systems Summary: Network tool for managing many disparate systems
License: ASL 2.0 License: ASL 2.0
URL: http://puppetlabs.com URL: https://puppetlabs.com
Source0: http://downloads.puppetlabs.com/%{name}/%{name}-%{version}.tar.gz Source0: https://downloads.puppetlabs.com/puppet/%{name}-%{version}.tar.gz
Source1: http://downloads.puppetlabs.com/%{name}/%{name}-%{version}.tar.gz.asc Source1: https://downloads.puppetlabs.com/puppet/%{name}-%{version}.tar.gz.asc
Source2: puppet-nm-dispatcher Source2: RPM-GPG-KEY-puppet-20250406
Source3: puppet-nm-dispatcher.systemd Source3: https://forge.puppet.com/v3/files/puppetlabs-mount_core-1.0.4.tar.gz
Source4: start-puppet-wrapper 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
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 # ruby-devel does not require the base package, but requires -libs instead
BuildRequires: ruby >= 1.8.7 BuildRequires: ruby
BuildRequires: ruby-devel
Requires: puppet-headless = %{version}-%{release} BuildRequires: rubygem-json
BuildRequires: facter
%if 0%{?_with_systemd} BuildRequires: hiera
%{?systemd_requires}
BuildRequires: systemd BuildRequires: systemd
%else BuildRequires: gnupg2
Requires(post): chkconfig Requires: hiera >= 3.3.1
Requires(preun): chkconfig Requires: facter >= 3.9.6
Requires(preun): initscripts Requires: ruby-facter >= 3.9.6
Requires(postun): initscripts Requires: rubygem-semantic_puppet >= 1.0.2
%endif 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 %description
Puppet lets you centrally manage every important aspect of your system using a 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, normally aggregated in different files, like users, cron jobs, and hosts,
along with obviously discrete elements like packages, services, and files. 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 %prep
%autosetup -S git %{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}'
# Unbundle %autosetup
rm -r lib/puppet/vendor/pathspec cp -a %{sources} .
# Note(hguemar): remove unrelated OS/distro specific folders for f in puppetlabs-*.tar*; do
# These mess-up with RPM automatic dependencies compute by adding tar xvf $f
# unnecessary deps like /sbin/runscripts done
rm -r ext/{debian,freebsd,gentoo,ips,osx,solaris,suse,windows} # Puppetlabs messed up with default paths
rm ext/redhat/*.init find -type f -exec \
rm ext/{build_defaults.yaml,project_data.yaml} sed -i \
-e 's|/opt/puppetlabs/puppet/bin|%{_bindir}|' \
-e 's|/opt/puppetlabs/puppet/cache|%{_sharedstatedir}/puppet|' \
%build -e 's|/opt/puppetlabs/puppet/share/locale|%{_datadir}/puppetlabs/puppet/locale|' \
# Nothing to build -e 's|/opt/puppetlabs/puppet/modules|%{_datadir}/puppetlabs/puppet/modules|' \
-e 's|/opt/puppetlabs/puppet/vendor_modules|%{_datadir}/puppetlabs/puppet/vendor_modules|' \
'{}' +
%install %install
rm -rf %{buildroot}
ruby install.rb --destdir=%{buildroot} \ ruby install.rb --destdir=%{buildroot} \
--configdir=%{_sysconfdir}/puppet \ --bindir=%{_bindir} \
--bindir=%{_bindir} --vardir=%{_localstatedir}/cache/puppet \ --logdir=%{_localstatedir}/log/puppet \
--logdir=%{_localstatedir}/log/puppet \ --rundir=%{_rundir}/puppet \
--rundir=%{_localstatedir}/log/puppet \ --localedir=%{_datadir}/puppetlabs/puppet/locale \
--localedir=%{_datadir}/%{name}/locale \ --vardir=%{_sharedstatedir}/puppet \
--quick --no-rdoc --sitelibdir=%{puppet_libdir} --configdir=%{_sysconfdir}/puppet \
--codedir=%{_sysconfdir}/puppet/code \
--sitelibdir=%{puppet_libdir}
install -d -m0755 %{buildroot}%{_sysconfdir}/puppet/manifests
install -d -m0755 %{buildroot}%{_datadir}/%{name}/modules mkdir -p %{buildroot}/usr/share/puppetlabs/puppet/vendor_modules
install -d -m0755 %{buildroot}%{_localstatedir}/lib/puppet for d in $(find -mindepth 1 -maxdepth 1 -type d -name 'puppetlabs-*'); do
install -d -m0755 %{buildroot}%{_localstatedir}/run/puppet modver=${d#*-}
install -d -m0750 %{buildroot}%{_localstatedir}/log/puppet mod=${modver%-*}
install -d -m0750 %{buildroot}%{_localstatedir}/cache/puppet cp -a $d %{buildroot}%{_datadir}/puppetlabs/puppet/vendor_modules/$mod
done
%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 install -Dp -m0644 ext/redhat/logrotate %{buildroot}%{_sysconfdir}/logrotate.d/puppet
rm %{buildroot}%{_sysconfdir}/puppet/hiera.yaml
# Install a NetworkManager dispatcher script to pickup changes to %{__install} -d -m0755 %{buildroot}%{_unitdir}
# /etc/resolv.conf and such (https://bugzilla.redhat.com/532085). install -Dp -m0644 ext/systemd/puppet.service %{buildroot}%{_unitdir}/puppet.service
%if 0%{?_with_systemd} ln -s %{_unitdir}/puppet.service %{buildroot}%{_unitdir}/puppetagent.service
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 -Dpv -m0755 %{SOURCE13} \
install -d %{buildroot}%{_datadir}/%{name} %{buildroot}%{nm_dispatcher_dir}/dispatcher.d/98-%{name}
cp -a ext/ %{buildroot}%{_datadir}/%{name}
chmod 0755 %{buildroot}%{_datadir}/%{name}/ext/regexp_nodes/regexp_nodes.rb # 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 wrappers for SELinux
install -Dp -m0755 %{SOURCE4} %{buildroot}%{_bindir}/start-puppet-agent install -Dp -m0755 %{SOURCE14} %{buildroot}%{_bindir}/start-puppet-agent
install -Dp -m0755 %{SOURCE4} %{buildroot}%{_bindir}/start-puppet-master sed -i 's|^ExecStart=.*/bin/puppet|ExecStart=%{_bindir}/start-puppet-agent|' \
install -Dp -m0755 %{SOURCE4} %{buildroot}%{_bindir}/start-puppet-ca %{buildroot}%{_unitdir}/puppet.service
%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 # Setup tmpfiles.d config
mkdir -p %{buildroot}%{_tmpfilesdir} mkdir -p %{buildroot}%{_tmpfilesdir}
echo "D /run/%{name} 0755 %{name} %{name} -" > \ echo "D %{_rundir}/%{name} 0755 %{name} %{name} -" > \
%{buildroot}%{_tmpfilesdir}/%{name}.conf %{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}/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 %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}/puppet.service
%{_unitdir}/puppetagent.service %{_unitdir}/puppetagent.service
%else
%{_initrddir}/puppet
%config(noreplace) %{_sysconfdir}/sysconfig/puppet
%endif
%if 0%{?fedora} || 0%{?rhel} >= 8
%{_tmpfilesdir}/%{name}.conf %{_tmpfilesdir}/%{name}.conf
%endif
%config(noreplace) %{_sysconfdir}/logrotate.d/puppet
%dir %{nm_dispatcher_dir} %dir %{nm_dispatcher_dir}
%dir %{nm_dispatcher_dir}/dispatcher.d %dir %{nm_dispatcher_dir}/dispatcher.d
%{nm_dispatcher_dir}/dispatcher.d/98-puppet %{nm_dispatcher_dir}/dispatcher.d/98-puppet
%{_bindir}/start-puppet-agent
%files headless
%doc README.md examples %doc README.md examples
%license LICENSE %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}/puppet
%{_bindir}/start-puppet-* %{_mandir}/man5/puppet.conf.5*
%{puppet_libdir}/* %{_mandir}/man8/puppet-plugin.8*
%dir %{_sysconfdir}/puppet %{_mandir}/man8/puppet-report.8*
%dir %{_sysconfdir}/%{name}/modules %{_mandir}/man8/puppet-resource.8*
%config(noreplace) %{_sysconfdir}/puppet/puppet.conf %{_mandir}/man8/puppet-script.8*
%config(noreplace) %{_sysconfdir}/puppet/auth.conf %{_mandir}/man8/puppet-ssl.8*
%{_datadir}/%{name} %{_mandir}/man8/puppet-agent.8*
# These need to be owned by puppet so the server can %{_mandir}/man8/puppet.8*
# write to them %{_mandir}/man8/puppet-apply.8*
%attr(-, puppet, puppet) %{_localstatedir}/run/puppet %{_mandir}/man8/puppet-catalog.8*
%attr(0750, puppet, puppet) %{_localstatedir}/log/puppet %{_mandir}/man8/puppet-config.8*
%attr(-, puppet, puppet) %{_localstatedir}/lib/puppet %{_mandir}/man8/puppet-describe.8*
%attr(0750, puppet, puppet) %{_localstatedir}/cache/puppet %{_mandir}/man8/puppet-device.8*
%{_mandir}/man5/puppet.conf.5.gz %{_mandir}/man8/puppet-doc.8*
%{_mandir}/man8/puppet.8.gz %{_mandir}/man8/puppet-epp.8*
%{_mandir}/man8/puppet-agent.8.gz %{_mandir}/man8/puppet-facts.8*
%{_mandir}/man8/puppet-apply.8.gz %{_mandir}/man8/puppet-filebucket.8*
%{_mandir}/man8/puppet-catalog.8.gz %{_mandir}/man8/puppet-generate.8*
%{_mandir}/man8/puppet-describe.8.gz %{_mandir}/man8/puppet-help.8*
%{_mandir}/man8/puppet-ca.8.gz %{_mandir}/man8/puppet-lookup.8*
%{_mandir}/man8/puppet-cert.8.gz %{_mandir}/man8/puppet-module.8*
%{_mandir}/man8/puppet-certificate.8.gz %{_mandir}/man8/puppet-node.8*
%{_mandir}/man8/puppet-certificate_request.8.gz %{_mandir}/man8/puppet-parser.8*
%{_mandir}/man8/puppet-certificate_revocation_list.8.gz
%{_mandir}/man8/puppet-config.8.gz %config(noreplace) %attr(-, puppet, puppet) %dir %{_sysconfdir}/puppet
%{_mandir}/man8/puppet-device.8.gz %config(noreplace) %attr(-, puppet, puppet) %dir %{_sysconfdir}/puppet/code
%{_mandir}/man8/puppet-doc.8.gz %config(noreplace) %attr(644, puppet, puppet) %{_sysconfdir}/puppet/puppet.conf
%{_mandir}/man8/puppet-facts.8.gz %config(noreplace) %attr(644, puppet, puppet) %{_sysconfdir}/puppet/hiera.yaml
%{_mandir}/man8/puppet-filebucket.8.gz %config(noreplace) %attr(644, root, root) %{_sysconfdir}/logrotate.d/%{name}
%{_mandir}/man8/puppet-generate.8.gz
%{_mandir}/man8/puppet-help.8.gz %ghost %attr(755, puppet, puppet) %{_rundir}/%{name}
%{_mandir}/man8/puppet-epp.8.gz
%{_mandir}/man8/puppet-key.8.gz %pre
%{_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
%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 group puppet &>/dev/null || groupadd -r puppet -g 52 &>/dev/null
getent passwd puppet &>/dev/null || \ getent passwd puppet &>/dev/null || \
useradd -r -u 52 -g puppet -d %{_localstatedir}/lib/puppet -s /sbin/nologin \ useradd -r -u 52 -g puppet -d /usr/local/puppetlabs -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
fi
exit 0
%post %post
%if 0%{?_with_systemd}
%systemd_post puppet.service %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 %postun
%if 0%{?_with_systemd}
%systemd_postun_with_restart puppet.service %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 %changelog
* Tue Jun 15 2021 Breno Brand Fernandes <brandfbb@gmail.com> - 7.7.0-1
- Update to 7.7.0 -- the version that supports ruby 3
* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 5.5.20-4 * Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 5.5.20-4
- Rebuilt for updated systemd-rpm-macros - Rebuilt for updated systemd-rpm-macros
See https://pagure.io/fesco/issue/2583. See https://pagure.io/fesco/issue/2583.

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

Loading…
Cancel
Save