don't assign wrong enum to variable. Found by PVS-Studio
[freeradius.git] / debian / freeradius.preinst
1 #! /bin/sh
2
3 set -e
4
5 # Remove a no-longer used conffile; taken from http://wiki.debian.org/DpkgConffileHandling
6 rm_conffile() {
7     CONFFILE="$1"
8
9     if [ -e "$CONFFILE" ]; then
10         md5sum="`md5sum \"$CONFFILE\" | sed -e \"s/ .*//\"`"
11         old_md5sum="`dpkg-query -W -f='${Conffiles}' $PKGNAME | sed -n -e \"\\\\' $CONFFILE'{s/ obsolete$//;s/.* //p}\"`"
12         if [ "$md5sum" != "$old_md5sum" ]; then
13             echo "Obsolete conffile $CONFFILE has been modified by you."
14             echo "Saving as $CONFFILE.dpkg-bak ..."
15             mv -f "$CONFFILE" "$CONFFILE".dpkg-bak
16         else
17             echo "Removing obsolete conffile $CONFFILE ..."
18             rm -f "$CONFFILE"
19         fi
20     fi
21 }
22
23 case "$1" in
24   upgrade)
25     # Before 1.1.5, upstream shipped /etc/freeradius/otppasswd.sample
26     # and we install it (I still don't know why).  In 1.1.5 they
27     # got rid of it so handle removing the conffile.
28     if dpkg --compare-versions "$2" lt "1.1.5"; then
29         rm_conffile "/etc/freeradius/otppasswd.sample"
30     fi
31
32     # There are huge changes between 1.x and 2.x (we cleaned things up
33     # a lot), so sort it out here
34     if dpkg --compare-versions "$2" lt "2.0.0"; then
35
36         rm_conffile "/etc/freeradius/certs/demoCA/cacert.pem"
37         rm_conffile "/etc/freeradius/certs/demoCA/index.txt"
38         rm_conffile "/etc/freeradius/certs/demoCA/index.txt.old"
39         rm_conffile "/etc/freeradius/certs/demoCA/serial"
40         rm_conffile "/etc/freeradius/certs/demoCA/serial.old"
41
42         test -d /etc/freeradius/certs/demoCA && rmdir --ignore-fail-on-non-empty /etc/freeradius/certs/demoCA/
43
44         rm_conffile "/etc/freeradius/certs/cert-clt.der"
45         rm_conffile "/etc/freeradius/certs/cert-clt.p12"
46         rm_conffile "/etc/freeradius/certs/cert-clt.pem"
47         rm_conffile "/etc/freeradius/certs/cert-srv.der"
48         rm_conffile "/etc/freeradius/certs/cert-srv.p12"
49         rm_conffile "/etc/freeradius/certs/cert-srv.pem"
50         rm_conffile "/etc/freeradius/certs/dh"
51         rm_conffile "/etc/freeradius/certs/newcert.pem"
52         rm_conffile "/etc/freeradius/certs/newreq.pem"
53         rm_conffile "/etc/freeradius/certs/random"
54         rm_conffile "/etc/freeradius/certs/README"
55         rm_conffile "/etc/freeradius/certs/root.der"
56         rm_conffile "/etc/freeradius/certs/root.p12"
57         rm_conffile "/etc/freeradius/certs/root.pem"
58     fi
59
60     # old files shipped by this package previously, but dropped upstream
61     if dpkg --compare-versions "$2" lt "2.1.8"; then
62         for file in \
63           /etc/freeradius/otp.conf \
64           /etc/freeradius/snmp.conf
65         do 
66
67           rm_conffile "$file"
68
69           # must get rid of the overrides otherwise they corrupt the database
70           if dpkg-statoverride --list | grep -qw $file$; then
71             dpkg-statoverride --remove $file
72           fi
73
74         done
75     fi
76
77 esac
78
79 #DEBHELPER#
80
81 exit 0