diff options
-rw-r--r-- | libre/xbmc-libre/PKGBUILD | 12 | ||||
-rw-r--r-- | libre/xbmc-libre/polkit.rules | 11 | ||||
-rw-r--r-- | libre/xbmc-libre/xbmc.install | 2 | ||||
-rw-r--r-- | libre/xbmc-libre/xbmc.service | 4 |
4 files changed, 21 insertions, 8 deletions
diff --git a/libre/xbmc-libre/PKGBUILD b/libre/xbmc-libre/PKGBUILD index 23d389d52..a251e5de5 100644 --- a/libre/xbmc-libre/PKGBUILD +++ b/libre/xbmc-libre/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 100487 2013-11-05 08:57:03Z bpiotrowski $ +# $Id: PKGBUILD 101586 2013-11-28 11:19:57Z spupykin $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Contributor: Brad Fanella <bradfanella@archlinux.us> # Contributor: [vEX] <niechift.dot.vex.at.gmail.dot.com> @@ -10,7 +10,7 @@ _prefix=/usr _pkgname=xbmc pkgname=xbmc-libre pkgver=12.2 -pkgrel=6 +pkgrel=7 pkgdesc="A software media player and entertainment hub for digital media, with libarchive recommendation" arch=('i686' 'x86_64') url="http://xbmc.org" @@ -35,9 +35,11 @@ replaces=$_pkgname conflicts=$_pkgname provides=$_pkgname=$pkgver source=("http://mirrors.xbmc.org/releases/source/xbmc-$pkgver.tar.gz" - "xbmc.service") + "xbmc.service" + "polkit.rules") md5sums=('489f3877decae4e265ece54f9eaef0ba' - '76fae229ebc3bcfaab7e7f27e4fb51f5') + '8312d6d4ac5d7c3d9eed40ab08a17d3b' + 'd4cbb6609c8e7b713c714241f529000e') build() { cd "${srcdir}/xbmc-$pkgver" @@ -110,7 +112,7 @@ package() { mv "${pkgdir}${_prefix}/share/doc/xbmc/${licensef}" "${pkgdir}${_prefix}/share/licenses/${_pkgname}" done - # 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 } # vim:set ts=2 sw=2 et: diff --git a/libre/xbmc-libre/polkit.rules b/libre/xbmc-libre/polkit.rules new file mode 100644 index 000000000..5bc7e69f5 --- /dev/null +++ b/libre/xbmc-libre/polkit.rules @@ -0,0 +1,11 @@ +polkit.addRule(function(action, subject) { + if (action.id.match("org.freedesktop.login1.") && subject.isInGroup("power")) { + return polkit.Result.YES; + } +}); + +polkit.addRule(function(action, subject) { + if (action.id.indexOf("org.freedesktop.udisks") == 0 && subject.isInGroup("storage")) { + return polkit.Result.YES; + } +}); diff --git a/libre/xbmc-libre/xbmc.install b/libre/xbmc-libre/xbmc.install index b104b33e8..0947fcf0c 100644 --- a/libre/xbmc-libre/xbmc.install +++ b/libre/xbmc-libre/xbmc.install @@ -3,7 +3,7 @@ post_install() { [[ $(type -p update-desktop-database) ]] && usr/bin/update-desktop-database -q usr/share/applications getent group xbmc > /dev/null || groupadd xbmc getent passwd xbmc > /dev/null || useradd -m -d /var/lib/xbmc -g xbmc xbmc - usermod -a -G xbmc,audio,video,power,network,optical,storage,disk xbmc + usermod -a -G xbmc,audio,video,power,network,optical,storage,disk,upower,udisks xbmc } post_upgrade() { diff --git a/libre/xbmc-libre/xbmc.service b/libre/xbmc-libre/xbmc.service index 431582f1b..b6430e255 100644 --- a/libre/xbmc-libre/xbmc.service +++ b/libre/xbmc-libre/xbmc.service @@ -6,8 +6,8 @@ After = remote-fs.target User = xbmc Group = xbmc Type = simple -ExecStart = /usr/bin/xinit /usr/bin/xbmc-standalone -- :0 -nolisten tcp -Restart = always +ExecStart = /usr/bin/xinit /usr/bin/xbmc-standalone -l /run/lirc/lircd -- :0 -nolisten tcp +Restart = on-abort [Install] WantedBy = multi-user.target |