Suggestion: by default, create /run/unbound and use it for pidfile

Currently, /run/unbound.pid is the default pidfile.
I suggest to change that to /run/unbound/unbound.pid. Creating /run/unbound/ if it doesn't exists and
no other directory was configured.
Rational: to make /run tidier. It is true that unbound.pid might be the only file in /run/unbound/.
On the other hand, I think /run/unbound/ is the natural place for
    control-interface: /run/unbound/unbound.sock
I think apache2 uses that approach. Sometimes apache2.pid is the only file under /run/apache2. Still,
it prefers /run/apache2/apache2.pid over /run/apache2.pid.
It is also true that the /run/unbound directory could be set by appropriate configuration. But having a
default setting requires less administration.

You are right. After reading your reply I looked at
https://www.nlnetlabs.nl/documentation/unbound/unbound.conf/. Indeed, it mentions
/usr/local/etc/unbound/unbound.pid.
I hope this is a configure choice when building from source.

We already do this for fedora/rhel/centos packaging.
Although, we haven't changed from the TLS socket on localhost to the
socket file in /run/unbound/unbound.sock as a default.

Paul

When doing that for fedora/rhel/centos packaging, who is responsible for the creation
of the directory, /run/unbound in this case, if it doesn’t exist?
Is it the responsibility of the packager or the application?

That is always responsibility of packaging. In this case that is
handled by systemd tmpfiles.