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: