summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick McCarty <patrick.mccarty@linux.intel.com>2012-07-10 16:41:53 -0700
committerPatrick McCarty <patrick.mccarty@linux.intel.com>2012-07-12 11:36:40 -0700
commitc8a08288074607c054e92ee7ac47d1acce7a6c05 (patch)
tree7a3a8ffab46456f89ef8361a3bd7fc0450370d0d
parent67b79a108da304d9284d010308f75285eb6dd556 (diff)
downloadpower-manager-c8a08288074607c054e92ee7ac47d1acce7a6c05.tar.gz
power-manager-c8a08288074607c054e92ee7ac47d1acce7a6c05.tar.bz2
power-manager-c8a08288074607c054e92ee7ac47d1acce7a6c05.zip
Add/install a systemd user service file
Additional details about this commit: - Calls `/usr/bin/pmctrl start` so that environment variables are initialized correctly and that the power manager will start. - Modifies the power manager udev rules to account for /dev/input/event0, and adds a rule to modify the group for /dev/input/event[0-9]* so that non-privileged users that are members of group "video" (for example, user "app") can read the input device nodes. Power manager requires read access for the input device nodes it is interested in. Change-Id: I94d3226780df1b579c01f7e2b15e7ec70c250fc1 Signed-off-by: Patrick McCarty <patrick.mccarty@linux.intel.com>
-rw-r--r--packaging/power-manager.changes3
-rw-r--r--packaging/power-manager.service12
-rw-r--r--packaging/power-manager.spec7
-rw-r--r--udev-rules/91-power-manager.rules.in8
4 files changed, 28 insertions, 2 deletions
diff --git a/packaging/power-manager.changes b/packaging/power-manager.changes
index 04391fa..50f7bac 100644
--- a/packaging/power-manager.changes
+++ b/packaging/power-manager.changes
@@ -1,3 +1,6 @@
+* Tue Jul 10 2012 Patrick McCarty <patrick.mccarty@linux.intel.com> 14b456f
+- Add/install a systemd user service file
+
* Tue Jul 10 2012 william.douglas@intel.com <william.douglas@intel.com> build/2012-07-04.095101@b69ceab
[ William Douglas ]
- Use "standby" for arm when turning the lcd on with xset.
diff --git a/packaging/power-manager.service b/packaging/power-manager.service
new file mode 100644
index 0000000..d3bd385
--- /dev/null
+++ b/packaging/power-manager.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Start the power manager service
+After=xorg.target
+Requires=xorg.target
+Before=e17.service
+
+[Service]
+Type=forking
+ExecStart=/usr/bin/pmctrl start
+
+[Install]
+WantedBy=core-efl.target
diff --git a/packaging/power-manager.spec b/packaging/power-manager.spec
index b09d591..20e06db 100644
--- a/packaging/power-manager.spec
+++ b/packaging/power-manager.spec
@@ -5,6 +5,7 @@ License: Flora License 1.0
Summary: Tizen Power manager
Group: System/Power Manager
Source0: %{name}-%{version}.tar.gz
+Source1: power-manager.service
Source1001: power-manager.manifest
BuildRequires: cmake
BuildRequires: pkgconfig(aul)
@@ -33,6 +34,10 @@ make %{?_smp_mflags}
%install
%make_install
+mkdir -p %{buildroot}%{_libdir}/systemd/user/core-efl.target.wants
+install -m 0644 %{SOURCE1} %{buildroot}%{_libdir}/systemd/user/power-manager.service
+ln -s ../power-manager.service %{buildroot}%{_libdir}/systemd/user/core-efl.target.wants/power-manager.service
+
mkdir -p %{buildroot}%{_sysconfdir}/rc.d/rc3.d/
mkdir -p %{buildroot}%{_sysconfdir}/rc.d/rc5.d/
@@ -56,5 +61,7 @@ fi
%{_bindir}/pm_event
%{_bindir}/pmctrl
%{_bindir}/power_manager
+%{_libdir}/systemd/user/power-manager.service
+%{_libdir}/systemd/user/core-efl.target.wants/power-manager.service
%{_datadir}/power-manager/udev-rules/91-power-manager.rules
diff --git a/udev-rules/91-power-manager.rules.in b/udev-rules/91-power-manager.rules.in
index 39c946a..45ffb59 100644
--- a/udev-rules/91-power-manager.rules.in
+++ b/udev-rules/91-power-manager.rules.in
@@ -1,3 +1,7 @@
#input(like bt)
-ACTION=="add" SUBSYSTEM=="input" DEVPATH=="*/input[1-9]*/event[1-9]*" RUN+="@PREFIX@/bin/pm_event add $DEVNAME"
-ACTION=="remove" SUBSYSTEM=="input" DEVPATH=="*/input[1-9]*/event[1-9]*" RUN+="@PREFIX@/bin/pm_event remove $DEVNAME"
+ACTION=="add" SUBSYSTEM=="input" DEVPATH=="*/input[0-9]*/event[0-9]*" RUN+="@PREFIX@/bin/pm_event add $DEVNAME"
+ACTION=="remove" SUBSYSTEM=="input" DEVPATH=="*/input[0-9]*/event[0-9]*" RUN+="@PREFIX@/bin/pm_event remove $DEVNAME"
+
+# Since power_manager is running as app user, make sure this user can read the input device nodes
+SUBSYSTEM=="input" DEVPATH=="*/input[0-9]*/event[0-9]*" GROUP="video"
+