#! /bin/sh
# postrm script for walpole-tiger-config
#
# see: dh_installdeb(1)
#
# Copyright (C) 2009 Canonical Limited
# Author: Alberto Milone <alberto.milone@canonical.com>
#
set -e

# summary of how this script can be called:
#        * <postrm> `remove'
#        * <postrm> `purge'
#        * <old-postrm> `upgrade' <new-version>
#        * <new-postrm> `failed-upgrade' <old-version>
#        * <new-postrm> `abort-install'
#        * <new-postrm> `abort-install' <old-version>
#        * <new-postrm> `abort-upgrade' <old-version>
#        * <disappearer's-postrm> `disappear' <r>overwrit>r> <new-version>
# For details, see http://www.debian.org/doc/debian-policy/ or
# the debian-policy package
#

case "$1" in
    remove|purge)
    # GMA500 vaapi workaround
    if grep -q "GMA500_WORKAROUND=yes" /etc/rc.local
    then
    	echo "Removing GMA500 vaapi workaround"
    	sed -i 's/export GMA500_WORKAROUND=yes//g' /etc/rc.local
    fi
    
    # Grub workaround
    native_resolution=$(grep "Modeline" /var/log/Xorg.0.log | egrep -m 1 -o '".*"' | sed 's/"//g')
    
    	memory_available=$(cat /proc/meminfo | grep MemTotal | sed 's/MemTotal://g' | sed 's/kB//g' | sed 's/ //g')
	if [ "$memory_available" -gt "1100000" ] 
	then
		memory_grub='1920mb'
	else
		memory_grub='896mb'
	fi
	    
    if grep -q "GRUB_CMDLINE_LINUX=\"acpi_osi=Linux acpi_backlight=vendor acpi_skip_timer nomodeset video=uvesafb:mode_option=$native_resolution-24,mtrr=3,scroll=ywrap pci=nocrs mem=$memory_grub\"" /etc/default/grub
    then
	echo "Removing Grub workaround"
	sed -i "s/GRUB_CMDLINE_LINUX=\"acpi_osi=Linux acpi_backlight=vendor acpi_skip_timer nomodeset video=uvesafb:mode_option=$native_resolution-24,mtrr=3,scroll=ywrap pci=nocrs mem=$memory_grub\"/GRUB_CMDLINE_LINUX=\"\"/g" /etc/default/grub
	sed -i "s/GRUB_GFXMODE=$native_resolution/#GRUB_GFXMODE=640x480/g" /etc/default/grub
    else
        echo "Removing Grub workaround"
    	cp /usr/share/grub/default/grub /etc/default/grub
    fi
    
    # Suspend workaround
    if [ -f /usr/lib/pm-utils/sleep.d/99video ]
    then
    	echo "Removing suspend workaround"
    	chmod a+x /usr/lib/pm-utils/sleep.d/99video
    fi
   
    # KMS workaround (disabled)	
    if grep -q "psb" /etc/initramfs-tools/modules
    then
	echo "Removing KMS workaround"
	sed -i 's/drm_psb//g' /etc/initramfs-tools/modules
	sed -i 's/psb//g' /etc/initramfs-tools/modules
    fi
    
    # Plymouth workaround
    if grep -q "uvesafb mode_option=$native_resolution-24 mtrr=3 scroll=ywrap" /etc/initramfs-tools/modules
    then
    	echo "Removing Plymouth workaround 1"
    	sed -i "s/uvesafb mode_option=$native_resolution-24 mtrr=3 scroll=ywrap//g" /etc/initramfs-tools/modules
    fi
	
    if grep -q "FRAMEBUFFER=y" /etc/initramfs-tools/conf.d/splash
    then
    	echo "Removing Plymouth workaround 2"
    	sed -i 's/FRAMEBUFFER=y//g' /etc/initramfs-tools/conf.d/splash
    fi
    
    # Finalize workarounds
    update-grub2
    update-initramfs -u
    
#    if [ "$(dpkg-divert --list /etc/X11/xorg.conf | awk '{ print $7 }')" = "walpole-tiger-config" ]; then
#        # Remove our customised xorg.conf
#        if [ -e /etc/X11/xorg.conf ]; then
#            rm -f /etc/X11/xorg.conf > /dev/null || true;
#        fi
#        # Remove the diversion
#        dpkg-divert --remove --rename --package walpole-tiger-config --divert /etc/X11/xorg.conf.walpoletiger /etc/X11/xorg.conf > /dev/null
#    fi

    ;;
    
    upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)


    ;;

    *)
        echo "postrm called with unknown argument \`$1'" >&2
        exit 0
    ;;
esac

exit 0
#DEBHELPER#
