aboutsummaryrefslogtreecommitdiff
path: root/usr.sbin/bsdinstall/scripts/services
diff options
context:
space:
mode:
Diffstat (limited to 'usr.sbin/bsdinstall/scripts/services')
-rwxr-xr-xusr.sbin/bsdinstall/scripts/services112
1 files changed, 112 insertions, 0 deletions
diff --git a/usr.sbin/bsdinstall/scripts/services b/usr.sbin/bsdinstall/scripts/services
new file mode 100755
index 000000000000..110b6f321ed1
--- /dev/null
+++ b/usr.sbin/bsdinstall/scripts/services
@@ -0,0 +1,112 @@
+#!/bin/sh
+#-
+# Copyright (c) 2011 Nathan Whitehorn
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+# SUCH DAMAGE.
+#
+
+BSDCFG_SHARE="/usr/share/bsdconfig"
+. $BSDCFG_SHARE/common.subr || exit 1
+
+: ${BSDDIALOG_OK=0}
+
+if [ -f $BSDINSTALL_TMPETC/rc.conf.services ]; then
+ eval "$( sed -E -e 's/\<(YES|AUTO)\>/on/i' -e 's/\<NO\>/off/i' \
+ $BSDINSTALL_TMPETC/rc.conf.services )"
+else
+ # Default service states. Everything is off if not enabled.
+ sshd_enable="on"
+fi
+
+echo -n > $BSDINSTALL_TMPETC/rc.conf.services
+
+DAEMON_OPTIONS=""
+
+if [ -x "${BSDINSTALL_CHROOT}/etc/rc.d/sshd" ]; then
+ DAEMON_OPTIONS="$DAEMON_OPTIONS \
+ sshd \"Secure shell daemon\" ${sshd_enable:-off}"
+fi
+
+if [ -x "${BSDINSTALL_CHROOT}/etc/rc.d/ntpd" ]; then
+ DAEMON_OPTIONS="$DAEMON_OPTIONS \
+ ntpd \"Synchronize system and network time\" ${ntpd_enable:-off} \
+ ntpd_sync_on_start \"Sync time on ntpd startup, even if offset is high\" \
+ ${ntpd_sync_on_start:-off}"
+fi
+
+if [ -x "${BSDINSTALL_CHROOT}/etc/rc.d/local_unbound" ]; then
+ DAEMON_OPTIONS="$DAEMON_OPTIONS \
+ local_unbound \"Local caching validating resolver\" \
+ ${local_unbound_enable:-off}"
+fi
+
+if [ -x "${BSDINSTALL_CHROOT}/etc/rc.d/powerd" ]; then
+ DAEMON_OPTIONS="$DAEMON_OPTIONS \
+ powerd \"Adjust CPU frequency dynamically if supported\" \
+ ${powerd_enable:-off}"
+fi
+
+if [ -x "${BSDINSTALL_CHROOT}/etc/rc.d/moused" ]; then
+ DAEMON_OPTIONS="$DAEMON_OPTIONS \
+ moused \"PS/2 mouse pointer on console\" ${moused_enable:-off}"
+fi
+
+exec 5>&1
+DAEMONS=$(eval bsddialog --backtitle \"$OSNAME Installer\" \
+ --title \"System Configuration\" --no-cancel --separate-output \
+ --checklist \"Choose the services you would like to be started at boot:\" \
+ 0 0 0 \
+ $DAEMON_OPTIONS \
+ dumpdev \"Enable kernel crash dumps to /var/crash\" ${dumpdev:-on} \
+2>&1 1>&5 )
+retval=$?
+exec 5>&-
+
+if [ $retval -ne $BSDDIALOG_OK ]; then
+ exit 1
+fi
+
+havedump=
+havemouse=
+for daemon in $DAEMONS; do
+ [ "$daemon" = "dumpdev" ] && havedump=1 continue
+ [ "$daemon" = "moused" ] && havemouse=1
+ if [ "$daemon" = "ntpd_sync_on_start" ]; then
+ rcvar=${daemon}
+ else
+ rcvar=${daemon}_enable
+ fi
+ echo ${rcvar}=\"YES\" >> $BSDINSTALL_TMPETC/rc.conf.services
+done
+
+if [ ! "$havemouse" ]; then
+ echo moused_nondefault_enable=\"NO\" >> $BSDINSTALL_TMPETC/rc.conf.services
+fi
+
+echo '# Set dumpdev to "AUTO" to enable crash dumps, "NO"' \
+ 'to disable' >> $BSDINSTALL_TMPETC/rc.conf.services
+if [ "$havedump" ]; then
+ echo dumpdev=\"AUTO\" >> $BSDINSTALL_TMPETC/rc.conf.services
+else
+ echo dumpdev=\"NO\" >> $BSDINSTALL_TMPETC/rc.conf.services
+fi