diff options
Diffstat (limited to 'debian/ash.postinst')
-rw-r--r-- | debian/ash.postinst | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/debian/ash.postinst b/debian/ash.postinst new file mode 100644 index 0000000..eb29719 --- /dev/null +++ b/debian/ash.postinst @@ -0,0 +1,54 @@ +#!/bin/sh +# +# post-install script for the Debian GNU/Linux ash package +# +# $Id$ + +set -e + +check_divert() { + div=$(dpkg-divert --list $1) + distrib=${3:-$1.distrib} + case $div in + '' | *by\ dash) + ;; + *by\ ash) + dst=${div% by ash} + dst=${dst##* to } + + # Work around dpkg-divert bug. + if [ -e "$dst" ]; then + mv "$dst" "$dst.ash-tmp" + fi + dpkg-divert --remove $1 + if [ -e "$dst.ash-tmp" ]; then + mv "$dst.ash-tmp" "$dst" + fi + + dpkg-divert --package dash --divert $distrib --add $1 + if [ "$dst" != $distrib ] && [ -e "$dst" ]; then + mv "$dst" $distrib + fi + ln -sf $2 $1 + ;; + *) + d=${1%/*} + if + [ -h $1 ] && [ -f $1 ] && [ -f $d/$4 ] && + cmp $1 $d/$4 + then + ln -sf $2 $1 + fi + ;; + esac +} + +dcv='dpkg --compare-versions' + +if [ "$1" = configure ] && [ -n "$2" ] && $dcv "$2" lt 0.4.3; then + check_divert /bin/sh dash '' ash + check_divert /usr/share/man/man1/sh.1.gz dash.1.gz \ + /usr/share/man/man1/sh.distrib.1.gz ash.1.gz +fi + +#DEBHELPER# |