diff options
Diffstat (limited to 'libre/xbmc-libre-lts/xbmc.install')
-rw-r--r-- | libre/xbmc-libre-lts/xbmc.install | 29 |
1 files changed, 19 insertions, 10 deletions
diff --git a/libre/xbmc-libre-lts/xbmc.install b/libre/xbmc-libre-lts/xbmc.install index 8076fe2d3..6e477d103 100644 --- a/libre/xbmc-libre-lts/xbmc.install +++ b/libre/xbmc-libre-lts/xbmc.install @@ -1,19 +1,28 @@ 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 -r xbmc - getent passwd xbmc > /dev/null || useradd -r -m -d /var/lib/xbmc -g xbmc xbmc - usermod -a -G xbmc,audio,video,network,optical xbmc - mkdir -p var/lib/xbmc - chown -R xbmc:xbmc var/lib/xbmc + update_icons + getent group xbmc > /dev/null || groupadd -g 420 xbmc + getent passwd xbmc > /dev/null || useradd -c 'XBMC user' -u 420 -g xbmc -G audio,video,network,optical -d /var/lib/xbmc -s /sbin/nologin xbmc + passwd -l xbmc > /dev/null } post_upgrade() { post_install $1 + if ! getent group xbmc | cut -d: -f3 | grep 420 > /dev/null 2>&1; then + groupmod -g 420 xbmc + fi + if ! id -u xbmc | grep 420 > /dev/null 2>&1; then + usermod -u 420 xbmc + chown -R xbmc:xbmc /var/lib/xbmc + fi } post_remove() { - [[ $(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 + update_icons + getent passwd xbmc > /dev/null 2>&1 && userdel xbmc + getent group xbmc > /dev/null 2>&1 && groupdel xbmc +} + +update_icons() { + type -p gtk-update-icon-cache > /dev/null 2>&1 && usr/bin/gtk-update-icon-cache -qtf usr/share/icons/hicolor + type -p update-desktop-database > /dev/null 2>&1 && usr/bin/update-desktop-database -q usr/share/applications } |