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

Dear Release Team,

Please unblock package puppet.

The version currently in unstable (4.8.2-4) fixes two important bugs:

 - It makes the package piuparts-clean by properly cleaning up 
   /var/cache/puppet/state (#855923)
 - It makes puppet upgrade cleanly from Jessie under sysvinit when the 
   puppet agent is running as a daemon (#859454)

Additionally, it includes a Breaks: against older facter versions, which 
use Puppet 3 API functions that no longer exist in Puppet 4, breaking 
`facter --puppet'.

Full source debdiff attached.

Regards,
Apollon

unblock puppet/4.8.2-4
diff -Nru puppet-4.8.2/debian/changelog puppet-4.8.2/debian/changelog
--- puppet-4.8.2/debian/changelog	2017-02-15 14:23:21.000000000 +0200
+++ puppet-4.8.2/debian/changelog	2017-04-28 17:38:26.000000000 +0300
@@ -1,3 +1,15 @@
+puppet (4.8.2-4) unstable; urgency=medium
+
+  * Handle creation and removal of /var/cache/puppet/state (Closes: #855923)
+  * Add Breaks against old facter versions; facter before 2.4.0 uses a
+    deprecated Puppet settings API making `facter --puppet` no longer work with
+    Puppet 4.
+  * puppet-common: stop the puppet service in preinst when upgrading from
+    Puppet 3. Fixes upgrade on sysvinit systems running the puppet agent.
+    (Closes: #859454)
+
+ -- Apollon Oikonomopoulos <apoi...@debian.org>  Fri, 28 Apr 2017 17:38:26 +0300
+
 puppet (4.8.2-3) unstable; urgency=medium
 
   * Mark systemd as the default service provider for Debian. If the system is
diff -Nru puppet-4.8.2/debian/control puppet-4.8.2/debian/control
--- puppet-4.8.2/debian/control	2017-02-15 14:23:19.000000000 +0200
+++ puppet-4.8.2/debian/control	2017-04-28 17:38:26.000000000 +0300
@@ -39,7 +39,8 @@
 Suggests: ruby-rrd
 Breaks: puppet-common (<< 4.5.1-1),
         puppetmaster-common (<< 4.4.2-1~),
-        puppet-agent (<< 4.8.1-3~)
+        puppet-agent (<< 4.8.1-3~),
+        facter (<< 2.4.0~)
 Replaces: puppet-common (<< 4.5.1-1),
         puppetmaster-common (<< 4.4.2-1~)
 Description: configuration management system
diff -Nru puppet-4.8.2/debian/puppet-common.preinst puppet-4.8.2/debian/puppet-common.preinst
--- puppet-4.8.2/debian/puppet-common.preinst	1970-01-01 02:00:00.000000000 +0200
+++ puppet-4.8.2/debian/puppet-common.preinst	2017-04-28 17:38:26.000000000 +0300
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+set -e
+
+# Stop puppet agent before removing /usr/bin/puppet on upgrade; otherwise the
+# initscript will fail to stop the service, see #859454.
+if [ "$1" = "upgrade" ] && dpkg --compare-versions "$2" lt "4.4.2-1~"; then
+	if [ -x "/etc/init.d/puppet" ]; then
+		invoke-rc.d puppet stop || true
+	fi
+fi
+
+#DEBHELPER#
diff -Nru puppet-4.8.2/debian/puppet.dirs puppet-4.8.2/debian/puppet.dirs
--- puppet-4.8.2/debian/puppet.dirs	2017-02-15 14:23:19.000000000 +0200
+++ puppet-4.8.2/debian/puppet.dirs	2017-04-28 17:38:26.000000000 +0300
@@ -1,3 +1,4 @@
 var/lib/puppet
 var/log/puppet
+var/cache/puppet/state
 usr/share/puppet/modules
diff -Nru puppet-4.8.2/debian/puppet.postinst puppet-4.8.2/debian/puppet.postinst
--- puppet-4.8.2/debian/puppet.postinst	2017-02-15 14:23:19.000000000 +0200
+++ puppet-4.8.2/debian/puppet.postinst	2017-04-28 17:38:26.000000000 +0300
@@ -24,14 +24,15 @@
 		dpkg-statoverride --update --add puppet puppet 0750 /var/log/puppet
 	fi
 
+	# Create folders common to "puppet" and "puppetmaster", which need
+	# to be owned by the "puppet" user
 	if ! dpkg-statoverride --list /var/lib/puppet >/dev/null 2>&1; then
 		dpkg-statoverride --update --add puppet puppet 0750 /var/lib/puppet
 	fi
 
-	# Create folders common to "puppet" and "puppetmaster", which need
-	# to be owned by the "puppet" user
-	install --owner puppet --group puppet --directory \
-		/var/cache/puppet/state
+	if ! dpkg-statoverride --list /var/cache/puppet/state >/dev/null 2>&1; then
+		dpkg-statoverride --update --add puppet puppet 0750 /var/cache/puppet/state
+	fi
 
 	if [ -z "$2" ]; then
 		# Disable the service by default on new installations

Reply via email to