Bug 218720 - dns/bind911, security/trousers: rcorder: Circular dependency
Summary: dns/bind911, security/trousers: rcorder: Circular dependency
Status: Open
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Hiroki Sato
Keywords: patch
Depends on:
Reported: 2017-04-18 03:03 UTC by Tatsuki Makino
Modified: 2018-01-25 21:51 UTC (History)
6 users (show)

See Also:
bugzilla: maintainer-feedback? (hrs)

[patch] fix rc ordering for tpmd & tcsd (1.10 KB, patch)
2018-01-16 01:00 UTC, John Hein
no flags Details | Diff
[patch] fix rc ordering for tpmd & tcsd [v2] (790 bytes, patch)
2018-01-16 01:51 UTC, John Hein
jcfyecrayz: maintainer-approval? (hrs)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Tatsuki Makino 2017-04-18 03:03:22 UTC
rc.d/tcsd requires SERVERS and asks to activate before named.
rc.d/named asks to activate before SERVERS.
Comment 1 w.schwarzenfeld freebsd_triage 2018-01-15 22:09:18 UTC
tcsd.in shows

# PROVIDE: tcsd
# BEFORE:  named hastd kerberos
# KEYWORD: shutdown

this seems solved. I think we could close.
Comment 2 Tatsuki Makino 2018-01-16 00:01:39 UTC
(In reply to w.schwarzenfeld from comment #1)

dns/bind911 has START_LATE option. I installed the option off.
When executing rcorder /etc/rc.d/* /usr/local/etc/rc.d/* under that condition, I get a message "rcorder: Circular dependency on provision `SERVERS' in file `/usr/local/etc/rc.d/tcsd'.".

There are more "rcorder: Circular dependency ..." messages now, so I don't know anymore :)
Comment 3 w.schwarzenfeld freebsd_triage 2018-01-16 00:18:55 UTC
You are right:
rcorder: Circular dependency on provision `SERVERS' in file `/usr/local/etc/rc.d/tpmd'.
rcorder: Circular dependency on provision `SERVERS' in file `/usr/local/etc/rc.d/tcsd'.
Comment 4 John Hein 2018-01-16 01:00:17 UTC
Created attachment 189778 [details]
[patch] fix rc ordering for tpmd & tcsd

Here's a patch to fix ordering problems in the rc.d scripts for security/trousers (tcsd) and emulators/tpm-emulator (tpmd).  It also replaces the rc.d dependency on kerberos to be kdc instead (rc.d/kerberos was renamed to rc.d/kdc in FreeBSD 10.1).
Comment 5 John Hein 2018-01-16 01:51:42 UTC
Created attachment 189780 [details]
[patch] fix rc ordering for tpmd & tcsd [v2]

v2: Remove accidental cruft from patch.  No substantial change vs. v1.
Comment 6 John Hein 2018-01-16 02:52:58 UTC
(In reply to John Hein from comment #5)
Before this fix (attachment 189780 [details]), rcorder shows:

% rcorder /usr/local/etc/rc.d/tcsd /usr/local/etc/rc.d/tpmd /usr/local/etc/rc.d/named /etc/rc.d/* | & grep rcorder
rcorder: file `/usr/local/etc/rc.d/tcsd' is before unknown provision `kerberos'
rcorder: Circular dependency on provision `SERVERS' in file `/usr/local/etc/rc.d/tpmd'.
rcorder: Circular dependency on provision `SERVERS' in file `/usr/local/etc/rc.d/tcsd'.
Comment 7 Alfred Perlstein freebsd_committer 2018-01-16 05:29:34 UTC
Should there be a post-install or some other step during portlint or such to detect this?
Comment 8 Mathieu Arnold freebsd_committer 2018-01-16 09:59:53 UTC
They are two different ports, that have absolutely no relation, there cannot be any automatic way to detect this.

The trousers probably need to loose the SERVERS requirement.
Comment 9 Ben Woods freebsd_committer 2018-01-16 10:03:44 UTC
Awaiting Hiroki's approval of patch as maintainer.
Comment 10 w.schwarzenfeld freebsd_triage 2018-01-16 10:08:34 UTC
hrs (Hiroki) seems inactive, should move it back to the pool? (I see same PR belonging to him are long time open, some since 2014).
Comment 11 w.schwarzenfeld freebsd_triage 2018-01-16 10:27:13 UTC
similar problem here bug #216673 .
Comment 12 John Hein 2018-01-25 21:51:06 UTC
(In reply to Alfred Perlstein from comment #7)
Re: detecting this at port install time.  I think you could do something like:

rcorder /etc/rc.d/* /usr/local/etc/rc.d/* > rcorder-before-install
install rc.d script
rcorder /etc/rc.d/* /usr/local/etc/rc.d/* > rcorder-after-install

Compare before & after, and warn about any new rcorder errors.

I don't have a patch, but it doesn't seem too hard to be able to add something to QA to help with this.