On Fri, 14.03.14 08:53, Peter Hutterer (peter.hutte...@who-t.net) wrote: > Hey, > > I have a service file wacom-inputattach@.service that is started from a udev > rule: > > SUBSYSTEM=="tty|pnp", KERNEL=="ttyS[0-9]*", ATTRS{id}=="WACf*", > TAG+="systemd", ENV{SYSTEMD_WANTS}+="wacom-inputattach@%k.service" > > and the service file then runs: > > ExecStart=/usr/bin/inputattach -w8001 /dev/%I > > That works fine, but now I need to pass a second parameter into the service > file. Ideally I want to run something like: > > ExecStart=/usr/bin/inputattach --baud $BAUD -w8001 /dev/%I > > I can set the baud rate based on ATTRS{id} in the udev rule, I just don't > know if there is a way to pass this to the service file. Is there a way to > do this or do I need to write a wrapper?
No this is currently not possible, instances can only have one instance identifier. Any chance you can maybe adapt inputattach to use simple libudev calls to read the props from the device on its own? That way the thing would always work, even if people call it from the command line? Should be like 10 lines of code or so. fstat(tty_fd, &st); udev = udev_new(); d = udev_device_new_from_devnum(udev, 'c', st.st_rdev); baud_str = udev_device_get_property_value(d, "WACOM_BAUDRATE"); baud = atoi(bau_str); udev_device_unref(d); udev_unref(udev); And then set WACOM_BAUDRATE from an udev rule. Lennart -- Lennart Poettering, Red Hat _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel