Bug#1038879: bookworm-pu: package proftpd-dfsg/1.3.8+dfsg-4+deb12u1
Control: tag -1 moreinfo
On Thu, Jun 22, 2023 at 02:29:54PM +0200, Francesco P. Lovergine wrote:
> diff -Nru proftpd-dfsg-1.3.8+dfsg/debian/changelog proftpd-dfsg-1.3.8+dfsg/debian/changelog
> --- proftpd-dfsg-1.3.8+dfsg/debian/changelog 2023-03-14 10:16:31.000000000 +0100
> +++ proftpd-dfsg-1.3.8+dfsg/debian/changelog 2023-06-22 11:15:57.000000000 +0200
> @@ -1,3 +1,15 @@
> +proftpd-dfsg (1.3.8+dfsg-4+deb12u1) bookworm-proposed-updates; urgency=medium
You should target `bookworm`, not the admin suites.
> diff -Nru proftpd-dfsg-1.3.8+dfsg/debian/proftpd-core.prerm proftpd-dfsg-1.3.8+dfsg/debian/proftpd-core.prerm
> --- proftpd-dfsg-1.3.8+dfsg/debian/proftpd-core.prerm 1970-01-01 01:00:00.000000000 +0100
> +++ proftpd-dfsg-1.3.8+dfsg/debian/proftpd-core.prerm 2023-06-22 11:13:30.000000000 +0200
> @@ -0,0 +1,11 @@
> +#!/bin/sh
> +
> +set -e
> +
> +if [ -z "${DPKG_ROOT:-}" ] && [ "$1" = remove ] && [ -d /run/systemd/system ] ;
> +then
> + deb-systemd-invoke stop 'proftpd.service' >/dev/null || true
> + deb-systemd-invoke stop 'proftpd.socket' >/dev/null || true
> +fi
This gives rise to a race condition where the socket starts the service
again before the socket is stopped.
> diff -Nru proftpd-dfsg-1.3.8+dfsg/debian/proftpd-core.proftpd-run.service proftpd-dfsg-1.3.8+dfsg/debian/proftpd-core.proftpd-run.service
> --- proftpd-dfsg-1.3.8+dfsg/debian/proftpd-core.proftpd-run.service 1970-01-01 01:00:00.000000000 +0100
> +++ proftpd-dfsg-1.3.8+dfsg/debian/proftpd-core.proftpd-run.service 2023-06-22 11:12:42.000000000 +0200
> @@ -0,0 +1,14 @@
> +[Unit]
> +Description=ProFTPD FTP Server in standalone/socket mode
> +Documentation=man:proftpd(8)
> +OnFailure=proftpd.socket
> +OnSuccess=proftpd.service
> +
> +[Service]
> +Type=oneshot
> +Environment=CONFIG_FILE=/etc/proftpd/proftpd.conf
> +EnvironmentFile=-/etc/default/proftpd
> +ExecStart=/usr/bin/grep -iqE '^[[:space:]]*ServerType[[:space:]]+standalone$' $CONFIG_FILE
Maybe I missed something important, but this seems a very odd way of doing
things. Do you really set up a dummy service unit which is expected to fail
in standalone mode, and therefore starts the socket instead?
Why not use an ExecStartPre= or ExecCondition= in your normal units to
prevent starting when in inetd mode?
--
Jonathan Wiltshire jmw@debian.org
Debian Developer http://people.debian.org/~jmw
4096R: 0xD3524C51 / 0A55 B7C5 1223 3942 86EC 74C3 5394 479D D352 4C51
ed25519/0x196418AAEB74C8A1: CA619D65A72A7BADFC96D280196418AAEB74C8A1
Reply to: