Fix dialog autosizing in bsdinstall hostname
Sponsored by: Smule, Inc.
This commit is contained in:
parent
5499ddf2ec
commit
afd6d3e2d4
@ -1,7 +1,7 @@
|
||||
#!/bin/sh
|
||||
#-
|
||||
# Copyright (c) 2011 Nathan Whitehorn
|
||||
# Copyright (c) 2015 Devin Teske
|
||||
# Copyright (c) 2015-2018 Devin Teske
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
@ -26,27 +26,93 @@
|
||||
# SUCH DAMAGE.
|
||||
#
|
||||
# $FreeBSD$
|
||||
#
|
||||
############################################################ INCLUDES
|
||||
|
||||
: ${DIALOG_OK=0}
|
||||
: ${DIALOG_CANCEL=1}
|
||||
: ${DIALOG_HELP=2}
|
||||
: ${DIALOG_EXTRA=3}
|
||||
: ${DIALOG_ITEM_HELP=4}
|
||||
: ${DIALOG_ESC=255}
|
||||
BSDCFG_SHARE="/usr/share/bsdconfig"
|
||||
. $BSDCFG_SHARE/common.subr || exit 1
|
||||
f_dprintf "%s: loading_includes..." "$0"
|
||||
f_include $BSDCFG_SHARE/dialog.subr
|
||||
|
||||
exec 3>&1
|
||||
HOSTNAME=`dialog --backtitle 'FreeBSD Installer' --title 'Set Hostname' --nocancel --inputbox \
|
||||
'Please choose a hostname for this machine.
|
||||
############################################################ CONFIGURATION
|
||||
|
||||
If you are running on a managed network, please ask your network administrator for an appropriate name.' \
|
||||
0 0 $(hostname) 2>&1 1>&3`
|
||||
if [ $? -eq $DIALOG_CANCEL ]; then exit 1; fi
|
||||
exec 3>&-
|
||||
#
|
||||
# Default value
|
||||
#
|
||||
: ${HOSTNAME=$( hostname )}
|
||||
|
||||
echo "hostname=\"$HOSTNAME\"" > $BSDINSTALL_TMPETC/rc.conf.hostname
|
||||
#
|
||||
# Default file to store hostname entry in
|
||||
#
|
||||
: ${HOSTNAMEFILE:=$BSDINSTALL_TMPETC/rc.conf.hostname}
|
||||
|
||||
############################################################ GLOBALS
|
||||
|
||||
#
|
||||
# Strings that should be moved to an i18n file and loaded with f_include_lang()
|
||||
#
|
||||
msg_set_hostname="Set Hostname"
|
||||
msg_please_choose_a_hostname="Please choose a hostname for this machine.\n\nIf you are running on a managed network, please ask\nyour network administrator for an appropriate name."
|
||||
msg_ok="OK"
|
||||
msg_freebsd_installer="FreeBSD Installer"
|
||||
|
||||
############################################################ FUNCTIONS
|
||||
|
||||
# dialog_hostname
|
||||
#
|
||||
# Display input box (without cancel button) for user to enter desired hostname.
|
||||
#
|
||||
dialog_hostname()
|
||||
{
|
||||
local prompt="$msg_please_choose_a_hostname"
|
||||
local hline=
|
||||
local value="$*"
|
||||
|
||||
local height width
|
||||
f_dialog_inputbox_size height width \
|
||||
"$DIALOG_TITLE" "$DIALOG_BACKTITLE" "$prompt" "$value" "$hline"
|
||||
|
||||
$DIALOG \
|
||||
--title "$DIALOG_TITLE" \
|
||||
--backtitle "$DIALOG_BACKTITLE" \
|
||||
--hline "$hline" \
|
||||
--ok-label "$msg_ok" \
|
||||
--no-cancel \
|
||||
--inputbox "$prompt" \
|
||||
$height $width "$value" \
|
||||
2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
|
||||
}
|
||||
|
||||
############################################################ MAIN
|
||||
|
||||
#
|
||||
# Initialize
|
||||
#
|
||||
f_dialog_title "$msg_set_hostname"
|
||||
f_dialog_backtitle "$msg_freebsd_installer"
|
||||
|
||||
#
|
||||
# Get user input
|
||||
#
|
||||
HOSTNAME=$( dialog_hostname "$HOSTNAME" )
|
||||
[ $? -eq $DIALOG_CANCEL ] && exit 1
|
||||
|
||||
#
|
||||
# Store the user's choice
|
||||
#
|
||||
echo "hostname=\"$HOSTNAME\"" > "$HOSTNAMEFILE"
|
||||
retval=$?
|
||||
|
||||
#
|
||||
# Activate entry if configured
|
||||
#
|
||||
if [ "$BSDINSTALL_CONFIGCURRENT" ]; then
|
||||
hostname -s "$HOSTNAME"
|
||||
retval=$?
|
||||
fi
|
||||
|
||||
exit $retval
|
||||
|
||||
################################################################################
|
||||
# END
|
||||
################################################################################
|
||||
|
Loading…
x
Reference in New Issue
Block a user