aboutsummaryrefslogtreecommitdiff
path: root/tools/Linux
diff options
context:
space:
mode:
authorwattazoum <wattazoum@svn>2009-11-26 23:05:33 +0000
committerwattazoum <wattazoum@svn>2009-11-26 23:05:33 +0000
commit1cefa6dde4b026af6b2528f7c1b6d580cdba61b9 (patch)
tree9a9f34861f3230f9e03f2c8a925f07b841307764 /tools/Linux
parent55b1b575a15270a9a89481409dd3980e6dd05dcd (diff)
[packaging] move debian folder to allow other type of packaging to put their script
git-svn-id: https://xbmc.svn.sourceforge.net/svnroot/xbmc/trunk@25077 568bbfeb-2a22-0410-94d2-cc84cf5bfa90
Diffstat (limited to 'tools/Linux')
-rw-r--r--tools/Linux/debian/xbmc-live.postinst119
-rw-r--r--tools/Linux/packaging/debian/README.Debian (renamed from tools/Linux/debian/README.Debian)0
-rw-r--r--tools/Linux/packaging/debian/README.source (renamed from tools/Linux/debian/README.source)0
-rw-r--r--tools/Linux/packaging/debian/changelog (renamed from tools/Linux/debian/changelog)0
-rw-r--r--tools/Linux/packaging/debian/compat (renamed from tools/Linux/debian/compat)0
-rw-r--r--tools/Linux/packaging/debian/control (renamed from tools/Linux/debian/control)0
-rw-r--r--tools/Linux/packaging/debian/copyright (renamed from tools/Linux/debian/copyright)0
-rwxr-xr-xtools/Linux/packaging/debian/rules (renamed from tools/Linux/debian/rules)0
-rw-r--r--tools/Linux/packaging/debian/source/format (renamed from tools/Linux/debian/source/format)0
-rw-r--r--tools/Linux/packaging/debian/watch (renamed from tools/Linux/debian/watch)0
-rw-r--r--tools/Linux/packaging/debian/xbmc-bin.install (renamed from tools/Linux/debian/xbmc-bin.install)0
-rw-r--r--tools/Linux/packaging/debian/xbmc-data.docs (renamed from tools/Linux/debian/xbmc-data.docs)0
-rw-r--r--tools/Linux/packaging/debian/xbmc-data.install (renamed from tools/Linux/debian/xbmc-data.install)0
-rw-r--r--tools/Linux/packaging/debian/xbmc-data.manpages (renamed from tools/Linux/debian/xbmc-data.manpages)0
-rw-r--r--tools/Linux/packaging/debian/xbmc-data.menu (renamed from tools/Linux/debian/xbmc-data.menu)0
-rw-r--r--tools/Linux/packaging/debian/xbmc-eventclients-common.install (renamed from tools/Linux/debian/xbmc-eventclients-common.install)0
-rw-r--r--tools/Linux/packaging/debian/xbmc-eventclients-dev.examples (renamed from tools/Linux/debian/xbmc-eventclients-dev.examples)0
-rw-r--r--tools/Linux/packaging/debian/xbmc-eventclients-dev.install (renamed from tools/Linux/debian/xbmc-eventclients-dev.install)0
-rw-r--r--tools/Linux/packaging/debian/xbmc-eventclients-j2me.install (renamed from tools/Linux/debian/xbmc-eventclients-j2me.install)0
-rw-r--r--tools/Linux/packaging/debian/xbmc-eventclients-j2me.manpages (renamed from tools/Linux/debian/xbmc-eventclients-j2me.manpages)0
-rw-r--r--tools/Linux/packaging/debian/xbmc-eventclients-ps3.install (renamed from tools/Linux/debian/xbmc-eventclients-ps3.install)0
-rw-r--r--tools/Linux/packaging/debian/xbmc-eventclients-ps3.manpages (renamed from tools/Linux/debian/xbmc-eventclients-ps3.manpages)0
-rw-r--r--tools/Linux/packaging/debian/xbmc-eventclients-wiiremote.install (renamed from tools/Linux/debian/xbmc-eventclients-wiiremote.install)0
-rw-r--r--tools/Linux/packaging/debian/xbmc-eventclients-wiiremote.manpages (renamed from tools/Linux/debian/xbmc-eventclients-wiiremote.manpages)0
-rwxr-xr-xtools/Linux/packaging/debian/xbmc-get-orig-source (renamed from tools/Linux/debian/xbmc-get-orig-source)0
-rwxr-xr-xtools/Linux/packaging/debian/xbmc-live.init169
-rw-r--r--tools/Linux/packaging/debian/xbmc-live.install (renamed from tools/Linux/debian/xbmc-live.install)0
-rw-r--r--tools/Linux/packaging/debian/xbmc-live.manpages (renamed from tools/Linux/debian/xbmc-live.manpages)0
-rwxr-xr-xtools/Linux/packaging/debian/xbmc-live.postinst147
-rwxr-xr-xtools/Linux/packaging/debian/xbmc-live.postrm76
-rw-r--r--tools/Linux/packaging/debian/xbmc-scripts-example.install (renamed from tools/Linux/debian/xbmc-scripts-example.install)0
-rw-r--r--tools/Linux/packaging/debian/xbmc-skin-confluence.install (renamed from tools/Linux/debian/xbmc-skin-confluence.install)0
-rw-r--r--tools/Linux/packaging/debian/xbmc-skin-pm3-hd.install (renamed from tools/Linux/debian/xbmc-skin-pm3-hd.install)0
-rw-r--r--tools/Linux/packaging/debian/xbmc-skin-pm3-hd.links (renamed from tools/Linux/debian/xbmc-skin-pm3-hd.links)0
-rw-r--r--tools/Linux/packaging/debian/xbmc-standalone.install (renamed from tools/Linux/debian/xbmc-standalone.install)0
-rw-r--r--tools/Linux/packaging/debian/xbmc-standalone.manpages (renamed from tools/Linux/debian/xbmc-standalone.manpages)0
-rw-r--r--tools/Linux/packaging/debian/xbmc-web-pm3.install (renamed from tools/Linux/debian/xbmc-web-pm3.install)0
-rw-r--r--tools/Linux/packaging/debian/xbmc.lintian-overrides (renamed from tools/Linux/debian/xbmc.lintian-overrides)0
38 files changed, 392 insertions, 119 deletions
diff --git a/tools/Linux/debian/xbmc-live.postinst b/tools/Linux/debian/xbmc-live.postinst
deleted file mode 100644
index 2a59f13a31..0000000000
--- a/tools/Linux/debian/xbmc-live.postinst
+++ /dev/null
@@ -1,119 +0,0 @@
-#!/bin/sh
-
-set -e
-
-case "$1" in
- configure)
- # TODO: What's the purpose of this line? As I see it, if 'xbmc' can't
- # get a console session going, we're in trouble anyway. ceros
- sed -i.bak-xbmc-live s/allowed_users=console/allowed_users=anybody/ /etc/X11/Xwrapper.config
-
- # Add the 'xbmc' user
- if ! getent passwd xbmc >/dev/null; then
- adduser \
- --gecos "XBMC Live User" \
- --disabled-password \
- xbmc >/dev/null
- fi
- # Add 'xbmc' user to the appropriate groups
- # TODO: this probably isn't necessary anymore as PolicyKit is now being
- # used
- # For reading system logs (still not sure why xbmc needs this though)
- if ! getent group adm | grep xbmc > /dev/null; then
- adduser xbmc adm || true
- fi
- # For optical disc drive access
- if ! getent group cdrom | grep xbmc > /dev/null; then
- adduser xbmc cdrom || true
- fi
- # For floppy drive access
- if ! getent group floppy | grep xbmc > /dev/null; then
- adduser xbmc floppy || true
- fi
- # For audio device access
- if ! getent group audio | grep xbmc > /dev/null; then
- adduser xbmc audio || true
- fi
- # For video device access
- if ! getent group video | grep xbmc > /dev/null; then
- adduser xbmc video || true
- fi
- # To enable automatic notifications of new devices
- if ! getent group plugdev | grep xbmc > /dev/null; then
- adduser xbmc plugdev || true
- fi
- # For managing network connections via NetworkManager
- if ! getent group netdev | grep xbmc > /dev/null; then
- adduser xbmc netdev || true
- fi
- # To be able to hibernate/suspend
- if ! getent group powerdev | grep xbmc > /dev/null; then
- adduser xbmc powerdev || true
- fi
- # To be able to mount filesystems as normal user
- if ! getent group fuse | grep xbmc > /dev/null; then
- adduser xbmc fuse || true
- fi
-
- # Our set of PolicyKit actions
-
- # This is a list of actions that the 'xbmc' user should be allowed to
- # do. If we missed one, or we have one that's not necessary, please
- # submit a bug report.
- POLKIT_ACTIONS="org.freedesktop.hal.dockstation.undock
- org.freedesktop.hal.wol.enabled
- org.freedesktop.hal.wol.enable
- org.freedesktop.hal.wol.supported
- org.freedesktop.hal.leds.brightness
- org.freedesktop.hal.device-access.audio-player
- org.freedesktop.hal.device-access.camera
- org.freedesktop.hal.device-access.cdrom
- org.freedesktop.hal.device-access.dvb
- org.freedesktop.hal.device-access.fingerprint-reader
- org.freedesktop.hal.device-access.floppy
- org.freedesktop.hal.device-access.ieee1394-avc
- org.freedesktop.hal.device-access.ieee1394-iidc
- org.freedesktop.hal.device-access.joystick
- org.freedesktop.hal.device-access.mouse
- org.freedesktop.hal.device-access.obex
- org.freedesktop.hal.device-access.pda
- org.freedesktop.hal.device-access.printer
- org.freedesktop.hal.device-access.scanner
- org.freedesktop.hal.device-access.sound
- org.freedesktop.hal.device-access.video
- org.freedesktop.hal.device-access.video4linux
- org.freedesktop.hal.lock
- org.freedesktop.hal.killswitch.bluetooth
- org.freedesktop.hal.killswitch.wlan
- org.freedesktop.hal.killswitch.wwan
- org.freedesktop.hal.storage.mount-removable
- org.freedesktop.hal.storage.eject
- org.freedesktop.hal.storage.crypto-setup-removable
- org.freedesktop.hal.power-management.shutdown
- org.freedesktop.hal.power-management.reboot
- org.freedesktop.hal.power-management.set-powersave
- org.freedesktop.hal.power-management.suspend
- org.freedesktop.hal.power-management.hibernate
- org.freedesktop.hal.power-management.cpufreq
- org.freedesktop.hal.power-management.lcd-panel
- org.freedesktop.hal.power-management.light-sensor
- org.freedesktop.hal.power-management.keyboard-backlight"
-
- # Grant the 'xbmc' user each action from the list
- for ACTION in $POLKIT_ACTIONS; do
- polkit-auth --user xbmc --grant $ACTION || true
- done
- ;;
-
- abort-upgrade|abort-remove|abort-deconfigure)
- ;;
-
- *)
- echo "postinst called with unknown argument \`$1'" >&2
- exit 1
- ;;
-esac
-
-#DEBHELPER#
-
-exit 0
diff --git a/tools/Linux/debian/README.Debian b/tools/Linux/packaging/debian/README.Debian
index 9b390d62e7..9b390d62e7 100644
--- a/tools/Linux/debian/README.Debian
+++ b/tools/Linux/packaging/debian/README.Debian
diff --git a/tools/Linux/debian/README.source b/tools/Linux/packaging/debian/README.source
index f67c0d6d95..f67c0d6d95 100644
--- a/tools/Linux/debian/README.source
+++ b/tools/Linux/packaging/debian/README.source
diff --git a/tools/Linux/debian/changelog b/tools/Linux/packaging/debian/changelog
index 4776cd9e0e..4776cd9e0e 100644
--- a/tools/Linux/debian/changelog
+++ b/tools/Linux/packaging/debian/changelog
diff --git a/tools/Linux/debian/compat b/tools/Linux/packaging/debian/compat
index 7f8f011eb7..7f8f011eb7 100644
--- a/tools/Linux/debian/compat
+++ b/tools/Linux/packaging/debian/compat
diff --git a/tools/Linux/debian/control b/tools/Linux/packaging/debian/control
index a7eb2f9be8..a7eb2f9be8 100644
--- a/tools/Linux/debian/control
+++ b/tools/Linux/packaging/debian/control
diff --git a/tools/Linux/debian/copyright b/tools/Linux/packaging/debian/copyright
index d05eb995e5..d05eb995e5 100644
--- a/tools/Linux/debian/copyright
+++ b/tools/Linux/packaging/debian/copyright
diff --git a/tools/Linux/debian/rules b/tools/Linux/packaging/debian/rules
index 6366eb64de..6366eb64de 100755
--- a/tools/Linux/debian/rules
+++ b/tools/Linux/packaging/debian/rules
diff --git a/tools/Linux/debian/source/format b/tools/Linux/packaging/debian/source/format
index 163aaf8d82..163aaf8d82 100644
--- a/tools/Linux/debian/source/format
+++ b/tools/Linux/packaging/debian/source/format
diff --git a/tools/Linux/debian/watch b/tools/Linux/packaging/debian/watch
index e46e9aadc9..e46e9aadc9 100644
--- a/tools/Linux/debian/watch
+++ b/tools/Linux/packaging/debian/watch
diff --git a/tools/Linux/debian/xbmc-bin.install b/tools/Linux/packaging/debian/xbmc-bin.install
index cddb90a986..cddb90a986 100644
--- a/tools/Linux/debian/xbmc-bin.install
+++ b/tools/Linux/packaging/debian/xbmc-bin.install
diff --git a/tools/Linux/debian/xbmc-data.docs b/tools/Linux/packaging/debian/xbmc-data.docs
index 30a66981fe..30a66981fe 100644
--- a/tools/Linux/debian/xbmc-data.docs
+++ b/tools/Linux/packaging/debian/xbmc-data.docs
diff --git a/tools/Linux/debian/xbmc-data.install b/tools/Linux/packaging/debian/xbmc-data.install
index 5638aba061..5638aba061 100644
--- a/tools/Linux/debian/xbmc-data.install
+++ b/tools/Linux/packaging/debian/xbmc-data.install
diff --git a/tools/Linux/debian/xbmc-data.manpages b/tools/Linux/packaging/debian/xbmc-data.manpages
index be7b114687..be7b114687 100644
--- a/tools/Linux/debian/xbmc-data.manpages
+++ b/tools/Linux/packaging/debian/xbmc-data.manpages
diff --git a/tools/Linux/debian/xbmc-data.menu b/tools/Linux/packaging/debian/xbmc-data.menu
index 50e05291bf..50e05291bf 100644
--- a/tools/Linux/debian/xbmc-data.menu
+++ b/tools/Linux/packaging/debian/xbmc-data.menu
diff --git a/tools/Linux/debian/xbmc-eventclients-common.install b/tools/Linux/packaging/debian/xbmc-eventclients-common.install
index 4dbb5060a5..4dbb5060a5 100644
--- a/tools/Linux/debian/xbmc-eventclients-common.install
+++ b/tools/Linux/packaging/debian/xbmc-eventclients-common.install
diff --git a/tools/Linux/debian/xbmc-eventclients-dev.examples b/tools/Linux/packaging/debian/xbmc-eventclients-dev.examples
index abcee3c87f..abcee3c87f 100644
--- a/tools/Linux/debian/xbmc-eventclients-dev.examples
+++ b/tools/Linux/packaging/debian/xbmc-eventclients-dev.examples
diff --git a/tools/Linux/debian/xbmc-eventclients-dev.install b/tools/Linux/packaging/debian/xbmc-eventclients-dev.install
index 23114c9124..23114c9124 100644
--- a/tools/Linux/debian/xbmc-eventclients-dev.install
+++ b/tools/Linux/packaging/debian/xbmc-eventclients-dev.install
diff --git a/tools/Linux/debian/xbmc-eventclients-j2me.install b/tools/Linux/packaging/debian/xbmc-eventclients-j2me.install
index 0a3631dcfb..0a3631dcfb 100644
--- a/tools/Linux/debian/xbmc-eventclients-j2me.install
+++ b/tools/Linux/packaging/debian/xbmc-eventclients-j2me.install
diff --git a/tools/Linux/debian/xbmc-eventclients-j2me.manpages b/tools/Linux/packaging/debian/xbmc-eventclients-j2me.manpages
index 0dec8f02d5..0dec8f02d5 100644
--- a/tools/Linux/debian/xbmc-eventclients-j2me.manpages
+++ b/tools/Linux/packaging/debian/xbmc-eventclients-j2me.manpages
diff --git a/tools/Linux/debian/xbmc-eventclients-ps3.install b/tools/Linux/packaging/debian/xbmc-eventclients-ps3.install
index c761b710d8..c761b710d8 100644
--- a/tools/Linux/debian/xbmc-eventclients-ps3.install
+++ b/tools/Linux/packaging/debian/xbmc-eventclients-ps3.install
diff --git a/tools/Linux/debian/xbmc-eventclients-ps3.manpages b/tools/Linux/packaging/debian/xbmc-eventclients-ps3.manpages
index 17b0424795..17b0424795 100644
--- a/tools/Linux/debian/xbmc-eventclients-ps3.manpages
+++ b/tools/Linux/packaging/debian/xbmc-eventclients-ps3.manpages
diff --git a/tools/Linux/debian/xbmc-eventclients-wiiremote.install b/tools/Linux/packaging/debian/xbmc-eventclients-wiiremote.install
index f6f7193ee0..f6f7193ee0 100644
--- a/tools/Linux/debian/xbmc-eventclients-wiiremote.install
+++ b/tools/Linux/packaging/debian/xbmc-eventclients-wiiremote.install
diff --git a/tools/Linux/debian/xbmc-eventclients-wiiremote.manpages b/tools/Linux/packaging/debian/xbmc-eventclients-wiiremote.manpages
index 88aff207ea..88aff207ea 100644
--- a/tools/Linux/debian/xbmc-eventclients-wiiremote.manpages
+++ b/tools/Linux/packaging/debian/xbmc-eventclients-wiiremote.manpages
diff --git a/tools/Linux/debian/xbmc-get-orig-source b/tools/Linux/packaging/debian/xbmc-get-orig-source
index b14295b724..b14295b724 100755
--- a/tools/Linux/debian/xbmc-get-orig-source
+++ b/tools/Linux/packaging/debian/xbmc-get-orig-source
diff --git a/tools/Linux/packaging/debian/xbmc-live.init b/tools/Linux/packaging/debian/xbmc-live.init
new file mode 100755
index 0000000000..9163ef5574
--- /dev/null
+++ b/tools/Linux/packaging/debian/xbmc-live.init
@@ -0,0 +1,169 @@
+#!/bin/sh
+### BEGIN INIT INFO
+# Provides: xbmc-live
+# Required-Start: $local_fs $network $remote_fs
+# Required-Stop: $local_fs $network $remote_fs
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: start and stop XBMC Live
+# Description: XBMC Live is the XBMC media center software bundled with an
+# embedded operating-system, for that set-top-box feeling.
+### END INIT INFO
+
+# Do NOT "set -e"
+
+#/etc/init.d/xbmc
+
+. /lib/lsb/init-functions
+
+get_opt() {
+ echo "$@" | cut -d "=" -f 2
+}
+
+CMDLINE=$(cat /proc/cmdline)
+
+do_start()
+{
+ log_action_begin_msg "Configuring system and starting XBMC"
+
+ #Process command line options
+ XBMC_PARAMS=""
+ for i in ${CMDLINE}; do
+ case "${i}" in
+ xbmc\=*)
+ XBMC_PARAMS=$(get_opt $i)
+ ;;
+ esac
+ done
+
+ # Relies on init scripts to mount boot device on a specified directory
+ # TODO hardcode the already mounted directories (speed)
+ # XBMC Live V2
+ BOOTMEDIADIRECTORY="image"
+ BOOTMEDIAMOUNTPOINT="$(mount | grep $BOOTMEDIADIRECTORY | cut -f 3 -d ' ')"
+ if [ ! -n "$BOOTMEDIAMOUNTPOINT" ]; then
+ # XBMC Live V1
+ BOOTMEDIADIRECTORY="bootMedia"
+ BOOTMEDIAMOUNTPOINT="$(mount | grep $BOOTMEDIADIRECTORY | cut -f 3 -d ' ')"
+ fi
+
+ # copy xorg.conf from "Config" directory
+ if [ -n "$BOOTMEDIAMOUNTPOINT" ]; then
+ if [ -f $BOOTMEDIAMNTPOINT/config/xorg.conf ]; then
+ cp $BOOTMEDIAMNTPOINT/config/xorg.conf /etc/X11
+ fi
+ fi
+
+ INSTALL="$( echo $XBMC_PARAMS | grep install)"
+ if [ -n "$INSTALL" ]; then
+ # if usplash is runing, make sure to stop it now, yes "start" kills it.
+ if pidof usplash > /dev/null; then
+ DO_NOT_SWITCH_VT=yes /etc/init.d/usplash start
+ fi
+ su -c "/usr/bin/installXBMC" -l
+ else
+ # Generates valid xorg.conf for proprietary drivers if missing
+ XBMC_NOGENXCONF="$( echo $XBMC_PARAMS | grep nogenxconf )"
+ if [ ! -e /etc/X11/xorg.conf ] && [ ! -n "$XBMC_NOGENXCONF" ]; then
+ NVIDIA="$(lspci -nn | grep 0300 | grep 10de)"
+ if [ ! -n "$NVIDIA" ]; then
+ AMD="$(lspci -nn | grep 0300 | grep 1002)"
+ if [ -n "$AMD" ]; then
+ # run aticonfig
+ log_warning_msg "Generating xorg.conf for ATI..."
+ /usr/bin/aticonfig --initial --sync-vsync=on -f
+ fi
+ else
+ # run nvidia-xconfig
+ log_warning_msg "Generating xorg.conf for NVIDIA..."
+ /usr/bin/nvidia-xconfig -s --no-logo --force-generate
+ fi
+ fi
+
+ RUNX="$(echo $CMDLINE | grep splash)"
+ if [ ! -n "$RUNX" ]; then
+ log_warning_msg "Not starting X."
+
+ if [ -f /home/xbmc/.xsession ]; then
+ rm /home/xbmc/.xsession
+ fi
+ else
+ BOOTFROMCD="$(mount | grep iso9660)"
+ if [ ! -n "$BOOTFROMCD" ]; then
+ NOREDIR="$(echo $XBMC_PARAMS | grep noredir)"
+ if [ ! -n "$NOREDIR" ]; then
+ if [ -n "$BOOTMEDIAMOUNTPOINT" ]; then
+ log_warning_msg "Redirect XBMC home folder and logfile to usb flash..."
+ if [ ! -d $BOOTMEDIAMOUNTPOINT/dotXBMC ]; then
+ mkdir $BOOTMEDIAMOUNTPOINT/dotXBMC
+ fi
+
+ if [ -d /home/xbmc/.xbmc ]; then
+ if [ -L /home/xbmc/.xbmc ]; then
+ rm .xbmc
+ else
+ mv /home/xbmc/.xbmc /home/xbmc/.xbmc.previous
+ fi
+ fi
+ ln -s $BOOTMEDIAMOUNTPOINT/dotXBMC /home/xbmc/.xbmc
+ fi
+ fi
+ fi
+
+ /usr/bin/runXBMC &
+
+ XBMC_SETVOLUME="$(echo $XBMC_PARAMS | grep setvolume)"
+ if [ -n "$XBMC_SETVOLUME" ]; then
+ log_warning_msg "Increasing ALSA volumes..."
+ /usr/bin/setAlsaVolumes &
+ fi
+
+ NOMOUNT="$(echo $XBMC_PARAMS | grep nodiskmount)"
+ if [ ! -n "$NOMOUNT" ]; then
+ log_warning_msg "Mounting local disks..."
+ /usr/bin/diskmounter &
+ fi
+
+ # if usplash is running, make sure to stop it now, yes "start" kills it.
+ if pidof usplash > /dev/null; then
+ DO_NOT_SWITCH_VT=yes /etc/init.d/usplash start
+ fi
+ fi
+ fi
+ log_action_end_msg 0
+}
+
+do_stop() {
+ touch /tmp/noRestartXBMC
+ if [ -f /home/xbmc/.xsession ]; then
+ rm /home/xbmc/.xsession
+ fi
+
+ if [ "$(pidof xbmc.bin)" ] ; then
+ killall xbmc.bin
+ sleep 1
+ fi
+
+ if [ -f /tmp/noRestartXBMC ]; then
+ rm /tmp/noRestartXBMC
+ fi
+}
+
+case "$1" in
+start)
+ do_start
+ ;;
+stop)
+ do_stop
+ ;;
+restart|force-reload)
+ do_stop
+ do_start
+ ;;
+*)
+ echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
+ exit 3
+ ;;
+esac
+
+exit 0
diff --git a/tools/Linux/debian/xbmc-live.install b/tools/Linux/packaging/debian/xbmc-live.install
index 2732055d9c..2732055d9c 100644
--- a/tools/Linux/debian/xbmc-live.install
+++ b/tools/Linux/packaging/debian/xbmc-live.install
diff --git a/tools/Linux/debian/xbmc-live.manpages b/tools/Linux/packaging/debian/xbmc-live.manpages
index 4785b88a73..4785b88a73 100644
--- a/tools/Linux/debian/xbmc-live.manpages
+++ b/tools/Linux/packaging/debian/xbmc-live.manpages
diff --git a/tools/Linux/packaging/debian/xbmc-live.postinst b/tools/Linux/packaging/debian/xbmc-live.postinst
new file mode 100755
index 0000000000..24643ff99c
--- /dev/null
+++ b/tools/Linux/packaging/debian/xbmc-live.postinst
@@ -0,0 +1,147 @@
+#!/bin/sh
+
+set -e
+
+case "$1" in
+ configure)
+ sed -i.bak-xbmc-live s/allowed_users=console/allowed_users=anybody/ /etc/X11/Xwrapper.config
+
+ # Add the 'xbmc' user if the primary one is missing
+ xbmcUser=$(getent passwd 1000 | sed -e 's/\:.*//')
+ if [ ! -n "$xbmcUser" ]; then
+ adduser --gecos "XBMC Live User" xbmc
+ xbmcUser=xbmc
+ fi
+
+ # Add 'xbmcUser' user to the appropriate groups
+ # Below is a listing of groups and their purpose
+ # adm - For reading system logs (minimal systems may have this user only)
+ # sudo - allow optional passwordless sudo (with trivial intervention on /etc/sudoers)
+ # cdrom - optical disc drive access
+ # floppy - floppy drive access
+ # audio - audio device access
+ # video - video device access
+ # plugdev - enable automatic notifications of new devices
+ # netdev - managing network connections via NetworkManager
+ # powerdev - to be able to hibernate/suspend
+ # fuse - to be able to mount filesystems as normal user
+ GROUPS="adm
+ sudo
+ cdrom
+ floppy
+ audio
+ video
+ plugdev
+ netdev
+ powerdev
+ fuse"
+
+ # TODO: this probably isn't necessary anymore as PolicyKit is now being
+ # used
+ for GROUP in $GROUPS; do
+ if getent group $GROUP >/dev/null && \
+ ! getent group $GROUP | grep -q $xbmcUser; then
+ adduser $xbmcUser $GROUP
+ fi
+ done
+
+ # Add xbmc to the sudoers file (if not already done)
+ if ! grep -i -q XBMC-specific /etc/sudoers ; then
+ echo "" >> /etc/sudoers
+ echo "# XBMC" >> /etc/sudoers
+ echo "# XBMC-specific configuration" >> /etc/sudoers
+ echo "# XBMC" >> /etc/sudoers
+ echo "Cmnd_Alias SHUTDOWN_CMDS = /sbin/shutdown, /sbin/reboot, /sbin/halt # XBMC" >> /etc/sudoers
+ echo "Cmnd_Alias MOUNT_CMDS = /bin/mount, /bin/umount # XBMC" >> /etc/sudoers
+ echo "$xbmcUser ALL=(ALL) ALL" >> /etc/sudoers
+ echo "$xbmcUser ALL=NOPASSWD: SHUTDOWN_CMDS, MOUNT_CMDS # XBMC" >> /etc/sudoers
+ fi
+
+ # Our set of PolicyKit actions
+
+ # This is a list of actions that the 'xbmc' user should be allowed to
+ # do. If we missed one, or we have one that's not necessary, please
+ # submit a bug report.
+ POLKIT_ACTIONS="org.freedesktop.hal.dockstation.undock
+ org.freedesktop.hal.wol.enabled
+ org.freedesktop.hal.wol.enable
+ org.freedesktop.hal.wol.supported
+ org.freedesktop.hal.leds.brightness
+ org.freedesktop.hal.device-access.audio-player
+ org.freedesktop.hal.device-access.camera
+ org.freedesktop.hal.device-access.cdrom
+ org.freedesktop.hal.device-access.dvb
+ org.freedesktop.hal.device-access.fingerprint-reader
+ org.freedesktop.hal.device-access.floppy
+ org.freedesktop.hal.device-access.ieee1394-avc
+ org.freedesktop.hal.device-access.ieee1394-iidc
+ org.freedesktop.hal.device-access.joystick
+ org.freedesktop.hal.device-access.mouse
+ org.freedesktop.hal.device-access.obex
+ org.freedesktop.hal.device-access.pda
+ org.freedesktop.hal.device-access.printer
+ org.freedesktop.hal.device-access.scanner
+ org.freedesktop.hal.device-access.sound
+ org.freedesktop.hal.device-access.video
+ org.freedesktop.hal.device-access.video4linux
+ org.freedesktop.hal.lock
+ org.freedesktop.hal.killswitch.bluetooth
+ org.freedesktop.hal.killswitch.wlan
+ org.freedesktop.hal.killswitch.wwan
+ org.freedesktop.hal.storage.mount-removable
+ org.freedesktop.hal.storage.eject
+ org.freedesktop.hal.storage.crypto-setup-removable
+ org.freedesktop.hal.power-management.shutdown
+ org.freedesktop.hal.power-management.reboot
+ org.freedesktop.hal.power-management.set-powersave
+ org.freedesktop.hal.power-management.suspend
+ org.freedesktop.hal.power-management.hibernate
+ org.freedesktop.hal.power-management.cpufreq
+ org.freedesktop.hal.power-management.lcd-panel
+ org.freedesktop.hal.power-management.light-sensor
+ org.freedesktop.hal.power-management.keyboard-backlight"
+
+ # Grant the 'xbmc' user each action from the list if not done already
+ for ACTION in $POLKIT_ACTIONS; do
+ if polkit-auth --user $xbmcUser --show-obtainable | \
+ grep -q $ACTION; then
+ polkit-auth --user $xbmcUser --grant $ACTION
+ fi
+ done
+ ;;
+
+ abort-upgrade|abort-remove|abort-deconfigure)
+ ;;
+
+ *)
+ echo "postinst called with unknown argument \`$1'" >&2
+ exit 1
+ ;;
+esac
+
+# Upstart scripts tested on karmic only and not backward compatible ATM
+if [ "$(lsb_release -c | grep karmic)" ]; then
+ if [ -f "/etc/init.d/xbmc-live" ]; then
+ rm /etc/init.d/xbmc-live >/dev/null
+ update-rc.d -f xbmc-live remove >/dev/null
+ fi
+
+ ln -s /lib/init/upstart-job /etc/init.d/xbmc-live
+else
+ if [ -f "/etc/init/xbmc-live.conf" ]; then
+ rm /etc/init/xbmc-live.conf >/dev/null
+ fi
+ if [ -f "/etc/init/xbmc-live-install" ]; then
+ rm /etc/init/xbmc-live-install.conf >/dev/null
+ fi
+
+ if [ -x "/etc/init.d/xbmc-live" ]; then
+ update-rc.d xbmc-live defaults >/dev/null
+ if [ -x "`which invoke-rc.d 2>/dev/null`" ]; then
+ invoke-rc.d xbmc-live start || exit $?
+ else
+ /etc/init.d/xbmc-live start || exit $?
+ fi
+ fi
+fi
+exit 0
diff --git a/tools/Linux/packaging/debian/xbmc-live.postrm b/tools/Linux/packaging/debian/xbmc-live.postrm
new file mode 100755
index 0000000000..209173aefc
--- /dev/null
+++ b/tools/Linux/packaging/debian/xbmc-live.postrm
@@ -0,0 +1,76 @@
+#!/bin/sh
+
+set -e
+if [ "$1" = "purge" ]
+then
+ sed -i -e "/XBMC/d" /etc/sudoers
+
+ POLKIT_ACTIONS="org.freedesktop.hal.dockstation.undock
+ org.freedesktop.hal.wol.enabled
+ org.freedesktop.hal.wol.enable
+ org.freedesktop.hal.wol.supported
+ org.freedesktop.hal.leds.brightness
+ org.freedesktop.hal.device-access.audio-player
+ org.freedesktop.hal.device-access.camera
+ org.freedesktop.hal.device-access.cdrom
+ org.freedesktop.hal.device-access.dvb
+ org.freedesktop.hal.device-access.fingerprint-reader
+ org.freedesktop.hal.device-access.floppy
+ org.freedesktop.hal.device-access.ieee1394-avc
+ org.freedesktop.hal.device-access.ieee1394-iidc
+ org.freedesktop.hal.device-access.joystick
+ org.freedesktop.hal.device-access.mouse
+ org.freedesktop.hal.device-access.obex
+ org.freedesktop.hal.device-access.pda
+ org.freedesktop.hal.device-access.printer
+ org.freedesktop.hal.device-access.scanner
+ org.freedesktop.hal.device-access.sound
+ org.freedesktop.hal.device-access.video
+ org.freedesktop.hal.device-access.video4linux
+ org.freedesktop.hal.lock
+ org.freedesktop.hal.killswitch.bluetooth
+ org.freedesktop.hal.killswitch.wlan
+ org.freedesktop.hal.killswitch.wwan
+ org.freedesktop.hal.storage.mount-removable
+ org.freedesktop.hal.storage.eject
+ org.freedesktop.hal.storage.crypto-setup-removable
+ org.freedesktop.hal.power-management.shutdown
+ org.freedesktop.hal.power-management.reboot
+ org.freedesktop.hal.power-management.set-powersave
+ org.freedesktop.hal.power-management.suspend
+ org.freedesktop.hal.power-management.hibernate
+ org.freedesktop.hal.power-management.cpufreq
+ org.freedesktop.hal.power-management.lcd-panel
+ org.freedesktop.hal.power-management.light-sensor
+ org.freedesktop.hal.power-management.keyboard-backlight"
+
+ # Grant the 'xbmc' user each action from the list if not done already
+ for ACTION in $POLKIT_ACTIONS; do
+ if polkit-auth --user xbmc --show-obtainable | \
+ grep -q $ACTION; then
+ polkit-auth --user xbmc --revoke $ACTION
+ fi
+ done
+
+ sed -i s/allowed_users=anybody/allowed_users=console/ /etc/X11/Xwrapper.config
+ if [ -f "/etc/X11/Xwrapper.config.bak-xbmc-live" ]; then
+ rm /etc/X11/Xwrapper.config.bak-xbmc-live > /dev/null
+ fi
+
+ deluser xbmc
+
+ if [ -f "/etc/init.d/xbmc-live" ]; then
+ rm /etc/init.d/xbmc-live >/dev/null
+ fi
+ if [ -f "/etc/init/xbmc-live.conf" ]; then
+ rm /etc/init/xbmc-live.conf >/dev/null
+ fi
+ if [ -f "/etc/init/xbmc-live-install" ]; then
+ rm /etc/init/xbmc-live-install.conf >/dev/null
+ fi
+fi
+
+update-rc.d -f xbmc-live remove >/dev/null
+
+exit 0
+
diff --git a/tools/Linux/debian/xbmc-scripts-example.install b/tools/Linux/packaging/debian/xbmc-scripts-example.install
index a8d3ff846d..a8d3ff846d 100644
--- a/tools/Linux/debian/xbmc-scripts-example.install
+++ b/tools/Linux/packaging/debian/xbmc-scripts-example.install
diff --git a/tools/Linux/debian/xbmc-skin-confluence.install b/tools/Linux/packaging/debian/xbmc-skin-confluence.install
index 3700d539a1..3700d539a1 100644
--- a/tools/Linux/debian/xbmc-skin-confluence.install
+++ b/tools/Linux/packaging/debian/xbmc-skin-confluence.install
diff --git a/tools/Linux/debian/xbmc-skin-pm3-hd.install b/tools/Linux/packaging/debian/xbmc-skin-pm3-hd.install
index 5b8c81ed6c..5b8c81ed6c 100644
--- a/tools/Linux/debian/xbmc-skin-pm3-hd.install
+++ b/tools/Linux/packaging/debian/xbmc-skin-pm3-hd.install
diff --git a/tools/Linux/debian/xbmc-skin-pm3-hd.links b/tools/Linux/packaging/debian/xbmc-skin-pm3-hd.links
index c3b7e2cd06..c3b7e2cd06 100644
--- a/tools/Linux/debian/xbmc-skin-pm3-hd.links
+++ b/tools/Linux/packaging/debian/xbmc-skin-pm3-hd.links
diff --git a/tools/Linux/debian/xbmc-standalone.install b/tools/Linux/packaging/debian/xbmc-standalone.install
index 67465525c9..67465525c9 100644
--- a/tools/Linux/debian/xbmc-standalone.install
+++ b/tools/Linux/packaging/debian/xbmc-standalone.install
diff --git a/tools/Linux/debian/xbmc-standalone.manpages b/tools/Linux/packaging/debian/xbmc-standalone.manpages
index 3508af7ca7..3508af7ca7 100644
--- a/tools/Linux/debian/xbmc-standalone.manpages
+++ b/tools/Linux/packaging/debian/xbmc-standalone.manpages
diff --git a/tools/Linux/debian/xbmc-web-pm3.install b/tools/Linux/packaging/debian/xbmc-web-pm3.install
index 08f41ed565..08f41ed565 100644
--- a/tools/Linux/debian/xbmc-web-pm3.install
+++ b/tools/Linux/packaging/debian/xbmc-web-pm3.install
diff --git a/tools/Linux/debian/xbmc.lintian-overrides b/tools/Linux/packaging/debian/xbmc.lintian-overrides
index 0043e1c5b6..0043e1c5b6 100644
--- a/tools/Linux/debian/xbmc.lintian-overrides
+++ b/tools/Linux/packaging/debian/xbmc.lintian-overrides