It looks like the knock-0.7 ebuild contains: RDEPEND="${DEPEND} server? ( sys-apps/openrc )" if use server ; then newinitd "${FILESDIR}"/knockd.initd.2 knock newconfd "${FILESDIR}"/knockd.confd.2 knock fi In general init.d scripts should be installed unconditionally and packages should not depend on a service manager unless they can only function when that service manager is running. As far as I can tell there is nothing openrc-specific about knockd other than that is the only service manager that has a script written so far.
It installs the client /usr/bin/knock and if USE=server the server /usr/sbin/knockd. /etc/init.d/knock references the server, so if it would be installed with USE=-server it'd be referencing a non-exitent binary and wrongly suggest the presence of the daemon part.
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=94d458391b2959a5dd4f2ca7284aed890043409c commit 94d458391b2959a5dd4f2ca7284aed890043409c Author: Michael Weber <xmw@gentoo.org> AuthorDate: 2017-12-22 09:25:37 +0000 Commit: Michael Weber <xmw@gentoo.org> CommitDate: 2017-12-22 09:25:48 +0000 net-misc/knock: Drop dependency on openrc. Bug: https://bugs.gentoo.org/641980 Package-Manager: Portage-2.3.19, Repoman-2.3.6 net-misc/knock/knock-0.7.ebuild | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-)}