docs/85097: [patch] devd.conf.5 lacks a lot of vital information.

Fredrik Lindberg fli at shapeshifter.se
Fri Aug 19 10:40:10 UTC 2005


The following reply was made to PR docs/85097; it has been noted by GNATS.

From: Fredrik Lindberg <fli at shapeshifter.se>
To: "Gary W. Swearingen" <garys at opusnet.com>
Cc: bug-followup at FreeBSD.org
Subject: Re: docs/85097: [patch] devd.conf.5 lacks a lot of vital information.
Date: Fri, 19 Aug 2005 12:32:43 +0200

 Gary W. Swearingen wrote:
 > Fredrik Lindberg <fli+freebsd at shapeshifter.se> writes:
 > 
 > 
 >>+.It Ic notify
 >>+specifies various matching criteria and actions to perform when the kernel
 >>+sends an event notification to user land.
 > 
 > 
 > Your other item descriptions begin with a capital letter.
 
 This was unintentional, the "notify" statement were added to an
 original part of the manual where non-capital letters were used.
 In my opinion they should all begin with a captial letter.
 
 > 
 > My grep of 5.4 manpages found no "user land" and many "userland".
 
 > 
 > 
 >> .Pp
 >>+Each statement, except 
 >>+.Ql options
 > 
 > 
 > Some fonts don't show a single "`" well and .Dq seems to be more
 > popular (and I don't like either one).  That is, it's OK.
 
 I took a quick look at some other manuals, .Ql seems to be used
 to quote single characters while .Dq is used to quote words.
 
 > 
 > 
 >>+has a priority (arbitrary number) associated with it, where
 > 
 > 
 > "an arbitrary number"
 > 
 > 
 >>+0 is defined as the lowest priority.
 > 
 > 
 > I would quote "0"; can't say why.
 
 You're probably right.
 
 > 
 > 
 >>+If two statements matches the same event, only the action of the statement with
 >>+highest priority will be carried out. In this way generic statements can be
 >>+overridden for devices/notifications that requires special attention. 
 > 
 > 
 > "matches" > "match"
 > "carried out" > "used"  ?
 
 Maybe even "executed" ?
 
 > "/" > " or "
 > "requires" > "require"
 > 
 > IIRC, two sentences should not share the same line.
 
 Inserting a hard break between those lines? even though they
 are so closely related?
 
 > 
 > 
 >>+.Pp
 >>+The general syntax to create a statement is as follows
 > 
 > 
 > "to create" > "of"
 > " as follows" > ":"  ?
 > 
 > 
 >>+.Pp
 >>+.Bd -literal
 >>+statement priority {
 >>+	substatement "value"; 
 >>+	...
 >>+	substatement "value"; 
 > 
 > 
 > Me and "aspell" say: "substatement" > "sub-statement", but maybe it's
 > OK as psuedo-code.
 > 
 > 
 >>+.Pp
 > 
 > 
 > Unneeded.
 > 
 > 
 >>+.Ss Substatements
 > 
 > 
 > "Sub-statements" ?
 
 The original manual used "substatements", I were about to change
 it to "sub-statements" but I never did it.
 
 > 
 > 
 >>+The following statements are supported within the 
 > 
 > 
 > OK, unless you forgot "sub".
 
 Well, a sub-statement is a statement and a statement can have 
 sub-statements :)
 But, you're right, it's probably better to use sub-statements for clarity.
 
 > 
 > 
 >>+.Ql options
 >>+statement.
 >>+.Bl -tag -width ".Ic directory"
 >>+.It Ic directory \*q/some/path\*q; 
 >>+Adds the given directory to the list of directories from which devd will read
 > 
 > 
 > .Xr devd 8
 > 
 > 
 >>+configuration files. Any number of this directive is valid.
 > 
 > 
 > I'm fairly sure it should "these directives", but "is" is correct.
 > (I see that it's problematic, though.)
 
 I went over that sentence like a 100 times while writing, but since
 english isn't my native language I really can't say which to use.
 
 > 
 > 
 >>+.It Ic pid-file \*q/var/run/devd.pid\*q;
 >>+Specifies pid file.
 >>+.It Ic set regexp-name \*q(some|regexp)\*q;
 >>+Creates a regular expression and assigns it to the variable
 >>+regexp-name, this variable is then avaiable through out the rest of 
 > 
 > 
 > "," > ";"
 > 
 > Probably should use: .Va regexp-name ;
 > 
 > "through out" > "throughout"
 > 
 > 
 >>+the configuration file.
 >>+All regular expressions have an implicit ^$ around them.
 > 
 > 
 > Use .Li or .Dq Li or .Ql Li ?
 > 
 > 
 >>+Actually a shorthand to `match device-name'. Matches a device named string.
 > 
 > 
 > I see nothing wrong with in-line quoting, but I wonder if other would.
 
 > 
 > 
 >>+The variable $device-name is avaiable for later use with the action-statement.
 > 
 > 
 > Probably: .Va $device-name
 > 
 > It seems that "$" is not special char so doesn't need leading "\&".
 > 
 > 
 >>+.It Ic match \*qvariable\*q \*qvalue\*q;
 >>+Matches the content of value against variable. value can be a regular expression.
 > 
 > 
 > .Va value
 > .Va variable
 > 
 > (I just checked; .Va underlines in my term.  .It does nothing noticable.)
 > 
 > 
 >>+Matches the content of value against variable. value can be a regular expression.
 > 
 > 
 > .Va's
 > 
 > 
 >>+The variable
 >>+.Ql $notify
 > 
 > 
 > .Va $notify
 > 
 > 
 >>+is avaiable inside this statement and contains, possibly, a value depending
 >>+on which system and subsystem that delivered the event. 
 > 
 > 
 > "value depending" > "value, depending"
 > 
 > I would remove ",possibly, " as redundent with "depending".
 > 
 > 
 >>+Any number of match-statements can exists within a notify-statement.
 > 
 > 
 > I think "-" should be " " here and one similar place.
 > 
 > 
 >>+Below is a list of avaiable systems, subsystems and types.
 > 
 > 
 > I'm happy to say we have a standard on this: " and" > ", and".
 > 
 > 
 >>+Command to execute upon a successful match. For example 
 >>+/etc/rc.d/power_profile $notify
 > 
 > 
 > I'd use ".Ic ..." even if it's not interactive. Bold on my term.
 > 
 > 
 >>+.Ss Variables that can be used with the match-statement
 >>+Partial list of variables and their possible values that can be used together
 > 
 > 
 > "A partial"
 > 
 > 
 >>+Partial list of systems, subsystems and types used within the
 > 
 > 
 > Another comma.
 > 
 > 
 >>+Subsystem is the actual name of the network interface on which the event 
 > 
 > 
 > IMO, "Subsystem" needs special treatment beyond ".Li", probably quotes.
 > 
 > 
 >> Comments may appear anywhere that whitespace may appear in a
 >> configuration file.
 > 
 > 
 > I'll take the original manpage's word for it, but if it's really
 > a "shell construct" comment, then it can't appear at the beginning
 > of some whitespaces. For example try this with and without a
 > space before "#": sh -c 'aaa=bbb#ccc echo ddd$aaa'
 
 I confirmed this, devd(8) accepts " # foo" as a valid comment, so it's
 not relly a "shell construct" comment, more of a "shell construct"-like 
 comment.
 
 > 
 > 
 >> .Ed
 >>+.Sh EXAMPLES 
 >>+The file
 > 
 > 
 > Maybe "The installed" or "The distributed", because it might
 > not have the examples when the manpage is read.
 
 "The installed" sounds fine.
 
 > 
 > 
 >>+.Pa /etc/devd.conf
 >>+contains numerous of different examples.
 > 
 > 
 > "has many examples."
 > 
 > I wonder if that busy file doesn't belong in some "sample" directory.
 Yes, moving the obvious examples to sample file would probably be a good
 idea, keeping only the statements that is in use in /etc/devd.conf
 
 
 I have addressed all of the above issues (proper quoting, choice
 of words, .Va's and so on), but I'll wait until all issues are cleared
 before posting a second patch.
 
 	Fredrik Lindberg



More information about the freebsd-doc mailing list