dragora-installer: Update list of (current) services
[dragora.git] / archive / dragora-installer / parts / ConfServices
blob019b3311f1eb55d74298835aa57bff2ae1201792
1 # This file is part of the 'dragora-installer'.
3 # Purpose: Show detected services to activate/deactivate.
5 addEntry()
7     service=$1
8     description=$2
10     if test -s "/media/dragora-root/etc/perp/${service}/rc.main"
11     then
12         # Detect current changes for previous installations
14         sticky_bit=$(find /media/dragora-root/etc/perp/ -name "$service" -perm -1000 -print)
16         if test -n "$sticky_bit"
17         then
18             _toggle_flag=on
19         else
20             _toggle_flag=off
21         fi
23         echo "\"${service}\" \"\" $_toggle_flag \"${description}\" \\" \
24          >> "${SUBTMPDIR}/ConfServices"
25     fi
27     unset -v service description sticky_bit _toggle_flag
30 cat << EOF > "${SUBTMPDIR}/ConfServices"
31 dialog --colors \\
32  --backtitle "\\ZbChoosing the running services" \\
33  --title "PERSISTENT PROCESS" --no-cancel \\
34  --item-help --checklist \\
35 "A \"persistent process\" is any program intended to be \\
36 long-running, highly available, and purpose critical. \\
37 Also known and often described as a \"service\", a persistent \\
38 process normally provides some essential, on-demand system \\
39 service.\\n\\n\\
40 Please select the daemons that you want to start, monitor, log,\\n\\
41 and control as persistent processes from system startup." 12 71 0 \\
42 EOF
44 addEntry acpid "Advanced Configuration and Power Interface event daemon."
45 addEntry connmand "A daemon for managing Internet connections."
46 addEntry crond "Cron daemon. [required]"
47 addEntry dbus "D-Bus daemon."
48 addEntry devmon "Device monitor (udevil)."
49 addEntry dhcpcd "DHCP client, daemon."
50 addEntry inetd "Internet super-server."
51 addEntry sshd "The OpenSSH (SSH) daemon."
52 addEntry syslogd "Log systems messages. [required]"
53 addEntry udevd "Device event managing daemon. [required]"
55 unset -f addEntry
57 echo ' 2> "${SUBTMPDIR}/return-ConfServices"' >> "${SUBTMPDIR}/ConfServices"
59 # Show the menu
61 . "${SUBTMPDIR}/ConfServices"
62 test -s "${SUBTMPDIR}/return-ConfServices" || return 0;
64 # Set sticky bit according to the selection
65 for service in acpid connmand crond dbus devmon dhcpcd inetd \
66                sshd syslogd udevd ; \
68     if grep -q -o -m 1 "$service" "${SUBTMPDIR}/return-ConfServices"
69     then
70         chmod a+t /media/dragora-root/etc/perp/${service}
71     else
72         chmod a-t /media/dragora-root/etc/perp/${service}
73     fi
74 done
75 unset -v service