New build path variable
[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
59         rm_conffile "/etc/freeradius/sqlippool.conf"
60         rm_conffile "/etc/freeradius/mssql.conf"
61         rm_conffile "/etc/freeradius/postgresql.conf"
62
63         rm_conffile "/etc/freeradius/naslist"
64         rm_conffile "/etc/freeradius/naspasswd"
65         rm_conffile "/etc/freeradius/realms"
66
67     fi
68
69     # old files shipped by this package previously, but dropped upstream
70     if dpkg --compare-versions "$2" lt "2.1.8"; then
71         for file in \
72           /etc/freeradius/otp.conf \
73           /etc/freeradius/snmp.conf
74         do 
75
76           rm_conffile "$file"
77
78           # must get rid of the overrides otherwise they corrupt the database
79           if dpkg-statoverride --list | grep -qw $file$; then
80             dpkg-statoverride --remove $file
81           fi
82
83         done
84     fi
85
86 esac
87
88 #DEBHELPER#
89
90 exit 0