Update: I've checked all of the available service scripts for saned...
type = process
command = /usr/bin/saned -e
smooth-recovery = true
logfile = /var/log/dinit/saned.log
depends-on = local.target
before = login.target
#!/usr/bin/openrc-run
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
supervisor="supervise-daemon"
pidfile="/run/saned.pid"
command="/usr/bin/saned"
# command_args="-a ${SANED_USER:-root}"
command_args="${SANED_USER:-root}"
start_pre() {
checkpath -d -o ${SANED_USER:-root} ${pidfile%/*}
}
#!/bin/sh
exec saned -l
#!/bin/execlineb -P
fdmove -c 2 1
exec /usr/bin/saned -e
Every other version of the sane-init pass either the "-e" (redirect to stderr) or "-l" (listen) argument, so I've changed the default provided argument from "-a" to "-e -l" and that seemed to stop the service from failing outright. For some reason sane-openrc doesn't work if I don't use both of those arguments at once. I admit I don't have the equipment to see if this was an actual success beyond just the service running successfully. I don't know if the same problems mentioned in the OP are also present for the Dinit, Runit, and S6 versions either.
#!/usr/bin/openrc-run
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
supervisor="supervise-daemon"
pidfile="/run/saned.pid"
command="/usr/bin/saned"
command_args="-e -l ${SANED_USER:-root}"
start_pre() {
checkpath -d -o ${SANED_USER:-root} ${pidfile%/*}
}
I could be having a dumbass moment and running the service insecurely this way, I need an expert opinion.