Control: severity -1 normal
Control: tag -1 +patch

Hi,

Please find attached a patch for migrating your package to reconf-inetd, as
per dep9 [0], in order to eliminate cross-package issues such as #168847.

I'll be happy to answer any questions.

cheers,
sez

[0] http://dep.debian.net/deps/dep9/#index5h1

-- 
Every great idea is worthless without someone to do the work. --Neil Williams
diff --git a/debian/control b/debian/control
index f3db1fa..8fa9aae 100644
--- a/debian/control
+++ b/debian/control
@@ -7,7 +7,7 @@ Standards-Version: 3.9.1
 
 Package: ftpd-ssl
 Architecture: any
-Depends: openbsd-inetd | inet-superserver, libpam-modules, openssl (>= 0.9.8g-9), ${shlibs:Depends}, ${misc:Depends}
+Depends: openbsd-inetd | inet-superserver, libpam-modules, openssl (>= 0.9.8g-9), ${shlibs:Depends}, ${misc:Depends}, reconf-inetd
 Provides: ftp-server
 Conflicts: ftp-server, ftpd
 Replaces: ftpd
diff --git a/debian/dirs b/debian/dirs
index 0ccb9c9..de748b1 100644
--- a/debian/dirs
+++ b/debian/dirs
@@ -3,3 +3,4 @@ usr/share/man/man5
 usr/share/man/man8
 usr/sbin
 etc/ftpd-ssl
+/usr/share/reconf-inetd
diff --git a/debian/postinst b/debian/postinst
index 434e7ae..d6a75cb 100644
--- a/debian/postinst
+++ b/debian/postinst
@@ -3,22 +3,28 @@
 
 set -e
 
-if grep -q '[[:blank:]]/usr/sbin/in\.ftpd.*-z' /etc/inetd.conf 2>/dev/null; then
-	update-inetd --pattern '/usr/sbin/in\.ftpd' --remove ".*ftp"
-fi
-
-if grep -q '[[:blank:]]/usr/sbin/in\.ftpd\>' /etc/inetd.conf 2>/dev/null; then
-	if ! grep -q '^ftp\>' /etc/inetd.conf; then
-		update-inetd --pattern '/usr/sbin/in\.ftpd' --multi --enable ftp
-	fi
-else
-	FTPENTRY="ftp		stream	tcp	nowait	root	/usr/sbin/tcpd	/usr/sbin/in.ftpd"
-	if grep -q '^ftp\>' /etc/inetd.conf 2>/dev/null; then
-		update-inetd --group STANDARD --add "## $FTPENTRY"
-	else
-		update-inetd --group STANDARD --add "$FTPENTRY"
-	fi
-fi
+# assuming that ftpd-ssl migrates to reconf-inetd in jessie, this whole
+# snippet can be removed completely in jessie+1.
+#
+# exact inetd.conf entry previously added using update-inetd
+OLD_FTPENTRY="ftp		stream	tcp	nowait	root	/usr/sbin/tcpd	/usr/sbin/in.ftpd"
+# last release that does not use reconf-inetd
+REL="0.17.33+0.3-1"
+case $1 in
+    configure)
+        # remove inetd.conf entry if not modified locally, and not managed
+        # already by reconf-inetd
+        if dpkg --compare-versions "$2" le-nl "$REL"; then
+            if fgrep -qx "$OLD_FTPENTRY" /etc/inetd.conf || \
+               fgrep -qx "#<off># $OLD_FTPENTRY" /etc/inetd.conf; then
+                # remove all inetd.conf entries for ftpd-ssl
+                update-inetd --pattern 'usr/sbin/in\.ftpd' --remove ftp || true
+                # re-add entries that are managed by reconf-inetd
+                reconf-inetd || true
+            fi
+        fi
+    ;;
+esac
 
 if [ ! -f /etc/inetd.conf -a -d /etc/xinetd.d -a -x /usr/sbin/xinetd ]; then
 	cat <<-TEXT
diff --git a/debian/postrm b/debian/postrm
deleted file mode 100644
index 7f1a14d..0000000
--- a/debian/postrm
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-# $Id: postrm,v 1.1 1999/04/16 07:00:28 herbert Exp $
-
-set -e
-
-if [ "$1" = purge ]; then
-	if command -v update-inetd >/dev/null 2>&1; then
-		update-inetd --pattern '/usr/sbin/in\.ftpd' --remove "#<off># ftp"
-	fi
-fi
-
-#DEBHELPER#
diff --git a/debian/prerm b/debian/prerm
deleted file mode 100644
index 48509b0..0000000
--- a/debian/prerm
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/sh
-# $Id: prerm,v 1.1 1999/04/16 07:00:29 herbert Exp $
-
-set -e
-
-update-inetd --pattern '/usr/sbin/in\.ftpd' --multi --disable ftp
-
-#DEBHELPER#
diff --git a/debian/reconf-inetd/ftpd-ssl.tcp b/debian/reconf-inetd/ftpd-ssl.tcp
new file mode 100644
index 0000000..63ffa30
--- /dev/null
+++ b/debian/reconf-inetd/ftpd-ssl.tcp
@@ -0,0 +1,9 @@
+service ftp
+{
+	socket_type	= stream
+	protocol	= tcp
+	wait		= no
+	user		= root
+	server		= /usr/sbin/in.ftpd
+	server_args	= -l
+}
diff --git a/debian/reconf-inetd/ftpd-ssl.tcp6 b/debian/reconf-inetd/ftpd-ssl.tcp6
new file mode 100644
index 0000000..fe49d6a
--- /dev/null
+++ b/debian/reconf-inetd/ftpd-ssl.tcp6
@@ -0,0 +1,10 @@
+service ftp
+{
+	flags		= IPv6
+	protocol	= tcp6
+	socket_type	= stream
+	wait		= no
+	user		= root
+	server		= /usr/sbin/in.ftpd
+	server_args	= -l
+}
diff --git a/debian/rules b/debian/rules
index 3ff01e5..47153c0 100755
--- a/debian/rules
+++ b/debian/rules
@@ -48,6 +48,7 @@ install: build
 	cp debian/ftpchroot debian/ftpusers debian/ftpd-ssl/etc
 	cp debian/pam.d/ftp debian/ftpd-ssl/etc/pam.d
 	cp debian/openssl.cnf debian/ftpd-ssl/etc/ftpd-ssl/
+	cp debian/reconf-inetd/* debian/ftpd-ssl/usr/share/reconf-inetd
 
 # Build architecture-independent files here.
 binary-indep: build install

Reply via email to