#! /bin/sh
# preinst script for xorg-driver-fglrx
#
# see: dh_installdeb(1)

set -e

# summary of how this script can be called:
#        * <new-preinst> `install'
#        * <new-preinst> `install' <old-version>
#        * <new-preinst> `upgrade' <old-version>
#        * <old-preinst> `abort-upgrade' <new-version>
#
# For details see /usr/share/doc/packaging-manual/

PKGNAME=#PKGNAME#
DISTRO=#DISTRO#

if [ `dpkg --print-installation-architecture` = "amd64" ]; then
	HAS_LIB32="yes"
fi


fix_diversions()
{
    # remove old-style diversions
    if [ -d /usr/share/fglrx/diversions ]; then
	if [ -n "$HAS_LIB32" ]; then
	    dpkg-divert --remove --package $PKGNAME \
		--divert /usr/share/fglrx/diversions/libGL.so.1.2_32bit \
		--rename /usr/lib32/libGL.so.1.2
	fi

	dpkg-divert --remove --package $PKGNAME \
	    --divert /usr/share/fglrx/diversions/libGL.so.1.2 \
	    --rename /usr/lib/libGL.so.1.2

	rmdir /usr/share/fglrx/diversions || true
    fi
}

case "$1" in
    install|upgrade)

        # remove old fglrx diversions
	fix_diversions

	# create new diversion directories
	if [ ! -d /usr/lib/fglrx ]; then
		mkdir -p /usr/lib/fglrx || true
	fi
	if [ -d /usr/X11R6 ] && [ ! -d /usr/X11R6/lib/fglrx ]; then
		mkdir -p /usr/X11R6/lib/fglrx || true
	fi
	if [ -n "$HAS_LIB32" ] && [ ! -d /usr/lib32/fglrx ]; then
		mkdir -p /usr/lib32/fglrx || true
	fi
	if [ -n "$HAS_LIB32" ] && [ -d /usr/X11R6 ] && [ ! -d /usr/X11R6/lib32/fglrx ]; then
		mkdir -p /usr/X11R6/lib32/fglrx || true
	fi
				
	# make new diversions
	dpkg-divert --add --rename --package $PKGNAME --divert /usr/lib/fglrx/libGL.so.1.2.xlibmesa /usr/lib/libGL.so.1.2 > /dev/null

	dpkg-divert --add --rename --package $PKGNAME --divert /usr/X11R6/lib/fglrx/libGL.so.1.2.xlibmesa /usr/X11R6/lib/libGL.so.1.2 > /dev/null

	if [ -n "$HAS_LIB32" ]; then
		dpkg-divert --add --rename --package $PKGNAME --divert /usr/X11R6/lib32/fglrx/libGL.so.1.2.xlibmesa /usr/X11R6/lib32/libGL.so.1.2 > /dev/null

		dpkg-divert --add --rename --package $PKGNAME --divert /usr/lib32/fglrx/libGL.so.1.2.xlibmesa /usr/lib32/libGL.so.1.2 > /dev/null
	fi
    ;;

    abort-upgrade)
    ;;

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



# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.

#DEBHELPER#

exit 0
