diff --git a/puppet.spec b/puppet.spec index b1680e7..7cc8103 100644 --- a/puppet.spec +++ b/puppet.spec @@ -1,24 +1,27 @@ %global nm_dispatcher_dir %{_prefix}/lib/NetworkManager %global puppet_libdir %{ruby_vendorlibdir} +%global puppet_vendor_mod_dir %{_datadir}/%{name}/vendor_modules Name: puppet -Version: 7.7.0 -Release: 4%{?dist} +Version: 7.9.0 +Release: 1%{?dist} Summary: Network tool for managing many disparate systems License: ASL 2.0 URL: https://puppet.com Source0: https://downloads.puppetlabs.com/puppet/%{name}-%{version}.tar.gz Source1: https://downloads.puppetlabs.com/puppet/%{name}-%{version}.tar.gz.asc Source2: RPM-GPG-KEY-puppet-20250406 -Source3: https://forge.puppet.com/v3/files/puppetlabs-mount_core-1.0.4.tar.gz -Source4: https://forge.puppet.com/v3/files/puppetlabs-host_core-1.0.3.tar.gz -Source5: https://forge.puppet.com/v3/files/puppetlabs-augeas_core-1.1.1.tar.gz -Source6: https://forge.puppet.com/v3/files/puppetlabs-cron_core-1.0.4.tar.gz -Source7: https://forge.puppet.com/v3/files/puppetlabs-scheduled_task-2.2.1.tar.gz -Source8: https://forge.puppet.com/v3/files/puppetlabs-selinux_core-1.0.4.tar.gz +# Get these by checking out the right tag from https://github.com/puppetlabs/puppet-agent and: +# sed 's|.\+puppetlabs/\([a-z_-]\+\).git.\+tags/\([0-9\.]\+\)"}|https://forge.puppet.com/v3/files/\1-\2.tar.gz|' configs/components/module-puppetlabs-*.json +Source3: https://forge.puppet.com/v3/files/puppetlabs-augeas_core-1.1.2.tar.gz +Source4: https://forge.puppet.com/v3/files/puppetlabs-cron_core-1.0.5.tar.gz +Source5: https://forge.puppet.com/v3/files/puppetlabs-host_core-1.0.3.tar.gz +Source6: https://forge.puppet.com/v3/files/puppetlabs-mount_core-1.0.4.tar.gz +Source7: https://forge.puppet.com/v3/files/puppetlabs-scheduled_task-1.0.0.tar.gz +Source8: https://forge.puppet.com/v3/files/puppetlabs-selinux_core-1.1.0.tar.gz Source9: https://forge.puppet.com/v3/files/puppetlabs-sshkeys_core-2.2.0.tar.gz Source10: https://forge.puppet.com/v3/files/puppetlabs-yumrepo_core-1.0.7.tar.gz -Source11: https://forge.puppet.com/v3/files/puppetlabs-zfs_core-1.1.0.tar.gz +Source11: https://forge.puppet.com/v3/files/puppetlabs-zfs_core-1.2.0.tar.gz Source12: https://forge.puppet.com/v3/files/puppetlabs-zone_core-1.0.3.tar.gz Source13: puppet-nm-dispatcher.systemd Source14: start-puppet-wrapper @@ -35,18 +38,16 @@ BuildRequires: systemd BuildRequires: gnupg2 Requires: hiera >= 3.3.1 Requires: facter >= 3.9.6 -Requires: ruby-facter >= 3.9.6 -Requires: rubygem-semantic_puppet >= 1.0.2 -Requires: rubygem-puppet-resource_api -Requires: rubygem-deep_merge -Requires: rubygem-httpclient -Requires: rubygem-multi_json -Requires: rubygem-json +Requires: rubygem(concurrent-ruby) >= 1.0.5 +Requires: rubygem(deep_merge) >= 1.0 +Requires: rubygem(facter) >= 3.9.6 +Requires: rubygem(multi_json) >= 1.10 +Requires: rubygem(puppet-resource_api) >= 1.5 +Requires: rubygem(semantic_puppet) >= 1.0.2 Requires: ruby-augeas >= 0.5.0 Requires: augeas >= 1.10.1 Requires: augeas-libs >= 1.10.1 Requires: cpp-hocon >= 0.2.1 -Requires: rubygem-concurrent-ruby >= 1.0.5 Requires: ruby(selinux) libselinux-utils Obsoletes: puppet-headless < 6.0.0 Obsoletes: puppet-server < 6.0.0 @@ -68,46 +69,58 @@ done # Puppetlabs messed up with default paths find -type f -exec \ sed -i \ + -e 's|/etc/puppetlabs/puppet|%{_sysconfdir}/%{name}|' \ + -e 's|/etc/puppetlabs/code|%{_sysconfdir}/%{name}/code|' \ -e 's|/opt/puppetlabs/puppet/bin|%{_bindir}|' \ - -e 's|/opt/puppetlabs/puppet/cache|%{_sharedstatedir}/puppet|' \ - -e 's|/opt/puppetlabs/puppet/share/locale|%{_datadir}/puppetlabs/puppet/locale|' \ - -e 's|/opt/puppetlabs/puppet/modules|%{_datadir}/puppetlabs/puppet/modules|' \ - -e 's|/opt/puppetlabs/puppet/vendor_modules|%{_datadir}/puppetlabs/puppet/vendor_modules|' \ + -e 's|/opt/puppetlabs/puppet/cache|%{_sharedstatedir}/%{name}|' \ + -e 's|/opt/puppetlabs/puppet/public|%{_sharedstatedir}/%{name}/public|' \ + -e 's|/opt/puppetlabs/puppet/share/locale|%{_datadir}/%{name}/locale|' \ + -e 's|/opt/puppetlabs/puppet/modules|%{_datadir}/%{name}/modules|' \ + -e 's|/opt/puppetlabs/puppet/vendor_modules|%{_datadir}/%{name}/vendor_modules|' \ + -e 's|/var/log/puppetlabs/puppet|%{_localstatedir}/log/%{name}|' \ '{}' + %install ruby install.rb --destdir=%{buildroot} \ --bindir=%{_bindir} \ - --logdir=%{_localstatedir}/log/puppetlabs/puppet \ - --rundir=%{_rundir}/puppet \ - --localedir=%{_datadir}/puppetlabs/puppet/locale \ - --vardir=%{_sharedstatedir}/puppet \ + --configdir=%{_sysconfdir}/%{name} \ + --codedir=%{_sysconfdir}/%{name}/code \ + --logdir=%{_localstatedir}/log/%{name} \ + --rundir=%{_rundir}/%{name} \ + --localedir=%{_datadir}/%{name}/locale \ + --vardir=%{_sharedstatedir}/%{name} \ + --publicdir=%{_sharedstatedir}/%{name}/public \ --sitelibdir=%{puppet_libdir} -mkdir -p %{buildroot}/usr/share/puppetlabs/puppet/vendor_modules +mkdir -p %{buildroot}%{_datadir}/%{name}/vendor_modules for d in $(find -mindepth 1 -maxdepth 1 -type d -name 'puppetlabs-*'); do modver=${d#*-} mod=${modver%-*} - cp -a $d %{buildroot}%{_datadir}/puppetlabs/puppet/vendor_modules/$mod + cp -a $d %{buildroot}%{_datadir}/%{name}/vendor_modules/$mod done -install -Dp -m0644 ext/redhat/logrotate %{buildroot}%{_sysconfdir}/logrotate.d/puppet +install -Dp -m0644 ext/redhat/logrotate %{buildroot}%{_sysconfdir}/logrotate.d/%{name} %{__install} -d -m0755 %{buildroot}%{_unitdir} -install -Dp -m0644 ext/systemd/puppet.service %{buildroot}%{_unitdir}/puppet.service +install -Dp -m0644 ext/systemd/puppet.service %{buildroot}%{_unitdir}/%{name}.service +# Note(hguemar): Conflicts with config file from hiera package +rm %{buildroot}%{_sysconfdir}/%{name}/hiera.yaml + +# Install a NetworkManager dispatcher script to pickup changes to +# /etc/resolv.conf and such (https://bugzilla.redhat.com/532085). install -Dpv -m0755 %{SOURCE13} \ %{buildroot}%{nm_dispatcher_dir}/dispatcher.d/98-%{name} -# Install the ext/ directory to %%{_datadir}/puppetlabs/%%{name} -install -d %{buildroot}%{_datadir}/puppetlabs/%{name} -cp -a ext/ %{buildroot}%{_datadir}/puppetlabs/%{name} -chmod 0755 %{buildroot}%{_datadir}/puppetlabs/%{name}/ext/regexp_nodes/regexp_nodes.rb +# Install the ext/ directory to %%{_datadir}/%%{name} +install -d %{buildroot}%{_datadir}/%{name} +cp -a ext/ %{buildroot}%{_datadir}/%{name} +chmod 0755 %{buildroot}%{_datadir}/%{name}/ext/regexp_nodes/regexp_nodes.rb # Install wrappers for SELinux install -Dp -m0755 %{SOURCE14} %{buildroot}%{_bindir}/start-puppet-agent sed -i 's|^ExecStart=.*/bin/puppet|ExecStart=%{_bindir}/start-puppet-agent|' \ - %{buildroot}%{_unitdir}/puppet.service + %{buildroot}%{_unitdir}/%{name}.service # Setup tmpfiles.d config mkdir -p %{buildroot}%{_tmpfilesdir} @@ -119,20 +132,25 @@ echo "D %{_rundir}/%{name} 0755 %{name} %{name} -" > \ # These mess-up with RPM automatic dependencies compute by adding # unnecessary deps like /sbin/runscripts # some other things were removed with the patch -rm -r %{buildroot}%{_datadir}/puppetlabs/puppet/ext/{debian,freebsd,gentoo,ips,osx,solaris,suse,windows} -rm %{buildroot}%{_datadir}/puppetlabs/puppet/ext/redhat/*.init -rm %{buildroot}%{_datadir}/puppetlabs/puppet/ext/{build_defaults.yaml,project_data.yaml} +rm -r %{buildroot}%{_datadir}/%{name}/ext/{debian,freebsd,gentoo,ips,osx,solaris,suse,windows,systemd,redhat} +rm %{buildroot}%{_datadir}/%{name}/ext/{build_defaults.yaml,project_data.yaml} %files -%attr(-, puppet, puppet) %{_localstatedir}/log/puppetlabs -%attr(-, puppet, puppet) %{_datadir}/puppetlabs/puppet -%dir %attr(-, puppet, puppet) %{_datadir}/puppetlabs -%{_unitdir}/puppet.service +%attr(-, puppet, puppet) %{_localstatedir}/log/%{name} +%attr(-, root, root) %{_datadir}/%{name} +%{_unitdir}/%{name}.service %{_tmpfilesdir}/%{name}.conf %dir %{nm_dispatcher_dir} %dir %{nm_dispatcher_dir}/dispatcher.d %{nm_dispatcher_dir}/dispatcher.d/98-puppet -%{_bindir}/start-puppet-agent + +# Vendor modules +%doc %{_datadir}/%{name}/vendor_modules/*/*.md +%doc %{_datadir}/%{name}/vendor_modules/*/readmes +%license %{_datadir}/%{name}/vendor_modules/*/LICENSE +# Strip development files +%exclude %{_datadir}/%{name}/vendor_modules/*/.{github,puppet-lint.rc,sync.yml} +%exclude %{_datadir}/%{name}/vendor_modules/*/{CODEOWNERS,Gemfile,appveyor.yml,spec} %doc README.md examples %license LICENSE @@ -142,8 +160,10 @@ rm %{buildroot}%{_datadir}/puppetlabs/puppet/ext/{build_defaults.yaml,project_da %{_datadir}/ruby/vendor_ruby/puppet_pal.rb %{_datadir}/ruby/vendor_ruby/puppet.rb %{_datadir}/ruby/vendor_ruby/puppet_x.rb -%{_sharedstatedir}/puppet +%dir %{_sharedstatedir}/%{name} +%dir %{_sharedstatedir}/%{name}/public %{_bindir}/puppet +%{_bindir}/start-puppet-agent %{_mandir}/man5/puppet.conf.5* %{_mandir}/man8/puppet-plugin.8* %{_mandir}/man8/puppet-report.8* @@ -168,12 +188,9 @@ rm %{buildroot}%{_datadir}/puppetlabs/puppet/ext/{build_defaults.yaml,project_da %{_mandir}/man8/puppet-node.8* %{_mandir}/man8/puppet-parser.8* -# Due to the long time without building puppet with a new version, sysconfig and log paths have changed -%config(noreplace) %attr(-, root, root) %dir %{_sysconfdir}/puppetlabs -%config(noreplace) %attr(-, root, root) %dir %{_sysconfdir}/puppetlabs/puppet -%config(noreplace) %attr(-, root, root) %dir %{_sysconfdir}/puppetlabs/code -%config(noreplace) %attr(644, root, root) %{_sysconfdir}/puppetlabs/puppet/puppet.conf -%config(noreplace) %attr(644, root, root) %{_sysconfdir}/puppetlabs/puppet/hiera.yaml +%config(noreplace) %attr(-, root, root) %dir %{_sysconfdir}/%{name} +%config(noreplace) %attr(-, root, root) %dir %{_sysconfdir}/%{name}/code +%config(noreplace) %attr(644, root, root) %{_sysconfdir}/%{name}/puppet.conf %config(noreplace) %attr(644, root, root) %{_sysconfdir}/logrotate.d/%{name} %ghost %attr(755, puppet, puppet) %{_rundir}/%{name} @@ -185,12 +202,16 @@ useradd -r -u 52 -g puppet -s /sbin/nologin \ -c "Puppet" puppet &>/dev/null %post -%systemd_post puppet.service +%systemd_post %{name}.service %postun -%systemd_postun_with_restart puppet.service +%systemd_postun_with_restart %{name}.service %changelog +* Tue Aug 17 2021 Ewoud Kohl van Wijngaarden - 7.9.0-1 +- Update to 7.9.0 +- Revert paths to FHS standards + * Fri Jul 23 2021 Fedora Release Engineering - 7.7.0-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild diff --git a/sources b/sources index 2d7a6b9..becb176 100644 --- a/sources +++ b/sources @@ -1,12 +1,12 @@ -SHA512 (puppet-7.7.0.tar.gz.asc) = 918b37590aa7812a0e36dde94d364a22fa5628d96a3b5e77fdd3292836e6fd4a5e70db392dc4627e430dcc96b5772849100146cb9ddb9f9ed7bec9aa3b3a51be -SHA512 (puppet-7.7.0.tar.gz) = 2cd1bf799bfe5a3d5d3458db84021a29d119651faae111b8c3bfd374c2c1b008610f2c15d4b434dbd13caa91aea073503d40071d85e86687fa330e997b80f220 -SHA512 (puppetlabs-augeas_core-1.1.1.tar.gz) = 19e312da6b1accb74b772cb2d0a19dfa29d93cf03173bbf3c58e1def46ed352dd7c0618e0420b28a09607412ba87144ef3f2afc1cdedbe93f227b39bc4e290ac -SHA512 (puppetlabs-cron_core-1.0.4.tar.gz) = bdeab644f8f6084dcb8331edb207f5634672e512bf3573d85bb5eadcb979f83da7fb5ccbec150383d903bced3d0f05a7c20d4394abc2c479e194cff6646cb0ee +SHA512 (puppet-7.9.0.tar.gz) = 6329d89530d2cb008e28116de655024e9bf944b3f41d086e0e47c41c74af3da51c283a912ac966cf7bac52f86e54304df6cf31477a5663cae09fb4d18f958cf2 +SHA512 (puppet-7.9.0.tar.gz.asc) = 22b9f826ba310ae1dc60f525d36f06f2fb7e2392ae3f04a082b6c600877111d9b2faedc02a1e00dce6ad2711359a2035f24413148253059f607ce6ccd8c267ba +SHA512 (puppetlabs-augeas_core-1.1.2.tar.gz) = 0e2a1f136685b54636cf1741d34bb2385a0bb22d6ea78b6fe495ced3273920d266258143333a4185f901c0c1a6ee562107224b5093668f0c370723c9b3125308 +SHA512 (puppetlabs-cron_core-1.0.5.tar.gz) = a31d3170b0457985fc067b73902a82a92ee0e537020056ffef825ff8b295d581808e729ff0481479086ab6c21a2ecf111df9e16b87c0c14e26ef318e7fbfcd19 SHA512 (puppetlabs-host_core-1.0.3.tar.gz) = 09b4084663f4f6886380a473d26d1b759026f345bd3850084ac4f3ef59ed8ab2396fecdb3c836591d9097b9c5252ba794c4b7d3296b8321ff401f8a956ad093c SHA512 (puppetlabs-mount_core-1.0.4.tar.gz) = 07aaae0c1176ffe098647094f2c7d9ea975288b52965af9dcc2aab043d65c20424bd6698988af540e4b1eb1852eaf3ceec9c71a6e08642f103370f5679d9206f -SHA512 (puppetlabs-scheduled_task-2.2.1.tar.gz) = a7d0860e28971167c3560a997e18d8ca7a528aa5ce9331645ff67eb021d5262964d7f735cf657227b8b680a930a79b50afc07324272b760866663f593851289a -SHA512 (puppetlabs-selinux_core-1.0.4.tar.gz) = 600bef04791bd5bb9a46a5397af6e5ed5937b0e271cb312ef64db6bb93c85acf5c6df6ab53a7999ce7609a7b7ea8c299f37cb6d44dfa2c48b3456ca893be6876 +SHA512 (puppetlabs-scheduled_task-1.0.0.tar.gz) = ecec36e7944bc812fd5cbebbac8fb657c77058f6a72e8f2743b67c268678c2fa649a1953f1c9013bea5133c027e9a25a39a30871f3e5fd56690d033392e99b4f +SHA512 (puppetlabs-selinux_core-1.1.0.tar.gz) = 23145d89d475080c8e1298603dea357583b29ac1461c30a17f76bb2344af28cc0e6de75055cc0a820b76ed5f7f5242916fae8c5f5ec06f9ab92ce8474de306d2 SHA512 (puppetlabs-sshkeys_core-2.2.0.tar.gz) = 933d7a41f94aa499805dfd260ee52791400163f47135920ffed6294978805ef9db8f7edc2ad28c60a00a23f566143565a4e8cf52929020a400feff91c04db68b SHA512 (puppetlabs-yumrepo_core-1.0.7.tar.gz) = 8fb3cb40077ac113c332a761c01c1d7ce4bdfff1016be696efb41be20c86ff688b40b83c00a47394d79e64941cf6c23ea4bbd1107b4c7856d1b481733cb2d7ce -SHA512 (puppetlabs-zfs_core-1.1.0.tar.gz) = cda1fcc55a54b4690c81edadf6c62e849db80b5f09a5310cdd9b82d0cef374432c2c62b98e5c8e8cc2bbb8d22007ddb3694b88208658ff303fdd608a76c15e0b +SHA512 (puppetlabs-zfs_core-1.2.0.tar.gz) = 5cf44b314094a6dad45482776b1442ab941cd1f93b39141e452c8c03b441a90ab7e6077f22f6fee9796ec2af41c30a8601e9cec6ccce81c2cb2dcc4ecba7117f SHA512 (puppetlabs-zone_core-1.0.3.tar.gz) = 1083bcc810e8a7b048fad1c70656d806c65b5fa912c627bf1dfaf3b9d8a0ec675db100abc2fc6499669c17927ea3e55a5c968fde0e577fc1f4cebb1fbd5e0851