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