This is a nice big mess =) So, upstream already has its own systemd service file. We should be trying to fix that, instead of maintaining our own separate copy. Ours is buggy (bug 606978), but the upstream one is too. They do things like specify type=Forking and then set a PID file, username, and group -- which doesn't make any sense. Our OpenRC service script is also cross-platform, and should be upstreamed. Reference: "Upstream your service scripts", in https://github.com/OpenRC/openrc/blob/master/service-script-guide.md That way we can take the $command and socket directory from the build system, and share it with systemd.
I have opened https://github.com/trusteddomainproject/OpenDKIM/pull/41 to get our OpenRC service script added.
There's nothing left to do here. We'll hear back soon about whether or not the systemd stuff works, and then we just have to pester upstream on your pull request until we get a response =) Thanks for all your work.