--- /dev/null
+SUBSYSTEM!="input", GOTO="sensor_rules_end"
+ENV{ID_INPUT_TOUCHPAD}=="1", GOTO="sensor_rules_end"
+ENV{ID_INPUT_TOUCHSCREEN}=="1", GOTO="sensor_rules_end"
+ENV{ID_INPUT_KEY}=="1", GOTO="sensor_rules_end"
+ENV{ID_INPUT_KEYPAD}=="1", GOTO="sensor_rules_end"
+ENV{ID_INPUT_KEYBOARD}=="1", GOTO="sensor_rules_end"
+ENV{ID_INPUT_MOUSE}=="1", GOTO="sensor_rules_end"
+ENV{ID_INPUT_JOYSTICK}=="1", GOTO="sensor_rules_end"
+
+SUBSYSTEM=="input", ACTION=="add", RUN+="/bin/chown sensor:sensor %S/%p/enable %S/%p/poll_delay"
+SUBSYSTEM=="input", ACTION=="add", RUN+="/bin/chsmack -a * %S/%p/enable %S/%p/poll_delay"
+
+LABEL="sensor_rules_end"
Description=Sensor Daemon
[Service]
+User=sensor
+Group=sensor
Type=notify
ExecStart=/usr/bin/sensord
Restart=always
Source1: sensord.service
Source2: sensord_command.socket
Source3: sensord_event.socket
-
+Source4: 99-sensor.rules
BuildRequires: cmake
BuildRequires: libattr-devel
%make_install
mkdir -p %{buildroot}%{_unitdir}
+mkdir -p %{buildroot}%{_libdir}/udev/rules.d
install -m 0644 %SOURCE1 %{buildroot}%{_unitdir}
install -m 0644 %SOURCE2 %{buildroot}%{_unitdir}
install -m 0644 %SOURCE3 %{buildroot}%{_unitdir}
+install -m 0644 %SOURCE4 %{buildroot}%{_libdir}/udev/rules.d
%install_service multi-user.target.wants sensord.service
%install_service sockets.target.wants sensord_event.socket
%{_unitdir}/multi-user.target.wants/sensord.service
%{_unitdir}/sockets.target.wants/sensord_command.socket
%{_unitdir}/sockets.target.wants/sensord_event.socket
+%{_libdir}/udev/rules.d/99-sensor.rules
%license LICENSE.APLv2
%files -n libsensord
Description=Sensor command socket
[Socket]
+SocketUser=sensor
+SocketGroup=sensor
ListenStream=/tmp/sensord_command_socket
SocketMode=0777
PassCredentials=yes
Accept=false
SmackLabelIPIn=*
SmackLabelIPOut=@
+Service=sensord.service
Description=Sensor event socket
[Socket]
+SocketUser=sensor
+SocketGroup=sensor
ListenSequentialPacket=/tmp/sensord_event_socket
SocketMode=0777
PassCredentials=yes