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