diff options
author | Patrick McCarty <patrick.mccarty@linux.intel.com> | 2012-07-10 16:41:53 -0700 |
---|---|---|
committer | Patrick McCarty <patrick.mccarty@linux.intel.com> | 2012-07-12 11:36:40 -0700 |
commit | c8a08288074607c054e92ee7ac47d1acce7a6c05 (patch) | |
tree | 7a3a8ffab46456f89ef8361a3bd7fc0450370d0d | |
parent | 67b79a108da304d9284d010308f75285eb6dd556 (diff) | |
download | power-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.changes | 3 | ||||
-rw-r--r-- | packaging/power-manager.service | 12 | ||||
-rw-r--r-- | packaging/power-manager.spec | 7 | ||||
-rw-r--r-- | udev-rules/91-power-manager.rules.in | 8 |
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" + |