This seems to be partially non-deterministic, which explains why Brian couldn't reproduce it. Firstly, you'll need to have $mailto set in .sbuildrc. After that, Sbuild::ConfBase::read generates an initialisation script that sets keys in the order returned by $conf->get_keys(), which is keys(%{$self->{'KEYS'}}) so depends on hash iteration order. You'll only hit this if MAILTO is set before MAILPROG.
libsbuild-perl now only declares "Suggests: default-mta | mail-transport-agent" while it used to declare "Recommends: exim4 | mail-transport-agent", so I think the intent is for this to be optional unless you've set $mailto, which doesn't seem entirely unreasonable. The main bug here seems to be the non-determinism, which makes the behaviour extremely confusing.
This seems to be partially non-deterministic, which explains why Brian couldn't reproduce it. Firstly, you'll need to have $mailto set in .sbuildrc. After that, Sbuild: :ConfBase: :read generates an initialisation script that sets keys in the order returned by $conf->get_keys(), which is keys(%{ $self-> {'KEYS' }}) so depends on hash iteration order. You'll only hit this if MAILTO is set before MAILPROG.
libsbuild-perl now only declares "Suggests: default-mta | mail-transport- agent" while it used to declare "Recommends: exim4 | mail-transport- agent", so I think the intent is for this to be optional unless you've set $mailto, which doesn't seem entirely unreasonable. The main bug here seems to be the non-determinism, which makes the behaviour extremely confusing.