Issue #4326 has been updated by James Turnbull. Status changed from Unreviewed to Ready for Testing Branch set to http://github.com/jamtur01/puppet/tree/tickets/master/4326
---------------------------------------- Bug #4326: SUSE init scripts and spec file changes http://projects.puppetlabs.com/issues/4326 Author: Ben Kevan Status: Ready for Testing Priority: Normal Assigned to: Category: Target version: 2.6.1 Affected version: 2.6.0 Keywords: Branch: http://github.com/jamtur01/puppet/tree/tickets/master/4326 remove conf/suse/puppet.suse.patch add conf/suse/ruby-env.patch It'd be nice if you moved: conf/redhat/fileserver.conf conf/redhat/logrotate conf/redhat/puppet.conf to conf/suse (this could clean up the puppet.spec) Also, include the patched server.init client.init into conf/suse then we can get rid of the source1 source2 and pull directly from conf/suse. Here are the changes to server.init, client.init and puppet.spec <pre> --- puppet.spec.orig 2010-07-18 14:17:37.000000000 -0700 +++ puppet.spec 2010-07-21 20:54:29.112775349 -0700 @@ -1,31 +1,35 @@ %{!?ruby_sitelibdir: %define ruby_sitelibdir %(ruby -rrbconfig -e 'puts Config::CONFIG["sitelibdir"]')} %define pbuild %{_builddir}/%{name}-%{version} -%define suseconfdir conf/suse -%define confdir conf/redhat +%define confdir conf/suse Summary: A network tool for managing many disparate systems Name: puppet -Version: 0.25.4 +Version: 2.6.0 Release: 1%{?dist} License: GPL -Group: System Environment/Base +Group: Productivity/Networking/System URL: http://reductivelabs.com/projects/puppet/ -Source: http://reductivelabs.com/downloads/puppet/%{name}-%{version}.tar.gz -Patch0: puppet.suse.patch +Source0: http://reductivelabs.com/downloads/puppet/%{name}-%{version}.tar.gz +Source1: client.init +Source2: server.init +Patch0: ruby-env.patch + +PreReq: %{insserv_prereq} %{fillup_prereq} Requires: ruby >= 1.8.2 -Requires: facter >= 1.3.7 +Requires: facter >= 1.5 +Requires: cron BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) -BuildRequires: ruby >= 1.8.2 +BuildRequires: ruby >= 1.8.7 %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, +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. %package server -Group: System Environment/Base +Group: Productivity/Networking/System Summary: Server for the puppet system management tool Requires: puppet = %{version}-%{release} @@ -45,45 +49,47 @@ %install %{__install} -d -m0755 %{buildroot}%{_sbindir} %{__install} -d -m0755 %{buildroot}%{_bindir} +%{__install} -d -m0755 %{buildroot}%{_confdir} %{__install} -d -m0755 %{buildroot}%{ruby_sitelibdir} %{__install} -d -m0755 %{buildroot}%{_sysconfdir}/puppet/manifests %{__install} -d -m0755 %{buildroot}%{_docdir}/%{name}-%{version} %{__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 %{pbuild}/bin/* %{buildroot}%{_bindir} %{__install} -Dp -m0755 %{pbuild}/sbin/* %{buildroot}%{_sbindir} -%{__mv} %{buildroot}%{_sbindir}/puppet %{buildroot}%{_bindir}/puppet -%{__mv} %{buildroot}%{_sbindir}/puppetrun %{buildroot}%{_bindir}/puppetrun %{__install} -Dp -m0644 %{pbuild}/lib/puppet.rb %{buildroot}%{ruby_sitelibdir}/puppet.rb %{__cp} -a %{pbuild}/lib/puppet %{buildroot}%{ruby_sitelibdir} find %{buildroot}%{ruby_sitelibdir} -type f -perm +ugo+x -exec chmod a-x '{}' \; -%{__install} -Dp -m0644 %{confdir}/client.sysconfig %{buildroot}/var/adm/fillup-templates/sysconfig.puppet +%{__cp} -a %{pbuild}/conf/redhat/client.sysconfig %{buildroot}%{_confdir}/client.sysconfig +%{__install} -Dp -m0644 %{buildroot}%{_confdir}/client.sysconfig %{buildroot}/var/adm/fillup-templates/sysconfig.puppet %{__install} -Dp -m0755 %SOURCE1 %{buildroot}%{_initrddir}/puppet -%{__install} -Dp -m0644 %{confdir}/server.sysconfig %{buildroot}/var/adm/fillup-templates/sysconfig.puppetmaster +%{__cp} -a %{pbuild}/conf/redhat/server.sysconfig %{buildroot}%{_confdir}/server.sysconfig +%{__install} -Dp -m0644 %{buildroot}%{_confdir}/server.sysconfig %{buildroot}/var/adm/fillup-templates/sysconfig.puppetmaster %{__install} -Dp -m0755 %SOURCE2 %{buildroot}%{_initrddir}/puppetmaster -%{__install} -Dp -m0644 %{confdir}/fileserver.conf %{buildroot}%{_sysconfdir}/puppet/fileserver.conf -%{__install} -Dp -m0644 %{confdir}/puppet.conf %{buildroot}%{_sysconfdir}/puppet/puppet.conf -#%{__ln_s} puppet.conf %{buildroot}%{_sysconfdir}/puppet/puppetmasterd.conf -#%{__ln_s} puppet.conf %{buildroot}%{_sysconfdir}/puppet/puppetca.conf -%{__install} -Dp -m0644 %{confdir}/logrotate %{buildroot}%{_sysconfdir}/logrotate.d/puppet +%{__cp} -a %{pbuild}/conf/redhat/fileserver.conf %{buildroot}%{_confdir}/fileserver.conf +%{__install} -Dp -m0644 %{buildroot}%{_confdir}/fileserver.conf %{buildroot}%{_sysconfdir}/puppet/fileserver.conf +%{__cp} -a %{pbuild}/conf/redhat/puppet.conf %{buildroot}%{_confdir}/puppet.conf +%{__install} -Dp -m0644 %{buildroot}%{_confdir}/puppet.conf %{buildroot}%{_sysconfdir}/puppet/puppet.conf +%{__cp} -a %{pbuild}/conf/redhat/logrotate %{buildroot}%{_confdir}/logrotate +%{__install} -Dp -m0644 %{buildroot}%{_confdir}/logrotate %{buildroot}%{_sysconfdir}/logrotate.d/puppet %{__ln_s} %{_initrddir}/puppet %{buildroot}%{_sbindir}/rcpuppet %{__ln_s} %{_initrddir}/puppetmaster %{buildroot}%{_sbindir}/rcpuppetmaster %files %defattr(-, root, root, 0755) %{_bindir}/puppet -%{_sbindir}/filebucket -%{_sbindir}/ralsh +%{_bindir}/puppetdoc +%{_bindir}/filebucket +%{_bindir}/ralsh +%{_bindir}/pi %{_sbindir}/puppetd %{_sbindir}/rcpuppet -%{_sbindir}/pi %{ruby_sitelibdir}/* %{_initrddir}/puppet /var/adm/fillup-templates/sysconfig.puppet %config(noreplace) %{_sysconfdir}/puppet/puppet.conf %doc CHANGELOG COPYING LICENSE README examples -%exclude %{_sbindir}/puppetdoc %config(noreplace) %{_sysconfdir}/logrotate.d/puppet %dir %{_sysconfdir}/puppet # These need to be owned by puppet so the server can @@ -95,56 +101,115 @@ %files server %defattr(-, root, root, 0755) %{_sbindir}/puppetmasterd +%{_sbindir}/rcpuppetmaster %{_sbindir}/puppetqd -%{_bindir}/puppetrun +%{_sbindir}/puppetrun +%{_sbindir}/puppetca %{_initrddir}/puppetmaster %config(noreplace) %{_sysconfdir}/puppet/* -%config(noreplace) %{_sysconfdir}/sysconfig/puppetmaster -%{_sbindir}/puppetca +%exclude %{_sysconfdir}/puppet/puppet.conf +/var/adm/fillup-templates/sysconfig.puppetmaster +%dir %{_sysconfdir}/puppet %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 || : + -s /sbin/nologin -r -d /var/puppet puppet 2> /dev/null || : %post -/sbin/chkconfig --add puppet -exit 0 +%{fillup_and_insserv -y puppet} %post server -/sbin/chkconfig --add puppetmaster +%{fillup_and_insserv -n -y puppetmaster} %preun -if [ "$1" = 0 ] ; then - /sbin/service puppet stop > /dev/null 2>&1 - /sbin/chkconfig --del puppet -fi +%stop_on_removal puppet %preun server -if [ "$1" = 0 ] ; then - /sbin/service puppetmaster stop > /dev/null 2>&1 - /sbin/chkconfig --del puppetmaster -fi +%stop_on_removal puppetmaster + +%postun +%restart_on_update puppet +%{insserv_cleanup} %postun server -if [ "$1" -ge 1 ]; then - /sbin/service puppetmaster try-restart > /dev/null 2>&1 -fi +%restart_on_update puppetmaster +%{insserv_cleanup} %clean %{__rm} -rf %{buildroot} %changelog -* Sat Feb 16 2008 James Turnbull <[email protected]> - 0.24.1-1 -- Fixed puppet configuation file references to match single puppet.conf file -- Update versions for 0.24.1 release +* Wed Jul 21 2010 Ben Kevan <[email protected]> - 2.6.0 +- New version and ruby version bump +- Add puppetdoc to %_bindir (unknown why original suse package, excluded or forgot to add) +- Corrected patch for ruby environment +- Move binaries back to the correct directories + +* Wed Jul 14 2010 Ben Kevan <[email protected]> - 0.25.5 +- New version. +- Use original client, server.init names +- Revert to puppetmaster +- Fixed client.init and server.init and included $null and Should-Stop for both + +* Tue Mar 2 2010 Martin Vuk <[email protected]> - 0.25.4 +- New version. + +* Sun Aug 9 2009 Noah Fontes <[email protected]> +- Fix build on SLES 9. +- Enable puppet and puppet-server services by default. + +* Sat Aug 8 2009 Noah Fontes <[email protected]> +- Fix a lot of relevant warnings from rpmlint. +- Build on OpenSUSE 11.1 correctly. +- Rename puppetmaster init scripts to puppet-server to correspond to the package name. + +* Wed Apr 22 2009 Leo Eraly <[email protected]> - 0.24.8 +- New version. + +* Tue Dec 9 2008 Leo Eraly <[email protected]> - 0.24.6 +- New version. + +* Fri Sep 5 2008 Leo Eraly <[email protected]> - 0.24.5 +- New version. + +* Fri Jun 20 2008 Martin Vuk <[email protected]> - 0.24.4 +- Removed symlinks to old configuration files + +* Fri Dec 14 2007 Martin Vuk <[email protected]> - 0.24.0 +- New version. + +* Fri Jun 29 2007 Martin Vuk <[email protected]> - 0.23.0 +- New version. + +* Wed May 2 2007 Martin Vuk <[email protected]> - 0.22.4 +- New version. Includes provider for rug package manager. + +* Wed Apr 25 2007 Martin Vuk <[email protected]> - 0.22.3 +- New version. Added links /sbin/rcpuppet and /sbin/rcpuppetmaster + +* Sun Jan 7 2007 Martin Vuk <[email protected]> - 0.22.0 +- version bump + +* Tue Oct 3 2006 Martin Vuk <[email protected]> - 0.19.3-3 +- Made package arch dependant. + +* Sat Sep 23 2006 Martin Vuk <[email protected]> - 0.19.3-1 +- New version + +* Sun Sep 17 2006 Martin Vuk <[email protected]> - 0.19.1-1 +- New version + +* Tue Aug 30 2006 Martin Vuk <[email protected]> - 0.19.0-1 +- New version +- No need to patch anymore :-), since my changes went into official release. * Tue Aug 3 2006 Martin Vuk <[email protected]> - 0.18.4-3 - Replaced puppet-bin.patch with %build section from David's spec * Tue Aug 1 2006 Martin Vuk <[email protected]> - 0.18.4-2 - Added supprot for enabling services in SuSE - + * Tue Aug 1 2006 Martin Vuk <[email protected]> - 0.18.4-1 - New version and support for SuSE --- server.init.orig 2010-07-18 14:17:37.000000000 -0700 +++ server.init 2010-07-21 19:50:09.177790490 -0700 @@ -11,10 +11,10 @@ ### BEGIN INIT INFO # Provides: puppetmaster -# Required-Start: $local_fs $network $syslog -# Should-Start: $null -# Required-Stop: $null -# Should-Stop: $null +# Required-Start: $local_fs $remote_fs $network $syslog +# Should-Start: puppetmaster +# Required-Stop: $local_fs $remote_fs $network $syslog +# Should-Stop: puppetmaster # Default-Start: 3 4 5 # Default-Stop: 0 1 2 6 # Short-Description: puppetmaster --- client.init.orig 2010-07-18 14:17:37.000000000 -0700 +++ client.init 2010-07-21 19:43:27.423036839 -0700 @@ -13,10 +13,10 @@ ### BEGIN INIT INFO # Provides: puppet -# Required-Start: $local_fs $network $syslog -# Should-Start: $null -# Required-Stop: $null -# Should-Stop: $null +# Required-Start: $local_fs $remote_fs $network $syslog +# Should-Start: puppet +# Required-Stop: $local_fs $remote_fs $network $syslog +# Should-Stop: puppet # Default-Start: 3 4 5 # Default-Stop: 0 1 2 6 # Short-Description: puppet </pre> if/when you fix the upstream server.init and client.init (I know you just fixed some things that I put upstream not too long ago), and moved the said above files into conf/suse the suse scripts could be further cleaned, but for now at least the suse packages would be fixed with the above, and for later releases I can streamline it better with the changes you guys get upstream. I've created a openSUSE 11.x and SLES 11.x buildserver on the Novell BuildService since the ones they provide are quite broken (i need these for work, as I'm new starting with puppet and realized their old versions didn't have zypper support (how silly of them to not approve a branch update change mid cycle to include such a vital definition for their distribution). Let me know if you have any questions.. But after these are put up-stream and you push out the updated conf/suse I'll rebuild the .spec to be 100% accurate (the previous .spec I just realized didn't install puppetdoc, which I found out when trying to find out if a certain definition was available). Also included is the ruby patch to fix the shebang within puppetd and puppetmasterd (since the /usr/bin/env ruby breaks the init scripts internal functions of startproc and killproc (since presumably they use pidof). -- You have received this notification because you have either subscribed to it, or are involved in it. To change your notification preferences, please click here: http://projects.puppetlabs.com/my/account -- You received this message because you are subscribed to the Google Groups "Puppet Bugs" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/puppet-bugs?hl=en.
