Summary: | rc(8) config files under /usr/local/etc/rc.d/rc.conf.d/ are not sourced at startup | ||||||
---|---|---|---|---|---|---|---|
Product: | Base System | Reporter: | Jason Mann <jason.mann> | ||||
Component: | conf | Assignee: | Fernando Apesteguía <fernape> | ||||
Status: | Closed FIXED | ||||||
Severity: | Affects Only Me | CC: | fernape, jamie | ||||
Priority: | --- | ||||||
Version: | 10.1-RELEASE | ||||||
Hardware: | Any | ||||||
OS: | Any | ||||||
Attachments: |
|
Description
Jason Mann
2015-01-28 10:26:48 UTC
Examination of the 'load_rc_config' function in /etc/subr reveals that any "rc.d" suffix would be removed from any paths specified in the local_startup parameter. This means that the default local_startup value of /usr/local/etc/rc.d/ would instead result in rc config files being sourced from /usr/local/etc/rc.conf.d/, not /usr/local/etc/rc.d/rc.conf.d/. The wording of the rc.conf(5) man page is misleading regarding this. It states that scripts can be placed in "<dir>/rc.conf.d", where <dir> is the path specified in local_startup. It follows that /usr/local/etc/rc.d/rc.conf.d would be where rc config scripts should be put. I tested this by moving the rc config files from /usr/local/etc/rc.d/rc.conf.d/ to /usr/local/etc/rc.conf.d/ and rebooted. Services then started as expected. This bug might be reclassified as a documentation bug if this was the intended behaviour. Yeah, it's a documentation bug - the rc.conf.d directory sits alongside rather than within any rc.d directory - as demonstrated by an example a few lines after the text you quoted. However, this example is also buggy, in that a "/etc" is missing! Attached is a proposed fix for both issues cheers, Jamir Created attachment 158941 [details]
patch-share_man_man5_rc.subr.5
This was addressed in 454adf0fa4d787bf6e6ff7be0aa6c27a91d2be8e No, only the missing 'etc' was fixed. The original reported error (that my patch also fixed) still exists. Thanks for the feedback. I'll look into it. (In reply to Fernando Apesteguía from comment #7) Brilliant! Cheers A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=9e0d41c8f063111803c36e5aaff1126c99e8c7ea commit 9e0d41c8f063111803c36e5aaff1126c99e8c7ea Author: Jamie Landeg-Jones <jamie@catflap.org> AuthorDate: 2023-02-16 11:55:01 +0000 Commit: Fernando Apesteguía <fernape@FreeBSD.org> CommitDate: 2023-02-17 12:17:54 +0000 rc.conf.5: clarify source directories In 454adf0fa4d787bf6e6ff7be0aa6c27a91d2be8e some of the issues reported in the PR where addressed. This commit adds a clarification about how the prefix of the directories to be sourced actually behave. PR: 197152 Reported by: jason.mann+freebsd@gmail.com Approved by: manpages (bcr@) Differential Revision: https://reviews.freebsd.org/D38627 share/man/man5/rc.conf.5 | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) Committed, Thanks! |