Correct script to handle all situations, including upgrading from
2.0-5 where we inadvertently removed the file without purging it
Christian Perrier
14 years ago
1 | 1 | |
2 | 2 | set -e |
3 | 3 | |
4 | ||
5 | 4 | # Remove a no-longer used conffile |
6 | 5 | rm_conffile() { |
7 | PKGNAME="$1" | |
8 | CONFFILE="$2" | |
6 | local PKGNAME="$1" | |
7 | local CONFFILE="$2" | |
8 | [ -e "$CONFFILE" ] || return 0 | |
9 | 9 | |
10 | if [ -e "$CONFFILE" ]; then | |
11 | md5sum="`md5sum \"$CONFFILE\" | sed -e \"s/ .*//\"`" | |
12 | old_md5sum="`dpkg-query -W -f='${Conffiles}' $PKGNAME | sed -n -e \"\\\\' $CONFFILE '{s/ obsolete$//;s/.* //p}\"`" | |
13 | if [ "$md5sum" != "$old_md5sum" ]; then | |
14 | echo "Obsolete conffile $CONFFILE has been modified by you." | |
15 | echo "Saving as $CONFFILE.dpkg-bak ..." | |
16 | mv -f "$CONFFILE" "$CONFFILE".dpkg-bak | |
17 | else | |
18 | echo "Removing obsolete conffile $CONFFILE ..." | |
19 | rm -f "$CONFFILE" | |
20 | fi | |
21 | fi | |
10 | local md5sum="$(md5sum $CONFFILE | sed -e 's/ .*//')" | |
11 | local old_md5sum="$(dpkg-query -W -f='${Conffiles}' $PKGNAME | \ | |
12 | sed -n -e "\' $CONFFILE ' { s/ obsolete$//; s/.* //; p }")" | |
13 | if [ "$md5sum" != "$old_md5sum" ]; then | |
14 | echo "Obsolete conffile $CONFFILE has been modified by you." | |
15 | echo "Saving as $CONFFILE.dpkg-bak ..." | |
16 | mv -f "$CONFFILE" "$CONFFILE".dpkg-bak | |
17 | else | |
18 | echo "Removing obsolete conffile $CONFFILE ..." | |
19 | rm -f "$CONFFILE" | |
20 | fi | |
22 | 21 | } |
23 | 22 | |
24 | ||
25 | VERSION=2.0-4 | |
23 | VERSION=2.0-5 | |
26 | 24 | PKG=ttf-arabeyes |
27 | 25 | FILE=/etc/defoma/hints/${PKG}.hints |
28 | if [ "$1" = remove ] && dpkg --compare-versions "$2" lt-nl $VERSION; | |
29 | then | |
30 | if [ -x /usr/bin/defoma-font ]; then | |
31 | defoma-font purge-all $FILE | |
26 | ||
27 | case "$1" in | |
28 | install|upgrade) | |
29 | if dpkg --compare-versions "$2" le "$VERSION"; then | |
30 | if [ -f $FILE ]; then | |
31 | if [ -x /usr/bin/defoma-font ]; then | |
32 | defoma-font purge-all $FILE || true | |
33 | fi | |
34 | rm_conffile $PKG $FILE | |
32 | 35 | fi |
33 | rm_conffile $FILE $PKG | |
34 | fi | |
36 | fi | |
37 | esac | |
35 | 38 | |
36 | 39 | #DEBHELPER# |