summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTodd Zullinger <tmz@fedoraproject.org>2008-10-23 21:09:00 +0000
committerTodd Zullinger <tmz@fedoraproject.org>2008-10-23 21:09:00 +0000
commit1e6ad1bd6438016f1283b70ef4258731d4fe58d4 (patch)
treeac50f9338270a5f16cd91fef90245009fa4df428
parent7237c7549d9a9eb7f9ec05ba1a4b0baf1fc592eb (diff)
downloadpuppet-package-1e6ad1bd6438016f1283b70ef4258731d4fe58d4.tar.gz
puppet-package-1e6ad1bd6438016f1283b70ef4258731d4fe58d4.tar.xz
puppet-package-1e6ad1bd6438016f1283b70ef4258731d4fe58d4.zip
- 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
-rw-r--r--.cvsignore2
-rw-r--r--puppet.spec101
-rw-r--r--sources2
3 files changed, 67 insertions, 38 deletions
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 <tmz@pobox.com> - 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 <dlutter@redhat.com> - 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