]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - usr.sbin/bsdinstall/scripts/services
Merge bmake-20230510
[FreeBSD/FreeBSD.git] / usr.sbin / bsdinstall / scripts / services
1 #!/bin/sh
2 #-
3 # Copyright (c) 2011 Nathan Whitehorn
4 # All rights reserved.
5 #
6 # Redistribution and use in source and binary forms, with or without
7 # modification, are permitted provided that the following conditions
8 # are met:
9 # 1. Redistributions of source code must retain the above copyright
10 #    notice, this list of conditions and the following disclaimer.
11 # 2. Redistributions in binary form must reproduce the above copyright
12 #    notice, this list of conditions and the following disclaimer in the
13 #    documentation and/or other materials provided with the distribution.
14 #
15 # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
16 # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17 # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18 # ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
19 # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
20 # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
21 # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
22 # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
23 # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
24 # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
25 # SUCH DAMAGE.
26 #
27 # $FreeBSD$
28
29 BSDCFG_SHARE="/usr/share/bsdconfig"
30 . $BSDCFG_SHARE/common.subr || exit 1
31
32 : ${BSDDIALOG_OK=0}
33
34 if [ -f $BSDINSTALL_TMPETC/rc.conf.services ]; then
35         eval "$( sed -E -e 's/\<(YES|AUTO)\>/on/i' -e 's/\<NO\>/off/i' \
36                 $BSDINSTALL_TMPETC/rc.conf.services )"
37 else
38         # Default service states. Everything is off if not enabled.
39         sshd_enable="on"
40 fi
41
42 echo -n > $BSDINSTALL_TMPETC/rc.conf.services
43
44 exec 3>&1
45 DAEMONS=$( bsddialog --backtitle "$OSNAME Installer" \
46     --title "System Configuration" --no-cancel --separate-output \
47     --checklist "Choose the services you would like to be started at boot:" \
48     0 0 0 \
49         local_unbound "Local caching validating resolver" \
50                 ${local_unbound_enable:-off} \
51         sshd    "Secure shell daemon" ${sshd_enable:-off} \
52         moused  "PS/2 mouse pointer on console" ${moused_enable:-off} \
53         ntpd    "Synchronize system and network time" ${ntpd_enable:-off} \
54         ntpd_sync_on_start      "Sync time on ntpd startup, even if offset is high" \
55                 ${ntpd_sync_on_start:-off} \
56         powerd  "Adjust CPU frequency dynamically if supported" \
57                 ${powerd_enable:-off} \
58         dumpdev "Enable kernel crash dumps to /var/crash" ${dumpdev:-on} \
59 2>&1 1>&3 )
60 retval=$?
61 exec 3>&-
62
63 if [ $retval -ne $BSDDIALOG_OK ]; then
64         exit 1
65 fi
66
67 havedump=
68 havemouse=
69 for daemon in $DAEMONS; do
70         [ "$daemon" = "dumpdev" ] && havedump=1 continue
71         [ "$daemon" = "moused" ] && havemouse=1
72         if [ "$daemon" = "ntpd_sync_on_start" ]; then
73                 rcvar=${daemon}
74         else
75                 rcvar=${daemon}_enable
76         fi
77         echo ${rcvar}=\"YES\" >> $BSDINSTALL_TMPETC/rc.conf.services
78 done
79
80 if [ ! "$havemouse" ]; then
81         echo moused_nondefault_enable=\"NO\" >> $BSDINSTALL_TMPETC/rc.conf.services
82 fi
83
84 echo '# Set dumpdev to "AUTO" to enable crash dumps, "NO"' \
85      'to disable' >> $BSDINSTALL_TMPETC/rc.conf.services
86 if [ "$havedump" ]; then
87         echo dumpdev=\"AUTO\" >> $BSDINSTALL_TMPETC/rc.conf.services
88 else
89         echo dumpdev=\"NO\" >> $BSDINSTALL_TMPETC/rc.conf.services
90 fi