<term><option>-N</option></term>
<term><option>--resolve-names=<constant>early</constant>|<constant>late</constant>|<constant>never</constant></option></term>
<listitem>
- <para>Specify when udevadm should resolve names of users
- and groups. When set to <constant>early</constant> (the
- default), names will be resolved when the rules are
- parsed. When set to <constant>late</constant>, names will
- be resolved for every event. When set to
- <constant>never</constant>, names will never be resolved
- and all devices will be owned by root.</para>
+ <para>Specify when <command>udevadm</command> should resolve names of users and groups specified
+ in udev rules. When set to <constant>early</constant> (the default), names will be resolved when
+ the rules are parsed. When set to <constant>late</constant>, names will be resolved during the
+ event being processed. When set to <constant>never</constant>, names will never be resolved and
+ relevant udev rules will be ignored.</para>
<xi:include href="version-info.xml" xpointer="v209"/>
</listitem>
<variablelist>
<varlistentry>
<term><option>-N</option></term>
- <term><option>--resolve-names=<constant>early</constant>|<constant>never</constant></option></term>
+ <term><option>--resolve-names=<constant>early</constant>|<constant>late</constant>|<constant>never</constant></option></term>
<listitem>
- <para>Specify when udevadm should resolve names of users
- and groups. When set to <constant>early</constant> (the
- default), names will be resolved when the rules are
- parsed. When set to <constant>never</constant>, names will
- never be resolved.</para>
+ <para>Specify when <command>udevadm</command> should resolve names of users and groups specified
+ in udev rules. When set to <constant>early</constant> (the default), names will be resolved when
+ the rules are parsed. When set to <constant>late</constant>, names will not be verified, as
+ <command>systemd-udevd</command> resolves names during each event being processed. When set to
+ <constant>never</constant>, names will never be resolved and relevant rules will be ignored.
+ </para>
<xi:include href="version-info.xml" xpointer="v254"/>
</listitem>
comps=$( udevadm test --action help )
;;
-N|--resolve-names)
- comps='early late never'
+ comps=$( udevadm test --resolve-names help )
;;
-D|--extra-rules-dir)
comps=''
if __contains_word "$prev" ${OPTS[VERIFY_ARG]}; then
case $prev in
-N|--resolve-names)
- comps='early never'
+ comps=$( udevadm test --resolve-names help )
;;
--root)
comps=''
'(-)'{-h,--help}'[Show help]' \
'(-)'{-V,--version}'[Show package version]' \
'--action=[The action string.]:actions:(add change remove move online offline bind unbind)' \
- '--subsystem=[The subsystem string.]' \
+ '(-N --resolve-names)'{-N,--resolve-names=}'[When to resolve names.]:resolve:(early late never)' \
+ '--subsystem=[The subsystem string.]' \
'(-D --extra-rules-dir=)'{-D,--extra-rules-dir=}'[Also load rules from the directory.]' \
'(-v --verbose)'{-v,--verbose}'[Show verbose logs.]' \
'*::devpath:_files -P /sys/ -W /sys'
_arguments \
'(- *)'{-h,--help}'[Show help]' \
'(- *)'{-V,--version}'[Show package version]' \
- '(-N --resolve-names)'{-N+,--resolve-names=}'[When to resolve names.]:resolve:(early never)' \
+ '(-N --resolve-names)'{-N,--resolve-names=}'[When to resolve names.]:resolve:(early late never)' \
'--root=[Operate on catalog hierarchy under specified directory]:directories:_directories' \
--no-summary'[Do not show summary.]' \
--no-style'[Ignore style issues.]' \
"\n%sVerify udev rules files.%s\n\n"
" -h --help Show this help\n"
" -V --version Show package version\n"
- " -N --resolve-names=early|never When to resolve names\n"
+ " -N --resolve-names=early|late|never When to resolve names\n"
" --root=PATH Operate on an alternate filesystem root\n"
" --no-summary Do not show summary\n"
" --no-style Ignore style issues\n"
r = parse_resolve_name_timing(optarg, &arg_resolve_name_timing);
if (r <= 0)
return r;
- /*
- * In the verifier "late" has the effect of "never",
- * and "never" would generate irrelevant diagnostics,
- * so map "never" to "late".
- */
- if (arg_resolve_name_timing == RESOLVE_NAME_NEVER)
- arg_resolve_name_timing = RESOLVE_NAME_LATE;
break;
case ARG_ROOT:
r = parse_path_argument(optarg, /* suppress_root= */ true, &arg_root);
test('udev-rules-check',
exe,
suite : 'udev',
- args : ['verify', '--resolve-names=never', all_rules])
+ args : ['verify', '--resolve-names=late', all_rules])
endif
############################################################
assert_0 --help
assert_0 -V
assert_0 --version
+assert_0 -N help
+assert_0 --resolve-names help
# unrecognized option '--unknown'
assert_1 --unknown
assert_1 -N now
# option '--resolve-names' requires an argument
assert_1 --resolve-names
-# --resolve-names= takes "early" or "never"
+# --resolve-names= takes "early", "late", or "never"
assert_1 --resolve-names=now
# Failed to parse rules file ./nosuchfile: No such file or directory
assert_1 ./nosuchfile