%define ppconfdir conf/redhat Name: puppet Version: 7.12.1 Release: %mkrel 2 Summary: System Automation and Configuration Management Software License: Apache Software License Group: Monitoring URL: http://www.puppetlabs.com/ Source0: http://downloads.puppetlabs.com/%{name}/%{name}-%{version}.tar.gz Source100: puppet.service Source101: puppetmaster.service Source102: %{name}-tmpfiles.conf #Patch7: puppet-4.2.1-replace-opt-with-usr-lib.patch BuildArch: noarch BuildRequires: ruby BuildRequires: ruby-hiera BuildRequires: facter Requires: ruby Requires: ruby-semantic_puppet Requires: facter Requires(post): systemd >= %{systemd_required_version} Requires(pre): rpm-helper Requires(post): rpm-helper Requires(preun):rpm-helper Obsoletes: puppet3 Obsoletes: ruby-hiera-puppet <= 1.0.0 Obsoletes: ruby-hiera-puppet-doc <= 1.0.0 %description Puppet lets you centrally manage every important aspect of your system using a 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. This package provide the puppet client daemon. %package server Group: Monitoring Summary: Server for the puppet system management tool Requires: %{name} = %{version} Requires(post): rpm-helper Requires(preun):rpm-helper Obsoletes: puppet3-server %description server Provides the central puppet server daemon (puppetmaster) which provides manifests to clients. The server can also function as a certificate authority and file server. %prep %setup -q %autopatch -p1 %build %install ruby install.rb \ --destdir=%{buildroot} \ --sitelibdir=%{ruby_vendorlibdir} \ --localedir=%{_datadir}/%{name}/locale \ --quick \ --no-rdoc install -d -m 0755 %{buildroot}%{_sysconfdir}/puppetlabs/code/environments/production/manifests install -d -m 0755 %{buildroot}%{_sysconfdir}/puppetlabs/code/environments/production/modules install -d -m 0755 %{buildroot}%{_sysconfdir}/puppetlabs/puppet install -d -m 0755 %{buildroot}%{_sysconfdir}/puppetlabs/puppetserver install -d -m 0755 %{buildroot}%{_datadir}/puppet/modules install -d -m 0755 %{buildroot}%{_localstatedir}/lib/puppetlabs/puppet/cache install -d -m 0755 %{buildroot}%{_localstatedir}/log/puppetlabs/puppet # puppet agent install -D -m 644 %{SOURCE100} %{buildroot}%{_unitdir}/puppet.service # puppet master install -D -m 644 %{SOURCE101} %{buildroot}%{_unitdir}/puppetmaster.service install -D -m 644 conf/puppet.conf \ %{buildroot}%{_sysconfdir}/puppetlabs/puppet/puppet.conf install -D -m 644 %{SOURCE102} %{buildroot}%{_tmpfilesdir}/puppet.conf # logrotate install -d %{buildroot}%{_sysconfdir}/logrotate.d cat > %{buildroot}%{_sysconfdir}/logrotate.d/puppetagent < /dev/null 2>&1 || true endscript } EOF cat > %{buildroot}%{_sysconfdir}/logrotate.d/puppetmaster < /dev/null 2>&1 || true endscript } EOF install -d %{buildroot}%{_datadir}/puppetlabs cp -a ext/ %{buildroot}%{_datadir}/puppetlabs # remove misc packaging artifacts in source not applicable to rpm rm -rf %{buildroot}%{_datadir}/puppetlabs/ext/{gentoo,freebsd,solaris,suse,windows,osx,ips,debian} rm -f %{buildroot}%{_datadir}/puppetlabs/ext/{build_defaults.yaml,project_data.yaml} rm -f %{buildroot}%{_datadir}/puppetlabs/ext/redhat/*.init %pre %_pre_useradd puppet %{_localstatedir}/lib/%{name} /sbin/nologin %post %_tmpfilescreate %{name} %_post_service puppet %preun %_preun_service puppet %post server %_post_service puppetmaster %preun server %_preun_service puppetmaster %files %doc LICENSE README.md examples %dir %{_sysconfdir}/puppetlabs %dir %{_sysconfdir}/puppetlabs/code %dir %{_sysconfdir}/puppetlabs/code/environments/ %dir %{_sysconfdir}/puppetlabs/code/environments/production %dir %{_sysconfdir}/puppetlabs/code/environments/production/manifests %dir %{_sysconfdir}/puppetlabs/code/environments/production/modules %dir %{_sysconfdir}/puppetlabs/puppet %config(noreplace) %{_sysconfdir}/puppetlabs/puppet/puppet.conf %config(noreplace) %{_sysconfdir}/puppetlabs/puppet/hiera.yaml %{_tmpfilesdir}/puppet.conf %{_unitdir}/puppet.service %{_bindir}/puppet %{ruby_vendorlibdir}/hiera %{ruby_vendorlibdir}/hiera_puppet.rb %config(noreplace) %{_sysconfdir}/logrotate.d/puppetagent %{ruby_vendorlibdir}/puppet %{ruby_vendorlibdir}/puppet.rb %{ruby_vendorlibdir}/puppet_x.rb %{ruby_vendorlibdir}/puppet_pal.rb %{_datadir}/puppetlabs %attr(-,puppet,puppet) %{_localstatedir}/log/puppetlabs %attr(-,puppet,puppet) %{_localstatedir}/lib/puppetlabs %{_mandir}/man5/puppet.conf.5.* %{_mandir}/man8/puppet*.8.* %dir %{_datadir}/%{name}/ %{_datadir}/%{name}/* %dir %{_datadir}/%{name}/locale %dir %{_datadir}/%{name}/locale/* %{_datadir}/%{name}/locale/*/* %files server %dir %{_sysconfdir}/puppetlabs/puppetserver %config(noreplace) %{_sysconfdir}/logrotate.d/puppetmaster %{_unitdir}/puppetmaster.service