On Thu, 31.07.14 16:55, Ivan Shapovalov (intelfx...@gmail.com) wrote: > Hello all, > > I'm trying to start from an udev rule a templated systemd unit, whose instance > should be a properly escaped device node path (so that %i.device would > represent > an existing unit). Which udev specifier should I use for this? > > Or, in more clear wording: > > given the rule: > > ACTION=="add", ..., TAG+="systemd", > ENV{SYSTEMD_WANTS}+="foo@$some_specifier.service" > > and the unit foo@.service: > > [Unit] > After=%i.device > BindsTo=%i.device > ... > > Which $some_specifier should I use in the udev rule to get %i.device in > my service file to refer to the valid and corresponding device unit? > > The closest match I've got is "sys%p", but it does not work because dashes > are not > escaped, and I get > "sys-devices-pci0000:00-0000:00:1d.0-usb4-4-1-4-1.2.device" > instead of > "sys-devices-pci0000:00-0000:00:1d.0-usb4-4\x2d1-4\x2d1.2.device" > and so on.
Can you invoke systemd-escape from the udev rule? Lennart -- Lennart Poettering, Red Hat _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel