Index: PKGBUILD =================================================================== --- PKGBUILD (revision 104422) +++ PKGBUILD (working copy) @@ -10,7 +10,7 @@ pkgname=xbmc pkgver=12.3 _codename=Frodo -pkgrel=6 +pkgrel=7 pkgdesc="A software media player and entertainment hub for digital media" arch=('i686' 'x86_64') url="http://xbmc.org" @@ -20,13 +20,12 @@ 'glew' 'libssh' 'libmicrohttpd' 'libxrandr' 'sdl_mixer' 'sdl_image' 'python2' 'libass' 'libmpeg2' 'libmad' 'libmodplug' 'jasper' 'rtmpdump' 'unzip' 'mesa-demos' 'xorg-xdpyinfo' 'libbluray' 'libnfs' 'afpfs-ng' 'libshairport' 'avahi' 'bluez-libs' 'glu' - 'tinyxml' 'taglib' 'ffmpeg-compat') + 'tinyxml' 'taglib' 'ffmpeg-compat' 'upower') makedepends=('boost' 'cmake' 'gperf' 'nasm' 'libxinerama' 'zip' 'libvdpau' 'libcec' 'udisks' 'upower' 'mesa' 'doxygen' 'swig' 'java-environment') optdepends=('libcec: support for Pulse-Eight USB-CEC adapter' 'lirc: remote controller support' 'udisks: automount external drives' - 'upower: used to trigger suspend functionality' 'unrar: access compressed files without unpacking them' 'xorg-xinit: autostart xbmc') install="${pkgname}.install" @@ -36,7 +35,7 @@ "libass.patch::https://bugs.archlinux.org/index.php?getfile=11285") md5sums=('7ae385ebf8e5cfcb917393235e6efbdb' '8312d6d4ac5d7c3d9eed40ab08a17d3b' - 'd4cbb6609c8e7b713c714241f529000e' + '02f7951824ee13103344f36009c0ef2a' '7fd6399d2ffbdf06b724f0cc2efa0784') prepare() { Index: polkit.rules =================================================================== --- polkit.rules (revision 104422) +++ polkit.rules (working copy) @@ -1,11 +1,12 @@ polkit.addRule(function(action, subject) { - if (action.id.match("org.freedesktop.login1.") && subject.isInGroup("power")) { - return polkit.Result.YES; - } + if (subject.user == "xbmc") { + polkit.log("action=" + action); + polkit.log("subject=" + subject); + if (action.id.indexOf("org.freedesktop.login1.") == 0) { + return polkit.Result.YES; + } + if (action.id.indexOf("org.freedesktop.udisks.") == 0) { + return polkit.Result.YES; + } + } }); - -polkit.addRule(function(action, subject) { - if (action.id.indexOf("org.freedesktop.udisks") == 0 && subject.isInGroup("storage")) { - return polkit.Result.YES; - } -}); Index: xbmc.install =================================================================== --- xbmc.install (revision 104422) +++ xbmc.install (working copy) @@ -1,10 +1,10 @@ post_install() { [[ $(type -p gtk-update-icon-cache) ]] && usr/bin/gtk-update-icon-cache -qtf usr/share/icons/hicolor [[ $(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 + getent group xbmc > /dev/null || groupadd -r xbmc + getent passwd xbmc > /dev/null || useradd -r -m -d /var/lib/xbmc -g xbmc xbmc usermod -a -G xbmc,audio,video,power,network,optical,storage,disk xbmc - chown -R 102:0 etc/polkit-1 + chown -R xbmc:xbmc var/lib/xbmc } post_upgrade() { @@ -12,6 +12,7 @@ } post_remove() { - post_install $1 - echo "You may want to remove xbmc user and group" + [[ $(type -p gtk-update-icon-cache) ]] && usr/bin/gtk-update-icon-cache -qtf usr/share/icons/hicolor + [[ $(type -p update-desktop-database) ]] && usr/bin/update-desktop-database -q usr/share/applications + getent passwd xbmc > /dev/null || userdel xbmc }