mirror of
https://salsa.debian.org/debian/dash.git
synced 2026-01-27 01:44:22 +00:00
The code is already verifying that the diversion was added by ash, make it clear that local diversions are not removed.
53 lines
1016 B
Bash
53 lines
1016 B
Bash
#!/bin/sh
|
|
#
|
|
# post-install script for the Debian GNU/Linux ash package
|
|
#
|
|
# $Id: ash.postinst,v 1.9 2002/10/26 11:27:48 herbert Exp $
|
|
|
|
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 --package ash --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
|