Package: proftpd-basic Version: 1.3.5-1.1+deb8u1 Severity: serious Justification: rc_policy.txt 3. Configuration files: "Changes to configuration files must be preserved during a package upgrade."
Dear Maintainer(s), please consider the following (abridged) transcript of trying to run proftpd-basic from inetd, but ending up having it running standalone: root@testvz12:~# debconf-get-selections | grep proftpd || echo '# no match' # no match root@testvz12:~# echo 'proftpd-basic shared/proftpd/inetd_or_standalone select from inetd' | debconf-set-selections root@testvz12:~# debconf-get-selections | grep proftpd || echo '# no match' proftpd-basic shared/proftpd/inetd_or_standalone select from inetd root@testvz12:~# apt-get install -y openbsd-inetd [...] root@testvz12:~# DEBIAN_FRONTEND=noninteractive apt-get install -y proftpd-basic [...] root@testvz12:~# debconf-get-selections | grep proftpd || echo '# no match' # Run proftpd: proftpd-basic shared/proftpd/inetd_or_standalone select standalone root@testvz12:~# ps auxww | grep '[p]roftpd' proftpd 2138 0.0 0.2 119900 2524 ? Ss 11:28 0:00 proftpd: (accepting connections) root@testvz12:~# netstat -tulpen | grep 21 tcp6 0 0 :::21 :::* LISTEN 108 1069993275 2138/proftpd: (acce As you can see, the preseeding had no effect. This is due to /var/lib/dpkg/info/proftpd-basic.config unconditionally calling "db_set shared/proftpd/inetd_or_standalone standalone" before calling "db_input high shared/proftpd/inetd_or_standalone", thus overwriting any previous setting. JFTR, apparently it was debbug#707689 which triggered adding the explicit db_set. The same applies to any reconfiguring, of course: root@testvz12:~# echo 'proftpd-basic shared/proftpd/inetd_or_standalone select from inetd' | debconf-set-selections root@testvz12:~# debconf-get-selections | grep proftpd || echo '# no match' # Run proftpd: proftpd-basic shared/proftpd/inetd_or_standalone select from inetd root@testvz12:~# dpkg-reconfigure -fnoninteractive proftpd-basic usermod: no changes root@testvz12:~# debconf-get-selections | grep proftpd || echo '# no match' # Run proftpd: proftpd-basic shared/proftpd/inetd_or_standalone select standalone As such, the package cannot be preseeded to run from inetd at all. Furthermore, given the current .config, any unattended (thus: noninteractive) upgrade (or even a mere reinstall) will unconditionally overwrite the local configuration just the same, leading to proftpd running standalone instead of from inetd. I consider this to be in violation of Debian policy requiring local configuration changes to be preserved. Best regards, Flo -- System Information: Debian Release: 8.4 APT prefers stable-updates APT policy: (500, 'stable-updates'), (500, 'oldstable-updates'), (500, 'stable'), (500, 'oldstable') Architecture: amd64 (x86_64) Kernel: Linux 3.16.0-4-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)