> ---------------------------------------------------------------------- > (0004926) geoffclare (manager) - 2020-08-19 09:22 > https://austingroupbugs.net/view.php?id=1392#c4926 > ----------------------------------------------------------------------
> I think we should issue a "standard is silent" interpretation, thus > allowing both behaviours for Issue 7, but we should make a change in Issue > 8 to require the BSD behaviour. I started looking into a wording change for this, but I'm not too keen on where it would end up. It would have a particular difference from chmod that would "stick out like a sore thumb", which is that when '=' is used without a "who", find ignores the umask but chmod uses it. Is that what BSD find does? Or is it consistent with chmod here (contrary to what the standard requires)? Perhaps we should allow the difference but recommend against it. Something like this: The <i>mode</i> argument is used to represent file mode bits. It shall be processed in an identical matter to the <i>symbolic_mode</i> operand described in <i>chmod</i>, except that: 1. The changes to file mode bits shall be applied to a template instead of to any files. The template shall initially have all file mode bits cleared. 2. The <i>op</i> symbol '-' cannot be the first character of <i>mode</i>; this avoids ambiguity with the optional leading <hyphen-minus>. Since the initial mode is all bits off, there are not any symbolic modes that need to use '-' as the first character. 3. The <i>find</i> utility may, but should not, disregard the contents of the file mode creation mask of the process when the <i>op</i> symbol '=' is used without <b>who</b> being specified. If the <hyphen-minus> is omitted, ... with a note in FUTURE DIRECTIONS: A future version of this standard may require that the <b>-perm</b> primary uses the file mode creation mask in an identical manner to the way <i>chmod</i> uses it in the <i>symbolic_mode</i> operand. -- Geoff Clare <g.cl...@opengroup.org> The Open Group, Apex Plaza, Forbury Road, Reading, RG1 1AX, England