#! /bin/sh
# prerm script for foo
#
# see: dh_installdeb(1)

set -e

# summary of how this script can be called:
#        * <prerm> `remove'
#        * <old-prerm> `upgrade' <new-version>
#        * <new-prerm> `failed-upgrade' <old-version>
#        * <conflictor's-prerm> `remove' `in-favour' <package> <new-version>
#        * <deconfigured's-prerm> `deconfigure' `in-favour'
#          <package-being-installed> <version> `removing'
#          <conflicting-package> <version>
# for details, see /usr/share/doc/packaging-manual/

case "$1" in
    remove|upgrade|deconfigure)
	# Adjust the current ICU link in /usr/lib/icu

	icucurrent=`2>/dev/null ls -dp /usr/lib/icu/* | sed -n -e '/\/@VERSION@\//d' -e 's,.*/\([^/]*\)/$,\1,p' | head -1`
	cd /usr/lib/icu
	rm -f current
	if test x"$icucurrent" != x
	then
	    ln -s "$icucurrent" current
	fi
#       install-info --quiet --remove /usr/info/foo.info.gz
        ;;
    failed-upgrade)
        ;;
    *)
        echo "prerm 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


