Well, it's not dovecot's responsibility to create non-standard paths. If you require such a path, it's up to you to do this prior to starting dovecot during boot.
On Linux/systemd systems there are a few standard mechanisms to create required directories/files on transient filesystems like /tmp or /run, but I do not know about such a mechanism on FreeBSD.
On FreeBSD, I have created a simple startup script in /usr/local/etc/rc.d/ (see below) which creates extra temporary files and directories and that runs *before* all services (just a few) that require these temporary files. I think this is a better solution than altering the service's startup script, since this will be overwritten during updates/upgrades.
There are quite a few ports on FreeBSD that have startup scripts not doing well with preparing or cleaning up...
Robert
#!/bin/sh
# PROVIDE: tmpfiles # REQUIRE: FILESYSTEMS # BEFORE: squid ...
. /etc/rc.subr
name=tmpfiles rcvar=tmpfiles_enable
start_cmd="${name}_start" stop_cmd=":"
load_rc_config $name : ${maketemp_enable:=no} : ${maketemp_msg="Nothing started."}
tmpfiles_start() { # squid mkdir /var/run/squid chown squid:squid /var/run/squid touch /var/run/squid/squid.pid chown squid:squid /var/run/squid/squid.pid
...
}
run_rc_command "$1"
Am Samstag, dem 12.08.2023 um 19:21 +0000 schrieb karl@denninger.net:
FreeBSD 13 and its normal init (startup script is in /usr/local/etc/rc.d as expected), started at boot or if I have need to stop/restart it later "/usr/local/etc/rc.d/dovecot start" (or "restart", "stop", etc.)
dovecot mailing list -- dovecot@dovecot.org To unsubscribe send an email to dovecot-leave@dovecot.org
-- Robert Senger