From a754b1a7e95f9749ad13c8e0dd65c494bc97d05d Mon Sep 17 00:00:00 2001 From: Nedim Lisica Date: Thu, 26 Dec 2013 16:41:13 +0100 Subject: [PATCH 1/3] By default, xbmc is listening on deprecated lirc socket. Sync xbmc.service with upstream to listen on /run/lirc/lircd. Add polkit rules to allow xbmc group to manage power and udisks. --- alarm/xbmc-rbp-git/PKGBUILD | 8 +++++--- alarm/xbmc-rbp-git/xbmc.service | 4 ++-- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/alarm/xbmc-rbp-git/PKGBUILD b/alarm/xbmc-rbp-git/PKGBUILD index 2a5f0f0cf..5b2342a4f 100644 --- a/alarm/xbmc-rbp-git/PKGBUILD +++ b/alarm/xbmc-rbp-git/PKGBUILD @@ -22,8 +22,10 @@ optdepends=( provides=("xbmc") conflicts=("xbmc") install="xbmc.install" -source=('xbmc.service') -md5sums=('36780e43d432c488259d9a899b1bcb28') +source=('xbmc.service' + 'polkit.rules') +md5sums=('4fe0ed48de968fe3778fa8765d1647f3' + 'db407faa4beb83b6368fc65ba9bc9507') _gitname="xbmc" _gitroot="git://github.com/xbmc" @@ -114,5 +116,5 @@ package() { # systemd stuff install -Dm0644 $srcdir/xbmc.service $pkgdir/usr/lib/systemd/system/xbmc.service - + install -Dm0644 $srcdir/polkit.rules $pkgdir/etc/polkit-1/rules.d/10-xbmc.rules } diff --git a/alarm/xbmc-rbp-git/xbmc.service b/alarm/xbmc-rbp-git/xbmc.service index c7e929c13..91396015f 100644 --- a/alarm/xbmc-rbp-git/xbmc.service +++ b/alarm/xbmc-rbp-git/xbmc.service @@ -6,8 +6,8 @@ After = remote-fs.target User = xbmc Group = xbmc Type = simple -ExecStart = /usr/bin/xbmc-standalone -Restart = on-failure +ExecStart = /usr/bin/xinit /usr/bin/xbmc-standalone -l /run/lirc/lircd -- :0 -nolisten tcp +Restart = on-abort [Install] WantedBy = multi-user.target From 65b4b1e63d906e51003a4e89344ec34f4cca921e Mon Sep 17 00:00:00 2001 From: Nedim Lisica Date: Fri, 27 Dec 2013 12:41:08 +0100 Subject: [PATCH 2/3] Add polkit.rules and remove xinit from service. --- alarm/xbmc-rbp-git/PKGBUILD | 2 +- alarm/xbmc-rbp-git/xbmc.service | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/alarm/xbmc-rbp-git/PKGBUILD b/alarm/xbmc-rbp-git/PKGBUILD index 5b2342a4f..d502716fe 100644 --- a/alarm/xbmc-rbp-git/PKGBUILD +++ b/alarm/xbmc-rbp-git/PKGBUILD @@ -24,7 +24,7 @@ conflicts=("xbmc") install="xbmc.install" source=('xbmc.service' 'polkit.rules') -md5sums=('4fe0ed48de968fe3778fa8765d1647f3' +md5sums=('55e6d3aab86e810c49a7f550be5b7f69' 'db407faa4beb83b6368fc65ba9bc9507') _gitname="xbmc" diff --git a/alarm/xbmc-rbp-git/xbmc.service b/alarm/xbmc-rbp-git/xbmc.service index 91396015f..afc62f1f0 100644 --- a/alarm/xbmc-rbp-git/xbmc.service +++ b/alarm/xbmc-rbp-git/xbmc.service @@ -6,8 +6,8 @@ After = remote-fs.target User = xbmc Group = xbmc Type = simple -ExecStart = /usr/bin/xinit /usr/bin/xbmc-standalone -l /run/lirc/lircd -- :0 -nolisten tcp -Restart = on-abort +ExecStart = /usr/bin/xbmc-standalone -l /run/lirc/lircd +Restart = on-failure [Install] WantedBy = multi-user.target From 716f3f14053dcffa8d029b75bb3daa99cd858315 Mon Sep 17 00:00:00 2001 From: Nedim Lisica Date: Fri, 27 Dec 2013 16:48:31 +0100 Subject: [PATCH 3/3] Polkit rules, take 3. --- alarm/xbmc-rbp-git/polkit.rules | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 alarm/xbmc-rbp-git/polkit.rules diff --git a/alarm/xbmc-rbp-git/polkit.rules b/alarm/xbmc-rbp-git/polkit.rules new file mode 100644 index 000000000..2ed55f3d3 --- /dev/null +++ b/alarm/xbmc-rbp-git/polkit.rules @@ -0,0 +1,11 @@ +polkit.addRule(function(action, subject) { + if (action.id.match("org.freedesktop.login1.") && subject.isInGroup("xbmc")) { + return polkit.Result.YES; + } +}); + +polkit.addRule(function(action, subject) { + if (action.id.indexOf("org.freedesktop.udisks") == 0 && subject.isInGroup("xbmc")) { + return polkit.Result.YES; + } +});