bd7a5fc0c2ab61a52e4d4f759b44c62c6105ebfc
[bacula-cn.git] / debian / config
1 #! /bin/sh 
2 set -e
3
4 . /usr/share/debconf/confmodule
5
6 # Guess default hostname
7 HOST=$( hostname -f || true )
8 db_get bacula-cn/hostname || true
9 if [ -z "$RET" ]; then
10     db_set bacula-cn/hostname "$HOST"
11 fi
12
13 # Guess default ip
14 db_get bacula-cn/ip || true
15 if [ -z "$RET" ]; then
16     # default via 161.53.55.1 dev eth0
17     DEV=$( ip route show to exact 0/0 \
18            | awk '$1 == "default" && $4 == "dev" { print $5; nextfile }' )
19     if [ "$DEV" ]; then
20         # inet 161.53.55.202/24 brd 161.53.55.255 scope global eth0
21         IP=$( ip address show dev $DEV scope global \
22               | awk '$1 == "inet" { sub("/[^ ]+", ""); print $2; nextfile }' )
23         if [ "$IP" ]; then
24             db_set bacula-cn/ip "$IP"
25         fi
26     fi
27 fi
28
29 # Sample contact
30 db_get bacula-cn/contact || true
31 if [ -z "$RET" ]; then
32     db_set bacula-cn/contact "Ime Prezime <korisnik@$HOST>"
33 fi
34
35 # Check hostname
36 while true; do
37     ! db_input high bacula-cn/hostname && [ $? -eq 30 ] && break
38     db_go || true
39
40     db_get bacula-cn/hostname
41     [ -z "$RET" ] && continue
42     echo "$RET" | grep -Eqi '^[a-z0-9-]+(\.[a-z0-9.-]+)+$' || continue
43
44     break
45 done
46
47 # Check ip
48 while true; do
49     ! db_input high bacula-cn/ip && [ $? -eq 30 ] && break
50     db_go || true
51
52     db_get bacula-cn/ip
53     [ -z "$RET" ] && continue
54     echo "$RET" | grep -Eqi '^[0-9]{1,3}(\.[0-9]{1,3}){3}$' || continue
55
56     break
57 done
58
59 # Check contact
60 while true; do
61     ! db_input high bacula-cn/contact && [ $? -eq 30 ] && break
62     db_go || true
63
64     db_get bacula-cn/contact
65     [ -z "$RET" ] && continue
66     echo "$RET" | grep -Eqi '^([^@]*<)?[a-z0-9.+-]+@[a-z0-9-]+(\.[a-z0-9.-]+)+>?$' || continue
67
68     break
69 done
70
71 exit 0