diff --git a/.cvsignore b/.cvsignore index 6fd9a14..ff5ea86 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -puppet-0.24.5.tgz +puppet-0.24.6.tgz diff --git a/puppet.spec b/puppet.spec index fc32b0f..e098823 100644 --- a/puppet.spec +++ b/puppet.spec @@ -1,30 +1,33 @@ %{!?ruby_sitelibdir: %define ruby_sitelibdir %(ruby -rrbconfig -e 'puts Config::CONFIG["sitelibdir"]')} -%define pbuild %{_builddir}/%{name}-%{version} %define confdir conf/redhat -%define has_ruby_abi 0%{?fedora:%fedora} >= 5 || 0%{?rhel:%rhel} >= 5 -%define has_ruby_noarch %has_ruby_abi +Name: puppet +Version: 0.24.6 +Release: 1%{?dist} +Summary: A network tool for managing many disparate systems -Summary: A network tool for managing many disparate systems -Name: puppet -Version: 0.24.5 -Release: 1%{?dist} -License: GPLv2+ -Group: System Environment/Base +Group: System Environment/Base -URL: http://puppet.reductivelabs.com/ -Source: http://reductivelabs.com/downloads/puppet/%{name}-%{version}.tgz +License: GPLv2+ +URL: http://puppet.reductivelabs.com/ +Source0: http://reductivelabs.com/downloads/puppet/%{name}-%{version}.tgz +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) -Requires: ruby >= 1.8.1 -%if %has_ruby_abi -Requires: ruby(abi) = 1.8 -%endif -Requires: facter >= 1.1.4 -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) -%if %has_ruby_noarch -BuildArchitectures: noarch +BuildRequires: ruby >= 1.8.1 + +%if 0%{?fedora} || 0%{?rhel} >= 5 +BuildArch: noarch +Requires: ruby(abi) = 1.8 +Requires: ruby-shadow %endif -BuildRequires: ruby >= 1.8.1 + +Requires: facter >= 1.1.4 +Requires: ruby >= 1.8.1 +Requires(pre): shadow-utils +Requires(post): chkconfig +Requires(preun): chkconfig +Requires(preun): initscripts +Requires(postun): initscripts %description Puppet lets you centrally manage every important aspect of your system using a @@ -33,9 +36,13 @@ 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} +Group: System Environment/Base +Summary: Server for the puppet system management tool +Requires: puppet = %{version}-%{release} +Requires(post): chkconfig +Requires(preun): chkconfig +Requires(preun): initscripts +Requires(postun): initscripts %description server Provides the central puppet server daemon which provides manifests to clients. @@ -54,6 +61,9 @@ for f in mac_dscl.pp mac_dscl_revert.pp \ sed -i -e'1d' examples/$f chmod a-x examples/$f done +for f in external/nagios.rb network/http_server/mongrel.rb relationship.rb; do + sed -i -e '1d' lib/puppet/$f +done find examples/ -type f -empty | xargs rm find examples/ -type f | xargs chmod a-x @@ -69,14 +79,14 @@ install -d -m0755 %{buildroot}%{_mandir}/man8 install -d -m0755 %{buildroot}%{_localstatedir}/lib/puppet install -d -m0755 %{buildroot}%{_localstatedir}/run/puppet install -d -m0755 %{buildroot}%{_localstatedir}/log/puppet -install -Dp -m0755 %{pbuild}/bin/* %{buildroot}%{_sbindir} +install -Dp -m0755 bin/* %{buildroot}%{_sbindir} mv %{buildroot}%{_sbindir}/puppet %{buildroot}%{_bindir}/puppet mv %{buildroot}%{_sbindir}/ralsh %{buildroot}%{_bindir}/ralsh mv %{buildroot}%{_sbindir}/filebucket %{buildroot}%{_bindir}/filebucket mv %{buildroot}%{_sbindir}/puppetrun %{buildroot}%{_bindir}/puppetrun mv %{buildroot}%{_sbindir}/puppetdoc %{buildroot}%{_bindir}/puppetdoc -install -Dp -m0644 %{pbuild}/lib/puppet.rb %{buildroot}%{ruby_sitelibdir}/puppet.rb -cp -a %{pbuild}/lib/puppet %{buildroot}%{ruby_sitelibdir} +install -Dp -m0644 lib/puppet.rb %{buildroot}%{ruby_sitelibdir}/puppet.rb +cp -a lib/puppet %{buildroot}%{ruby_sitelibdir} find %{buildroot}%{ruby_sitelibdir} -type f -perm +ugo+x -print0 | xargs -0 -r chmod a-x install -Dp -m0644 %{confdir}/client.sysconfig %{buildroot}%{_sysconfdir}/sysconfig/puppet install -Dp -m0755 %{confdir}/client.init %{buildroot}%{_initrddir}/puppet @@ -136,40 +146,59 @@ touch %{buildroot}%{_sysconfdir}/puppet/puppetd.conf %doc %{_mandir}/man8/puppetrun.8.gz %pre -/usr/sbin/groupadd -r puppet 2>/dev/null || : -/usr/sbin/useradd -g puppet -c "Puppet" \ - -s /sbin/nologin -r -d /var/lib/puppet puppet 2> /dev/null || : +getent group puppet >/dev/null || groupadd -r puppet +getent passwd puppet >/dev/null || \ +useradd -r -g puppet -d %{_localstatedir}/lib/puppet -s /sbin/nologin \ + -c "Puppet" puppet || : +# ensure that old setups have the right puppet home dir if [ $1 -gt 1 ] ; then - /usr/sbin/usermod -d /var/lib/puppet puppet || : + usermod -d %{_localstatedir}/lib/puppet puppet || : fi + %post -/sbin/chkconfig --add puppet -exit 0 +/sbin/chkconfig --add puppet || : %post server -/sbin/chkconfig --add puppetmaster +/sbin/chkconfig --add puppetmaster || : %preun if [ "$1" = 0 ] ; then /sbin/service puppet stop > /dev/null 2>&1 - /sbin/chkconfig --del puppet + /sbin/chkconfig --del puppet || : fi %preun server if [ "$1" = 0 ] ; then /sbin/service puppetmaster stop > /dev/null 2>&1 - /sbin/chkconfig --del puppetmaster + /sbin/chkconfig --del puppetmaster || : +fi + +%postun +if [ "$1" -ge 1 ]; then + /sbin/service puppet condrestart >/dev/null 2>&1 || : fi %postun server if [ "$1" -ge 1 ]; then - /sbin/service puppetmaster condrestart > /dev/null 2>&1 + /sbin/service puppetmaster condrestart > /dev/null 2>&1 || : fi %clean rm -rf %{buildroot} %changelog +* Wed Oct 22 2008 Todd Zullinger - 0.24.6-1 +- Update to 0.24.6 +- Require ruby-shadow on Fedora and RHEL >= 5 +- Simplify Fedora/RHEL version checks for ruby(abi) and BuildArch +- Require chkconfig and initstripts for preun, post, and postun scripts +- Conditionally restart puppet in %%postun +- Ensure %%preun, %%post, and %%postun scripts exit cleanly +- Create puppet user/group according to Fedora packaging guidelines +- Quiet a few rpmlint complaints +- Remove useless %%pbuild macro +- Make specfile more like the Fedora/EPEL template + * Mon Jul 28 2008 David Lutterkort - 0.24.5-1 - Add /usr/bin/puppetdoc diff --git a/sources b/sources index 634d3ac..0a43dc7 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -1160bb69966b9145d9f845f1f355dd44 puppet-0.24.5.tgz +dcc84cd9bc5c411536ab88589079459b puppet-0.24.6.tgz