Quick fun question: only set an rc.d variable sometimes?

2021-09-27 Thread Dan Mahoney (Gushi)

Hey all,

I'm dealing with rc.d scripting and reading 
https://docs.freebsd.org/en/articles/rc-scripting/


Here's my question: Is there a sane way to have something like foo_pid 
*completely unset* in one case, but overridable by rc.conf after?


It took me a bit to wrap my head around the:

: ${dummy_enable:=no}
: ${dummy_msg="Nothing started."}

Examples.  (Why that first colon, what is this := syntax), etc.

What I'm trying to say in rc.subr language is:

If the user has set something in rc.conf, use it.  Otherwise, leave it 
TOTALLY UNSET.  Not to the null string.  Undefined.


Anyway, here's my use case:

The "kdc" program can optionally have a pidfile (if you install mit krb5, 
it uses the same startup script rather than one in /usr/local/etc/rc.d)


But the base kdc doesn't support a pidfile at all.  So "status" won't work 
if pid is set at all in /etc/rc.d/kdc -- but if it's unset, rc_subr will 
just search for the process without the pid, by name.


A line like the one above would define it.  Even to a default.  So it 
would break "status".  But I'd like to actually be able to *check* a 
pidfile if I configure one.  Since then a cleaner shutdown is possible, 
and code that relies on this stuff externally, like puppet, are cleaner.


This isn't about "why is a port using a base startup script, especially 
when that port drops other files into /usr/local/etc/rc.d", it's more a 
"hey, this syntax isn't clear in the above article, and how does one do 
it, and should it be added to the above?"


--

Dan Mahoney
Techie,  Sysadmin,  WebGeek
Gushi on efnet/undernet IRC
FB:  fb.com/DanielMahoneyIV
LI:   linkedin.com/in/gushi
Site:  http://www.gushi.org
---




Can a committer look at ports/258650 and 258651?

2021-09-27 Thread Mel Pilgrim

I'd like these to get into the tree in time for 2021Q4.