[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#777173: unblock: puppet/3.7.2-2



Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock

Please unblock package puppet


The puppet provider for handling services (starting, stopping, status
query) executed "/etc/init.d/$service", which has unpredictable
results when using an init other than sysvinit.

A patch has been added to make puppet execute "/usr/sbin/service
$service" instead, ensuring that puppet can handle services no matter
which init system is used.



diff -Nru puppet-3.7.2/debian/changelog puppet-3.7.2/debian/changelog
--- puppet-3.7.2/debian/changelog	2014-10-24 13:47:25.000000000 +0200
+++ puppet-3.7.2/debian/changelog	2015-02-05 22:50:31.000000000 +0100
@@ -1,3 +1,11 @@
+puppet (3.7.2-2) unstable; urgency=medium
+
+  [ Gaudenz Steinlin ]
+  * [558cce5] Use /usr/sbin/service in the Debian service provider
+    (Closes: #775795)
+
+ -- Stig Sandbeck Mathisen <ssm@debian.org>  Thu, 05 Feb 2015 22:44:49 +0100
+
 puppet (3.7.2-1) unstable; urgency=medium
 
   * Imported upstream release 3.7.2
diff -Nru puppet-3.7.2/debian/patches/0004-debian-service-provider-use-service.patch puppet-3.7.2/debian/patches/0004-debian-service-provider-use-service.patch
--- puppet-3.7.2/debian/patches/0004-debian-service-provider-use-service.patch	1970-01-01 01:00:00.000000000 +0100
+++ puppet-3.7.2/debian/patches/0004-debian-service-provider-use-service.patch	2015-02-05 22:50:31.000000000 +0100
@@ -0,0 +1,56 @@
+From: Gaudenz Steinlin <gaudenz@debian.org>
+Subject: Use /usr/sbin/service for service management on Debian
+
+In Debian jessie systemd will be the default init system. But the old system V
+and other alternative init systems are still supported. /usr/sbin/service
+provides an abstraction layer which is able to start, stop and restart
+services independent of the init system used.
+
+Bug: https://tickets.puppetlabs.com/browse/PUP-2023
+Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=775795
+---
+Index: puppet/lib/puppet/provider/service/debian.rb
+===================================================================
+--- puppet.orig/lib/puppet/provider/service/debian.rb	2015-02-05 12:07:37.451292892 +0100
++++ puppet/lib/puppet/provider/service/debian.rb	2015-02-05 12:13:06.500095957 +0100
+@@ -16,6 +16,11 @@
+   # is resolved.
+   commands :invoke_rc => "/usr/sbin/invoke-rc.d"
+ 
++  # This isn't being used directly, it's just here to ensure
++  # that the /usr/sbin/service binary is available.
++  SERVICE = "/usr/sbin/service"
++  commands :service_cmd => SERVICE
++
+   defaultfor :operatingsystem => :debian
+ 
+   # Remove the symlinks
+@@ -61,4 +66,28 @@
+     update_rc "-f", @resource[:name], "remove"
+     update_rc @resource[:name], "defaults"
+   end
++
++  # The start, stop, restart and status command use service
++  # this makes sure that these commands work with whatever init
++  # system is installed
++  def startcmd
++    [SERVICE, @resource[:name], :start]
++  end
++
++  # The stop command is just the init script with 'stop'.
++  def stopcmd
++    [SERVICE, @resource[:name], :stop]
++  end
++
++  def restartcmd
++    (@resource[:hasrestart] == :true) && [SERVICE, @resource[:name], :restart]
++  end
++
++  # If it was specified that the init script has a 'status' command, then
++  # we just return that; otherwise, we return false, which causes it to
++  # fallback to other mechanisms.
++  def statuscmd
++    (@resource[:hasstatus] == :true) && [SERVICE, @resource[:name], :status]
++  end
++
+ end
diff -Nru puppet-3.7.2/debian/patches/series puppet-3.7.2/debian/patches/series
--- puppet-3.7.2/debian/patches/series	2014-10-24 13:47:25.000000000 +0200
+++ puppet-3.7.2/debian/patches/series	2015-02-05 22:50:31.000000000 +0100
@@ -1,3 +1,4 @@
 0001-Do-not-require-rubygems.patch
 0002-Set-passenger-puppet-master-document-root.patch
 0003-fix-puppet-master-logcheck-rule.patch
+0004-debian-service-provider-use-service.patch




unblock puppet/3.7.2-2

-- System Information:
Debian Release: 8.0
  APT prefers testing
  APT policy: (500, 'testing'), (100, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.16.0-4-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)


Reply to: