Menu style during installation steps

This commit is contained in:
Bob Mottram 2018-04-04 15:43:24 +01:00
parent 07752211e3
commit 17a2a66e0b
1 changed files with 252 additions and 256 deletions

View File

@ -323,52 +323,53 @@ function choose_default_domain_name {
}
function dynamic_dns_setup {
data=$(mktemp 2>/dev/null)
dialog --backtitle $"Freedombone Configuration" \
--radiolist $"Choose Dynamic DNS provider:" 40 40 40 \
1 dyn.com off \
2 freedns.afraid.org on \
3 zoneedit.com off \
4 no-ip.com off \
5 easydns.com off \
6 tzo.com off \
7 3322.org off \
8 dnsomatic.com off \
9 dns.he.net off \
10 tunnelbroker.net off \
11 dynsip.org off \
12 sitelutions.com off \
13 dnsexit.com off \
14 changeip.com off \
15 zerigo.com off \
16 dhis.org off \
17 nsupdate.info off \
18 duckdns.org off \
19 loopia.com off \
20 namecheap.com off \
21 domains.google.com off \
22 ovh.com off \
23 dtdns.com off \
24 giradns.com off \
25 duiadns.net off \
26 ddnss.de off \
27 dynv6.com off \
28 ipv4.dynv6.com off \
29 default@spdyn.de off \
30 strato.com off \
31 freemyip.com off \
32 cloudxns.net off \
33 none off 2> "$data"
sel=$?
case $sel in
1) rm -f "$data"
exit 1;;
255) rm -f "$data"
exit 1;;
esac
case $(cat "$data") in
1) DDNS_PROVIDER="default@www.dyn.com";;
2) DDNS_PROVIDER="default@freedns.afraid.org";;
W=(1 freedns.afraid.org
2 dyn.com
3 zoneedit.com
4 no-ip.com
5 easydns.com
6 tzo.com
7 3322.org
8 dnsomatic.com
9 dns.he.net
10 tunnelbroker.net
11 dynsip.org
12 sitelutions.com
13 dnsexit.com
14 changeip.com
15 zerigo.com
16 dhis.org
17 nsupdate.info
18 duckdns.org
19 loopia.com
20 namecheap.com
21 domains.google.com
22 ovh.com
23 dtdns.com
24 giradns.com
25 duiadns.net
26 ddnss.de
27 dynv6.com
28 ipv4.dynv6.com
29 default@spdyn.de
30 strato.com
31 freemyip.com
32 cloudxns.net)
# shellcheck disable=SC2068
selection=$(dialog --backtitle $"Freedombone Administrator Control Panel" --title $"Dynamic DNS" --menu $"Choose Dynamic DNS provider, or ESC for none:" 24 60 32 "${W[@]}" 3>&2 2>&1 1>&3)
if [ ! "$selection" ]; then
if [ -f /etc/systemd/system/inadyn.service ]; then
systemctl stop inadyn
systemctl disable inadyn
fi
return
fi
case $selection in
1) DDNS_PROVIDER="default@freedns.afraid.org";;
2) DDNS_PROVIDER="default@www.dyn.com";;
3) DDNS_PROVIDER="default@www.zoneedit.com";;
4) DDNS_PROVIDER="default@www.no-ip.com";;
5) DDNS_PROVIDER="default@www.easydns.com";;
@ -400,10 +401,7 @@ function dynamic_dns_setup {
31) DDNS_PROVIDER="default@freemyip.com";;
32) DDNS_PROVIDER="default@www.cloudxns.net";;
33) DDNS_PROVIDER="none";;
255) rm -f "$data"
exit 1;;
esac
rm -f "$data"
save_configuration_values
valid_ddns_username=
@ -425,6 +423,7 @@ function dynamic_dns_setup {
if [ "$possible_username" ]; then
if [ ${#possible_username} -gt 1 ]; then
valid_ddns_username=$(cat "$data")
# shellcheck disable=SC2034
DDNS_USERNAME="$valid_ddns_username"
rm -f "$data"
break;
@ -491,121 +490,118 @@ function choose_dynamic_dns {
function choose_debian_repo {
if [[ "$MINIMAL_INSTALL" == "no" ]]; then
data=$(mktemp 2>/dev/null)
dialog --backtitle $"Freedombone Configuration" \
--radiolist $"Where to download Debian packages from:" 25 45 49 \
1 $"Australia" off \
2 $"Austria" off \
3 $"Belarus" off \
4 $"Belgium" off \
5 $"Bosnia and Herzegovina" off \
6 $"Brazil" off \
7 $"Bulgaria" off \
8 $"Canada" off \
9 $"Chile" off \
10 $"China" off \
11 $"Croatia" off \
12 $"Czech Republic" off \
13 $"Denmark" off \
14 $"El Salvador" off \
15 $"Estonia" off \
16 $"Finland" off \
17 $"France 1" off \
18 $"France 2" off \
19 $"Germany 1" off \
20 $"Germany 2" off \
21 $"Greece" off \
22 $"Hungary" off \
23 $"Iceland" off \
24 $"Iran" off \
25 $"Ireland" off \
26 $"Italy" off \
27 $"Japan" off \
28 $"Korea" off \
29 $"Lithuania" off \
30 $"Mexico" off \
31 $"Netherlands" off \
32 $"New Caledonia" off \
33 $"New Zealand" off \
34 $"Norway" off \
35 $"Poland" off \
36 $"Portugal" off \
37 $"Romania" off \
38 $"Russia" off \
39 $"Slovakia" off \
40 $"Slovenia" off \
41 $"Spain" off \
42 $"Sweden" off \
43 $"Switzerland" off \
44 $"Taiwan" off \
45 $"Thailand" off \
46 $"Turkey" off \
47 $"Ukraine" off \
48 $"United Kingdom" off \
49 $"United States" on 2> "$data"
sel=$?
case $sel in
1) rm -f "$data"
exit 1;;
255) rm -f "$data"
exit 1;;
W=(1 $"United Kingdom"
2 $"United States"
3 $"Australia"
4 $"Austria"
5 $"Belarus"
6 $"Belgium"
7 $"Bosnia and Herzegovina"
8 $"Brazil"
9 $"Bulgaria"
10 $"Canada"
11 $"Chile"
12 $"China"
13 $"Croatia"
14 $"Czech Republic"
15 $"Denmark"
16 $"El Salvador"
17 $"Estonia"
18 $"Finland"
19 $"France 1"
20 $"France 2"
21 $"Germany 1"
22 $"Germany 2"
23 $"Greece"
24 $"Hungary"
25 $"Iceland"
26 $"Iran"
27 $"Ireland"
28 $"Italy"
29 $"Japan"
30 $"Korea"
31 $"Lithuania"
32 $"Mexico"
33 $"Netherlands"
34 $"New Caledonia"
35 $"New Zealand"
36 $"Norway"
37 $"Poland"
38 $"Portugal"
39 $"Romania"
40 $"Russia"
41 $"Slovakia"
42 $"Slovenia"
43 $"Spain"
44 $"Sweden"
45 $"Switzerland"
46 $"Taiwan"
47 $"Thailand"
48 $"Turkey"
49 $"Ukraine")
# shellcheck disable=SC2068
selection=$(dialog --backtitle $"Freedombone Administrator Control Panel" --title $"Debian Repo" --menu $"Where to download Debian packages from:" 24 60 49 "${W[@]}" 3>&2 2>&1 1>&3)
if [ ! "$selection" ]; then
selection='1'
fi
case $selection in
1) DEBIAN_REPO='ftp.uk.debian.org';;
2) DEBIAN_REPO='ftp.us.debian.org';;
3) DEBIAN_REPO='ftp.au.debian.org';;
4) DEBIAN_REPO='ftp.at.debian.org';;
5) DEBIAN_REPO='ftp.by.debian.org';;
6) DEBIAN_REPO='ftp.be.debian.org';;
7) DEBIAN_REPO='ftp.ba.debian.org';;
8) DEBIAN_REPO='ftp.br.debian.org';;
9) DEBIAN_REPO='ftp.bg.debian.org';;
10) DEBIAN_REPO='ftp.ca.debian.org';;
11) DEBIAN_REPO='ftp.cl.debian.org';;
12) DEBIAN_REPO='ftp.cn.debian.org';;
13) DEBIAN_REPO='ftp.hr.debian.org';;
14) DEBIAN_REPO='ftp.cz.debian.org';;
15) DEBIAN_REPO='ftp.dk.debian.org';;
16) DEBIAN_REPO='ftp.sv.debian.org';;
17) DEBIAN_REPO='ftp.ee.debian.org';;
18) DEBIAN_REPO='ftp.fi.debian.org';;
19) DEBIAN_REPO='ftp2.fr.debian.org';;
20) DEBIAN_REPO='ftp.fr.debian.org';;
21) DEBIAN_REPO='ftp2.de.debian.org';;
22) DEBIAN_REPO='ftp.de.debian.org';;
23) DEBIAN_REPO='ftp.gr.debian.org';;
24) DEBIAN_REPO='ftp.hu.debian.org';;
25) DEBIAN_REPO='ftp.is.debian.org';;
26) DEBIAN_REPO='ftp.ir.debian.org';;
27) DEBIAN_REPO='ftp.ie.debian.org';;
28) DEBIAN_REPO='ftp.it.debian.org';;
29) DEBIAN_REPO='ftp.jp.debian.org';;
30) DEBIAN_REPO='ftp.kr.debian.org';;
31) DEBIAN_REPO='ftp.lt.debian.org';;
32) DEBIAN_REPO='ftp.mx.debian.org';;
33) DEBIAN_REPO='ftp.nl.debian.org';;
34) DEBIAN_REPO='ftp.nc.debian.org';;
35) DEBIAN_REPO='ftp.nz.debian.org';;
36) DEBIAN_REPO='ftp.no.debian.org';;
37) DEBIAN_REPO='ftp.pl.debian.org';;
38) DEBIAN_REPO='ftp.pt.debian.org';;
39) DEBIAN_REPO='ftp.ro.debian.org';;
40) DEBIAN_REPO='ftp.ru.debian.org';;
41) DEBIAN_REPO='ftp.sk.debian.org';;
42) DEBIAN_REPO='ftp.si.debian.org';;
43) DEBIAN_REPO='ftp.es.debian.org';;
44) DEBIAN_REPO='ftp.se.debian.org';;
45) DEBIAN_REPO='ftp.ch.debian.org';;
46) DEBIAN_REPO='ftp.tw.debian.org';;
47) DEBIAN_REPO='ftp.th.debian.org';;
48) DEBIAN_REPO='ftp.tr.debian.org';;
49) DEBIAN_REPO='ftp.ua.debian.org';;
esac
case $(cat "$data") in
1) DEBIAN_REPO='ftp.au.debian.org';;
2) DEBIAN_REPO='ftp.at.debian.org';;
3) DEBIAN_REPO='ftp.by.debian.org';;
4) DEBIAN_REPO='ftp.be.debian.org';;
5) DEBIAN_REPO='ftp.ba.debian.org';;
6) DEBIAN_REPO='ftp.br.debian.org';;
7) DEBIAN_REPO='ftp.bg.debian.org';;
8) DEBIAN_REPO='ftp.ca.debian.org';;
9) DEBIAN_REPO='ftp.cl.debian.org';;
10) DEBIAN_REPO='ftp.cn.debian.org';;
11) DEBIAN_REPO='ftp.hr.debian.org';;
12) DEBIAN_REPO='ftp.cz.debian.org';;
13) DEBIAN_REPO='ftp.dk.debian.org';;
14) DEBIAN_REPO='ftp.sv.debian.org';;
15) DEBIAN_REPO='ftp.ee.debian.org';;
16) DEBIAN_REPO='ftp.fi.debian.org';;
17) DEBIAN_REPO='ftp2.fr.debian.org';;
18) DEBIAN_REPO='ftp.fr.debian.org';;
19) DEBIAN_REPO='ftp2.de.debian.org';;
20) DEBIAN_REPO='ftp.de.debian.org';;
21) DEBIAN_REPO='ftp.gr.debian.org';;
22) DEBIAN_REPO='ftp.hu.debian.org';;
23) DEBIAN_REPO='ftp.is.debian.org';;
24) DEBIAN_REPO='ftp.ir.debian.org';;
25) DEBIAN_REPO='ftp.ie.debian.org';;
26) DEBIAN_REPO='ftp.it.debian.org';;
27) DEBIAN_REPO='ftp.jp.debian.org';;
28) DEBIAN_REPO='ftp.kr.debian.org';;
29) DEBIAN_REPO='ftp.lt.debian.org';;
30) DEBIAN_REPO='ftp.mx.debian.org';;
31) DEBIAN_REPO='ftp.nl.debian.org';;
32) DEBIAN_REPO='ftp.nc.debian.org';;
33) DEBIAN_REPO='ftp.nz.debian.org';;
34) DEBIAN_REPO='ftp.no.debian.org';;
35) DEBIAN_REPO='ftp.pl.debian.org';;
36) DEBIAN_REPO='ftp.pt.debian.org';;
37) DEBIAN_REPO='ftp.ro.debian.org';;
38) DEBIAN_REPO='ftp.ru.debian.org';;
39) DEBIAN_REPO='ftp.sk.debian.org';;
40) DEBIAN_REPO='ftp.si.debian.org';;
41) DEBIAN_REPO='ftp.es.debian.org';;
42) DEBIAN_REPO='ftp.se.debian.org';;
43) DEBIAN_REPO='ftp.ch.debian.org';;
44) DEBIAN_REPO='ftp.tw.debian.org';;
45) DEBIAN_REPO='ftp.th.debian.org';;
46) DEBIAN_REPO='ftp.tr.debian.org';;
47) DEBIAN_REPO='ftp.ua.debian.org';;
48) DEBIAN_REPO='ftp.uk.debian.org';;
49) DEBIAN_REPO='ftp.us.debian.org';;
255) rm -f "$data"
exit 1;;
esac
rm -f "$data"
save_configuration_values
else
# shellcheck disable=SC2034
DEBIAN_REPO='ftp.de.debian.org'
fi
}
@ -634,6 +630,7 @@ function choose_rng {
exit 1;;
esac
else
# shellcheck disable=SC2034
HWRNG_TYPE="beaglebone"
fi
rm -f "$data"
@ -664,6 +661,7 @@ function choose_social_key_management {
save_configuration_values
else
# enable for the minimal case
# shellcheck disable=SC2034
ENABLE_SOCIAL_KEY_MANAGEMENT="yes"
fi
}
@ -775,6 +773,7 @@ function choose_full_name {
if [ "$possible_name" ]; then
if [ ${#possible_name} -gt 1 ]; then
valid_name="$possible_name"
# shellcheck disable=SC2034
MY_NAME="$possible_name"
break;
fi
@ -885,100 +884,98 @@ do
done
function interactive_select_language {
data=$(mktemp 2>/dev/null)
dialog --backtitle $"Freedombone Configuration" \
--radiolist $"Select your language:" 26 40 24 \
1 $"Afrikaans" off \
2 $"Albanian" off \
3 $"Arabic" off \
4 $"Basque" off \
5 $"Belarusian" off \
6 $"Bosnian" off \
7 $"Bulgarian" off \
8 $"Catalan" off \
9 $"Croatian" off \
10 $"Chinese (Simplified)" off \
11 $"Chinese (Traditional)" off \
12 $"Czech" off \
13 $"Danish" off \
14 $"Dutch" off \
15 $"English" on \
16 $"English (US)" off \
17 $"Estonian" off \
18 $"Farsi" off \
19 $"Filipino" off \
20 $"Finnish" off \
21 $"French" off \
22 $"French (Canada)" off \
23 $"Gaelic" off \
24 $"Gallego" off \
25 $"Georgian" off \
26 $"German" off \
27 $"German (Personal)" off \
28 $"Greek" off \
29 $"Gujarati" off \
30 $"Hebrew" off \
31 $"Hindi" off \
32 $"Hungarian" off \
33 $"Icelandic" off \
34 $"Indonesian" off \
35 $"Italian" off \
36 $"Japanese" off \
37 $"Kannada" off \
38 $"Khmer" off \
39 $"Korean" off \
40 $"Lao" off \
41 $"Lithuanian" off \
42 $"Latvian" off \
43 $"Malayalam" off \
44 $"Malaysian" off \
45 $"Maori (Ngai Tahu)" off \
46 $"Maori (Waikoto Uni)" off \
47 $"Mongolian" off \
48 $"Norwegian" off \
49 $"Norwegian (Primary)" off \
50 $"Nynorsk" off \
51 $"Polish" off \
52 $"Portuguese" off \
53 $"Portuguese (Brazil)" off \
54 $"Romanian" off \
55 $"Russian" off \
56 $"Samoan" off \
57 $"Serbian" off \
58 $"Slovak" off \
59 $"Slovenian" off \
60 $"Somali" off \
61 $"Spanish (International)" off \
62 $"Swedish" off \
63 $"Tagalog" off \
64 $"Tamil" off \
65 $"Thai" off \
66 $"Turkish" off \
67 $"Ukrainian" off \
68 $"Vietnamese" off 2> "$data"
sel=$?
case $sel in
1) rm -f "$data"
exit 1;;
255) rm -f "$data"
exit 1;;
esac
case $(cat "$data") in
1) DEFAULT_LANGUAGE='af_ZA.UTF-8';;
2) DEFAULT_LANGUAGE='sq_AL.UTF-8';;
3) DEFAULT_LANGUAGE='ar_SA.UTF-8';;
4) DEFAULT_LANGUAGE='eu_ES.UTF-8';;
5) DEFAULT_LANGUAGE='be_BY.UTF-8';;
6) DEFAULT_LANGUAGE='bs_BA.UTF-8';;
7) DEFAULT_LANGUAGE='bg_BG.UTF-8';;
8) DEFAULT_LANGUAGE='ca_ES.UTF-8';;
9) DEFAULT_LANGUAGE='hr_HR.UTF-8';;
10) DEFAULT_LANGUAGE='zh_CN.UTF-8';;
11) DEFAULT_LANGUAGE='zh_TW.UTF-8';;
12) DEFAULT_LANGUAGE='cs_CZ.UTF-8';;
13) DEFAULT_LANGUAGE='da_DK.UTF-8';;
14) DEFAULT_LANGUAGE='nl_NL.UTF-8';;
15) DEFAULT_LANGUAGE='en_GB.UTF-8';;
W=(1 $"English"
2 $"Afrikaans"
3 $"Albanian"
4 $"Arabic"
5 $"Basque"
6 $"Belarusian"
7 $"Bosnian"
8 $"Bulgarian"
9 $"Catalan"
10 $"Croatian"
11 $"Chinese (Simplified)"
12 $"Chinese (Traditional)"
13 $"Czech"
14 $"Danish"
15 $"Dutch"
16 $"English (US)"
17 $"Estonian"
18 $"Farsi"
19 $"Filipino"
20 $"Finnish"
21 $"French"
22 $"French (Canada)"
23 $"Gaelic"
24 $"Gallego"
25 $"Georgian"
26 $"German"
27 $"German (Personal)"
28 $"Greek"
29 $"Gujarati"
30 $"Hebrew"
31 $"Hindi"
32 $"Hungarian"
33 $"Icelandic"
34 $"Indonesian"
35 $"Italian"
36 $"Japanese"
37 $"Kannada"
38 $"Khmer"
39 $"Korean"
40 $"Lao"
41 $"Lithuanian"
42 $"Latvian"
43 $"Malayalam"
44 $"Malaysian"
45 $"Maori (Ngai Tahu)"
46 $"Maori (Waikoto Uni)"
47 $"Mongolian"
48 $"Norwegian"
49 $"Norwegian (Primary)"
50 $"Nynorsk"
51 $"Polish"
52 $"Portuguese"
53 $"Portuguese (Brazil)"
54 $"Romanian"
55 $"Russian"
56 $"Samoan"
57 $"Serbian"
58 $"Slovak"
59 $"Slovenian"
60 $"Somali"
61 $"Spanish (International)"
62 $"Swedish"
63 $"Tagalog"
64 $"Tamil"
65 $"Thai"
66 $"Turkish"
67 $"Ukrainian"
68 $"Vietnamese")
# shellcheck disable=SC2068
selection=$(dialog --backtitle $"Freedombone Administrator Control Panel" --title $"Language" --menu $"Select your language:" 12 60 4 "${W[@]}" 3>&2 2>&1 1>&3)
if [ ! "$selection" ]; then
selection='1'
fi
case $selection in
1) DEFAULT_LANGUAGE='en_GB.UTF-8';;
2) DEFAULT_LANGUAGE='af_ZA.UTF-8';;
3) DEFAULT_LANGUAGE='sq_AL.UTF-8';;
4) DEFAULT_LANGUAGE='ar_SA.UTF-8';;
5) DEFAULT_LANGUAGE='eu_ES.UTF-8';;
6) DEFAULT_LANGUAGE='be_BY.UTF-8';;
7) DEFAULT_LANGUAGE='bs_BA.UTF-8';;
8) DEFAULT_LANGUAGE='bg_BG.UTF-8';;
9) DEFAULT_LANGUAGE='ca_ES.UTF-8';;
10) DEFAULT_LANGUAGE='hr_HR.UTF-8';;
11) DEFAULT_LANGUAGE='zh_CN.UTF-8';;
12) DEFAULT_LANGUAGE='zh_TW.UTF-8';;
13) DEFAULT_LANGUAGE='cs_CZ.UTF-8';;
14) DEFAULT_LANGUAGE='da_DK.UTF-8';;
15) DEFAULT_LANGUAGE='nl_NL.UTF-8';;
16) DEFAULT_LANGUAGE='en_US.UTF-8';;
17) DEFAULT_LANGUAGE='et_EE.UTF-8';;
18) DEFAULT_LANGUAGE='fa_IR.UTF-8';;
@ -1033,7 +1030,6 @@ function interactive_select_language {
67) DEFAULT_LANGUAGE='uk_UA.UTF-8';;
68) DEFAULT_LANGUAGE='vi_VN.UTF-8';;
esac
rm -f "$data"
save_configuration_values
please_wait