alarm/xbmc-rbp fix polkit rules; update .install

This commit is contained in:
moonman 2014-01-28 03:45:38 -07:00
parent ad2b1a20a4
commit 591c05a30c
3 changed files with 23 additions and 22 deletions

View file

@ -2,7 +2,7 @@
# Contributor WarheadsSE <max@warheads.net>
pkgname=xbmc-rbp
pkgver=12.2
pkgrel=6
pkgrel=7
buildarch=16
pkgdesc="A software media player and entertainment hub for digital media for the Raspberry Pi"
@ -15,7 +15,7 @@ makedepends=('boost' 'cmake' 'gperf' 'nasm' 'zip' 'udisks' 'upower' 'git' 'autoc
optdepends=(
'lirc: remote controller support'
'udisks: automount external drives'
'upower: used to trigger suspend functionality'
'upower: used to trigger power management functionality'
'unrar: access compressed files without unpacking them'
)
provides=("xbmc")
@ -28,7 +28,7 @@ source=("http://mirrors.xbmc.org/releases/source/xbmc-${pkgver}.tar.gz"
md5sums=('489f3877decae4e265ece54f9eaef0ba'
'fc6a925a09ba1b13d84daf1121b42ab9'
'd4cbb6609c8e7b713c714241f529000e'
'02f7951824ee13103344f36009c0ef2a'
'4e28664d3e0df08e08dba5b09a855ced')
_prefix=/usr
@ -113,8 +113,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
chmod 0755 $pkgdir/etc/polkit-1/rules.d/
install -Dm0644 $srcdir/polkit.rules $pkgdir/usr/share/polkit-1/rules.d/10-xbmc.rules
chmod 0700 $pkgdir/usr/share/polkit-1/rules.d/
}

View file

@ -1,11 +1,12 @@
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;
}
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;
}
}
});

View file

@ -1,14 +1,14 @@
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
echo "****************************************************************"
mkdir -p var/lib/xbmc
chown -R xbmc:xbmc var/lib/xbmc
echo ""
echo "If xbmc systemd service does not start, try adding a udev rule:"
echo "echo 'SUBSYSTEM==\"vchiq\",GROUP=\"video\",MODE=\"0660\"' > /etc/udev/rules.d/10-vchiq-permissions.rules"
echo "****************************************************************"
}
post_upgrade() {
@ -16,6 +16,7 @@ post_upgrade() {
}
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
}