Compare commits

...
Sign in to create a new pull request.

125 commits

Author SHA1 Message Date
Terje Røsten
3eddbf4082 Add patch from openvox to fix dnf5 issue 2025-10-03 11:27:30 +02:00
Fedora Release Engineering
9b710b2b23 Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-25 06:16:56 +00:00
Ewoud Kohl van Wijngaarden
2c952e70a2
Update to 8.10.0
... rhbz#2291351
- Ruby 3.3 compatibility fix rhbz#2280109
- Ruby 3.4 compatibility fix rhbz#2349352
2025-04-15 16:07:03 +02:00
Zbigniew Jędrzejewski-Szmek
86d01f52bb Add sysusers.d config file to allow rpm to create users/groups automatically 2025-01-29 14:38:27 +01:00
Fedora Release Engineering
a5bd42b30d Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-18 11:04:53 +00:00
Fedora Release Engineering
f99c309c62 Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-19 08:44:12 +00:00
Breno Brand Fernandes
e2a1828ffc Bugfix on readme 2024-04-20 02:25:33 -04:00
Breno Brand Fernandes
81ec2372e4 Testing and push steps in the readme 2024-04-20 02:17:34 -04:00
Breno Brand Fernandes
4f21b7c12e Update to 8.6.0 (fixes rhbz#2274550) 2024-04-20 02:06:10 -04:00
Ewoud Kohl van Wijngaarden
c9ee8964f8
Update to 8.5.1 (fixes rhbz#2259039) 2024-03-11 00:48:11 +01:00
Ewoud Kohl van Wijngaarden
d304672e2f
Add a small README to simplify updating 2024-03-10 23:29:00 +01:00
Ewoud Kohl van Wijngaarden
007a2a2a0e
Add EPEL to gating config 2024-03-10 16:30:09 +01:00
Fedora Release Engineering
2b273833ea Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-26 00:21:48 +00:00
Fedora Release Engineering
59844c2777 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-21 22:35:43 +00:00
Ewoud Kohl van Wijngaarden
59974bc913
Update command in comment for correct sources
The git tags are now prefixed by v so the regex needs to reflect that.
2023-11-17 15:22:25 +01:00
Ewoud Kohl van Wijngaarden
4ba8b5f472
Update to 8.3.1 (fixes rhbz#2233957) 2023-11-14 23:24:04 +01:00
Fedora Release Engineering
e61e5b0571 Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-21 06:31:21 +00:00
Breno Brand Fernandes
0c86f5071f Include files for 8.1.0 2023-06-23 04:42:06 -04:00
Breno Brand Fernandes
b435333ebc Build puppet 8.1.0 2023-06-23 04:41:22 -04:00
Breno Brand Fernandes
145f512cd2 Update src files for 7.24 2023-06-08 00:40:23 -04:00
Breno Brand Fernandes
aecd12514f Update puppet to 7.24.0 2023-06-08 00:32:38 -04:00
Fedora Release Engineering
cd482a042b Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-20 10:29:45 +00:00
Ewoud Kohl van Wijngaarden
c3ff3326f1
Update to 7.21.0 2022-12-17 14:22:29 +01:00
Ewoud Kohl van Wijngaarden
5c59d45ff4
Add gating on tests 2022-10-20 14:11:06 +02:00
Ewoud Kohl van Wijngaarden
44f1d5e10b
Update to 7.20.0 2022-10-20 14:04:02 +02:00
Ewoud Kohl van Wijngaarden
870fc73fa1
Update to 7.19.0 2022-09-17 14:54:56 +02:00
Ewoud Kohl van Wijngaarden
9017a79c57
Update to 7.18.0 2022-08-30 18:51:06 +02:00
Fedora Release Engineering
b4b3086744 Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-22 15:37:30 +00:00
Ewoud Kohl van Wijngaarden
786139b961
Add tests using tmt 2022-06-21 12:03:18 +02:00
Ewoud Kohl van Wijngaarden
65dda53fbe
Require at least concurrent-ruby 1.1.9
Fixes rhbz#2077122
2022-06-15 13:54:33 +02:00
Ewoud Kohl van Wijngaarden
ddd86b7d5d
Update to 7.17.0 2022-06-01 18:35:13 +02:00
Ewoud Kohl van Wijngaarden
4bc6604985
Update to 7.16.0 2022-04-20 11:39:10 +02:00
Fedora Release Engineering
73e16243b2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-21 09:39:28 +00:00
Igor Raits
bc15811b40
Drop unneded dependency on cpp-hocon
Signed-off-by: Igor Raits <ignatenkobrain@fedoraproject.org>
2021-11-27 17:32:09 +01:00
Breno Brand Fernandes
d3d27b1e3f Updating sources 2021-11-18 20:32:45 -05:00
Breno Brand Fernandes
4f3b23ce3b Update to 7.12.1 2021-11-18 20:32:28 -05:00
Ewoud Kohl van Wijngaarden
a9a7dc1d70
Update to 7.9.0
- Update bundled modules (and sort them)
- Update gem dependencies
- Revert paths to FHS standards
2021-08-18 18:32:37 +02:00
Ewoud Kohl van Wijngaarden
f132964acb
Remove unused file
In 4ecda1c3d8 this was removed from the
spec file but the file remained in the repository.

Fixes: 4ecda1c3d8
2021-08-17 12:43:15 +02:00
Ewoud Kohl van Wijngaarden
6ac02046f5
Ignore mockbuild's results_puppet directory 2021-08-17 12:43:15 +02:00
Fedora Release Engineering
f9f2ad1c13 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-23 04:16:15 +00:00
Breno Brand Fernandes
8535a17a66 Updated puppet url 2021-07-07 17:23:50 -04:00
Breno Brand Fernandes
2ab5939cfe Cleaning up the spec file, adding suggestions from ekohl (Ewoud Kohl van Wijngaarden) 2021-07-05 19:37:02 -04:00
Breno Brand Fernandes
f61ad04915 Changed ownership of files in /etc/puppetlabs 2021-07-04 10:41:18 -04:00
Breno Brand Fernandes
42eb2eff11 Updated sources with missing file 2021-07-01 10:42:41 -04:00
Breno Brand Fernandes
cfea9bd83e Removed old gpg 2021-07-01 10:31:50 -04:00
Breno Brand Fernandes
d4979b9a4d Changed back paths due to conflicts with other packages 2021-07-01 10:29:51 -04:00
Breno Brand Fernandes
4ecda1c3d8 Puppet 7.7 build -- ruby 3 2021-07-01 09:27:07 -04:00
Zbigniew Jędrzejewski-Szmek
a95697f47f Rebuilt for updated systemd-rpm-macros
See https://pagure.io/fesco/issue/2583.
2021-03-02 16:12:58 +01:00
Fedora Release Engineering
e8e5fc2c0d - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-01-27 08:45:16 +00:00
Fedora Release Engineering
eae5785be4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-07-28 23:10:54 +00:00
Terje Rosten
0e3a651935 Update to 5.5.20 and add patches to work (somewhat) with ruby 2.7 2020-05-02 12:46:44 +02:00
Igor Raits
558a3731eb
Fixup conditionals for EL8
Signed-off-by: Igor Raits <ignatenkobrain@fedoraproject.org>
2020-04-13 16:38:50 +02:00
Terje Rosten
e3ee5466f4 5.5.18 2020-02-05 19:33:40 +01:00
Fedora Release Engineering
ef734ac796 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-01-30 09:58:50 +00:00
Alfredo Moralejo
1b29836c46 Add rubygem-multi_json as dependency
It's dependency upstream and without it fail to build modules in some cases, depending on the structure of metadata.json.

[1] https://github.com/puppetlabs/puppet/blob/5.5.x/.gemspec#L41
[2] https://github.com/puppetlabs/puppet/blob/5.5.x/lib/puppet/util/json.rb#L18
2019-12-04 16:59:26 +00:00
Terje Røsten
d9d4410a87 Prefer /run over /var/run (rhbz#1710635) 2019-09-22 11:54:12 +02:00
Terje Røsten
e24a065f4c 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!
2019-09-22 11:35:32 +02:00
Lucien Weller
d6582b3eec fix: fixed wrong path for gem in puppet_gem.rb
fixes issue https://bugzilla.redhat.com/show_bug.cgi?id=1751385
2019-09-12 07:29:41 +02:00
Lubomir Rintel
38afc62ebd Move the NetworkManager dispatcher script out of /etc
It's not user configuration and shouldn't ever have been there. Except for that
it used to be the only location NetworkManager looked into. With NetworkManager
1.20 that is no longer the case and the dispatcher scripts can be moved to
/usr/lib.
2019-08-22 17:07:29 +02:00
Fedora Release Engineering
f96b2ccfcc - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-07-26 11:30:58 +00:00
Terje Røsten
4561a4c947 Minor clean up 2019-03-13 19:30:59 +01:00
Terje Røsten
d434511db2 Move sysconfdirs to headless too 2019-03-08 00:00:05 +01:00
Terje Røsten
7c468502ac Move reqs to headless 2019-03-07 23:43:40 +01:00
Terje Røsten
2745c62d0c 5.5.10 2019-03-07 20:33:12 +01:00
Terje Røsten
f04e1ae2d4 Split off headless subpackage, based on idea from Bogdan Dobrelya 2019-03-07 19:58:29 +01:00
Terje Røsten
86277f74ea Revert use of systemd_ordering macro 2019-02-17 22:13:51 +01:00
Bogdan Dobrelya
4ff2bb73dd Revert "Optimize systemd dependency for containers"
It was generally a mistake to use `%systemd_ordering` in those
circumstances, as the tmpfiles stuff doesn't work and populate the
`/tmp` and `/run` directories. The reason why the packages install is
that all the commands in the macros have `|| :` at the end, so their
error state is ignored.

Something to re-consider for future attempts to fix/improve that:
If the tmpfiles and such were split out into a subpackage that'd be
required if and only if the kernel was installed or being installed,
that might work.

Related: rhbz#1654672
Related-Bug: #1804822
This reverts commit e07ed63d65.
2019-02-11 14:27:29 +01:00
Fedora Release Engineering
a99941884f - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-02-02 05:00:16 +00:00
Igor Gnatenko
91b4fb283d Remove obsolete Group tag
References: https://fedoraproject.org/wiki/Changes/Remove_Group_Tag
2019-01-28 20:24:38 +01:00
Terje Røsten
9dd95c8357 Add changelog and fix rpmbuild warnings 2019-01-22 21:04:34 +01:00
Bogdan Dobrelya
e07ed63d65 Optimize systemd dependency for containers
According to https://fedoraproject.org/wiki/Packaging:Scriptlets:
If a package is suitable for installation without systemd (in a
container image, for example) and does not require any of the
systemd mechanisms such as tmpfiles.d, then the systemd_ordering macro
MAY be used instead of the systemd_requires macro.

That is exactly the case we want to address for container images
when installing packages in it.

Resolves: rhbz#1654672
Related-Bug: #1804822
Signed-off-by: Bogdan Dobrelya <bdobreli@redhat.com>
2019-01-22 16:17:35 +01:00
Haikel Guemar
e3e8e56c1f Use %autosetup and refresh patches 2019-01-07 16:26:04 +01:00
Haikel Guemar
e03d1b2aeb Upstream 5.5.6
Fix issues with RHEL > 7
2019-01-07 15:55:27 +01:00
Haikel Guemar
f6d76875bb Add missing patches 2018-10-31 11:42:37 +01:00
Haikel Guemar
177186787b Upload 5.5.6 sources 2018-10-31 11:40:26 +01:00
Haikel Guemar
b517787a5d Upstream 5.5.6
Fix issues with RHEL > 7
2018-10-31 11:33:14 +01:00
Haikel Guemar
2f24705a1a Fix epoch issues when rebuilding on RHEL
Do not require rebuilds on either Fedora/EPEL
2018-07-24 14:12:08 +02:00
Fedora Release Engineering
e56aacf581 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-07-13 23:00:19 +00:00
Jason Tibbitts
9e6b608e9d Remove needless use of %defattr 2018-07-10 02:16:36 -05:00
Haikel Guemar
662af13417 Fix sources 2018-06-08 16:31:21 +02:00
Haikel Guemar
ffcca8958d Add missing sources 2018-06-08 16:15:14 +02:00
Haikel Guemar
9f0248bc8c Upload upstream 5.5.1 sources 2018-06-08 16:01:21 +02:00
Haikel Guemar
752b2fb7d1 Upstream 5.5.1
Unmaintained editor extensions were removed upstream (PUP-7558)
Deprecated commands were removed: inspect (PUP-893), extlookup2hiera (PUP-3478)
Refreshed patches
2018-06-08 16:00:30 +02:00
Terje Røsten
dd73184c04 Update to 4.10.10 2018-03-15 19:35:09 +01:00
Igor Gnatenko
95e93227e2
Remove %clean section
None of currently supported distributions need that.
Last one was EL5 which is EOL for a while.

Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2018-02-14 07:32:09 +01:00
Igor Gnatenko
e6cad21997 Remove BuildRoot definition
None of currently supported distributions need that.
It was needed last for EL5 which is EOL now

Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2018-02-14 00:21:08 +01:00
Fedora Release Engineering
0e7dd9783d - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-02-09 05:58:55 +00:00
James Hogarth
f6aa910dc4 F28 facter3 change means puppet needs to require the ruby bindings for facter 2017-11-07 11:50:36 +00:00
Fedora Release Engineering
22bc31c361 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild 2017-07-27 09:10:55 +00:00
Dominic Cleal
c7f00c0890
Update to 4.10.1 2017-05-31 15:13:50 +01:00
Dominic Cleal
e98f95dcba
Remove Fedora release restrictions from DNF package provider 2017-05-31 10:12:07 +01:00
Dominic Cleal
1d46e992af
Update to 4.8.2 2017-05-25 10:34:03 +01:00
Ville Skyttä
f2dd544f62
Move tmpfiles.d config to %{_tmpfilesdir}, install LICENSE as %license
Fixes BZ#1413215
2017-05-23 10:27:24 +01:00
Dominic Cleal
a3757312cb
Fix remote code execution via YAML deserialization
* CVE-2017-2295
* https://puppet.com/security/cve/cve-2017-2295
* 06d8c51

Fixes BZ#1452654
2017-05-23 09:18:55 +01:00
Dominic Cleal
6d30d07d32
Fix Ruby 2.4 compatibility, xmlrpc/OpenSSL patches
* 484623ed
* 578687a0

Fixes BZ#1443673, BZ#1440710
2017-05-18 08:33:52 +01:00
Fedora Release Engineering
c99223fa4f - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild 2017-02-11 07:58:29 +00:00
Haikel Guemar
425e308276 Push missing sources 2017-01-19 14:10:42 +01:00
Haikel Guemar
fd11541cf6 Upload 4.6.2 sources 2016-09-14 18:49:38 +02:00
Haikel Guemar
1651fc68ec Upstream 4.6.1 2016-09-14 18:20:40 +02:00
Fedora Release Engineering
06db339585 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild 2016-02-04 18:36:08 +00:00
Martin Mágr
6e2b94ac46 Remove safe_yaml vendored library
Hardcoded safe_yaml requirement breaks Puppet 4.x.
This patch removes dependency on this rubygem.

Resolves: rhbz#1261091
2015-09-08 21:59:53 +02:00
Gael Chamoulaud
c3e621009b Update to Upstream 4.2.1
Signed-off-by: Gael Chamoulaud <gchamoul@redhat.com>
2015-07-29 22:22:23 +02:00
Lukas Zapletal
19ce87e9b9 1246238 - systemd service type changed to 'simple' 2015-07-28 17:21:36 +02:00
Lukas Zapletal
a75fde8e51 Call exec rather that spawn sub-process because of signals 2015-07-21 15:17:15 +02:00
Dennis Gilmore
aa57ca9677 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild 2015-06-18 17:59:20 +00:00
Haikel Guemar
8433963672 Upstream 4.1.0
- Fix Puppet belief that Fedora is OpenBSD (PUP-4491)
2015-05-24 00:17:26 +02:00
Haikel Guemar
e9ad987644 Fix puppet paths and unit files (upstream #12185) 2015-05-17 18:24:27 +02:00
Haikel Guemar
d81485e91e Upload 4.0.0 sources 2015-04-29 01:55:16 +02:00
Haikel Guemar
0690abb537 Upload 4.0.0 sources 2015-04-29 01:51:38 +02:00
Haikel Guemar
d6be7b0d43 Upstream 4.0.0 2015-04-29 01:43:02 +02:00
Haikel Guemar
9320d61fcf Upload 4.0.0-rc1 sources 2015-04-29 01:42:07 +02:00
Haikel Guemar
8ebb464e36 Upgrade to Puppet 4 rc1
F22 introduces ruby 2.2
2015-04-29 01:00:27 +02:00
Orion Poplawski
0812b79b16 Do not unbundle puppet's semantic module 2015-04-22 22:32:31 -06:00
Orion Poplawski
fe6b061c3b Require rubygem(pathspec) and rubygem(semantic) 2015-04-19 17:41:52 -06:00
Orion Poplawski
a570e09aee Upload the correct .asc file 2015-03-31 13:33:39 -06:00
Orion Poplawski
9b46536457 Upload .asc, move wrapper to git 2015-03-31 13:29:36 -06:00
Orion Poplawski
9e801e0a86 Unbundle libs (bug #1198366) 2015-03-31 13:27:33 -06:00
Orion Poplawski
18c8fd0746 Update to 3.7.5 2015-03-31 13:20:14 -06:00
Orion Poplawski
6f97f078db Remove old sources 2015-03-16 20:43:05 -06:00
Haikel Guemar
ac936bf6ef Use systemd macros (RHBZ #1197239) 2015-02-28 19:56:53 +01:00
Orion Poplawski
86c8bf8264 Bump release 2014-09-30 11:49:07 -06:00
Orion Poplawski
47b591509d Drop server deps and configuration changes (bug #1144298) 2014-09-30 11:47:44 -06:00
Orion Poplawski
c4780059ba Fix %files for routes.yaml 2014-09-19 09:08:28 -06:00
Jeroen van Meeuwen (Ergo Project)
b9ef767673 Drop yum proxy patch 2014-09-19 01:29:08 +02:00
Jeroen van Meeuwen (Ergo Project)
e0e2f3d386 Update to 3.7.1 2014-09-19 01:27:27 +02:00
18 changed files with 744 additions and 410 deletions

1
.fmf/version Normal file
View file

@ -0,0 +1 @@
1

4
.gitignore vendored
View file

@ -4,5 +4,5 @@
*.tar.gz.asc
/puppet-*/
/.build*.log
/start-puppet-wrapper
/23115-convert-nil-to-undef.patch
results_puppet/
/tests/*/log.txt

View file

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

48
README.md Normal file
View file

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

View file

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

16
gating.yaml Normal file
View file

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

21
logrotate Normal file
View file

@ -0,0 +1,21 @@
# Generic logrotate config for Red Hat systems. Works with both official
# Fedora and RHEL packages as well as PuppetLabs distributions.
/var/log/puppetlabs/masterhttp.log /var/log/puppet/masterhttp.log {
compress
missingok
notifempty
nocreate
}
/var/log/puppetlabs/puppetd.log /var/log/puppet/puppetd.log {
compress
missingok
notifempty
nocreate
sharedscripts
postrotate
([ -x /etc/init.d/puppet ] && /etc/init.d/puppet rotate > /dev/null 2>&1) ||
([ -x /usr/bin/systemctl ] && /usr/bin/systemctl kill -s USR2 puppet.service > /dev/null 2>&1) || true
endscript
}

84
openvox-dnf5.patch Normal file
View file

@ -0,0 +1,84 @@
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\.$/

7
plans/lookup.fmf Normal file
View file

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

5
plans/smoke.fmf Normal file
View file

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

View file

@ -1,8 +0,0 @@
#!/bin/bash
#
# Restart puppet on network changes to pickup changes to /etc/resolv.conf
#
# https://projects.puppetlabs.com/issues/2776
# https://bugzilla.redhat.com/532085
[[ $2 =~ ^(up|down)$ ]] && /sbin/service puppet condrestart || :

0
puppet-nm-dispatcher.systemd Executable file → Normal file
View file

View file

@ -1,82 +1,63 @@
# 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
%global _with_systemd 1
%global confdir ext/redhat
%global pending_upgrade_path %{_localstatedir}/lib/rpm-state/puppet
%global pending_upgrade_file %{pending_upgrade_path}/upgrade_pending
%global nm_dispatcher_dir %{_prefix}/lib/NetworkManager
%global puppet_libdir %{ruby_vendorlibdir}
%global puppet_vendor_mod_dir %{_datadir}/%{name}/vendor_modules
Name: puppet
Version: 3.6.2
Version: 8.10.0
Release: 3%{?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
Patch0: yum_proxy_none_.patch
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
Group: System Environment/Base
Patch: 0001-Avoid-closing-directory-we-re-iterating.patch
Patch: openvox-dnf5.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildArch: noarch
BuildRequires: facter >= 1.6.6
BuildRequires: ruby-devel >= 1.8.7
BuildArch: noarch
%if 0%{?rhel} && 0%{?rhel} <= 6
Requires: ruby(abi) = 1.8
%else
Requires: ruby(release)
%endif
Requires: ruby(shadow)
# Prevents jruby from being pulled in by dependencies (BZ #985208)
Requires: ruby
# Pull in ruby selinux bindings where available
%if 0%{?fedora} || 0%{?rhel} >= 6
%{!?_without_selinux:Requires: ruby(selinux), libselinux-utils}
%else
%if 0%{?rhel} && 0%{?rhel} == 5
%{!?_without_selinux:Requires: libselinux-ruby, libselinux-utils}
%endif
%endif
BuildRequires: hiera >= 1.0.0
Requires: facter >= 1.6.6
Requires: hiera >= 1.0.0
Requires: rubygem(rgen)
Obsoletes: hiera-puppet < 1.0.0-2
Provides: hiera-puppet = %{version}-%{release}
%{!?_without_augeas:Requires: ruby(augeas)}
Requires(pre): shadow-utils
%if 0%{?_with_systemd}
Requires(post): systemd
Requires(preun): systemd
Requires(postun): systemd
%else
Requires(post): chkconfig
Requires(preun): chkconfig
Requires(preun): initscripts
Requires(postun): initscripts
%endif
Requires: tar
# 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: 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
%description
Puppet lets you centrally manage every important aspect of your system using a
@ -84,310 +65,417 @@ cross-platform specification language that manages all the separate elements
normally aggregated in different files, like users, cron jobs, and hosts,
along with obviously discrete elements like packages, services, and files.
%package server
Group: System Environment/Base
Summary: Server for the puppet system management tool
Requires: puppet = %{version}-%{release}
%if 0%{?_with_systemd}
Requires(post): systemd
Requires(preun): systemd
Requires(postun): systemd
%else
Requires(post): chkconfig
Requires(preun): chkconfig
Requires(preun): initscripts
Requires(postun): initscripts
%endif
%description server
Provides the central puppet server daemon which provides manifests to clients.
The server can also function as a certificate authority and file server.
%prep
%setup -q
%patch0 -p1
chmod +x ext/puppet-load.rb ext/regexp_nodes/regexp_nodes.rb
%{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}|' \
'{}' +
%build
# Nothing to build
# Create a sysusers.d config file
cat >puppet.sysusers.conf <<EOF
u puppet 52 'Puppet' - -
EOF
%install
rm -rf %{buildroot}
ruby install.rb --destdir=%{buildroot} --quick --no-rdoc --sitelibdir=%{puppet_libdir}
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}
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
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
%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 %{SOURCE15} %{buildroot}%{_sysconfdir}/logrotate.d/%{name}
install -Dp -m0644 %{confdir}/fileserver.conf %{buildroot}%{_sysconfdir}/puppet/fileserver.conf
install -Dp -m0644 %{confdir}/puppet.conf %{buildroot}%{_sysconfdir}/puppet/puppet.conf
install -Dp -m0644 %{confdir}/logrotate %{buildroot}%{_sysconfdir}/logrotate.d/puppet
install -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
# Note(hguemar): Conflicts with config file from hiera package
rm %{buildroot}%{_sysconfdir}/%{name}/hiera.yaml
# Install a NetworkManager dispatcher script to pickup changes to
# /etc/resolv.conf and such (https://bugzilla.redhat.com/532085).
%if 0%{?_with_systemd}
install -Dpv %{SOURCE3} \
%{buildroot}%{_sysconfdir}/NetworkManager/dispatcher.d/98-%{name}
%else
install -Dpv %{SOURCE2} \
%{buildroot}%{_sysconfdir}/NetworkManager/dispatcher.d/98-%{name}
%endif
install -Dpv -m0755 %{SOURCE13} \
%{buildroot}%{nm_dispatcher_dir}/dispatcher.d/98-%{name}
# Install the ext/ directory to %%{_datadir}/%%{name}
install -d %{buildroot}%{_datadir}/%{name}
cp -a ext/ %{buildroot}%{_datadir}/%{name}
# emacs and vim bits are installed elsewhere
rm -rf %{buildroot}%{_datadir}/%{name}/ext/{emacs,vim}
# remove misc packaging artifacts in source not applicable to rpm
rm -rf %{buildroot}%{_datadir}/%{name}/ext/{gentoo,freebsd,solaris,suse,windows,osx,ips,debian}
rm -f %{buildroot}%{_datadir}/%{name}/ext/{build_defaults.yaml,project_data.yaml}
rm -f %{buildroot}%{_datadir}/%{name}/ext/redhat/*.init
# Install emacs mode files
emacsdir=%{buildroot}%{_datadir}/emacs/site-lisp
install -Dp -m0644 ext/emacs/puppet-mode.el $emacsdir/puppet-mode.el
install -Dp -m0644 ext/emacs/puppet-mode-init.el \
$emacsdir/site-start.d/puppet-mode-init.el
# Install vim syntax files
vimdir=%{buildroot}%{_datadir}/vim/vimfiles
install -Dp -m0644 ext/vim/ftdetect/puppet.vim $vimdir/ftdetect/puppet.vim
install -Dp -m0644 ext/vim/syntax/puppet.vim $vimdir/syntax/puppet.vim
# Install wrappers for SELinux
install -Dp -m0755 %{SOURCE4} %{buildroot}%{_bindir}/start-puppet-agent
install -Dp -m0755 %{SOURCE4} %{buildroot}%{_bindir}/start-puppet-master
install -Dp -m0755 %{SOURCE4} %{buildroot}%{_bindir}/start-puppet-ca
%if 0%{?_with_systemd}
sed -i 's|^ExecStart=/usr/bin/puppet|ExecStart=/usr/bin/start-puppet-master|' \
%{buildroot}%{_unitdir}/puppetmaster.service
sed -i 's|^ExecStart=/usr/bin/puppet|ExecStart=/usr/bin/start-puppet-agent|' \
%{buildroot}%{_unitdir}/puppet.service
%endif
install -Dp -m0755 %{SOURCE14} %{buildroot}%{_bindir}/start-puppet-agent
sed -i 's|^ExecStart=.*/bin/puppet|ExecStart=%{_bindir}/start-puppet-agent|' \
%{buildroot}%{_unitdir}/%{name}.service
%if 0%{?fedora} >= 15
# Setup tmpfiles.d config
mkdir -p %{buildroot}%{_sysconfdir}/tmpfiles.d
echo "D /var/run/%{name} 0755 %{name} %{name} -" > \
%{buildroot}%{_sysconfdir}/tmpfiles.d/%{name}.conf
%endif
mkdir -p %{buildroot}%{_tmpfilesdir}
echo "D %{_rundir}/%{name} 0755 %{name} %{name} -" > \
%{buildroot}%{_tmpfilesdir}/%{name}.conf
# 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
%defattr(-, root, root, 0755)
%doc LICENSE README.md examples
%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
# 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
%{_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-*
%{_bindir}/extlookup2hiera
%{puppet_libdir}/*
%if 0%{?_with_systemd}
%{_unitdir}/puppet.service
%{_unitdir}/puppetagent.service
%else
%{_initrddir}/puppet
%config(noreplace) %{_sysconfdir}/sysconfig/puppet
%endif
%dir %{_sysconfdir}/puppet
%dir %{_sysconfdir}/%{name}/modules
%if 0%{?fedora} >= 15
%config(noreplace) %{_sysconfdir}/tmpfiles.d/%{name}.conf
%endif
%config(noreplace) %{_sysconfdir}/puppet/puppet.conf
%config(noreplace) %{_sysconfdir}/puppet/auth.conf
%config(noreplace) %{_sysconfdir}/logrotate.d/puppet
%dir %{_sysconfdir}/NetworkManager
%dir %{_sysconfdir}/NetworkManager/dispatcher.d
%{_sysconfdir}/NetworkManager/dispatcher.d/98-puppet
# We don't want to require emacs or vim, so we need to own these dirs
%{_datadir}/emacs
%{_datadir}/vim
%{_datadir}/%{name}
# These need to be owned by puppet so the server can
# write to them
%attr(-, puppet, puppet) %{_localstatedir}/run/puppet
%attr(0750, puppet, puppet) %{_localstatedir}/log/puppet
%attr(-, puppet, puppet) %{_localstatedir}/lib/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-file.8.gz
%{_mandir}/man8/puppet-filebucket.8.gz
%{_mandir}/man8/puppet-help.8.gz
%{_mandir}/man8/puppet-inspect.8.gz
%{_mandir}/man8/puppet-instrumentation_data.8.gz
%{_mandir}/man8/puppet-instrumentation_listener.8.gz
%{_mandir}/man8/puppet-instrumentation_probe.8.gz
%{_mandir}/man8/puppet-key.8.gz
%{_mandir}/man8/puppet-man.8.gz
%{_mandir}/man8/puppet-module.8.gz
%{_mandir}/man8/puppet-node.8.gz
%{_mandir}/man8/puppet-parser.8.gz
%{_mandir}/man8/puppet-plugin.8.gz
%{_mandir}/man8/puppet-report.8.gz
%{_mandir}/man8/puppet-resource.8.gz
%{_mandir}/man8/puppet-resource_type.8.gz
%{_mandir}/man8/puppet-secret_agent.8.gz
%{_mandir}/man8/puppet-status.8.gz
%{_mandir}/man8/extlookup2hiera.8.gz
%{_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*
%files server
%defattr(-, root, root, 0755)
%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-kick.8.gz
%{_mandir}/man8/puppet-master.8.gz
%{_mandir}/man8/puppet-queue.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
# Fixed uid/gid were assigned in bz 472073 (Fedora), 471918 (RHEL-5),
# and 471919 (RHEL-4)
%pre
getent group puppet &>/dev/null || groupadd -r puppet -g 52 &>/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
%if 0%{?_with_systemd}
/bin/systemctl daemon-reload >/dev/null 2>&1
%else
# If there's a running puppet agent, restart it during upgrade. Fixes
# BZ #1024538.
if [ "$1" -ge 1 ]; then
pid="%{_localstatedir}/run/puppet/agent.pid"
if [ -e "$pid" ]; then
if ps aux | grep `cat "$pid"` | grep -v grep | awk '{ print $12 }' | grep -q sbin; then
(kill $(< "$pid") && rm -f "$pid" && \
/sbin/service puppet start) >/dev/null 2>&1
fi
fi
fi
/sbin/chkconfig --add puppet
%endif
exit 0
%post server
%if 0%{?_with_systemd}
/bin/systemctl daemon-reload >/dev/null 2>&1
%else
/sbin/chkconfig --add puppetmaster
%endif
exit 0
%preun
%if 0%{?_with_systemd}
if [ "$1" -eq 0 ] ; then
/bin/systemctl --no-reload disable puppet.service > /dev/null 2>&1
/bin/systemctl stop puppet.service > /dev/null 2>&1
/bin/systemctl daemon-reload >/dev/null 2>&1
fi
if [ "$1" -eq 1 ]; then
/bin/systemctl is-enabled puppetagent.service > /dev/null 2>&1
if [ "$?" -eq 0 ]; then
/bin/systemctl /bin/systemctl --no-reload disable puppetagent.service > /dev/null 2>&1
/bin/systemctl stop puppetagent.service > /dev/null 2>&1
/bin/systemctl daemon-reload >/dev/null 2>&1
install -D -m 644 /dev/null %{pending_upgrade_file} > /dev/null 2>&1
fi
fi
%else
if [ "$1" -eq 0 ] ; then
/sbin/service puppet stop >/dev/null 2>&1
/sbin/chkconfig --del puppet
fi
%endif
exit 0
%preun server
%if 0%{?_with_systemd}
if [ "$1" -eq 0 ] ; then
/bin/systemctl --no-reload disable puppetmaster.service > /dev/null 2>&1
/bin/systemctl stop puppetmaster.service > /dev/null 2>&1
/bin/systemctl daemon-reload >/dev/null 2>&1
fi
%else
if [ "$1" -eq 0 ] ; then
/sbin/service puppetmaster stop >/dev/null 2>&1
/sbin/chkconfig --del puppetmaster
fi
%endif
exit 0
%systemd_post %{name}.service
%postun
%if 0%{?_with_systemd}
if [ "$1" -ge 1 ] ; then
/bin/systemctl try-restart puppet.service >/dev/null 2>&1
if [ -e %{pending_upgrade_file} ]; then
/bin/systemctl --no-reload enable puppet.service > /dev/null 2>&1
/bin/systemctl start puppet.service > /dev/null 2>&1
/bin/systemctl daemon-reload >/dev/null 2>&1
rm %{pending_upgrade_file}
fi
fi
%else
if [ "$1" -ge 1 ]; then
/sbin/service puppet condrestart >/dev/null 2>&1
fi
%endif
exit 0
%postun server
%if 0%{?_with_systemd}
if [ "$1" -ge 1 ] ; then
/bin/systemctl try-restart puppetmaster.service >/dev/null 2>&1
fi
%else
if [ "$1" -ge 1 ]; then
/sbin/service puppetmaster condrestart >/dev/null 2>&1
fi
%endif
exit 0
%clean
rm -rf %{buildroot}
%systemd_postun_with_restart %{name}.service
%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
* Mon Feb 03 2020 Terje Rosten <terje.rosten@ntnu.no> - 5.5.18-1
- 5.5.18
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 5.5.10-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Wed Dec 04 2019 Alfrdo Moralejo <amoralej@redhat.com> - 5.5.10-9
- Add rubygem-multi_json as dependency.
* Sun Sep 22 2019 Terje Rosten <terje.rosten@ntnu.no> - 5.5.10-8
- Prefer /run over /var/run (rhbz#1710635)
* Sun Sep 22 2019 Terje Rosten <terje.rosten@ntnu.no> - 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 <lkundrak@v3.sk> - 5.5.10-6
- Move the NetworkManager dispatcher script out of /etc
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 5.5.10-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Wed Mar 13 2019 Terje Rosten <terje.rosten@ntnu.no> - 5.5.10-4
- Minor clean up
* Thu Mar 07 2019 Terje Rosten <terje.rosten@ntnu.no> - 5.5.10-3
- Move sysconfdirs to headless too
* Thu Mar 07 2019 Terje Rosten <terje.rosten@ntnu.no> - 5.5.10-2
- Move reqs to headless
* Thu Mar 07 2019 Terje Rosten <terje.rosten@ntnu.no> - 5.5.10-1
- 5.5.10
* Thu Mar 07 2019 Terje Rosten <terje.rosten@ntnu.no> - 5.5.6-6
- Split off headless subpackage, based on idea from Bogdan Dobrelya
* Sun Feb 17 2019 Bogdan Dobrelya <bdobreli@redhat.com> - 5.5.6-5
- Revert use of systemd_ordering macro
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 5.5.6-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Tue Jan 22 2019 Bogdan Dobrelya <bdobreli@redhat.com> - 5.5.6-3
- Use systemd_ordering macro
* Wed Oct 31 2018 Haïkel Guémar <hguemar@fedoraproject.org> - 5.5.6-1
- Upstream 5.5.6
- Fix issues with RHEL > 7
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 5.5.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Tue May 8 2018 Haïkel Guémar <hguemar@fedoraproject.org> - 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 <terje.rosten@ntnu.no> - 4.10.10-1
- Update to 4.10.10
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 4.10.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Tue Nov 07 2017 James Hogarth <james.hogarth@gmail.com> - 4.10.1-3
- F28 facter3 change means puppet needs to require the ruby bindings for facter
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 4.10.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Wed May 31 2017 Dominic Cleal <dominic@cleal.org> - 4.10.1-1
- Update to 4.10.1
* Wed May 31 2017 Dominic Cleal <dominic@cleal.org> - 4.8.2-2
- Remove Fedora release restrictions from DNF package provider
* Thu May 25 2017 Dominic Cleal <dominic@cleal.org> - 4.8.2-1
- Update to 4.8.2
* Tue May 23 2017 Ville Skyttä <ville.skytta@iki.fi> - 4.6.2-5
- Move tmpfiles.d config to %%{_tmpfilesdir}
- Install LICENSE as %%license
* Tue May 23 2017 Dominic Cleal <dominic@cleal.org> - 4.6.2-4
- Fix remote code exec via YAML deserialization (BZ#1452654, CVE-2017-2295)
* Thu May 18 2017 Dominic Cleal <dominic@cleal.org> - 4.6.2-3
- Fix Ruby 2.4 compatibility, xmlrpc + OpenSSL errors (BZ#1443673, BZ#1440710)
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 4.6.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Tue Sep 13 2016 Haïkel Guémar <hguemar@fedoraproject.org> - 4.6.2-1
- Upstream 4.6.2
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 4.2.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Wed Jul 29 2015 Gael Chamoulaud <gchamoul@redhat.com> - 4.2.1-2
- Remove usage of vendored library safe_yaml (rhbz#1261091)
* Wed Jul 29 2015 Gael Chamoulaud <gchamoul@redhat.com> - 4.2.1-1
- Upstream 4.2.1
* Tue Jul 28 2015 Lukas Zapletal <lzap+rpm@redhat.com> 4.1.0-4
- 1246238 - systemd service type changed to 'simple'
* Tue Jul 21 2015 Lukas Zapletal <lzap+rpm@redhat.com> 4.1.0-3
- Puppet agent is started via exec rather than sub-process
* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.1.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Sat May 23 2015 Haïkel Guémar <hguemar@fedoraproject.org> - 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 <hguemar@fedoraproject.org> - 4.0.0-2
- Fix puppet paths and unit files (upstream #12185)
* Tue Apr 28 2015 Haïkel Guémar <hguemar@fedoraproject.org> - 4.0.0-1
- Upstream 4.0.0
* Mon Apr 27 2015 Haïkel Guémar <hguemar@fedoraproject.org> - 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 <orion@cora.nwra.com> - 3.7.5-4
- Do not unbundle puppet's semantic module
* Sun Apr 19 2015 Orion Poplawski <orion@cora.nwra.com> - 3.7.5-3
- Require rubygem(pathspec) and rubygem(semantic)
* Tue Mar 31 2015 Orion Poplawski <orion@cora.nwra.com> - 3.7.5-2
- Unbundle libs (bug #1198366)
* Tue Mar 31 2015 Orion Poplawski <orion@cora.nwra.com> - 3.7.5-1
- Update to 3.7.5
* Sat Feb 28 2015 Haïkel Guémar <hguemar@fedoraproject.org> - 3.7.1-3
- Use systemd macros (RHBZ #1197239)
* Tue Sep 30 2014 Orion Poplawski <orion@cora.nwra.com> - 3.7.1-2
- Drop server deps and configuration changes (bug #1144298)
* Wed Sep 17 2014 Jeroen van Meeuwen <vanmeeuwen@kolabsys.com> - 3.7.1-1
- Update to 3.7.1
* Tue Aug 19 2014 Lukas Zapletal <lzap+rpm@redhat.com> 3.6.2-3
- 1131398 - added start-puppet-ca SELinux wrapper binary

15
sources
View file

@ -1,3 +1,12 @@
7e2981dcab39771b8243432bfd359d46 puppet-3.6.2.tar.gz
6c7836c40e431353095368af11252a4d puppet-3.6.2.tar.gz.asc
5d19d719514246973649301f096c7970 start-puppet-wrapper
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

8
start-puppet-wrapper Normal file
View file

@ -0,0 +1,8 @@
#!/bin/sh
#
# This is wrapper script to start puppet which is used to support starting
# puppet daemon processes with correct SELinux context.
#
# Call exec rather that spawn sub-process because of signals
exec /usr/bin/puppet $*

4
tests/smoke/main.fmf Normal file
View file

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

29
tests/smoke/test.sh Executable file
View file

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

View file

@ -1,50 +0,0 @@
From 973c58057d1bb24d64c716e2971d5317f6e0edfb Mon Sep 17 00:00:00 2001
From: Graham Taylor <graham.x.taylor@capgemini.com>
Date: Fri, 13 Jun 2014 14:56:14 +0100
Subject: [PATCH] (PUP-2271) Allow yumrepo proxy attribute to be set to _none_
Add fix and test to allow proxy to be set to _none_ to bypass global proxy
configuration for YUM.
See https://tickets.puppetlabs.com/browse/PUP-2271
---
lib/puppet/type/yumrepo.rb | 2 +-
spec/unit/type/yumrepo_spec.rb | 6 ++++++
2 files changed, 7 insertions(+), 1 deletion(-)
mode change 100644 => 100755 spec/unit/type/yumrepo_spec.rb
diff --git a/lib/puppet/type/yumrepo.rb b/lib/puppet/type/yumrepo.rb
index daa8d44..d9ff11d 100644
--- a/lib/puppet/type/yumrepo.rb
+++ b/lib/puppet/type/yumrepo.rb
@@ -277,7 +277,7 @@
newvalues(/.*/, :absent)
validate do |value|
- next if value.to_s == 'absent'
+ next if value.to_s =~ /^(absent|_none_)$/
parsed = URI.parse(value)
unless VALID_SCHEMES.include?(parsed.scheme)
diff --git a/spec/unit/type/yumrepo_spec.rb b/spec/unit/type/yumrepo_spec.rb
old mode 100644
new mode 100755
index 543a0ce..2246b72
--- a/spec/unit/type/yumrepo_spec.rb
+++ b/spec/unit/type/yumrepo_spec.rb
@@ -295,6 +295,12 @@
describe "proxy" do
it_behaves_like "a yumrepo parameter that can be absent", :proxy
+ it "accepts _none_" do
+ described_class.new(
+ :name => 'puppetlabs',
+ :proxy => "_none_"
+ )
+ end
it_behaves_like "a yumrepo parameter that accepts a single URL", :proxy
end
--
1.9.3