<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <p><br>
    </p>
    <br>
    <div class="moz-cite-prefix">On 11/28/2016 8:42 PM, Patrick Williams
      wrote:<br>
    </div>
    <blockquote cite="mid:20161129024216.GS15757@heinlein.lan"
      type="cite">
      <pre wrap="">On Mon, Nov 28, 2016 at 10:31:20AM -0600, Matt Spinler wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="">The command line in the unit file would then somehow make a 
udevadm call to pull out the ENVFILE so it can get passed into the 
executable along with the device path.
</pre>
      </blockquote>
      <pre wrap="">
This was a detail I missed before.  systemd service files natively have
the variable 'ENVFILE'.  If they don't automatically take the ENVFILE
from the environment (via udev invocation) then I would rather we use
unique systemd service files instead of unique udev rules.  Having the
systemd service file launch some kind of piped shell processing is
problematic and certainly not preferred.

</pre>
    </blockquote>
    <br>
    OK. The only way for the udev rule to send something directly into
    the service file is with the template parameter, and that needs to
    take the device path, since that isn't known ahead of time.  (Unless
    the service wants to parse its %i into multiple values?)<br>
    <br>
    So now I think the rule would look something like:<br>
    SUBSYSTEM=="hwmon", DEVPATH=="*i2c-3/3-0077/*", ACTION == "add",
    TAG+="systemd", ENV{SYSTEMD_WANTS}+=<a class="moz-txt-link-rfc2396E"
      href="mailto:phosphor-hwmon@/sys/class/hwmon/%k.service">"phosphor-hwmon-3-0077@/sys/class/hwmon/%k.service"</a><br>
    <br>
    and could use the Environment or EnvironmentFile directive in the
    generated device specific unit file to pick up threshold vars.<br>
    <br>
    Another issue I have is if the MRW should have the knowledge of if a
    device has a hwmon driver or not?  While it would make things a lot
    more simple if it did, I'm not sure if it's in its domain. If it
    doesn't, then it would either still generate rules and unit files
    for every I2C device and some just wouldn't get used, or we'd have
    to keep that knowledge in our tree somewhere.  <br>
    Thoughts on that?<br>
    <br>
  </body>
</html>