55 lines
1.2 KiB
Bash
Executable File
55 lines
1.2 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
set -e
|
|
|
|
mv_conffile() {
|
|
local package='alsa-base'
|
|
local name="$1"
|
|
local newname="$2"
|
|
|
|
[ -e "$name" ] || return 0
|
|
|
|
local md5="$(md5sum $name | sed -e 's/ .*//')"
|
|
oldmd5="$(dpkg-query -W -f='${Conffiles}' $package | \
|
|
sed -n -e "\' $name ' { s/ obsolete$//; s/.* //; p }")"
|
|
|
|
if [ "$md5" = "$oldmd5" ]; then
|
|
rm -f "$name"
|
|
else
|
|
mv "$name" "$newname"
|
|
fi
|
|
}
|
|
|
|
rm_conffile() {
|
|
mv_conffile "$1" "$1.dpkg-bak"
|
|
}
|
|
|
|
case "$1" in
|
|
install|upgrade)
|
|
# The following must be deleted at preinst time
|
|
# so that dpkg can remove their parent directories
|
|
# Delete obsolete dev.d symlinks
|
|
for N in 0 1 2 3 4 5 6 7 ; do
|
|
D="/etc/dev.d/snd/controlC$N"
|
|
if [ -d "$D" ] ; then
|
|
L="$D/alsa-base.dev"
|
|
rm -f "$L"
|
|
fi
|
|
done
|
|
# Delete obsolete dev.d script
|
|
rm_conffile /etc/alsa/dev.d/alsa-base
|
|
# Delete obsolete init script
|
|
rm_conffile /etc/init.d/alsa
|
|
# Delete blacklist without .conf extension
|
|
rm_conffile /etc/modprobe.d/blacklist-alsa
|
|
rm_conffile /etc/modprobe.d/blacklist-oss
|
|
# Rename alsa-base
|
|
if dpkg --compare-versions "$2" lt "1.0.23+dfsg-1ubuntu4"; then
|
|
rm_conffile /etc/modprobe.d/alsa-base
|
|
rm_conffile /etc/modprobe.d/blacklist-modem
|
|
fi
|
|
;;
|
|
esac
|
|
|
|
|