diff options
author | Todd Zullinger <tmz@fedoraproject.org> | 2008-10-23 21:09:00 +0000 |
---|---|---|
committer | Todd Zullinger <tmz@fedoraproject.org> | 2008-10-23 21:09:00 +0000 |
commit | 1e6ad1bd6438016f1283b70ef4258731d4fe58d4 (patch) | |
tree | ac50f9338270a5f16cd91fef90245009fa4df428 /puppet.spec | |
parent | 7237c7549d9a9eb7f9ec05ba1a4b0baf1fc592eb (diff) | |
download | puppet-package-1e6ad1bd6438016f1283b70ef4258731d4fe58d4.tar.gz puppet-package-1e6ad1bd6438016f1283b70ef4258731d4fe58d4.tar.xz puppet-package-1e6ad1bd6438016f1283b70ef4258731d4fe58d4.zip |
- Update to 0.24.6puppet-0_24_6-1_fc10F-10-startF-10-split
- 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
Diffstat (limited to 'puppet.spec')
-rw-r--r-- | puppet.spec | 101 |
1 files changed, 65 insertions, 36 deletions
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 |