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

Bug#863085: unblock: dante/1.4.1+dfsg-5 [preapproval, RC]



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

Hi,

This is a pre-approval request for dante to fix a long-standing
bug that makes the first installation of the dante-server binary
package fail, since the dante-server service cannot possibly be
started with the default config file.  The bug - #862988 - was
reported as "important", but I raised its priority to "serious",
and I should have fixed it a long time ago.

I'm attaching the proposed debdiff, a targeted fix that lets
the initial installation succeed even though the service fails
to start.  If it is approved, I'll upload the package and let
you know when the time comes to really unblock it.

Thanks in advance for your time!

G'luck,
Peter

-- System Information:
Debian Release: 9.0
  APT prefers testing-debug
  APT policy: (500, 'testing-debug'), (500, 'testing')
Architecture: amd64
 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.9.0-3-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)
diff -Nru dante-1.4.1+dfsg/debian/changelog dante-1.4.1+dfsg/debian/changelog
--- dante-1.4.1+dfsg/debian/changelog	2017-01-12 13:07:24.000000000 +0200
+++ dante-1.4.1+dfsg/debian/changelog	2017-05-21 17:23:27.000000000 +0300
@@ -1,3 +1,12 @@
+dante (1.4.1+dfsg-5) unstable; urgency=medium
+
+  * Add an error handler to the post-install startup of dante-server so
+    that it doesn't make the package installation fail if danted.conf
+    has not been customized yet (i.e. always on first installation).
+    Closes: #862988
+
+ -- Peter Pentchev <roam@ringlet.net>  Sun, 21 May 2017 17:23:27 +0300
+
 dante (1.4.1+dfsg-4) unstable; urgency=medium
 
   * Add the 25-path-max patch as a temporary band-aid for building Dante
diff -Nru dante-1.4.1+dfsg/debian/dante-server.postinst dante-1.4.1+dfsg/debian/dante-server.postinst
--- dante-1.4.1+dfsg/debian/dante-server.postinst	1970-01-01 02:00:00.000000000 +0200
+++ dante-1.4.1+dfsg/debian/dante-server.postinst	2017-05-21 12:20:51.000000000 +0300
@@ -0,0 +1,21 @@
+#!/bin/sh
+
+set -e
+
+dante_service_error()
+{
+	local res="$?" conffile='/etc/danted.conf' notfound='' var
+	for var in internal external; do
+		if ! egrep -qe '^[[:space:]]*'"$var"'[[:space:]]*:' -- "$conffile"; then
+			notfound="$notfound $var"
+		fi
+	done
+	if [ -n "$notfound" ]; then
+		echo "Please edit the Dante server config file $conffile and specify at least the following directives:$notfound" 1>&2
+	else
+		# The required directives are specified, so propagate the error
+		exit "$res"
+	fi
+}
+
+#DEBHELPER#
diff -Nru dante-1.4.1+dfsg/debian/dante-server.prerm dante-1.4.1+dfsg/debian/dante-server.prerm
--- dante-1.4.1+dfsg/debian/dante-server.prerm	1970-01-01 02:00:00.000000000 +0200
+++ dante-1.4.1+dfsg/debian/dante-server.prerm	2017-05-21 12:21:12.000000000 +0300
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+set -e
+
+dante_service_error()
+{
+	exit "$?"
+}
+
+#DEBHELPER#
diff -Nru dante-1.4.1+dfsg/debian/rules dante-1.4.1+dfsg/debian/rules
--- dante-1.4.1+dfsg/debian/rules	2017-01-09 16:54:21.000000000 +0200
+++ dante-1.4.1+dfsg/debian/rules	2017-05-21 12:14:31.000000000 +0300
@@ -53,7 +53,7 @@
 	dh_installchangelogs NEWS
 
 override_dh_installinit:
-	dh_installinit -pdante-server --init-script=danted
+	dh_installinit -pdante-server --init-script=danted --error-handler=dante_service_error
 
 %:
 	dh '$@' --without systemd

Attachment: signature.asc
Description: PGP signature


Reply to: