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.

Reply via email to