>>>> "GBC" == Gerald B Cox <gbcox(a)bzb.us>
To me this doesn't make much sense in the context in which you have put
it. The existing hardware activation section is just this paragraph:
Hardware activation occurs when a service is installed but only turns on
if a certain type of hardware is installed. Enabling of the service is
normally done with a udev rule. At this time we do not have further
guidance on how to write those udev rules. The service itself installs
its .service files in the normal places and are installed by the normal
systemd scriptlets. These services should never be enabled by the
package as they will be enabled by udev.
So if it only turns on if a certain type of hardware is installed, it
doesn't make sense to say "and make sure that the certain type of
hardware is actually installed".
It seems to me that your problem is not with hardware activated services
at all. The problem is that the services in question _should_ be
hardware activated, but they aren't. They're just started at boot even
when that makes no sense.
I don't disagree with the idea behind what you're proposing, but the
hardware activation section is quite the wrong place to put it.
It seems to me that a far more appropriate place would be in the
to the 'Restrictions' section a paragraph about how services which are
enabled by default must not *in the course of normal operation* fail to
start in such a way that system state is anything other than 'running'.
There you would mention that services which only function if certain
hardware is present, or may fail if certain hardware is not present,
must either be hardware activated [link to hardware activation section]
or must start conditionally.
Note that in general, hardware activation is about hotpluggable things,
so saned starts when you plug in a USB scanner or something like that.
I honestly have no idea if it can be leveraged to autostart something
like rngd if various hardware random number generators are available.