File: libradcli4.preinst

package info (click to toggle)
radcli 1.2.11-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye, forky, sid, trixie
  • size: 1,768 kB
  • sloc: ansic: 6,089; sh: 767; makefile: 190; perl: 110
file content (39 lines) | stat: -rw-r--r-- 1,134 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#!/bin/sh

set -e

FILES_TO_MIGRATE="
/etc/radiusclient/dictionary
/etc/radiusclient/dictionary.ascend
/etc/radiusclient/dictionary.compat
/etc/radiusclient/dictionary.merit
/etc/radiusclient/dictionary.sip
/etc/radiusclient/radiusclient.conf
/etc/radiusclient/servers
"

is_modified_conffile() {
    actual_md5=$(md5sum $1 | awk '{print $1}')
    expected_md5=$(dpkg-query -f '${Conffiles}' -W libfreeradius-client2 | awk '$1 == "'"$1"'" { print $2 }')
    test "$actual_md5" != "$expected_md5"
}

if [ ! -d /etc/radcli ] && [ -d /etc/radiusclient ];
then
    # no radcli config exists but a legacy configuration from
    # radiusclient-ng exists, use it, as this package is a fork of
    # radiusclient-ng
    mkdir -p /etc/radcli
    for file in $FILES_TO_MIGRATE; do
	if is_modified_conffile $file; then
	    new_file="/etc/radcli/$(basename $file).dpkg-migrated"
	    echo "Preparing a copy of $file to initialize ${new_file%%.dpkg-migrated}"
	    cp -a $file $new_file
            if [ -f "$new_file" -a ! -h "$new_file" ]; then
		sed -i -e 's!/etc/radiusclient/!/etc/radcli/!g' "$new_file"
	    fi
	fi
    done
fi

#DEBHELPER#